Henrik Rydgård
4f2f1c4392
Tilt: Fix some edge cases leading to division by zero and similar.
2023-11-09 19:14:31 +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
241f8e75bc
Replace some uses of DepthSliceFactor
2023-02-11 14:37:48 +01:00
Henrik Rydgård
d40aa17198
Remove ToScaledDepthFromIntegerScale
2023-02-11 13:27:44 +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
Unknown W. Brackets
745d9ad320
GPU: Avoid enabling depth test pointlessly.
...
See #16015 . Attempting to avoid a driver bug.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
a397c74140
GPU: Fix simulating logicop with blend and shader.
...
We only need to do it in the shader, if we're doing it in the shader.
2022-09-13 19:07:25 -07:00
Henrik Rydgård
d9989ffc16
Don't start blending in the shader just because there's bitmasks, if blend is disabled.
2022-09-12 15:39:29 +02:00
Henrik Rydgård
b15c65540e
Fix the new logic-op-in-shader on OpenGL and D3D11
...
Also disable BlueToAlpha for now for Outrun and DiRT 2, it breaks the
water effect somehow. Will come back to it later.
2022-09-04 22:53:05 +02:00
Henrik Rydgård
8194bb73a1
Turn on logic ops in shader when shader bitmasking is used.
2022-09-04 11:43:36 +02:00
Henrik Rydgård
3d2e78fbf4
spaces->tabs
2022-09-04 00:11:22 +02:00
Henrik Rydgård
ec173559f8
Additional cleanup
2022-09-04 00:10:55 +02:00
Henrik Rydgård
ceda7aef49
Add log functions to state structs
2022-09-04 00:10:55 +02:00
Henrik Rydgård
d35749bfc8
Move the computation of simulate-logic shader type earlier
2022-09-04 00:10:55 +02:00
Henrik Rydgård
87b14fe1c2
Some more renaming and refactoring, extracted from a future PR
2022-09-04 00:10:55 +02:00
Henrik Rydgård
8e39018b95
Channel mask refactor
2022-09-04 00:10:54 +02:00
Henrik Rydgård
c846c2dfa8
Remove confusing resetFramebufferRead flag from secondary framebuffer binding
2022-09-03 14:48:07 +02:00
Henrik Rydgård
8c56abd3dc
Remove setting "Disable slower framebuffer effects"
2022-09-03 11:06:43 +02:00
Henrik Rydgård
68d88726ae
Remove unused function
2022-09-03 11:06:43 +02:00
Henrik Rydgård
0fe064d970
Small steps
2022-09-02 22:43:58 +02:00
Henrik Rydgård
de712b7804
More renaming
2022-09-02 22:20:11 +02:00
Henrik Rydgård
c784c0e94b
Some renaming. Store the BlendState/MaskState.
2022-09-02 21:07:29 +02:00
Unknown W. Brackets
f5efc1aa56
GPU: Make Spongebob hack checks more readable.
...
Multiline clauses are just a lie programmers tell themselves to make them
think they've written readable code, just because it's better than a
single line.
Also add comments while there, in case this causes problems.
2022-08-28 08:50:16 -07:00
Henrik Rydgård
c75b0235e1
Update the Spongebob workaround check to work with MX vs ATV: Reflex. See #15907
...
Not ideal to not check the verts :(
2022-08-28 15:09:58 +02:00
Henrik Rydgård
e63c14b45a
More spongebob check tweaks, assert fix
2022-08-28 09:13:43 +02:00
Henrik Rydgård
98f2e2a370
Remove irrelevant stencil state checks
2022-08-28 07:35:26 +02:00
Henrik Rydgård
dae92b41fb
Safer spongebob depth inverse check, includes color check and depth func
2022-08-28 07:25:08 +02:00
Henrik Rydgård
df92f72ac3
Unify the spongebob depth inverse check
2022-08-28 07:11:00 +02:00
Unknown W. Brackets
b5a4843c1f
GPU: Purify ConvertViewportAndScissor().
...
This makes it harder to misuse. See #15856 .
2022-08-20 14:21:11 -07:00
Henrik Rydgård
73fc9fb520
OpenGL fix
2022-08-01 11:57:22 +02:00
Henrik Rydgård
c9a37ec6b9
Remove bool that was always true in state mapping.
2022-07-24 21:04:54 +02:00
Henrik Rydgård
462972f7ea
Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF.
...
This is used by several games to render to the alpha channel of RGBA4444
images, which cannot normally be done directly on the PSP.
Can be used as a far more efficient replacement for
ReinterpretFramebuffers/ShaderColorBitmask
2022-04-30 18:17:16 +02:00
Henrik Rydgård
6bc7a699fe
Minor cleanups in framebuffer manager
2022-04-30 18:14:53 +02:00
Henrik Rydgård
32df78a2cc
Make the existing ReinterpretFramebuffers/ShaderColorBitmask path work for Split/Second
...
It took writing and debugging #15500 for me to understand what the issue with the old path was..
Much simpler alternative to #15500 , or we could merge both but disable Split/Second
for this one. Needs some benchmarks I guess...
2022-04-25 00:11:09 +02:00
Henrik Rydgård
45308a16c0
Vulkan is strict about scissor rect, so let's clamp centrally.
...
Better than spreading the logic all over.
Fixes #15207
2021-12-08 22:38:01 +01:00
Henrik Rydgård
6310af25fa
Get shader color write masking going on all backends.
2020-11-08 23:45:47 +01:00
Henrik Rydgård
793e89d2e3
Fix some comments, rename a function.
2020-11-08 14:34:04 +01:00
Henrik Rydgård
3d289594f9
ShaderBlend and FramebufferRead are separate concepts. Reflect that in naming.
...
The former has forms that don't need to read the framebuffer.
This exposes that some logic is wrong...
2020-11-08 12:54:05 +01:00
Henrik Rydgård
e6dfb55d3d
Optimize value conversion in (unused) depth readback.
...
This also exposes factors we can feed into shaders to do the conversion
on the GPU.
2020-08-09 10:47:01 +02:00
Unknown W. Brackets
30ede8240c
GPU: Move hw transform decision to draw engine.
2020-04-04 11:14:32 -07:00
Unknown W. Brackets
b955ec70c9
GPU: Correct depth clamp range in range cull.
...
It was just wrong before, causing wrong culling when using a non-standard
viewport scale/center for depth.
Fixes #11701 , fixes #11781 .
2019-02-10 09:58:01 -08:00
Unknown W. Brackets
5932cbabc3
GPU: Avoid stencil emulation if possible.
...
This reduces use of replaceAlpha, and reduces use of more complicated
blend states. This simplifies fragment shaders a little.
2018-12-01 14:05:29 -08:00
Unknown W. Brackets
5ad948df73
Vulkan: Avoid discard when we can blend.
...
Where possible, replace alpha and color testing with a zero alpha value.
This allows early fragment tests more often, which may help #11227 . It
may also generally help performance on PowerVR devices.
2018-07-27 20:04:36 -07:00
Henrik Rydgard
f5fa238e22
More minor changes to make GPU and native build on UWP later
2017-02-24 20:26:38 +01:00
Henrik Rydgård
674937a520
Extend some enums with potentially useful values
2016-12-27 11:59:12 +01:00
Unknown W. Brackets
e00c9940e8
Correct pixel depth rounding.
2016-01-19 20:19:50 -08:00
Unknown W. Brackets
6ef97f72d2
gedbg: Show scaled depth values properly.
2016-01-19 07:23:06 -08:00
Unknown W. Brackets
d1b3768e49
Use a common func everywhere for float depth vals.
2016-01-18 19:29:45 -08:00