Commit Graph

650 Commits

Author SHA1 Message Date
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
Henrik Rydgård 331d024a8c Add a flags parameter to InvalidateCachedState and rename it Invalidate.
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård 423fa6d848 Couple more FormatMemWriteTagAt 2022-12-01 16:00:47 +01:00
Henrik Rydgård 6560123257 Restore optimization of memory info strings, avoiding allocations 2022-12-01 15:39:45 +01:00
Unknown W. Brackets 5bc51cb01d GE Debugger: Remove dup block transfer record.
We already record it as a block transfer, we don't need to also do it as a
memcpy.
2022-12-01 01:36:27 -08:00
Unknown W. Brackets 73489349cc GPU: Oops, simplify an expression. 2022-12-01 01:34:48 -08:00
Unknown W. Brackets cbe96d3774 GPU: Use common block transfer logic in all cases. 2022-12-01 01:34:16 -08:00
Henrik Rydgård 6c8ccc149e Stop logspam from bad block transfer corners. 2022-11-28 10:46:45 +01:00
Henrik Rydgård 75dc856e2c Test fix 2022-11-23 08:52:46 +01:00
Henrik Rydgård 6d9bb1b29e Move post-processing settings to DisplayLayoutScreen 2022-11-22 23:29:50 +01:00
Henrik Rydgård fe1446bf92 Test crashfix 2022-11-21 19:57:59 +01:00
Henrik Rydgård cbfa4bfc8e Centralize ClearCacheNextFrame 2022-11-21 18:13:13 +01:00
Henrik Rydgård c3604428b9 Only check for display resized in emuscreen-under-pause-screen, not the other changes. 2022-11-21 17:59:56 +01:00
Henrik Rydgård ce5a1b8b7e Some minor "centralization" 2022-11-21 17:55:30 +01:00