work on GL_SGI_color_table
[mesa.git] / src / mesa / main / get.c
index de7b108df84ca394c22e131a633ecf6da0b27084..1d37a298bf4fd13955f434dff6df3b59fe24878d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: get.c,v 1.18 2000/04/07 16:27:26 brianp Exp $ */
+/* $Id: get.c,v 1.21 2000/04/12 00:27:37 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -963,12 +963,12 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
         break;
       case GL_ALWAYS_FAST_HINT_PGI:
         *params = (GLboolean) (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                             ctx->Hint.AllowDrawSpn == GL_FALSE && 
+                             ctx->Hint.AllowDrawFrg == GL_FALSE && 
                              ctx->Hint.AllowDrawMem == GL_FALSE);
         break;
       case GL_ALWAYS_SOFT_HINT_PGI:
         *params = (GLboolean) (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                             ctx->Hint.AllowDrawSpn == GL_TRUE && 
+                             ctx->Hint.AllowDrawFrg == GL_TRUE && 
                              ctx->Hint.AllowDrawMem == GL_TRUE);
         break;
       case GL_ALLOW_DRAW_OBJ_HINT_PGI:
@@ -977,8 +977,8 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
       case GL_ALLOW_DRAW_WIN_HINT_PGI:
         *params = (GLboolean) ctx->Hint.AllowDrawWin;
         break;
-      case GL_ALLOW_DRAW_SPN_HINT_PGI:
-        *params = (GLboolean) ctx->Hint.AllowDrawSpn;
+      case GL_ALLOW_DRAW_FRG_HINT_PGI:
+        *params = (GLboolean) ctx->Hint.AllowDrawFrg;
         break;
       case GL_ALLOW_DRAW_MEM_HINT_PGI:
         *params = (GLboolean) ctx->Hint.AllowDrawMem;
@@ -1077,6 +1077,54 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
          *params = (GLboolean) pixel_texgen_mode(ctx);
          break;
 
+      /* GL_SGI_color_matrix (also in 1.2 imaging) */
+      case GL_COLOR_MATRIX_SGI:
+         for (i=0;i<16;i++) {
+           params[i] = FLOAT_TO_BOOL(ctx->ColorMatrix.m[i]);
+        }
+        break;
+      case GL_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = INT_TO_BOOL(ctx->ColorStackDepth + 1);
+         break;
+      case GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = FLOAT_TO_BOOL(MAX_COLOR_STACK_DEPTH);
+         break;
+      case GL_POST_COLOR_MATRIX_RED_SCALE_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixRedScale);
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixGreenScale);
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixBlueScale);
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixAlphaScale);
+         break;
+      case GL_POST_COLOR_MATRIX_RED_BIAS_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixRedBias);
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixGreenBias);
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixBlueBias);
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI:
+         *params = FLOAT_TO_BOOL(ctx->Pixel.PostColorMatrixAlphaBias);
+         break;
+
+      /* GL_SGI_color_table (also in 1.2 imaging */
+      case GL_COLOR_TABLE_SGI:
+         *params = ctx->Pixel.ColorTableEnabled;
+         break;
+      case GL_POST_CONVOLUTION_COLOR_TABLE_SGI:
+         *params = ctx->Pixel.PostConvolutionColorTableEnabled;
+         break;
+      case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI:
+         *params = ctx->Pixel.PostColorMatrixColorTableEnabled;
+         break;
+
       default:
          gl_error( ctx, GL_INVALID_ENUM, "glGetBooleanv" );
    }
@@ -1968,12 +2016,12 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
         break;
       case GL_ALWAYS_FAST_HINT_PGI:
         *params = (GLdouble) (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                             ctx->Hint.AllowDrawSpn == GL_FALSE && 
+                             ctx->Hint.AllowDrawFrg == GL_FALSE && 
                              ctx->Hint.AllowDrawMem == GL_FALSE);
         break;
       case GL_ALWAYS_SOFT_HINT_PGI:
         *params = (GLdouble) (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                             ctx->Hint.AllowDrawSpn == GL_TRUE && 
+                             ctx->Hint.AllowDrawFrg == GL_TRUE && 
                              ctx->Hint.AllowDrawMem == GL_TRUE);
         break;
       case GL_ALLOW_DRAW_OBJ_HINT_PGI:
