Commit Graph

1154 Commits

Author SHA1 Message Date
ac1cd8279b D3D12: Implement GPU-based bounding box 2016-05-08 12:08:25 +10:00
32599559db D3D12: Use helper method for binding EFB render targets 2016-05-08 12:08:25 +10:00
984da2d624 D3D12: Use signed ints for viewport origin
Fixes black screen when crop is enabled.
2016-05-08 12:08:25 +10:00
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
1634948b6e Merge pull request #3742 from phire/dither
Implement Dithering for video software
2016-05-03 22:41:39 +12:00
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
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
33c22ffab7 D3D: Amend code to fix a new VS warning
Fixes warning C4334
2016-03-30 20:59:57 -04:00
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
c036cf7a5f Updated D3D12 to build on the newer windows 10 sdk. 2016-03-26 18:11:49 +13:00
2fd0884347 Merge pull request #3672 from EmptyChaos/d3d-anisotropy
Fix D3D Forced Anisotropy
2016-03-26 03:25:01 +01:00
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
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
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
0b9a72a62d VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper function 2016-03-24 13:43:29 +11:00
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
51dc779b7c Implement Dithering for video software 2016-03-23 12:29:35 +13:00
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
ab44d2ec5c VideoSW: Drop SetTevReg for colors. 2016-03-06 11:05:49 +01:00
7a154181b4 VideoSW: Drop SetScissor().
Just access the global state directly.
2016-03-06 10:24:28 +01:00
8b0fd623e5 VideoSW: Drop SetViewOffset.
Just use the global state.
2016-03-06 10:22:44 +01:00
c2802f96a6 Merge pull request #3655 from jcowgill/spelling-fixes
Fix some very minor spelling mistakes
2016-03-02 14:04:05 -05:00
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
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
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
0a96e2f531 D3D11: Fix texture dumping, for both single and multi-mip textures 2016-02-28 17:24:47 +10:00
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
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
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
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
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
9efe66509d D3D12: Fix crash/errors when switching MSAA modes while running 2016-02-28 17:18:44 +10:00
1d909ec7a4 D3D12: Implement non-blocking EFB access when EFB has not been modified 2016-02-28 17:18:43 +10:00
6bbf836ea9 D3D12: Simplify and fix MSAA EFB depth copy path 2016-02-28 17:18:43 +10:00
649b94338e D3D12: Cleanup/refactoring of teardown process 2016-02-28 17:18:42 +10:00
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
ffe0e326d2 D3D12: Use stream buffer for CD3DFont 2016-02-28 17:18:40 +10:00
5c1a708977 D3D12: Clean up debug device creation path 2016-02-28 17:18:39 +10:00
efbb85da43 D3D12: Improve robustness of command allocator and fence tracking 2016-02-28 17:18:39 +10:00
2f7870b046 D3D12: Don't add fence tracking entries without buffer offset changes 2016-02-28 17:18:38 +10:00
31bc0cf2c3 D3D12: Don't clear texture SRV on destruction, as it may still be in use 2016-02-28 17:18:37 +10:00
db8dbae131 Fix some very minor spelling mistakes
Found by Lintian https://lintian.debian.org/
2016-02-19 01:48:10 +00:00
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
96e48c3c9f Merge pull request #3644 from lioncash/shadercache
ShaderCache: Minor changes
2016-02-16 22:52:39 -05:00
6fe3a3004d Rename Direct3D to Direct3D 11 2016-02-16 22:43:21 -05:00
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
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
932dd14418 NativeVertexFormat: Add missing override specifier 2016-02-15 23:41:20 -05:00
69c82f32ff NativeVertexFormat: Use in-class initialization 2016-02-15 23:40:34 -05:00
6c0db9fe3c ShaderCache: Remove unnecessary template type specifications
These are already inferred through the passed in arguments.
2016-02-15 23:32:30 -05:00