s/DP3/DP3_SAT/ to prevent negative values
diff --git a/progs/demos/arbfplight.c b/progs/demos/arbfplight.c
index 50a1b7e..d5508a6 100644
--- a/progs/demos/arbfplight.c
+++ b/progs/demos/arbfplight.c
@@ -217,7 +217,7 @@
       "MUL normal, fragment.texcoord[0], len.y; \n"
 
       "# Compute dot product of light direction and normal vector\n"
-      "DP3 dotProd, lightDir, normal; \n"
+      "DP3_SAT dotProd, lightDir, normal;             # limited to [0,1]\n"
 
       "MUL diffuseColor, Diffuse, dotProd;            # diffuse attenuation\n"
 
diff --git a/progs/demos/fplight.c b/progs/demos/fplight.c
index 4f8b42a..6eb77c6 100644
--- a/progs/demos/fplight.c
+++ b/progs/demos/fplight.c
@@ -180,7 +180,7 @@
       "MUL R1, f[TEX0], R1.y;\n"
 
       "# Compute dot product of light direction and normal vector\n"
-      "DP3 R2, R0, R1;"
+      "DP3_SAT R2, R0, R1;"
 
       "MUL R3, Diffuse, R2;    # diffuse attenuation\n"