ppsspp/GPU
Henrik Rydgård 72029b678a Empirical attempt at fixing #15661
Basically, software culling fails in some configuration, like the one we
end up with on Mali.

As noted by unknownbrackets in #15661, the viewport Z scale, offset is -0.0, 0.0.

We end up with CalcCullParams computing minZValue == maxZValue == 1.0f,
and with the vertices ending up with z,w == 1.0, 1.0.
and as a result, the inside/outside calculations will always decide that
it's outside.

Changing the comparisons from >= / <= to > / < fixes the problem, but I
don't know if this might break something else.

Anyhow, here's the simple way to repro on PC:

Change the ending of GPU_Vulkan::CheckFeatures to:

```c
	return GPU_USE_LIGHT_UBERSHADER | GPU_USE_BLEND_MINMAX | GPU_USE_TEXTURE_NPOT | GPU_USE_INSTANCE_RENDERING |
		GPU_USE_VERTEX_TEXTURE_FETCH | GPU_USE_TEXTURE_FLOAT | GPU_USE_16BIT_FORMATS | GPU_USE_TEXTURE_LOD_CONTROL |
		GPU_USE_DEPTH_TEXTURE | GPU_USE_ACCURATE_DEPTH;
```
2022-11-27 23:16:16 +01:00
..
Common Empirical attempt at fixing #15661 2022-11-27 23:16:16 +01:00
D3D11 Can't forget the texture in the callback, breaks texture-from-framebuffer-copy. 2022-11-24 11:02:21 +01:00
Debugger GE Debugger: Correct texture address corruption. 2022-11-19 14:59:52 -08:00
Directx9 Replace the "GetCurrentStepId"-based state invalidation with callbacks 2022-11-24 10:52:42 +01:00
GLES Implement the new screen sizing parameters 2022-11-27 16:16:04 +01:00
Software softgpu: Allow inversions when w >= -1.0. 2022-11-26 12:11:56 -08:00
Vulkan Vulkan: Only use geometry shaders with accurate z. 2022-11-26 23:28:57 -08:00
ge_constants.h Cleanup in ge_constants.h, add virtual CLUT8 buffer format 2022-09-14 22:18:35 +02:00
GeConstants.cpp Fix bug in framebuffer matching where the wrong format was checked for depth matching. Fixes #15867 2022-08-20 07:59:11 +02:00
GeDisasm.cpp GE Debugger: Fix logging of texture size. 2022-09-10 13:36:01 -07:00
GeDisasm.h Slightly improve GPU disassembly 2014-09-13 23:51:07 +02:00
GPU.cpp Remove the DX9 namespace, for consistency with the other backends 2022-08-16 21:49:16 +02:00
GPU.h Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit. 2022-09-11 14:40:01 +02:00
GPU.vcxproj Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines 2022-10-27 11:05:58 +02:00
GPU.vcxproj.filters Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines 2022-10-27 11:05:58 +02:00
GPUCommon.cpp Test fix 2022-11-23 08:52:46 +01:00
GPUCommon.h Move post-processing settings to DisplayLayoutScreen 2022-11-22 23:29:50 +01:00
GPUInterface.h Move post-processing settings to DisplayLayoutScreen 2022-11-22 23:29:50 +01:00
GPUState.cpp Add a way to view the "GPU_USE_" flags at runtime. Useful for sanity checking on-device. 2022-11-23 16:17:41 +01:00
GPUState.h Add a way to view the "GPU_USE_" flags at runtime. Useful for sanity checking on-device. 2022-11-23 16:17:41 +01:00
Math3D.cpp GPU: Fix SSE4 Vec3f normalize. 2022-09-26 00:24:12 -07:00
Math3D.h softgpu: Reduce size of VertexData texture coords. 2022-09-12 21:10:46 -07:00