Make _SAT instructions compile correctly.
authorKeith Whitwell <keith@tungstengraphics.com>
Thu, 15 Apr 2004 11:20:48 +0000 (11:20 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Thu, 15 Apr 2004 11:20:48 +0000 (11:20 +0000)
src/mesa/swrast/s_fragprog_to_c.c

index d1d9a0bef36ae1db64432d609c26b158498aee60..d5d27d0bcf713cddb35a3ea8f69983b8a8cf035d 100644 (file)
@@ -240,7 +240,8 @@ static void print_header( struct fragment_program *p )
    /* The usual macros, not really needed, but handy:
     */
    emit(p, "#define MIN2(x,y) ((x)<(y)?(x):(y))\n"
-         "#define MAX2(x,y) ((x)<(y)?(x):(y))\n");
+         "#define MAX2(x,y) ((x)<(y)?(x):(y))\n"
+         "#define SATURATE(x) ((x)>1.0?1.0:((x)<0.0?0.0:(x)))\n");
 
    /* Our function!
     */
@@ -449,9 +450,9 @@ static void saturate( struct fragment_program *p,
 {
    emit(p, "   ");
    print_dest(p, inst, i);
-   emit(p, " = CLAMPF( ");
+   emit(p, " = SATURATE( ");
    print_dest(p, inst, i);
-   emit(p, ", 0.0, 1.0);\n");
+   emit(p, ");\n");
 }
                     
 static void assign_single( GLuint i,