Commit Graph

1131 Commits

Author SHA1 Message Date
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
Stenzek
6bbf836ea9 D3D12: Simplify and fix MSAA EFB depth copy path 2016-02-28 17:18:43 +10:00
Stenzek
649b94338e D3D12: Cleanup/refactoring of teardown process 2016-02-28 17:18:42 +10:00
Stenzek
759b77474d D3D12: Use std::thread for worker thread
Using CreateThread can create issues if any CRT calls are made, as
thread-specific data may not be initialized. Additionally, TerminateThread
is not a good idea for similar reasons, and may not free CRT resources.
2016-02-28 17:18:41 +10:00
Stenzek
ffe0e326d2 D3D12: Use stream buffer for CD3DFont 2016-02-28 17:18:40 +10:00
Stenzek
5c1a708977 D3D12: Clean up debug device creation path 2016-02-28 17:18:39 +10:00
Stenzek
efbb85da43 D3D12: Improve robustness of command allocator and fence tracking 2016-02-28 17:18:39 +10:00
Stenzek
2f7870b046 D3D12: Don't add fence tracking entries without buffer offset changes 2016-02-28 17:18:38 +10:00
Stenzek
31bc0cf2c3 D3D12: Don't clear texture SRV on destruction, as it may still be in use 2016-02-28 17:18:37 +10:00
Mathew Maidment
05e431d5b5 Merge pull request #3645 from lioncash/dxmem
D3D12: Get rid of most explicit delete and new usages
2016-02-16 22:54:04 -05:00
Mathew Maidment
96e48c3c9f Merge pull request #3644 from lioncash/shadercache
ShaderCache: Minor changes
2016-02-16 22:52:39 -05:00
Chris Burgener
6fe3a3004d Rename Direct3D to Direct3D 11 2016-02-16 22:43:21 -05:00
Lioncash
6b08194728 D3D12: Get rid of safe deletion macros
Anything these macros provided can be obsoleted by using
the correct standard library types.
2016-02-16 02:09:06 -05:00
Lioncash
626fcf4c15 D3DStreamBuffer: Use size_t within the class interface
A few StreamBuffer instances take arguments that are actually size_t,
and this will cause truncation warnings during argument forwarding
with make_unique.
2016-02-16 02:08:52 -05:00
Lioncash
932dd14418 NativeVertexFormat: Add missing override specifier 2016-02-15 23:41:20 -05:00
Lioncash
69c82f32ff NativeVertexFormat: Use in-class initialization 2016-02-15 23:40:34 -05:00
Lioncash
6c0db9fe3c ShaderCache: Remove unnecessary template type specifications
These are already inferred through the passed in arguments.
2016-02-15 23:32:30 -05:00
Lioncash
53fe5a04ec ShaderCache: Remove unnecessary null checks
We already bail out if the shader compilation fails.
Also, there would have already been a nullptr dereference in
InsertByteCode prior to reaching this point.
2016-02-15 23:29:30 -05:00
Lioncash
a22f2e1144 D3DBase: Fix missing return statement 2016-02-15 21:15:43 -05:00
hdcmeta
8cc686b360 D3D12: Initial commit for D3D12 backend implementation. 2016-02-15 09:48:25 -08:00
mimimi085181
bb4d636f34 Copy all layers of textures with CopyRectangleFromTexture 2016-02-14 21:17:06 +01:00
mimimi085181
99555a35ca For partial texture updates check the dimensions of the efb copy and the 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-02-14 17:13:51 +01:00
Lioncash
1df1ba55bb VideoCommon: Convert some DataReader includes into forward declarations
Gets rid of some indirect inclusions in cpp files.
Also this will reduce the amount of rebuilt files if
changes occur in the DataReader header.
2016-01-31 15:19:20 -05:00
Ryan Houdek
e1f21602fd Merge pull request #3426 from Sonicadvance1/ES_fix_framedump
Add support for framedumping to OpenGL ES.
2016-01-28 18:24:32 -05:00
Lioncash
5ebd1e215b Fifo: Make g_bSkipCurrentFrame a TU-local variable
This is only ever queried, making it a global isn't necessary.
2016-01-25 05:23:14 -05:00
Lioncash
e187c55bdd OpcodeDecoder: Add namespace 2016-01-24 01:31:36 -05:00
Pierre Bourdon
be1a9e4231 Merge pull request #3518 from Sonicadvance1/blacklist_sandy
Blacklist Sandy Bridge on mesa from using geometry shaders.
2016-01-20 19:32:56 +01:00
Ryan Houdek
3dda36bc5b Blacklist Sandy Bridge on mesa from using geometry shaders. 2016-01-20 12:13:21 -06:00
Pierre Bourdon
24c228c6e9 Merge pull request #3523 from lioncash/video
VideoCommon: Header cleanup
2016-01-18 02:24:50 +01:00
Lioncash
d9fec92628 VideoCommon: Header cleanup
Also remedies places where the video backends and core rely on things
being indirectly included.
2016-01-17 20:11:45 -05:00
Stenzek
edebadc093 PixelShaderGen: Use bitwise AND for wrapping indirect texture coordinates
(x % y) is not defined in GLSL when sign(x) != sign(y).
This also has the added benefit of behaving the same as sampler wrapping modes, in regards to negative inputs.
2016-01-15 19:46:38 +10:00
Jules Blok
48b60649af Merge pull request #3495 from Armada651/d3d-float
D3D: Use a 32-bit floating point depth buffer.
2016-01-14 00:39:23 +01:00
degasus
5f244abf28 Fifo: Create a "Fifo" namespace. 2016-01-12 23:28:26 +01:00
degasus
0c92603fd5 Merge VideoBackendHardware into VideoBackend.
And rename it to VideoBackendBase because of conflicts within the backends itself.
2016-01-12 23:18:58 +01:00
Jules Blok
8158d291aa D3D: Use the full depth range for Z pokes. 2016-01-11 22:27:41 +01:00
Jules Blok
129975233f D3D: Use a 32-bit floating point depth buffer. 2016-01-11 22:27:40 +01:00
Ryan Houdek
5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Pierre Bourdon
e7fbd1fd50 Merge pull request #3439 from Armada651/depth-range
Render: Clamp the z range to the full range.
2016-01-10 19:09:57 +01:00
Ryan Houdek
b4eb5d8e3f Disable geometry shaders on mesa AMD/ATI drivers.
Causes misrenderings in games that uses them.
2016-01-09 15:09:37 -06:00
Tillmann Karras
98ea1f773a VideoSW: fix some warnings 2016-01-09 10:38:07 +01:00