Henrik Rydgård
061131ec8a
Cache planes used for BBOX culling
...
This isn't a huge performance boost for the games that use BBOX (like
Tekken), but it'll be more valuable if we start using soft culling more
widely automatically, see #17808
2023-07-30 14:42:22 +02:00
Henrik Rydgård
ad8827ae70
Cleanup, address feedback
2023-05-26 10:28:10 +02:00
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