Преглед на файлове

gl_shader_decompiler: Use fragment output color for GPR 0-3.

bunnei преди 8 години
родител
ревизия
5ba71369ac
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      src/video_core/renderer_opengl/gl_shader_decompiler.cpp

+ 5 - 0
src/video_core/renderer_opengl/gl_shader_decompiler.cpp

@@ -187,6 +187,11 @@ private:
 
 
     /// Generates code representing a temporary (GPR) register.
     /// Generates code representing a temporary (GPR) register.
     std::string GetRegister(const Register& reg) {
     std::string GetRegister(const Register& reg) {
+        if (stage == Maxwell3D::Regs::ShaderStage::Fragment && reg.GetIndex() < 4) {
+            // GPRs 0-3 are output color for the fragment shader
+            return std::string{"color."} + "rgba"[reg.GetIndex()];
+        }
+
         return *declr_register.insert("register_" + std::to_string(reg)).first;
         return *declr_register.insert("register_" + std::to_string(reg)).first;
     }
     }