@@ -1982,8 +2030,8 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
       case GL_ALLOW_DRAW_WIN_HINT_PGI:
         *params = (GLdouble) ctx->Hint.AllowDrawWin;
         break;
-      case GL_ALLOW_DRAW_SPN_HINT_PGI:
-        *params = (GLdouble) ctx->Hint.AllowDrawSpn;
+      case GL_ALLOW_DRAW_FRG_HINT_PGI:
+        *params = (GLdouble) ctx->Hint.AllowDrawFrg;
         break;
       case GL_ALLOW_DRAW_MEM_HINT_PGI:
         *params = (GLdouble) ctx->Hint.AllowDrawMem;
@@ -2082,6 +2130,54 @@ _mesa_GetDoublev( GLenum pname, GLdouble *params )
          *params = (GLdouble) pixel_texgen_mode(ctx);
          break;
 
+      /* GL_SGI_color_matrix (also in 1.2 imaging) */
+      case GL_COLOR_MATRIX_SGI:
+         for (i=0;i<16;i++) {
+           params[i] = (GLdouble) ctx->ColorMatrix.m[i];
+        }
+        break;
+      case GL_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = (GLdouble) (ctx->ColorStackDepth + 1);
+         break;
+      case GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = (GLdouble) MAX_COLOR_STACK_DEPTH;
+         break;
+      case GL_POST_COLOR_MATRIX_RED_SCALE_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixRedScale;
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixGreenScale;
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixBlueScale;
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixAlphaScale;
+         break;
+      case GL_POST_COLOR_MATRIX_RED_BIAS_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixRedBias;
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixGreenBias;
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixBlueBias;
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixAlphaBias;
+         break;
+
+      /* GL_SGI_color_table (also in 1.2 imaging */
+      case GL_COLOR_TABLE_SGI:
+         *params = (GLdouble) ctx->Pixel.ColorTableEnabled;
+         break;
+      case GL_POST_CONVOLUTION_COLOR_TABLE_SGI:
+         *params = (GLdouble) ctx->Pixel.PostConvolutionColorTableEnabled;
+         break;
+      case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI:
+         *params = (GLdouble) ctx->Pixel.PostColorMatrixColorTableEnabled;
+         break;
+
       default:
          gl_error( ctx, GL_INVALID_ENUM, "glGetDoublev" );
    }
@@ -2971,12 +3067,12 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
         break;
       case GL_ALWAYS_FAST_HINT_PGI:
         *params = (GLfloat) (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                             ctx->Hint.AllowDrawSpn == GL_FALSE && 
+                             ctx->Hint.AllowDrawFrg == GL_FALSE && 
                              ctx->Hint.AllowDrawMem == GL_FALSE);
         break;
       case GL_ALWAYS_SOFT_HINT_PGI:
         *params = (GLfloat) (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                             ctx->Hint.AllowDrawSpn == GL_TRUE && 
+                             ctx->Hint.AllowDrawFrg == GL_TRUE && 
                              ctx->Hint.AllowDrawMem == GL_TRUE);
         break;
       case GL_ALLOW_DRAW_OBJ_HINT_PGI:
@@ -2985,8 +3081,8 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
       case GL_ALLOW_DRAW_WIN_HINT_PGI:
         *params = (GLfloat) ctx->Hint.AllowDrawWin;
         break;
-      case GL_ALLOW_DRAW_SPN_HINT_PGI:
-        *params = (GLfloat) ctx->Hint.AllowDrawSpn;
+      case GL_ALLOW_DRAW_FRG_HINT_PGI:
+        *params = (GLfloat) ctx->Hint.AllowDrawFrg;
         break;
       case GL_ALLOW_DRAW_MEM_HINT_PGI:
         *params = (GLfloat) ctx->Hint.AllowDrawMem;
@@ -3064,6 +3160,54 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
          *params = (GLfloat) pixel_texgen_mode(ctx);
          break;
 
