glsl_shader_gen: Remove invariant qualifier (#7376)

* glsl_shader_gen: Remove invariant qualifier

* Causes visual regressions in Pokemon with RADV

* rasterizer_cache: Clear null surface to transparent
This commit is contained in:
GPUCode 2024-01-21 13:39:35 +02:00 committed by GitHub
parent 228f26d1e4
commit 8d82adb3d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 0 deletions

View file

@ -76,7 +76,13 @@ static std::string GetVertexInterfaceDeclaration(bool is_output, bool use_clip_p
if (is_output && separable_shader) {
// gl_PerVertex redeclaration is required for separate shader object
out += "out gl_PerVertex {\n";
// Apple Silicon GPU drivers optimize more aggressively, which can create
// too much variance and cause visual artifacting in games like Pokemon.
#ifdef __APPLE__
out += " invariant vec4 gl_Position;\n";
#else
out += " vec4 gl_Position;\n";
#endif
if (use_clip_planes) {
out += " float gl_ClipDistance[2];\n";
}