Preston Smith
89b1d613cc
Remove else in software renderer
2016-08-30 18:33:27 -05:00
Preston Smith
e0a1ab9027
lint fix
2016-08-30 18:33:26 -05:00
Preston Smith
8f69de51ca
inputform ABC1's q value is defaulting to 0
...
This is causing the 0 divide case to run when source row is using tex0-7 and inputform is ABC1.
2016-08-30 18:33:25 -05:00
Preston Smith
767f56d7c8
Software renderer fix
2016-08-30 18:33:24 -05:00
Scott Mansell
0fbf72cbf1
Merge pull request #4140 from Armada651/ww-depth
...
D3D: Correctly invert the viewport depth range.
2016-08-24 02:28:53 +12:00
Jules Blok
a8a9348913
OGL: Handle cases where reversed depth is already used.
2016-08-23 15:54:04 +02:00
Jules Blok
65472260d8
D3D: Correctly invert the viewport depth range.
2016-08-23 09:57:11 +02:00
Lioncash
2bf05a544d
VertexManager: Correct variable naming scheme
...
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Scott Mansell
f1964f90d6
Merge pull request #4129 from RisingFog/hahahahahahahahahaha
...
Fix a really stupid GLSL version parsing bug
2016-08-20 08:48:28 +12:00
Chris Burgener
da0204a85c
Fix a really stupid GLSL version parsing bug
2016-08-19 08:53:27 -04:00
JosJuice
31c530c7b3
Merge pull request #3386 from lioncash/memory
...
Common: Namespace MemoryUtil
2016-08-19 11:04:45 +02:00
Jules Blok
e86d7cbc99
OGL: Workaround gl_ClipDistance bug on Mesa i965.
2016-08-18 01:08:39 +02:00
Jules Blok
7078216b61
Improve documentation.
2016-08-16 21:09:58 +02:00
Jules Blok
8c1c7fc2da
Cosmetics.
2016-08-15 13:11:30 +02:00
Jules Blok
afa251af42
DriverDetails: Add bug for broken gl_ClipDistance on i965.
2016-08-15 13:11:28 +02:00
Jules Blok
94927f360f
VideoCommon: Add a user-defined far clipping plane.
2016-08-15 13:11:28 +02:00
Jules Blok
6e2052fae6
OGL: Disable clip distance on when not in a game-like state.
2016-08-15 13:11:27 +02:00
Jules Blok
a141e91dd2
OGL: Check for GL_DEPTH_CLAMP support.
...
It's not available in OpenGL ES and officially it's not supported on OpenGL 3.0/3.1.
Fallback to old depth range code if there is no method to disable depth clipping.
It's more important to have correct clipping than to have accurate depth values.
Inaccurate depth values can be fixed by slow depth.
2016-08-15 13:11:26 +02:00
Jules Blok
4582853af4
VertexShaderGen: Use reversed depth range.
2016-08-15 13:11:26 +02:00
Jules Blok
e9e81ece65
VideoBackends: Enable depth clamping.
2016-08-15 13:11:25 +02:00
Jules Blok
b1ed7e80fb
VertexShaderGen: Clip z using user-defined clipping planes.
2016-08-15 13:11:25 +02:00
Jules Blok
c223bd47b9
VideoCommon: Implement depth range equation in vertex shader.
2016-08-15 13:11:23 +02:00
Stenzek
bce8097712
D3D11: Support texture dumping of non-zero mipmap levels
2016-08-10 23:45:25 +10:00
Lioncash
e01c143379
Common: namespace MemoryUtil
2016-08-07 13:03:07 -04:00
Pierre Bourdon
d078c6cb35
Merge pull request #4073 from amaiorano/fix-d3d-debugobjectname
...
Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rat…
2016-08-01 00:38:02 +02:00
amaiorano
2030a5e1b8
Fix D3D::SetDebugObjectName to bind to the EFB color_read_texture rather than the depth_read_texture (probably a copy paste error)
2016-07-31 10:48:09 -04:00
Lioncash
14e0b48ae4
VideoCommon: Make API_TYPE an enum class
...
Allows for forward declarations in most places, which prevents dumping
unrelated VideoCommon.h contents directly into headers.
2016-07-29 19:20:16 -04:00
hthh
8be5717a60
Improve PerfQuery accuracy
...
In TimeSplitters: Future Perfect, PerfQuery is used to detect
the visibility of lights and draw coronas. 25 points are drawn
for each light. However, the returned count was incorrectly
being divided by four leading to dim coronas.
Using 4x antialiasing was a workaround because of a bug where
antialiasing multiplied the PerfQuery results. This commit
fixes that bug too (but only for OpenGL).
2016-07-04 18:54:49 +10:00
Chris Burgener
28a3691e70
Merge pull request #3930 from RisingFog/split_video_dump_resolution
...
Split Video Dumps on Resolution Change
2016-06-27 22:39:19 -04:00
Chris Burgener
f31adf9635
Fix D3D crashes/issues
2016-06-27 10:13:17 -04:00
Léo Lam
1b71249562
D3D: Fix crash on start with BBox enabled
...
Someone removed the BBox::Init(), causing crashes when BBox is enabled.
Fixes issue #9643 .
2016-06-27 12:45:00 +02:00
degasus
d79aeaa1e9
VideoCommon: Drop GetConfigName.
...
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
degasus
5f2f462067
VideoBackends: Merge ShowConfig functions.
2016-06-26 12:34:59 +02:00
degasus
7833ff25df
VideoBackends: Merge Initialize and Shutdown functions.
2016-06-26 12:34:59 +02:00
Scott Mansell
ee9e3432cb
Merge pull request #3513 from phire/make_hdkr_happy
...
Get shadergen ready for Multithreadded generation of shaders.
2016-06-26 21:55:22 +12:00
comex
fe73ae8526
Add missing override
2016-06-26 00:49:50 -04:00
Scott Mansell
2f134c5c36
Remove the rest of ShaderDebugging.
...
Without UID checking, it's basically a no-op that disables shader cache
and stores the shader source code (without ever reading it back).
2016-06-26 16:25:11 +12:00
Scott Mansell
ebe5fd0b36
Multithreadded Shadergen: Minor fixups.
2016-06-26 16:13:22 +12:00
Scott Mansell
95469ec225
Remove UID Checker.
...
Kind of pointless now that multiple shaders with the same UID are
now fundementally impossible.
2016-06-26 16:13:22 +12:00
Scott Mansell
24e5d21780
Multithreadded Shadergen: Second pass over Pixel Shadergen.
...
Note: It's not 100% perfect, as some of the GPU capablities leak into the
pixel shader UID.
Currently our UIDs don't get exported, so there is no issue. But someone
might want to fix this in the future.
2016-06-26 16:13:21 +12:00
Scott Mansell
1a831cfc7d
Multithreadded Shadergen: Second Pass over vertex/lighting Shadergens
...
As much as possible, the asserts have been moved out of the GetUID
function. But there are some places where asserts depend on variables
that aren't stored in the shader UID.
2016-06-26 16:13:21 +12:00
Scott Mansell
28c7113e41
Multithreadded Shadergen: Second Pass over geometery Shadergen
2016-06-26 16:13:21 +12:00
degasus
fdbda7b7dd
Null: Create Visual Studio project file.
...
Why is this so stupid on linux.....
2016-06-25 22:40:23 +02:00
degasus
59e4882af3
nullvideo: initial release of null video backend
2016-06-25 22:40:23 +02:00
Pierre Bourdon
43d0d692f9
Fix D3D12 headers missing includes.
2016-06-24 11:14:10 +00:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Scott Mansell
d197f489b9
analytics: Report OpenGL's adapter name too.
2016-06-20 23:54:44 +12:00
Anthony Serna
0e5852f634
[OGL] Workaround nvidia being weird with GL_MAX_TEXTURE_SIZE
2016-05-30 10:06:19 -05:00
Rohit Nirmal
14220ae488
Fix building with PCH disabled.
2016-05-26 13:05:21 -05:00
Stenzek
e169d54f3c
D3D11: Fix CPU EFB color reads when MSAA is enabled
...
Also swaps the byte order from RGBA->BGRA to match GL/D3D12, and what
the read handler is expecting.
Depth reads will now return the minimum depth of all samples, instead of
the average of all samples.
2016-05-19 22:51:00 +10:00
Stenzek
89e54fbd6c
OGL: Work around slowdown of glMapBufferRange with SSBO on NVIDIA drivers
...
Using glMapBufferRange to read back the contents of the SSBO is extremely
slow on NVIDIA drivers. This is more noticeable at higher internal
resolutions. Using glGetBufferSubData instead does not seem to exhibit
this slowdown.
2016-05-19 21:24:09 +10:00
Markus Wick
22648729c7
Merge pull request #3832 from degasus/android
...
DriverDetails: Update Qualcomm new driver version.
2016-05-18 21:26:45 +02:00
degasus
3a452f3cc5
VideoSW: Fix XFB config.
2016-05-18 18:37:44 +02:00
degasus
fa3526962d
VideoSW: Drop Update in XFB copy.
2016-05-18 18:37:44 +02:00
degasus
bca0e06a95
OGL: Use coherent mapping on Qualcomm devices.
2016-05-11 23:55:28 +02:00
degasus
6219c39cf5
OGL: Drop QC ES3.1 workaround.
...
This was never tested well:
HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-11 20:45:07 +02:00
Stenzek
ccf9470241
D3D12: Specify read/write ranges when calling Map/Unmap
2016-05-08 23:18:59 +10:00
Stenzek
fde7dee652
D3D12: Fix invalid CopyTextureRegion call in CopyRectangleFromTexture
...
This was occuring when the source texture was larger than the destination
texture, but the source rect was <= dest rect, so the copy is valid.
2016-05-08 23:18:58 +10:00
Stenzek
9bff187547
D3D12: Cleanup startup/shutdown process
...
Sorts out references that cause some modules to be kept around after
backend shutdown.
Should also solve the issue with errors being thrown due to the config
being loaded after device creation, leading to the incorrect device being
used in a multi-adapter system.
2016-05-08 23:18:58 +10:00
Stenzek
4269abdc3e
D3D12: Implement perf query support
2016-05-08 23:18:57 +10:00
Stenzek
25d5da0ea3
D3D12: Remove D3D11 header references
2016-05-08 23:18:56 +10:00
Stenzek
6f3573dda8
D3D12: Implement XFB encoding/decoding (support Real XFB)
2016-05-08 23:18:51 +10:00
Stenzek
3372bfa6ab
D3D12: Remove feature level checks
...
We don't create a device below feature level 11_0 anyway, so no point
checking, we can just assume support.
2016-05-08 12:08:25 +10:00
Stenzek
063761fbd2
D3D12: Don't add padding when allocating within empty StreamBuffer
...
Resources are already aligned to an address larger than any of our
requirements, anyway.
2016-05-08 12:08:25 +10:00
Stenzek
0c27aae7d3
D3D12: Improve output of shader compiler errors
...
These were completely broken due to lack of c_str(). We also output
warnings now as well (these can be useful).
2016-05-08 12:08:25 +10:00
Stenzek
acfa93372e
D3D12: Refactoring and cleanups
...
Moves render target restoring to RestoreAPIState, this also means no need
to manually restore after allocating in a buffer that caused execution,
because the manager restores it for us.
Remove a method that wasn't used from D3DUtil.cpp, and fixes a few errors
in EFB poke drawing.
2016-05-08 12:08:25 +10:00
Stenzek
7ec1fce741
D3D12: Fix error with >1xIR/MSAA EFB depth access
2016-05-08 12:08:25 +10:00
Stenzek
ac1cd8279b
D3D12: Implement GPU-based bounding box
2016-05-08 12:08:25 +10:00
Stenzek
32599559db
D3D12: Use helper method for binding EFB render targets
2016-05-08 12:08:25 +10:00
Stenzek
984da2d624
D3D12: Use signed ints for viewport origin
...
Fixes black screen when crop is enabled.
2016-05-08 12:08:25 +10:00
Stenzek
a8c4d6c242
D3D12: Allow large texture uploads (>64MiB) by using temporary buffer
...
This is not optimal, but for those texture packs with extremely large
images, it won't crash. Releasing after the frame completes is an option
too, however, there is the risk of running out of memory by doing this.
2016-05-08 12:08:25 +10:00
Matthew Parlane
1634948b6e
Merge pull request #3742 from phire/dither
...
Implement Dithering for video software
2016-05-03 22:41:39 +12:00
degasus
6f2d8483b7
VideoSW: Fix special case.
...
I have no clue what this special case shall be, but accessing g_main_cp_state within Flush() is not allowed.
We likely still have a bad behavior, but now it only depends on the current state, not on the next one after flushing.
2016-04-30 13:14:09 +02:00
Jules Blok
8a21b082d6
Merge pull request #3745 from stenzek/d3d11-texcache
...
D3D11: Fix EFB MSAA depth buffer copies, StateManager desyncs in some cases
2016-04-24 11:47:32 +02:00
Lioncash
33c22ffab7
D3D: Amend code to fix a new VS warning
...
Fixes warning C4334
2016-03-30 20:59:57 -04:00
Pierre Bourdon
486d3a7114
Merge pull request #3656 from phire/windows-10-sdk-update
...
Updated D3D12 to build on the newer windows 10 sdk.
2016-03-30 18:37:53 +02:00
Scott Mansell
c036cf7a5f
Updated D3D12 to build on the newer windows 10 sdk.
2016-03-26 18:11:49 +13:00
Pierre Bourdon
2fd0884347
Merge pull request #3672 from EmptyChaos/d3d-anisotropy
...
Fix D3D Forced Anisotropy
2016-03-26 03:25:01 +01:00
Scott Mansell
066b6b0bcb
OpenGL: Cache query to max texture size.
...
This showed up really high when I was profiling things.
2016-03-26 03:14:39 +13:00
Stenzek
53cf42fb06
D3D11: Fix some cases where render target switches desynced StateManager
...
This was occuring in certain EFB copy patterns, leaving the textures
unbound for the next draw call.
2016-03-26 00:01:26 +10:00
Stenzek
63e4e07683
D3D11: Simplify MSAA depth texture resolving
...
This also fixes EFB depth buffer copies when MSAA is enabled.
2016-03-26 00:00:39 +10:00
EmptyChaos
0b9a72a62d
VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper function
2016-03-24 13:43:29 +11:00
EmptyChaos
902e5cddf7
VideoBackends: Do not use Anisotropy on Point filtered textures.
...
The D3D backend was always forcing Anisotropic filtering when that is enabled regardless of how the game chose to configure the texture filtering registers; this causes the same issues as "Force Filtering" without Anisotropy, such as causing game UI elements to no longer line up adjacent correctly. Historically, OpenGL's Anisotropy support has always worked "better" than D3D's due to seeming to not have this problem; unfortunately, OpenGL's Anisotropy specification only gives GL_LINEAR based filtering modes defined behavior, with only the mipmap setting being required to be considered. Some OpenGL implementations were implicitly disabling Anisotropy when the min/mag filters were set to GL_NEAREST, but this behavior is not required by the spec so cannot be relied on.
2016-03-24 13:43:29 +11:00
Scott Mansell
51dc779b7c
Implement Dithering for video software
2016-03-23 12:29:35 +13:00
mimimi085181
e4f984d5dd
Minor fixes to the partial updates code
...
- remove an outdated comment about the efb to ram and scaled efb restriction
- when upscaling efb copies, mark the new texture as efb copy
- dx12 fixes for the src box, especially the number of layers for 3D
2016-03-16 22:24:11 +01:00
degasus
ab44d2ec5c
VideoSW: Drop SetTevReg for colors.
2016-03-06 11:05:49 +01:00
degasus
7a154181b4
VideoSW: Drop SetScissor().
...
Just access the global state directly.
2016-03-06 10:24:28 +01:00
degasus
8b0fd623e5
VideoSW: Drop SetViewOffset.
...
Just use the global state.
2016-03-06 10:22:44 +01:00
Mathew Maidment
c2802f96a6
Merge pull request #3655 from jcowgill/spelling-fixes
...
Fix some very minor spelling mistakes
2016-03-02 14:04:05 -05:00
EmptyChaos
cc36dec9b5
D3D12: Cleanup DX12::Renderer::SetSamplerState
...
Remove uninitialized non-static variable. Replace test to avoid unnecessary state changes with a simpler one.
2016-03-01 23:55:19 +11:00
Pierre Bourdon
07ff8379ba
Merge pull request #3647 from stenzek/d3d12-fences
...
D3D12: Multiple fixes (texture cache, fences, MSAA, CPU EFB access)
2016-02-29 16:49:03 +01:00
Pierre Bourdon
961901daae
Merge pull request #3355 from mimimi085181/partial-texture-updates-check-dimensions
...
Partial texture updates: Check the dimensions of the efb copy
2016-02-29 00:49:48 +01:00
Stenzek
0a96e2f531
D3D11: Fix texture dumping, for both single and multi-mip textures
2016-02-28 17:24:47 +10:00
Stenzek
c793459b88
D3D12: Fixed issue where EFB copies could end up corrupted after reset
...
Also prevents previously-released textures from ending up in a descriptor
table.
2016-02-28 17:24:46 +10:00
Stenzek
74275bdfe3
D3D12: Don't keep screenshot/encoder buffers mapped
...
Readback heaps do not support persistent mapping. See D3D12 docs.
2016-02-28 17:24:09 +10:00
Stenzek
c4d79d6db3
D3D12: Add helper method for setting both viewport and scissor rect
...
Simplfies making changes, as well as keeping the two in sync.
2016-02-28 17:18:46 +10:00
Stenzek
13e143de38
D3D12: Optionally prevent StreamBuffer from executing command list
...
This applies to callers that do not have full knowledge of the command
list state, and thus, cannot restore it should allocations cause command
list execution. Instead we reallocate a new buffer. Should not happen
often enough for this to be a concern, as it's mainly for the utility
classes.
2016-02-28 17:18:46 +10:00
Stenzek
04257029e0
D3D12: Don't enumerate outputs, it's not used anywhere
...
The D3D12 backend does not support exclusive fullscreen.
2016-02-28 17:18:45 +10:00
Stenzek
9efe66509d
D3D12: Fix crash/errors when switching MSAA modes while running
2016-02-28 17:18:44 +10:00
Stenzek
1d909ec7a4
D3D12: Implement non-blocking EFB access when EFB has not been modified
2016-02-28 17:18:43 +10:00