Commit Graph
688 Commits
Author SHA1 Message Date
Henrik Rydgård c32e3f89f1 D3D11 mipmap stride fix 2023-03-12 23:31:51 +01:00
Henrik Rydgård b44e879d21 Support DXT1/3/5 (BC1,2,3) in D3D9 2023-03-12 11:37:17 +01:00
Henrik Rydgård f2673c8f7b Change BGRA to be a texture-specific flag. Fixes R/B swap in DDS textures in D3D11. 2023-03-12 10:19:12 +01:00
Henrik Rydgård 7e4dc23bcc Fix BC textures in D3D11 - except that they're red/blue swapped. Ugh. 2023-03-11 23:55:43 +01:00
Henrik Rydgård f936a6e9ce Structs and enums and build files 2023-03-11 11:19:33 +01:00
Henrik Rydgård 44c4e63753 Simplifies and speeds up D3D11 texture uploads. Also, fixes a bug with replacement off 2023-03-09 14:43:59 +01:00
Henrik Rydgård bda09be109 Texture color format doesn't belong as a per-level property, that's not supported.
All levels of a texture must have the same format.
2023-03-09 00:10:46 +01:00
Henrik Rydgård 86c1d5711a Merge pull request #17017 from unknownbrackets/d3d11-equal-clear
D3D11: Correct equal clear check
2023-02-27 09:18:11 +01:00
Unknown W. Brackets 15f087b71a D3D11: Correct equal clear check. 2023-02-26 23:59:48 -08:00
Unknown W. Brackets 9e46a30c13 GPU: Correct some missing override specifiers. 2023-02-26 15:58:58 -08:00
Henrik Rydgård 72bed6f2b5 Some DeviceLost/DeviceRestore cleanup 2023-02-26 11:05:52 +01:00
Henrik Rydgård 3dc47c7fef Unify TextureCache ::StartFrame as much as possible.
Tiny optimization avoiding a Vulkan pool reset on most frames.
2023-02-25 23:20:41 +01:00
Henrik Rydgård 4c45f8a4b0 Pass in draw directly in GPUCommon::DeviceRestore, instead of awkwardly fetching it 2023-02-25 23:04:27 +01:00
Henrik Rydgård 8fb75e0c12 Unify most of the DebugGetShader* functions 2023-02-25 16:42:09 +01:00
Henrik Rydgård c2c479b217 Remove function InitClear. Was only implemented for DX9, and only barely meaningful in non-buffered. 2023-02-25 16:32:50 +01:00
Henrik Rydgård 8ba665e258 More unification work 2023-02-25 16:12:24 +01:00
Henrik Rydgård c74f5b2189 Prepare for unifying more stuff 2023-02-25 16:01:32 +01:00
Henrik Rydgård e136ad795a Some slight unification 2023-02-25 15:15:34 +01:00
Henrik Rydgård b6846646af Remove some uses of gfxCtx_ 2023-02-25 15:15:34 +01:00
Henrik Rydgård 285ffbaa52 Unify CopyDisplayToOutput 2023-02-25 14:42:15 +01:00
Henrik Rydgård 18999c3687 Create the GPUCommonHW class. 2023-02-25 14:42:10 +01:00
Henrik Rydgård 0d57f3beee Unify GPUCommon::DoState. 2023-02-25 12:21:03 +01:00
Henrik Rydgård 609a8f6d36 Unify ExecuteOp between the accelerated backends 2023-02-25 12:21:03 +01:00
Henrik Rydgård ed03348c65 Unify PreExecuteOp, keep the soft GPU as a special case 2023-02-25 12:21:03 +01:00
Henrik Rydgård da561aa9de Unify CheckFlushOp 2023-02-25 12:21:03 +01:00
Henrik Rydgård 30120560ab Include file cleanup in framebuffer managers 2023-02-25 12:21:00 +01:00
Henrik Rydgård 49e5460c9c Remove count parameter from SetViewports. No use foreseen. 2023-02-25 07:12:53 +01:00
Henrik Rydgård 1b5148bb6c Remove kinda-duplicate function. 2023-02-24 23:54:04 +01:00
Henrik Rydgård d426ce5118 Clear depth buffers after changing depth rounding mode.
And thus change of depth buffer scale/offset.

Previously, old depth buffers with values that now are out of range
could stick around, causing #16941. This clears them to the expected 0
value, which helps Outrun. Ideally we should convert depth buffers to
the new format, but if we can get away without that, that's also nice.

This is enough for #16941.
2023-02-10 10:03:14 +01:00
Henrik Rydgård 1b4018d19a Fix shader cache clearing in D3D11 - need to clear the input layout maps too 2023-01-11 14:16:12 +01:00
Unknown W. Brackets 0f92afb0c1 Replacement: Check replaceValid before load. 2023-01-08 10:20:52 -08:00
Unknown W. Brackets 5749b5a825 GPU: Clear shaders on use flag change. 2023-01-05 18:24:29 -08:00
Henrik Rydgård 85e6b4e592 Increment numFlushes near the other stat increments
Might be better for the cache, heh.
2023-01-04 17:10:56 +01:00
Henrik Rydgård f069de2dd2 Pass the vertex decoder into the vertex shader IDs generator
Instead of just the vertex type.

This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.

This doesn't actually do that yet though, it's just a refactor that can
be done separately.

Part of #16567
2022-12-30 22:57:05 +01:00
Henrik Rydgård ba2fab5b22 Merge pull request #16677 from unknownbrackets/d3d11-pause
D3D11: Fix Draw state issues on pause screen
2022-12-30 21:51:55 +01:00
Unknown W. Brackets fdf5fefa91 GPU: Normalize CopyDisplayToOutput across backends. 2022-12-30 12:33:02 -08:00
Unknown W. Brackets 492cf3f123 D3D11: Fix Draw state issues on pause screen. 2022-12-30 12:27:49 -08:00
Henrik Rydgård 67cba831dd Slightly more useful assert message in Hashmaps.h 2022-12-29 00:39:59 +01:00
Unknown W. Brackets 49f6c461ad Reporting: Fix some header includes.
Particularly in Common, avoid including Core/Reporting.h.
2022-12-27 14:58:20 -08:00
Unknown W. Brackets 0496ca32ff Global: Cleanup some minor includes and typos. 2022-12-27 08:33:07 -08:00
Unknown W. Brackets e5dbdba638 GPU: Keep prevPrim_ set on flush.
For continuing previous verts, see #16612.  We still don't handle these
quite accurately (outside software rendering), but this should be better.
2022-12-18 07:14:19 -08:00
Henrik Rydgård 11366a2ded Don't refer directly to g_Config.iMultiSampleLevel, it can contain unsupported modes. 2022-12-14 16:43:37 +01:00
Henrik Rydgård ee19db091f Add accessor for UseFlags 2022-12-13 18:27:45 +01:00
Unknown W. Brackets 9cfcbc46e6 Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård 0f12d44e59 Remove some unused/unnecessary code 2022-12-03 12:05:10 +01:00
Henrik Rydgård 92df6b832c Safer and simpler alternative to cbfa4bf.
See #16483
2022-12-03 12:05:08 +01:00
Henrik Rydgård 02b8bf33fb Merge pull request #16458 from hrydgard/desktop-friendly-msaa
Implement MSAA support for desktop GPUs in Vulkan
2022-12-03 11:22:41 +01:00
Lubos b41a782fcd Revert "Centralize ClearCacheNextFrame"
This reverts commit cbfa4bfc8e.
2022-12-02 14:32:27 +01:00
Henrik Rydgård cd0acec3f0 Crashfix the other backends 2022-12-02 13:49:28 +01:00