summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D
AgeCommit message (Collapse)Author
2016-05-19D3D11: Fix CPU EFB color reads when MSAA is enabledStenzek
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-04-24Merge pull request #3745 from stenzek/d3d11-texcacheJules Blok
D3D11: Fix EFB MSAA depth buffer copies, StateManager desyncs in some cases
2016-03-30D3D: Amend code to fix a new VS warningLioncash
Fixes warning C4334
2016-03-26D3D11: Fix some cases where render target switches desynced StateManagerStenzek
This was occuring in certain EFB copy patterns, leaving the textures unbound for the next draw call.
2016-03-26D3D11: Simplify MSAA depth texture resolvingStenzek
This also fixes EFB depth buffer copies when MSAA is enabled.
2016-03-24VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper functionEmptyChaos
2016-03-24VideoBackends: Do not use Anisotropy on Point filtered textures.EmptyChaos
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-02-29Merge pull request #3355 from ↵Pierre Bourdon
mimimi085181/partial-texture-updates-check-dimensions Partial texture updates: Check the dimensions of the efb copy
2016-02-16Rename Direct3D to Direct3D 11Chris Burgener
2016-02-15NativeVertexFormat: Add missing override specifierLioncash
2016-02-15NativeVertexFormat: Use in-class initializationLioncash
2016-02-14Copy all layers of textures with CopyRectangleFromTexturemimimi085181
2016-02-14For partial texture updates check the dimensions of the efb copy and the ↵mimimi085181
target texture, not just the binary size. This should get Donkey Kong Country Returns characters to be as broken as they should be. They will be fixed in a later pr. Expected result is: efbtex: characters are always flickering or invisible, no matter what scaling or IR setting efb2ram: characters are always working properly at 1xIR, no matter what scaling or IR setting
2016-01-28Merge pull request #3426 from Sonicadvance1/ES_fix_framedumpRyan Houdek
Add support for framedumping to OpenGL ES.
2016-01-25Fifo: Make g_bSkipCurrentFrame a TU-local variableLioncash
This is only ever queried, making it a global isn't necessary.
2016-01-24OpcodeDecoder: Add namespaceLioncash
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-14Merge pull request #3495 from Armada651/d3d-floatJules Blok
D3D: Use a 32-bit floating point depth buffer.
2016-01-12Fifo: Create a "Fifo" namespace.degasus
2016-01-12Merge VideoBackendHardware into VideoBackend.degasus
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-11D3D: Use the full depth range for Z pokes.Jules Blok
2016-01-11D3D: Use a 32-bit floating point depth buffer.Jules Blok
2016-01-10Merge pull request #3439 from Armada651/depth-rangePierre Bourdon
Render: Clamp the z range to the full range.
2016-01-09Add support for framedumping to OpenGL ES.Ryan Houdek
2016-01-09Merge pull request #3451 from RisingFog/libavPierre Bourdon
Use ffmpeg for Windows Video Dumping instead of VFW
2016-01-07Use ffmpeg for Windows Video Dumping instead of VFWChris Burgener
2016-01-06VideoConfig: Use "GFX.ini" for both D3D and OGL.degasus
They share the same format, so there is no need to separate their configs.
2016-01-03Render: Clamp the z range to the full range.Jules Blok
2016-01-02VideoBackend: Get rid of a boolean globalLioncash
Also gets rid of global headers
2015-12-30Merge pull request #3361 from stenzek/d3d-vectored-efb-pokesMarkus Wick
D3D: Implement vectored efb pokes
2015-12-29TextureCache, fix an incorrect assert.Scott Mansell
2015-12-28Merge pull request #3381 from Armada651/revert-3076Markus Wick
Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"
2015-12-28D3D: Fix compilation error on windowsStenzek
2015-12-28Merge pull request #3295 from stenzek/d3d-xfb-msaaMarkus Wick
D3D: Fix multiple issues relating to MSAA
2015-12-23D3D: Fix crash on startup/resizeStenzek
2015-12-22Render: Get rid of explicit new and deleteLioncash
2015-12-23Revert "Merge pull request #3076 from void-ghost/stereo3d_presets"Jules Blok
This reverts commit 81414b4fa2edadf0b2a2bb0bd4df61dd59165eec, reversing changes made to b926061f641692ae31bacbeba304f5941db7d3bc. Conflicts: Source/Core/DolphinWX/Frame.cpp Source/Core/VideoCommon/VideoConfig.cpp Source/Core/VideoCommon/VideoConfig.h
2015-12-21FramebufferManagerBase: Get rid of explicit delete and newLioncash
2015-12-20VideoBackends: Simplify initialization and deinitialization of resourcesLioncash
Approximately three or four times now, the issue of pointers being in an inconsistent state been an issue in the video backend renderers with regards to tripping up other developers. Global (ugh) resources are put into a unique_ptr and will always have a well-defined state of being - null or not null
2015-12-20Set g_vertex_manager to nullptr on DX11 backend shutdown.. OGL backend ↵hdcmeta
already does this
2015-12-20VideoCommon: Change PokeEFB to take a pointer rather than a vectorStenzek
This saves allocating a vector for the pass-through path.
2015-12-20D3D: Implement vectored efb pokes, increase util vertex buffer size to 64KiBStenzek
2015-12-15MSAA: Store samples in ini files.degasus
2015-12-09D3D: Fix crash when taking screenshot with crop enabledStenzek
This was due to specifying negative source coordinates for the texture copy, which must lie within the bounds of the source and destination textures. The behavior now is to clamp the copy region to [0 <= size <= backbuffer size], resulting in a copy region that can be smaller than the backbuffer, but never larger.
2015-12-08D3D: Fix EFB depth buffer copies, filtering on scaled EFB copies when MSAA ↵Stenzek
is enabled, real XFB filtering Since ResolveSubresource cannot be used with depth textures (and throws an error with the debug layer enabled), use a shader which selects the minimum depth value from all samples. Changes the sampler by XFBEncoder to use a linear filter, rather than point, to match GL behavior.
2015-11-28D3D: Fix EFB->XFB copies incorrectly scaling, match GL behaviorStenzek
2015-11-24NativeVertexFormat: Inline Initialize in contructordegasus
They were only called at once, so no need to seperate them. This also removes the only dereference of the NativeVertexFormat in VideoCommon, so backends may just return nullptr.
2015-11-24D3D: Remove redundant cast, move pitch calculation to callerStenzek
2015-11-24D3D: Fix crash on some drivers with small texturesStenzek
2015-11-18Merge pull request #3191 from lioncash/rektMarkus Wick
MathUtil: Minor changes to Rectangle