From cf05037428be737afa6fbf0b05287c9dff7bf989 Mon Sep 17 00:00:00 2001
From: Connor McLaughlin <stenzek@gmail.com>
Date: Tue, 22 Nov 2022 23:14:50 +1000
Subject: [PATCH] GPU: Fix GL shaders on Mesa with PGXP + uncorrected colours

---
 src/core/shadergen.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/core/shadergen.cpp b/src/core/shadergen.cpp
index c32a20013..b5eadf342 100644
--- a/src/core/shadergen.cpp
+++ b/src/core/shadergen.cpp
@@ -383,7 +383,7 @@ void ShaderGen::DeclareVertexEntryPoint(
 
       ss << "out VertexData" << output_block_suffix << " {\n";
       for (u32 i = 0; i < num_color_outputs; i++)
-        ss << "  " << qualifier << "float4 v_col" << i << ";\n";
+        ss << "  " << (noperspective_color ? "noperspective " : "") << qualifier << "float4 v_col" << i << ";\n";
 
       for (u32 i = 0; i < num_texcoord_outputs; i++)
         ss << "  " << qualifier << "float2 v_tex" << i << ";\n";
@@ -400,7 +400,7 @@ void ShaderGen::DeclareVertexEntryPoint(
       const char* qualifier = GetInterpolationQualifier(false, msaa, ssaa, true);
 
       for (u32 i = 0; i < num_color_outputs; i++)
-        ss << qualifier << "out float4 v_col" << i << ";\n";
+        ss << qualifier << (noperspective_color ? "noperspective " : "") << "out float4 v_col" << i << ";\n";
 
       for (u32 i = 0; i < num_texcoord_outputs; i++)
         ss << qualifier << "out float2 v_tex" << i << ";\n";