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
Lubos
bff0d735e2
OpenXR - Fix HUD in Monster Hunter 3rd
2023-02-05 08:38:43 +01:00
Henrik Rydgård
4427cb4fc3
Add parameter to thin3d::CopyFramebufferToMemory to specify blocking mode. Not yet implemented.
2023-02-04 23:40:36 +01:00
Henrik Rydgård
281b0d6aab
Quick fix for the lens flare in Burnout
...
We have to assume that ForceLowerResolutionForEffects has been set for
good reason - in this case, the effect probably can't safely function
without it.
Fixes #11100 once again.
2023-02-04 18:01:53 +01:00
Henrik Rydgård
236611ac16
Initial implementation of depth readback for Syphon Filter. Fixes the lens flares.
2023-02-04 13:54:57 +01:00
Henrik Rydgård
62484f01ed
Make ReadbackFramebufferSync able to use the stretch ability of ReadbackDepthbufferSync
2023-02-04 12:05:50 +01:00
Henrik Rydgård
c7234aa3b5
Handle scaling internally in ReadFramebufferSync
2023-02-04 11:36:48 +01:00
Henrik Rydgård
fb8aff5a8c
Split out the depth stuff from the file, move to GPU/Common
2023-02-03 21:06:43 +01:00
Henrik Rydgård
23c8a79473
Make depth readback through the "color path" work on all backends except D3D9
2023-02-03 20:59:58 +01:00
Henrik Rydgård
4402530ca7
Use ShaderWriter to generate the depth readback shader
2023-02-03 20:33:11 +01:00
Henrik Rydgård
f2a6c744bc
Add built-in stretch functionality to depth readback shader path
2023-02-03 19:06:40 +01:00
Henrik Rydgård
7635c4447c
Oops, apply the alpha fix for D3D9 and OpenGL too.
...
See #16875
2023-02-03 08:51:35 +01:00
Unknown W. Brackets
88ba003f46
ThreadManager: Add a simple priority field.
...
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Henrik Rydgård
c11f7e3a5f
Fix texture alpha when texturing from full-alpha textures.
...
Fixes #16875
2023-02-02 16:13:38 +01:00
Henrik Rydgård
d7605c6877
Use dedicated threads for the shader object creation. Bypasses the deadlock possibility.
2023-02-01 11:15:33 +01:00
Unknown W. Brackets
08ac34bae0
GPU: Allow depth above 65535.
...
Hopefully it rounds down for any == or <= tests.
2023-01-31 18:41:06 -08:00
Henrik Rydgård
1f3969aff3
Merge pull request #16873 from hrydgard/dedicated-thread
...
Add facility to run tasks on dedicated threads using the ThreadManager interface
2023-01-31 11:50:59 +01:00
Henrik Rydgård
6b0903f566
Add facility to run tasks on dedicated threads using the ThreadManager interface.
...
Useful for things that should be run ASAP even if the threadpool is full,
at a small extra cost. (Not recommended for very small tasks).
Considering using this to resolve the deadlocks in #16802 .
2023-01-31 11:07:40 +01:00
Henrik Rydgård
b62572a78f
Refactor the framedata/GPU thread management.
2023-01-30 11:49:31 +01:00