Commit Graph

663 Commits

Author SHA1 Message Date
Henrik Rydgård ff72203a06 Remove now-redundant check, add a TODO 2023-05-05 23:46:19 +02:00
Henrik Rydgård 640c4fe9e1 GPU: Remove JumpFast/CallFast. They only avoid a very quick check and not worth the unsafety. 2023-05-05 23:44:19 +02:00
Unknown W. Brackets 2d13b40123 GPU: Rename match flags to avoid confusion. 2023-03-25 23:25:42 -07:00
Henrik Rydgård d586ec0d5e Don't create Host objects except in headless/unittest 2023-03-25 10:47:01 +01:00
Henrik Rydgård 451ee14ebc Don't forget to call CheckDepthUsage when using imm draws.
Fixes #17169
2023-03-23 17:14:12 +01:00
Henrik Rydgård b3ce31c61e Address feedback 2023-02-26 19:54:30 +01:00
Henrik Rydgård 231f4efbbb Move some more stuff to GPUCommonHW 2023-02-26 10:33:11 +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 c3ceb9bf70 Move assorted debug functions and similar to GPUCommonHW 2023-02-25 19:23:07 +01:00
Henrik Rydgård 807d40e095 Move the matrix loading exec functions too 2023-02-25 19:23:07 +01:00
Henrik Rydgård 8520e1dec5 Move SetDisplayFramebuffer to GPUCommonHW 2023-02-25 19:23:07 +01:00
Henrik Rydgård 71ed265c57 Move sawExactEqualDepth to GPUCommonHW 2023-02-25 19:23:07 +01:00
Henrik Rydgård bcd38bc9e8 Move some more commands to GPUCommonHW. Get rid of ugly cast. 2023-02-25 19:23:07 +01:00
Henrik Rydgård d22a22569a Move the drawing commands to GPUCommonHW 2023-02-25 19:23:07 +01:00
Henrik Rydgård 7bcc21b0e3 Move msaaLevel_ to GPUCommonHW 2023-02-25 16:27:00 +01:00
Henrik Rydgård 8b54a14bf2 Move the big command table to where it belongs, GPUCommonHW 2023-02-25 16:20:34 +01:00
Henrik Rydgård 9d6c3c329e Move CheckGPUFeatures() to GPUCommonHW 2023-02-25 16:13:54 +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 9e8f1d3cb3 Make the DoState stuff less ugly 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 6b91647209 Remove unused ExeuteOp in GPUCommon.cpp 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 2d0252feb8 Merge pull request #16916 from hrydgard/implement-delayed-readback
Implement delayed depth readbacks, Vulkan only
2023-02-08 21:34:29 +01:00
Henrik Rydgård 9827dd536c Count listsyncs and drawsyncs in gpu stats. Eat some cycles in listSync
Chose a conservative number (same as sceGeContinue)
2023-02-08 00:41:26 +01:00
Henrik Rydgård b3e6b81e43 Implement delayed depth readbacks for Vulkan only 2023-02-07 23:13:36 +01:00
Henrik Rydgård c7c48abb37 Switch the 2x flag to a uniform 2023-01-10 12:36:28 +01:00
Henrik Rydgård d4ce134292 Shader generator: Move FS_TEX_ALPHA to a uniform bool.
Part of #16567
2023-01-10 09:42:54 +01:00
Henrik Rydgård ef5cb0c48e Remove left-behind line, how did this happen? 2023-01-06 10:46:39 +01:00
Unknown W. Brackets 346d1a4089 Merge pull request #16696 from hrydgard/account-for-fast-bone-matrices
Account for the GPU cycle cost of loading bone matrices.
2023-01-05 18:01:38 -08:00
Henrik Rydgård 5f10cabe5a Fix minor state dirtying issue with FOGCOEFENABLE 2023-01-05 16:56:13 +01:00
Henrik Rydgård a58bf45540 Removes LM flag from vshader in the common case, if ubershader is enabled. 2023-01-05 13:09:49 +01:00
Henrik Rydgård d49b39e422 Remove gpuCommandsAtCallLevel stats, compute another stat more efficiently
These stats have proven rather useless since we don't plan to cache and
optimize display lists.
2023-01-04 17:07:45 +01:00
Henrik Rydgård 26c748f959 Make fog-enable driven by uniform instead of fragment shader flag bit 2023-01-04 10:14:11 +01:00
Henrik Rydgård d8136adbed GPUCommon::FastRunLoop: Try not to crash 2023-01-02 22:01:20 +01:00
Henrik Rydgård 2951a6494f Check for valid memory range when doing fast bone matrix loads
In reality, this is probably very rarely a real concern but we do get a
measurable amount of crash reports here. Though if that first access
crashes, which it seems to, we'd probably likely crash soon after this
anyway...
2023-01-01 20:45:02 +01:00
Henrik Rydgård ee997d1353 Account for the GPU cycle cost of loading bone matrices.
This could change timing slightly in games that use many of these, like
maybe God of War for example. We should probably get it in for 1.15 and
just handle any fallout.
2023-01-01 20:35:04 +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
Henrik Rydgård f8c76fa340 Fix vertex shader range culling - the bug check was wrong. 2022-12-22 23:09:17 +01:00
Unknown W. Brackets f6980b9f9d D3D9: Avoid curve Z clip to be safe.
I think it does actually happen, but we don't do it in the shader, so
let's not do it here.
2022-12-18 12:01:28 -08:00
Henrik Rydgård b70a9993d8 SoftGPU fix 2022-12-14 16:43:37 +01: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 77e510bd90 GPU: Use accurate depth for depth range hack.
This should be easier to ensure stays well tested.
2022-12-04 19:27:23 -08:00
Henrik Rydgård 92df6b832c Safer and simpler alternative to cbfa4bf.
See #16483
2022-12-03 12:05:08 +01:00
Lubos b41a782fcd Revert "Centralize ClearCacheNextFrame"
This reverts commit cbfa4bfc8e.
2022-12-02 14:32:27 +01:00
Unknown W. Brackets 4866518b84 Merge pull request #16477 from hrydgard/invalidation-refactor
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
2022-12-01 11:05:04 -08:00