dri/nouveau: Kill a bunch of ternary operators.
[mesa.git] / src / mesa / drivers / dri / sis / sis_state.c
index 33a2f089b82e8e7dd10f3b5040c6f2e506da07ce..e53c326441b6fe0dfae0142c3d2c5585d15e2b44 100644 (file)
@@ -24,7 +24,6 @@ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 **************************************************************************/
-/* $XFree86: xc/lib/GL/mesa/src/drv/sis/sis_ctx.c,v 1.3 2000/09/26 15:56:48 tsi Exp $ */
 
 /*
  * Authors:
@@ -36,24 +35,21 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "sis_state.h"
 #include "sis_tris.h"
 #include "sis_lock.h"
-#include "sis_tex.h"
 
-#include "context.h"
-#include "enums.h"
-#include "colormac.h"
+#include "main/context.h"
+#include "main/macros.h"
 #include "swrast/swrast.h"
 #include "vbo/vbo.h"
 #include "tnl/tnl.h"
 #include "swrast_setup/swrast_setup.h"
 
-#include "tnl/t_pipeline.h"
 
 /* =============================================================
  * Alpha blending
  */
 
 static void
-sisDDAlphaFunc( GLcontext * ctx, GLenum func, GLfloat ref )
+sisDDAlphaFunc( struct gl_context * ctx, GLenum func, GLfloat ref )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    GLubyte refbyte;
@@ -98,7 +94,7 @@ sisDDAlphaFunc( GLcontext * ctx, GLenum func, GLfloat ref )
 }
 
 static void
