diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl
index 5072f1698896fc2879467b96f8c2fdc376f851ba..e6f2c9d02b18505e0111b8ac73c895e80eccbda7 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueF.glsl
@@ -25,6 +25,8 @@
 
 /*[EXTRA_CODE_HERE]*/
 
+#define DEBUG_PBR_LIGHT_TYPE 0 // Output Diffuse=0.75, Emissive=0, ORM=0,0,0
+
 #define DEBUG_BASIC         0
 #define DEBUG_VERTEX        0
 #define DEBUG_NORMAL_MAP    0 // Output packed normal map "as is" to diffuse
@@ -120,7 +122,11 @@ void main()
     emissive *= texture2D(emissiveMap, vary_texcoord0.xy).rgb;
 #endif
 
-
+#if DEBUG_PBR_LIGHT_TYPE
+    col.rgb  = vec3(0.75);
+    emissive = vec3(0);
+    spec.rgb = vec3(0);
+#endif
 #if DEBUG_BASIC
     col.rgb = vec3( 1, 0, 1 );
 #endif
diff --git a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl
index 513b748f5f08fe174a625451a68f9c6ba39ee8be..521ad3305909eba47b744091d6875cf0482e6ab2 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/multiPointLightF.glsl
@@ -27,6 +27,8 @@
 
 /*[EXTRA_CODE_HERE]*/
 
+#define DEBUG_PBR_LIGHT_TYPE      0
+
 #ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
 #else
@@ -106,6 +108,10 @@ void main()
                 colorSpec    += intensity * nl * BRDFSpecularGGX(reflect0, reflect90, alphaRough, specWeight, vh, nl, nv, nh);
             }
         }
+
+  #if DEBUG_PBR_LIGHT_TYPE
+        colorDiffuse = vec3(0,0.5,0); colorSpec = vec3(0);
+  #endif
         final_color = colorDiffuse + colorSpec;
     }
     else
diff --git a/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl
index b86402b0315a627558bffb1f5066f4b9d76a68fd..332cf28fb8e5b4b32749b90252e8c14a23d0e14c 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/multiSpotLightF.glsl
@@ -28,6 +28,8 @@
 
 /*[EXTRA_CODE_HERE]*/
 
+#define DEBUG_PBR_LIGHT_TYPE         0
+
 #ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
 #else
@@ -202,6 +204,10 @@ void main()
         vec3 colorEmissive = spec.rgb; // PBR sRGB Emissive.  See: pbropaqueF.glsl
         vec3 packedORM     = texture2DRect(emissiveRect, tc).rgb; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl
 
+  #if DEBUG_PBR_LIGHT_TYPE
+        colorDiffuse = vec3(0.5); colorSpec = vec3(0);
+  #endif
+
         final_color = colorDiffuse + colorSpec;
     }
     else
diff --git a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl
index 8886abb7d1198f69c3201df31079ba7a1721f1a1..5d9b4bc8771911fa9a41529deefde23cf29b1870 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/pointLightF.glsl
@@ -27,6 +27,8 @@
 
 /*[EXTRA_CODE_HERE]*/
 
+#define DEBUG_PBR_LIGHT_TYPE         0
+
 #ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
 #else
@@ -104,6 +106,10 @@ void main()
             colorSpec    += intensity * nl * BRDFSpecularGGX(reflect0, reflect90, alphaRough, specWeight, vh, nl, nv, nh);
         }
 
+#if DEBUG_PBR_LIGHT_TYPE
+        colorDiffuse = vec3(0,0,0.5); colorSpec = vec3(0);
+#endif
+
         final_color = colorDiffuse + colorSpec;
     }
     else
diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
index 59076d9760037264e4d64d4e941db1bb88d42532..4e92915dc2786ef49b6a8d37b4a42feb05c4d2f3 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl
@@ -27,6 +27,7 @@
 #define PBR_USE_GGX_EMS_HACK       0
 #define PBR_USE_IRRADIANCE_HACK    1
 
+#define DEBUG_PBR_LIGHT_TYPE       0 // Output no global light to make it easier to see pointLight and spotLight
 #define DEBUG_PBR_PACKORM0         0 // Rough=0, Metal=0
 #define DEBUG_PBR_PACKORM1         0 // Rough=1, Metal=1
 #define DEBUG_PBR_TANGENT1         1 // Tangent = 1,0,0
@@ -477,6 +478,9 @@ void main()
     #endif
     #if DEBUG_PBR_SUN_CONTRIB
         color.rgb = sun_contrib;
+    #endif
+    #if DEBUG_PBR_LIGHT_TYPE
+        color.rgb = vec3(0);
     #endif
         frag_color.rgb = color.rgb; // PBR is done in linear
     }
diff --git a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl
index 680fcbfab3f41d38a7dce46c080f784973b4cd50..b94db1b4cbb5ca628a8f185a8b4dcd6cff336fcf 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/spotLightF.glsl
@@ -28,6 +28,8 @@
 
 /*[EXTRA_CODE_HERE]*/
 
+#define DEBUG_PBR_LIGHT_TYPE         0
+
 #ifdef DEFINE_GL_FRAGCOLOR
 out vec4 frag_color;
 #else
@@ -191,6 +193,10 @@ void main()
         vec3 colorEmissive = spec.rgb; // PBR sRGB Emissive.  See: pbropaqueF.glsl
         vec3 packedORM     = texture2DRect(emissiveRect, tc).rgb; // PBR linear packed Occlusion, Roughness, Metal. See: pbropaqueF.glsl
 
+  #if DEBUG_PBR_LIGHT_TYPE
+        colorDiffuse = vec3(0.5,0,0); colorSpec = vec3(0.0);
+  #endif
+
         final_color = colorDiffuse + colorSpec;
     }
     else