+      /* GL_SGI_color_matrix (also in 1.2 imaging) */
+      case GL_COLOR_MATRIX_SGI:
+         for (i=0;i<16;i++) {
+           params[i] = ctx->ColorMatrix.m[i];
+        }
+        break;
+      case GL_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = (GLfloat) (ctx->ColorStackDepth + 1);
+         break;
+      case GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = (GLfloat) MAX_COLOR_STACK_DEPTH;
+         break;
+      case GL_POST_COLOR_MATRIX_RED_SCALE_SGI:
+         *params = ctx->Pixel.PostColorMatrixRedScale;
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI:
+         *params = ctx->Pixel.PostColorMatrixGreenScale;
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI:
+         *params = ctx->Pixel.PostColorMatrixBlueScale;
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI:
+         *params = ctx->Pixel.PostColorMatrixAlphaScale;
+         break;
+      case GL_POST_COLOR_MATRIX_RED_BIAS_SGI:
+         *params = ctx->Pixel.PostColorMatrixRedBias;
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI:
+         *params = ctx->Pixel.PostColorMatrixGreenBias;
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI:
+         *params = ctx->Pixel.PostColorMatrixBlueBias;
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI:
+         *params = ctx->Pixel.PostColorMatrixAlphaBias;
+         break;
+
+      /* GL_SGI_color_table (also in 1.2 imaging */
+      case GL_COLOR_TABLE_SGI:
+         *params = (GLfloat) ctx->Pixel.ColorTableEnabled;
+         break;
+      case GL_POST_CONVOLUTION_COLOR_TABLE_SGI:
+         *params = (GLfloat) ctx->Pixel.PostConvolutionColorTableEnabled;
+         break;
+      case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI:
+         *params = (GLfloat) ctx->Pixel.PostColorMatrixColorTableEnabled;
+         break;
+
       default:
          gl_error( ctx, GL_INVALID_ENUM, "glGetFloatv" );
    }
@@ -3955,12 +4099,12 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
         break;
       case GL_ALWAYS_FAST_HINT_PGI:
         *params = (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                   ctx->Hint.AllowDrawSpn == GL_FALSE && 
+                   ctx->Hint.AllowDrawFrg == GL_FALSE && 
                    ctx->Hint.AllowDrawMem == GL_FALSE);
         break;
       case GL_ALWAYS_SOFT_HINT_PGI:
         *params =  (ctx->Hint.AllowDrawWin == GL_TRUE &&
-                    ctx->Hint.AllowDrawSpn == GL_TRUE && 
+                    ctx->Hint.AllowDrawFrg == GL_TRUE && 
                     ctx->Hint.AllowDrawMem == GL_TRUE);
         break;
       case GL_ALLOW_DRAW_OBJ_HINT_PGI:
@@ -3969,8 +4113,8 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
       case GL_ALLOW_DRAW_WIN_HINT_PGI:
         *params = ctx->Hint.AllowDrawWin;
         break;
-      case GL_ALLOW_DRAW_SPN_HINT_PGI:
-        *params = ctx->Hint.AllowDrawSpn;
+      case GL_ALLOW_DRAW_FRG_HINT_PGI:
+        *params = ctx->Hint.AllowDrawFrg;
         break;
       case GL_ALLOW_DRAW_MEM_HINT_PGI:
         *params = ctx->Hint.AllowDrawMem;
@@ -4069,6 +4213,54 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
          *params = (GLint) pixel_texgen_mode(ctx);
          break;
 
+      /* GL_SGI_color_matrix (also in 1.2 imaging) */
+      case GL_COLOR_MATRIX_SGI:
+         for (i=0;i<16;i++) {
+           params[i] = (GLint) ctx->ColorMatrix.m[i];
+        }
+        break;
+      case GL_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = ctx->ColorStackDepth + 1;
+         break;
+      case GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI:
+         *params = MAX_COLOR_STACK_DEPTH;
+         break;
+      case GL_POST_COLOR_MATRIX_RED_SCALE_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixRedScale;
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixGreenScale;
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixBlueScale;
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixAlphaScale;
+         break;
+      case GL_POST_COLOR_MATRIX_RED_BIAS_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixRedBias;
+         break;
+      case GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixGreenBias;
+         break;
+      case GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixBlueBias;
+         break;
+      case GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixAlphaBias;
+         break;
+
+      /* GL_SGI_color_table (also in 1.2 imaging */
+      case GL_COLOR_TABLE_SGI:
+         *params = (GLint) ctx->Pixel.ColorTableEnabled;
+         break;
+      case GL_POST_CONVOLUTION_COLOR_TABLE_SGI:
+         *params = (GLint) ctx->Pixel.PostConvolutionColorTableEnabled;
+         break;
+      case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI:
+         *params = (GLint) ctx->Pixel.PostColorMatrixColorTableEnabled;
+         break;
+
       default:
          gl_error( ctx, GL_INVALID_ENUM, "glGetIntegerv" );
    }