From 3268cab26b49468bbab7c09e6eb8f36ed4a91158 Mon Sep 17 00:00:00 2001
From: tfarley <tfarleygithub@gmail.com>
Date: Fri, 22 Apr 2016 10:48:00 -0400
Subject: [PATCH 1/2] HWRasterizer: sync specular uniform for new shaders

---
 src/video_core/renderer_opengl/gl_rasterizer.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index da4121c35..30187d4cf 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -874,6 +874,8 @@ void RasterizerOpenGL::SetShader() {
 
         SyncGlobalAmbient();
         for (int light_index = 0; light_index < 8; light_index++) {
+            SyncLightSpecular0(light_index);
+            SyncLightSpecular1(light_index);
             SyncLightDiffuse(light_index);
             SyncLightAmbient(light_index);
             SyncLightPosition(light_index);

From 562f36a1442f112fa4bedfce12f7a0e8470369cf Mon Sep 17 00:00:00 2001
From: tfarley <tfarleygithub@gmail.com>
Date: Fri, 22 Apr 2016 10:52:02 -0400
Subject: [PATCH 2/2] HWRasterizer: reorder declarations to match defs

---
 src/video_core/renderer_opengl/gl_rasterizer.h | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 5aa638985..8d6177e88 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -332,18 +332,24 @@ private:
     /// Syncs the depth test states to match the PICA register
     void SyncDepthTest();
 
-    /// Syncs the TEV constant color to match the PICA register
-    void SyncTevConstColor(int tev_index, const Pica::Regs::TevStageConfig& tev_stage);
-
     /// Syncs the TEV combiner color buffer to match the PICA register
     void SyncCombinerColor();
 
+    /// Syncs the TEV constant color to match the PICA register
+    void SyncTevConstColor(int tev_index, const Pica::Regs::TevStageConfig& tev_stage);
+
     /// Syncs the lighting global ambient color to match the PICA register
     void SyncGlobalAmbient();
 
     /// Syncs the lighting lookup tables
     void SyncLightingLUT(unsigned index);
 
+    /// Syncs the specified light's specular 0 color to match the PICA register
+    void SyncLightSpecular0(int light_index);
+
+    /// Syncs the specified light's specular 1 color to match the PICA register
+    void SyncLightSpecular1(int light_index);
+
     /// Syncs the specified light's diffuse color to match the PICA register
     void SyncLightDiffuse(int light_index);
 
@@ -353,12 +359,6 @@ private:
     /// Syncs the specified light's position to match the PICA register
     void SyncLightPosition(int light_index);
 
-    /// Syncs the specified light's specular 0 color to match the PICA register
-    void SyncLightSpecular0(int light_index);
-
-    /// Syncs the specified light's specular 1 color to match the PICA register
-    void SyncLightSpecular1(int light_index);
-
     OpenGLState state;
 
     RasterizerCacheOpenGL res_cache;