Henrik Rydgård
6558bde0f6
Remove SmoothedDepal compat setting, instead detect the ramp directly.
2022-08-22 15:24:41 +02:00
Unknown W. Brackets
e374ea6b21
GPU: Restrict mip CLUT enhancement a bit.
...
Can't replicate this behavior on a real PSP.
In case a game sets the separate CLUT flag by accident, ignore except
in a safe case that occurs in Misshitsu no Sacrifice. See #15727 .
2022-08-20 17:32:45 -07:00
Henrik Rydgård
886679c7ec
Remove the color-to-depth mode
2022-08-20 08:29:33 +02:00
Henrik Rydgård
a0ac2dffc7
Defer depth copies until depth buffer is actually used.
...
Fixes
2022-08-20 08:29:33 +02:00
Henrik Rydgård
131098c4d4
Some enum renaming, move RasterChannel to GPU.h.
2022-08-09 19:58:48 +02:00
Henrik Rydgård
81c36578ca
Feature detection fixes
2022-08-06 18:27:03 +02:00
Henrik Rydgård
19931c003f
Clean up blit/copy feature detection. Don't need fast GPU flags for these.
2022-08-02 09:53:46 +02:00
Henrik Rydgård
f73995b5db
Disable texture filtering when drawing color into depth
2022-08-01 14:08:16 +02:00
Henrik Rydgård
90a44579bf
Implement color-to-depth for Vulkan, start implementing for D3D11
2022-08-01 11:30:36 +02:00
Henrik Rydgård
c158414858
Give the mip bias its own uniform flag.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
2cb9e09ad3
Implement new discovery of a larger CLUT than we thought, plus non-shared CLUTs for 8-bit indices.
...
Not sure yet what limitations apply, regarding using it for even more
16-bit colors, etc...
2022-07-31 10:43:48 +02:00
Henrik Rydgård
f061eadc04
Initial implementation of 3D texturing through equal-size mips (see #6357 )
...
Vulkan-only currently, though all the other backends except ES 2.0
without GL_OES_texture_3d can support it with some work.
2022-07-31 10:43:47 +02:00
Henrik Rydgård
04a85b1da0
Allows "merging" render targets that overlap on the Y access. Fixes #7295 (Juiced 2)
...
To be safe, gating this behind the related AllowLargeFBTextureOffsets,
which is also required for the effect to work.
Additionally, fixes the offset check for X offsets, which I guess is a
very small risk.
2022-07-24 11:58:07 +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
7be86264d0
Move framebufFormat to gstate_c, so we can override it
2022-04-30 18:16:09 +02:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
8efb99801e
GPU: Log and report when region1 is non-zero.
2022-01-23 19:38:51 -08:00
Unknown W. Brackets
2797e035df
softgpu: Precompute lighting parameters.
...
In many cases, games use lighting just for diffuse or something, this
helps skip what's not needed too. Good improvement in a scene from a
Naruto game.
2022-01-16 11:27:53 -08:00
Unknown W. Brackets
c0e85e6170
softgpu: Move texenv color into sampler state.
2022-01-15 17:52:40 -08:00
Unknown W. Brackets
60bd25582c
Vulkan: Remove wide line handling.
...
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
33598f2e75
GPU: Support clip and cull distances separately.
...
Older GL devices, and it seems Apple devices, may not support cull.
2021-10-12 20:34:44 -07:00
Unknown W. Brackets
7b00c4a572
GPU: Move Z/W equal hack to bugs from supports.
...
It's really a bug (might even ideally cap the version?), and we already
have other bugs handled the same way.
2021-10-12 20:34:44 -07:00
Unknown W. Brackets
2271b41d07
Vulkan: Use clip distance only if supported.
2021-10-12 20:34:42 -07:00
Henrik Rydgård
559ccd9f33
Minor cleanups
2020-12-14 20:06:06 +01:00
Henrik Rydgård
32c9728c0c
Some cleanups in GL feature and shader language detection.
...
Gets rid of many wrong or bad checks for IsCoreContext.
2020-12-14 19:46:11 +01:00
Henrik Rydgård
f3ebd6553d
Turn off vertex range culling in bezier/spline calls.
...
When we do lower res tess than the real PSP, we cant trust the game to not cause range culling to kick in.
Fixes #11692
2020-12-13 16:04:16 +01:00
Henrik Rydgård
575ae376a9
Don't try to texture from depth if not supported by backend. Works around #13621
2020-11-10 23:36:33 +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
7b2236778b
Remove remnants of an old, no longer applicable readback optimization
2020-11-05 14:38:20 +01:00
Henrik Rydgård
dc0f7ca8ee
VK: Copy depth buffer if we can't blit. Some GPUs can't blit to depth.
...
Fixes some recent issues with Intel GPUs on Vulkan.
2020-10-11 10:57:35 +02:00
Henrik Rydgård
d0f7b1e30f
Make the implementations of CopyFramebufferDepth more similar.
...
Also avoid matching framebuffers with bad z for copies.
2020-09-17 20:52:45 +02:00
Henrik Rydgård
181ddd842a
Unify some GPU_SUPPORT* bits
2020-09-17 20:52:32 +02:00
Henrik Rydgård
1b3413945b
Some header include cleanup
2020-09-16 09:20:41 +02:00
Henrik Rydgård
eadd3c5785
Remove the LARGE_VIEWPORTS separate path. The fewer paths the better, all need to work anyway.
...
Required fixing a bug in ShaderUniforms.cpp (used by D3D11 and Vulkan,
the two backends that previously exposed LARGE_VIEWPORTS).
2020-08-05 19:03:08 +02:00
Henrik Rydgård
70ec327b40
Vulkan: Slim down and rename the Mali hack.
2019-09-09 00:43:31 +02:00
Henrik Rydgård
f76adfd760
Vulkan ARM mali Z hack: Modify the matrix instead of the shader.
2019-09-09 00:09:57 +02:00
Henrik Rydgård
0462c01228
Workaround ARM Mali depth hardware bug. Fixes #11937
...
When triangles coincide with the Z=1 plane in specific ways, triggered
by Burnout Legends' sky for example, the depth buffer gets corrupted.
This is worked around here by slightly rescaling Z. This type of
workaround is recommended by ARM driver engineers.
Ugly but what can you do when the hardware is bugged. I've done quick
tests on a number of games with no issues.
2019-09-08 23:44:26 +02:00
Unknown W. Brackets
7412e13767
SoftGPU: Implement dithering.
...
Note: it applies even in 8888, so it can be used as a slight brightness
adjustment.
2019-05-26 09:52:34 -07:00
Unknown W. Brackets
0f880696be
SoftGPU: Respect stencil write mask on test fail.
2018-12-16 13:13:54 -08:00
Unknown W. Brackets
9a4cd5bd9d
GPU: Skip specular on powered diffuse.
...
Matches hardware tests and improves lighting for Virtua Tennis, see #4140 .
2018-11-22 07:59:56 -08:00
Henrik Rydgård
22c066515e
Merge pull request #11425 from xebra/refactor_spline_bezier
...
[Refactoring] Improve spline/bezier.
2018-11-04 17:04:29 +01:00
Henrik Rydgård
fa40bcff8d
Disable triangle range culling on D3D9 on Intel. Should fix #11477
2018-10-21 09:36:15 +02:00
Henrik Rydgård
842290b6dd
Workaround for bad int behaviour on Adreno / GLES. (no problems in
...
Vulkan).
See #11480 , should help #11479 .
2018-10-20 13:22:14 +02:00
xebra
8ad38dfaae
[spline/bezier]oops
2018-10-07 23:54:25 +09:00
xebra
d4a667397c
[spline/bezier]Improve shader uniforms a bit.
2018-10-07 23:54:10 +09:00
xebra
3c0fb44f2e
[spline/bezier]Improve hwtess to use cached weights.
2018-10-07 23:54:05 +09:00
Unknown W. Brackets
77f0499f7f
GPU: Rename clipping flag to depth clamp.
...
It seems to just to depth clamp. When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07:00
Henrik Rydgård
698bd75209
Fix regression caused by the new depal code for Vulkan. Fixes #10993
2018-05-04 22:24:11 +02:00
Henrik Rydgård
29c41c6a35
Implement shader depal for Vulkan. See #10908 . Bilinear filter not yet implemented.
2018-04-13 14:19:01 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680
.
2018-04-10 12:22:41 +02:00