-sisDDBlendFuncSeparate( GLcontext *ctx, 
+sisDDBlendFuncSeparate( struct gl_context *ctx, 
                        GLenum sfactorRGB, GLenum dfactorRGB,
                        GLenum sfactorA,   GLenum dfactorA )
 {
@@ -197,7 +193,7 @@ sisDDBlendFuncSeparate( GLcontext *ctx,
  */
 
 static void
-sisDDDepthFunc( GLcontext * ctx, GLenum func )
+sisDDDepthFunc( struct gl_context * ctx, GLenum func )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    __GLSiSHardware *prev = &smesa->prev;
@@ -239,7 +235,7 @@ sisDDDepthFunc( GLcontext * ctx, GLenum func )
 }
 
 void
-sisDDDepthMask( GLcontext * ctx, GLboolean flag )
+sisDDDepthMask( struct gl_context * ctx, GLboolean flag )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    __GLSiSHardware *prev = &smesa->prev;
@@ -281,7 +277,7 @@ sisDDDepthMask( GLcontext * ctx, GLboolean flag )
  */
 
 void
-sisUpdateClipping( GLcontext *ctx )
+sisUpdateClipping( struct gl_context *ctx )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
 
@@ -328,7 +324,7 @@ sisUpdateClipping( GLcontext *ctx )
 }
 
 static void
-sisDDScissor( GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h )
+sisDDScissor( struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h )
 {
    if (ctx->Scissor.Enabled)
       sisUpdateClipping( ctx );
@@ -339,7 +335,7 @@ sisDDScissor( GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h )
  */
 
 static void
-sisUpdateCull( GLcontext *ctx )
+sisUpdateCull( struct gl_context *ctx )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    GLint cullflag, frontface;
@@ -360,13 +356,13 @@ sisUpdateCull( GLcontext *ctx )
 
 
 static void
-sisDDCullFace( GLcontext *ctx, GLenum mode )
+sisDDCullFace( struct gl_context *ctx, GLenum mode )
 {
    sisUpdateCull( ctx );
 }
 
 static void
-sisDDFrontFace( GLcontext *ctx, GLenum mode )
+sisDDFrontFace( struct gl_context *ctx, GLenum mode )
 {
    sisUpdateCull( ctx );
 }
@@ -375,7 +371,7 @@ sisDDFrontFace( GLcontext *ctx, GLenum mode )
  * Masks
  */
 
-static void sisDDColorMask( GLcontext *ctx,
+static void sisDDColorMask( struct gl_context *ctx,
                            GLboolean r, GLboolean g,
                            GLboolean b, GLboolean a )
 {
@@ -406,7 +402,7 @@ static void sisDDColorMask( GLcontext *ctx,
  * Rendering attributes
  */
 
-static void sisUpdateSpecular(GLcontext *ctx)
+static void sisUpdateSpecular(struct gl_context *ctx)
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    __GLSiSHardware *current = &smesa->current;
@@ -417,7 +413,7 @@ static void sisUpdateSpecular(GLcontext *ctx)
       current->hwCapEnable &= ~MASK_SpecularEnable;
 }
 
-static void sisDDLightModelfv(GLcontext *ctx, GLenum pname,
+static void sisDDLightModelfv(struct gl_context *ctx, GLenum pname,
                              const GLfloat *param)
 {
    if (pname == GL_LIGHT_MODEL_COLOR_CONTROL) {
@@ -425,7 +421,7 @@ static void sisDDLightModelfv(GLcontext *ctx, GLenum pname,
    }
 }
 
-static void sisDDShadeModel( GLcontext *ctx, GLenum mode )
+static void sisDDShadeModel( struct gl_context *ctx, GLenum mode )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
 
@@ -441,7 +437,7 @@ static void sisDDShadeModel( GLcontext *ctx, GLenum mode )
  * Viewport
  */
 
-static void sisCalcViewport( GLcontext *ctx )
+static void sisCalcViewport( struct gl_context *ctx )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    const GLfloat *v = ctx->Viewport._WindowMap.m;
@@ -457,14 +453,14 @@ static void sisCalcViewport( GLcontext *ctx )
    m[MAT_TZ] =   v[MAT_TZ] * smesa->depth_scale;
 }
 
-static void sisDDViewport( GLcontext *ctx,
+static void sisDDViewport( struct gl_context *ctx,
                           GLint x, GLint y,
                           GLsizei width, GLsizei height )
 {
    sisCalcViewport( ctx );
 }
 
-static void sisDDDepthRange( GLcontext *ctx,
+static void sisDDDepthRange( struct gl_context *ctx,
                             GLclampd nearval, GLclampd farval )
 {
    sisCalcViewport( ctx );
@@ -475,7 +471,7 @@ static void sisDDDepthRange( GLcontext *ctx,
  */
 
 static void
-sisDDLogicOpCode( GLcontext *ctx, GLenum opcode )
+sisDDLogicOpCode( struct gl_context *ctx, GLenum opcode )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
 
@@ -541,29 +537,30 @@ sisDDLogicOpCode( GLcontext *ctx, GLenum opcode )
    }
 }
 
-void sisDDDrawBuffer( GLcontext *ctx, GLenum mode )
+void sisDDDrawBuffer( struct gl_context *ctx, GLenum mode )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    __GLSiSHardware *prev = &smesa->prev;
    __GLSiSHardware *current = &smesa->current;
 
-   /*
-    * _DrawDestMask is easier to cope with than <mode>.
-    */
+   if (ctx->DrawBuffer->_NumColorDrawBuffers != 1) {
+      FALLBACK( smesa, SIS_FALLBACK_DRAW_BUFFER, GL_TRUE );
+      return;
+   }
+
    current->hwDstSet &= ~MASK_DstBufferPitch;
-   switch ( ctx->DrawBuffer->_ColorDrawBufferMask[0] ) {
-   case BUFFER_BIT_FRONT_LEFT:
+   switch ( ctx->DrawBuffer->_ColorDrawBufferIndexes[0] ) {
+   case BUFFER_FRONT_LEFT:
       FALLBACK( smesa, SIS_FALLBACK_DRAW_BUFFER, GL_FALSE );
       current->hwOffsetDest = smesa->front.offset >> 1;
       current->hwDstSet |= smesa->front.pitch >> 2;
       break;
-   case BUFFER_BIT_BACK_LEFT:
+   case BUFFER_BACK_LEFT:
       FALLBACK( smesa, SIS_FALLBACK_DRAW_BUFFER, GL_FALSE );
       current->hwOffsetDest = smesa->back.offset >> 1;
       current->hwDstSet |= smesa->back.pitch >> 2;
       break;
    default:
-      /* GL_NONE or GL_FRONT_AND_BACK or stereo left&right, etc */
       FALLBACK( smesa, SIS_FALLBACK_DRAW_BUFFER, GL_TRUE );
       return;
    }
@@ -592,7 +589,7 @@ void sisDDDrawBuffer( GLcontext *ctx, GLenum mode )
  */
 
 static void
-sisDDEnable( GLcontext * ctx, GLenum cap, GLboolean state )
+sisDDEnable( struct gl_context * ctx, GLenum cap, GLboolean state )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
 
@@ -675,7 +672,7 @@ sisDDEnable( GLcontext * ctx, GLenum cap, GLboolean state )
 
 /* Called before beginning of rendering. */
 void
-sisUpdateHWState( GLcontext *ctx )
+sisUpdateHWState( struct gl_context *ctx )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
    __GLSiSHardware *prev = &smesa->prev;
@@ -701,7 +698,7 @@ sisUpdateHWState( GLcontext *ctx )
 }
 
 static void
-sisDDInvalidateState( GLcontext *ctx, GLuint new_state )
+sisDDInvalidateState( struct gl_context *ctx, GLuint new_state )
 {
    sisContextPtr smesa = SIS_CONTEXT(ctx);
 
@@ -718,7 +715,7 @@ void sisDDInitState( sisContextPtr smesa )
 {
    __GLSiSHardware *current = &smesa->current;
    __GLSiSHardware *prev = &(smesa->prev);
-   GLcontext *ctx = smesa->glCtx;
+   struct gl_context *ctx = smesa->glCtx;
 
    /* add Texture Perspective Enable */
    prev->hwCapEnable = MASK_FogPerspectiveEnable | MASK_TextureCacheEnable |
@@ -829,7 +826,7 @@ void sisDDInitState( sisContextPtr smesa )
 
 /* Initialize the driver's state functions.
  */
-void sisDDInitStateFuncs( GLcontext *ctx )
+void sisDDInitStateFuncs( struct gl_context *ctx )
 {
    ctx->Driver.UpdateState      = sisDDInvalidateState;