Commit graph

24 commits

Author SHA1 Message Date
Henrik Rydgård
906a04f1fd Make sure to not leave cull distance uninitialized in other paths, if we do write to it in some path. 2021-10-26 09:56:38 +02:00
Unknown W. Brackets
275baccc5b GLES: Support GL_APPLE_clip_distance too.
Seems modern Apple mobile chips only support clip.
2021-10-12 20:34:44 -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
c6a52909f9 D3D11: Support vertex clip/cull planes. 2021-10-12 20:34:43 -07:00
Unknown W. Brackets
1a603fedf5 Vulkan: Cull verts fully outside depth.
Following PSP rules of -1 to 1 pre-viewport Z.  This also enables it for
GLES/OpenGL.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
7d00b6ca90 GLES: Enable/disable clip distance 0. 2021-10-12 20:34:42 -07:00
Unknown W. Brackets
2271b41d07 Vulkan: Use clip distance only if supported. 2021-10-12 20:34:42 -07:00
Unknown W. Brackets
273b9a3dc1 Vulkan: Add negative Z clipping. 2021-10-12 20:34:42 -07:00
Unknown W. Brackets
24011c3754 GPU: Correct depth handling for guardband.
This culls based on pre-viewport Z and avoids culling based on the clip
range at negative Z.
2021-10-12 20:34:41 -07:00
Henrik Rydgård
71707b5102 Fix bug in vertex shader generator. See #14260. 2021-03-05 12:32:06 +01:00
Unknown W. Brackets
64484a59e6 GPU: Normalize zero consistently in hw transform. 2021-02-28 00:05:10 -08:00
Henrik Rydgård
294f530cd0 Have the flat shading workaround obey the driver workarounds checkbox 2021-01-31 15:50:19 +01:00
Unknown W. Brackets
a73c15babc GPU: Correct shader gen with weights as floats.
For now, this supports the option.  We should probably just move to
everything being floats, but we already prefer software skinning.

Fixes #13903.
2021-01-10 08:52:28 -08:00
Henrik Rydgård
7de7680416 Apple driver bug workaround. See issue #13451 2020-12-16 14:39:08 +01:00
Henrik Rydgård
7061993c8f VK: Restore the ARM Mali Z hack that got lost in the refactor somehow.
Warning fixes.
2020-12-14 19:54:39 +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
34efa1281b More consistent use of GLSL precision modifiers, now use them in Vulkan too.
Might help #13464 ?
2020-11-10 22:42:41 +01:00
Henrik Rydgård
733a152c54 Move ShaderWriter to Common/GPU, along with some stuff from ShaderCommon.h. 2020-11-04 09:18:35 +01:00
Henrik Rydgård
ce4ee010ac Apparently only MSVC can handle the ambiguity. 2020-11-02 11:45:47 +01:00
Henrik Rydgård
0292d1719d GEDebugger: Use utf-8 internally. 2020-11-02 10:02:52 +01:00
Henrik Rydgård
39b5eb5b3d ShaderWriter, a replacement for the sprintf WRITE macro. 2020-11-02 10:02:52 +01:00
Henrik Rydgård
085900adb5 Fix vertex shader generator bug. Got caught by the new test 2020-11-02 09:03:08 +01:00
Henrik Rydgård
f4ea3ccf22 Move the generic vertex shader generator into GPU/Common and rename it. 2020-11-01 19:58:54 +01:00
Renamed from GPU/GLES/VertexShaderGeneratorGLES.cpp (Browse further)