Commit graph

8398 commits

Author SHA1 Message Date
Henrik Rydgård
adda49d05d Add a heuristic avoiding joining framebuffers horizontally
...when texturing from the other one.

Greatly improves GPU performance in Rainbow Six: Vegas.

Fixes #9324.
2023-02-15 15:35:28 +01:00
Henrik Rydgård
ae9291f3b5 More work on depth copies. Seems to be enough for Iron Man. 2023-02-15 07:35:07 +01:00
Henrik Rydgård
62a6f351d5 Initial work on depth copies 2023-02-15 07:35:07 +01:00
Henrik Rydgård
27a03de826 CreateRAMFramebuffer: Don't create a depth buffer by default 2023-02-15 07:35:07 +01:00
Henrik Rydgård
6b902a7d6b Minor code cleanup, one very minor stride bugfix 2023-02-15 07:35:07 +01:00
Henrik Rydgård
18b08637f6
Merge pull request #16968 from unknownbrackets/riscv-vertexjit
riscv: Include morph in vertexjit
2023-02-15 07:31:01 +01:00
Unknown W. Brackets
9f43010004 riscv: Reuse some color morphing code.
Small optimization loss in 5551, but fairly minimal and I think it's worth
it.
2023-02-14 20:46:05 -08:00
Unknown W. Brackets
684aa75388 riscv: Include morph in vertexjit. 2023-02-14 20:20:55 -08:00
Henrik Rydgård
3dc9fd86e1
Merge pull request #16962 from unknownbrackets/riscv-vertexjit
riscv: Correct offset prescale in vertexjit
2023-02-14 09:41:45 +01:00
Unknown W. Brackets
ada6aa77e0 riscv: Correct offset prescale in vertexjit.
Also implement doubling while here.
2023-02-13 17:16:48 -08:00
Unknown W. Brackets
e1c391b1c8 riscv: Use vertexjit for hardware skinned verts. 2023-02-13 17:15:49 -08:00
Unknown W. Brackets
991c596490 riscv: Set constants once in vertexjit. 2023-02-13 16:57:13 -08:00
Henrik Rydgård
86a19cebfd
Merge pull request #16957 from unknownbrackets/riscv-vertexjit
riscv: Initial vertexjit
2023-02-13 08:33:05 +01:00
Unknown W. Brackets
dc4136d547 riscv: Add prescale to vertexjit. 2023-02-12 23:05:35 -08:00
Unknown W. Brackets
77b2e63876 riscv: Add colors to vertexjit.
This don't feel very efficient, but they overall beat non-jit.
2023-02-12 23:05:35 -08:00
Unknown W. Brackets
ee10fae04e riscv: Add basic steps to vertex decode. 2023-02-12 23:05:34 -08:00
Unknown W. Brackets
219e0db4e5 riscv: Initial vertexjit. 2023-02-12 14:28:51 -08:00
Unknown W. Brackets
89c18d8077 riscv: Cleanup missing Poison, Crash. 2023-02-12 12:10:29 -08:00
Henrik Rydgård
1938fa44d4 Split the depth copy shader into depth copy and depth encode, dynamic depth scale in Draw2D 2023-02-11 18:24:07 +01:00
Henrik Rydgård
a083a65f77 Depal: Get depth scale factors dynamically 2023-02-11 16:12:58 +01:00
Henrik Rydgård
547ecec074 Replace the rest of the uses of DepthSliceFactor 2023-02-11 14:45:14 +01:00
Henrik Rydgård
99e6fd62f7 Remove a baffling depth offset I don't quite get 2023-02-11 14:41:25 +01:00
Henrik Rydgård
241f8e75bc Replace some uses of DepthSliceFactor 2023-02-11 14:37:48 +01:00
Henrik Rydgård
5bdbe6984c Simplify GetDepthScaleFactors 2023-02-11 13:34:08 +01:00
Henrik Rydgård
a2c9491a06 Remove a division by 0 that I hadn't noticed before. 2023-02-11 13:27:44 +01:00
Henrik Rydgård
d40aa17198 Remove ToScaledDepthFromIntegerScale 2023-02-11 13:27:44 +01:00
Henrik Rydgård
805591e493 Replace all uses of ToScaledDepthFromIntegerScale. 2023-02-11 13:27:44 +01:00
Henrik Rydgård
9053d8ccc7 Flip a sign for consistency 2023-02-11 13:27:44 +01:00
Henrik Rydgård
116b3ba8cc Increase precision of GetDepthScaleFactors to match ToScaledDepthFromIntegerScale 2023-02-11 13:27:44 +01:00
Henrik Rydgård
639ca31814 Address feedback 2023-02-11 11:23:00 +01:00
Henrik Rydgård
28a7912ae6 Add comments, re-enable remaining tests (they do work, just forgot to add expected values) 2023-02-11 01:11:02 +01:00
Henrik Rydgård
8d40684833 Make the test pass, add some commented-out failing ones 2023-02-10 14:57:48 +01:00
Henrik Rydgård
d65dae7185 Depth scale functions: Clean up the naming, add a failing test 2023-02-10 14:57:45 +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
Unknown W. Brackets
aff0b46523 GPU: Skip depth resize when forcing 1x. 2023-02-08 18:45:01 -08: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
ab63689cca Remove bad comment 2023-02-08 15:37:06 +01:00
Henrik Rydgård
735cd26db6 Document Syphon Filter hack, but don't enable it 2023-02-08 00:56:45 +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
94f51d5d26 Make the Dangan Ronpa readback async 2023-02-07 23:13:36 +01:00
Henrik Rydgård
5f13bc061a Color readback: Read the previous framebuffer instead of the one being switched to 2023-02-07 23:13:36 +01:00
Henrik Rydgård
b3e6b81e43 Implement delayed depth readbacks for Vulkan only 2023-02-07 23:13:36 +01:00
Henrik Rydgård
30fbcf356a
Merge pull request #16914 from hrydgard/readback-more-prep
Some more plumbing of parameters, preparing for readback stuff
2023-02-05 23:25:57 +01:00
Henrik Rydgård
23049533b9 Restore GetDepthBuffer precision - the stretchy-color-readback path is not suitable for this. 2023-02-05 22:58:26 +01:00
Henrik Rydgård
ec5afb2d8d
Merge pull request #16812 from unknownbrackets/task-priority
ThreadManager: Add simple priority queues
2023-02-05 21:00:47 +01:00
Henrik Rydgård
5ac9b88e81 Plumbing miss 2023-02-05 16:41:12 +01:00
Henrik Rydgård
63c43b90f8 Remove a level of indentation in LoadCLUT 2023-02-05 13:59:16 +01:00
Henrik Rydgård
937975000b Add a ReadbackMode parameter to more functions in the FramebufferManager 2023-02-05 13:57:45 +01:00
Henrik Rydgård
92f4de7b74 Small cleanup. Let's reduce the number of readback paths. 2023-02-05 13:57:45 +01:00
Henrik Rydgård
dd64fe871e
Merge pull request #16912 from lvonasek/compat_openxr_mh3hud
OpenXR - Fix HUD in Monster Hunter 3rd
2023-02-05 08:59:10 +01:00