fix up radeon span functions using latest r200 code from Brian,
[mesa.git] / src / mesa / drivers / dri / i915 / i915_state.c
index da8e1ed81e259d754797b451c7a74cd7dfbf44c1..0627f102da206f318aed16922f1db98e8a4ebbb5 100644 (file)
@@ -44,8 +44,9 @@
 
 
 
-static void i915StencilFunc(GLcontext *ctx, GLenum func, GLint ref,
-                           GLuint mask)
+static void
+i915StencilFuncSeparate(GLcontext *ctx, GLenum face, GLenum func, GLint ref,
+                        GLuint mask)
 {
    i915ContextPtr i915 = I915_CONTEXT(ctx);
    int test = intel_translate_compare_func( func );
@@ -69,7 +70,8 @@ static void i915StencilFunc(GLcontext *ctx, GLenum func, GLint ref,
                                       (test << S5_STENCIL_TEST_FUNC_SHIFT)); 
 }
 
-static void i915StencilMask(GLcontext *ctx, GLuint mask)
+static void
+i915StencilMaskSeparate(GLcontext *ctx, GLenum face, GLuint mask)
 {
    i915ContextPtr i915 = I915_CONTEXT(ctx);
 
@@ -85,8 +87,9 @@ static void i915StencilMask(GLcontext *ctx, GLuint mask)
 }
 
 
-static void i915StencilOp(GLcontext *ctx, GLenum fail, GLenum zfail,
-                         GLenum zpass)
+static void
+i915StencilOpSeparate(GLcontext *ctx, GLenum face, GLenum fail, GLenum zfail,
+                      GLenum zpass)
 {
    i915ContextPtr i915 = I915_CONTEXT(ctx);
    int fop = intel_translate_stencil_op(fail); 
@@ -521,19 +524,19 @@ static void i915ShadeModel(GLcontext *ctx, GLenum mode)
 /* =============================================================
  * Fog
  */
-static void update_fog( GLcontext *ctx )
+void i915_update_fog( GLcontext *ctx )
 {
    i915ContextPtr i915 = I915_CONTEXT(ctx);
    GLenum mode;
    GLboolean enabled;
    GLboolean try_pixel_fog;
    
-   if (ctx->FragmentProgram.Enabled && ctx->FragmentProgram.Current) {
+   if (ctx->FragmentProgram._Active) {
       /* Pull in static fog state from program */
       
-      mode = ctx->FragmentProgram.Current->FogOption;
+      mode = ctx->FragmentProgram._Current->FogOption;
       enabled = (mode != GL_NONE);
-      try_pixel_fog = 1;
+      try_pixel_fog = 0;
    }
    else {
       enabled = ctx->Fog.Enabled;
@@ -623,7 +626,6 @@ static void i915Fogfv(GLcontext *ctx, GLenum pname, const GLfloat *param)
    case GL_FOG_MODE:
    case GL_FOG_START:
    case GL_FOG_END: 
-      update_fog( ctx );
       break;
 
    case GL_FOG_DENSITY:
@@ -658,7 +660,6 @@ static void i915Hint(GLcontext *ctx, GLenum target, GLenum state)
 {
    switch (target) {
    case GL_FOG_HINT:
-      update_fog( ctx );
       break;
    default:
       break;
@@ -703,7 +704,6 @@ static void i915Enable(GLcontext *ctx, GLenum cap, GLboolean state)
       break;
 
    case GL_FRAGMENT_PROGRAM_ARB:
-      update_fog( ctx );
       break;
 
    case GL_DITHER:
@@ -743,7 +743,6 @@ static void i915Enable(GLcontext *ctx, GLenum cap, GLboolean state)
       break;
 
    case GL_FOG:
-      update_fog( ctx );
       break;
 
    case GL_CULL_FACE:
@@ -860,16 +859,16 @@ static void i915_init_packets( i915ContextPtr i915 )
       i915->state.Buffer[I915_DESTREG_CBUFADDR0] = _3DSTATE_BUF_INFO_CMD;
       i915->state.Buffer[I915_DESTREG_CBUFADDR1] = 
         (BUF_3D_ID_COLOR_BACK | 
-         BUF_3D_PITCH(screen->frontPitch * screen->cpp) |
+         BUF_3D_PITCH(screen->front.pitch * screen->cpp) |
          BUF_3D_USE_FENCE);
 
 
       i915->state.Buffer[I915_DESTREG_DBUFADDR0] = _3DSTATE_BUF_INFO_CMD;
       i915->state.Buffer[I915_DESTREG_DBUFADDR1] = 
         (BUF_3D_ID_DEPTH |
-         BUF_3D_PITCH(screen->depthPitch * screen->cpp) |
+         BUF_3D_PITCH(screen->depth.pitch * screen->cpp) |
          BUF_3D_USE_FENCE);
-      i915->state.Buffer[I915_DESTREG_DBUFADDR2] = screen->depthOffset;
+      i915->state.Buffer[I915_DESTREG_DBUFADDR2] = screen->depth.offset;
 
 
       i915->state.Buffer[I915_DESTREG_DV0] = _3DSTATE_DST_BUF_VARS_CMD;
@@ -932,9 +931,9 @@ void i915InitStateFunctions( struct dd_function_table *functions )
    functions->PolygonStipple = i915PolygonStipple;
    functions->Scissor = i915Scissor;
    functions->ShadeModel = i915ShadeModel;
-   functions->StencilFunc = i915StencilFunc;
-   functions->StencilMask = i915StencilMask;
-   functions->StencilOp = i915StencilOp;
+   functions->StencilFuncSeparate = i915StencilFuncSeparate;
+   functions->StencilMaskSeparate = i915StencilMaskSeparate;
+   functions->StencilOpSeparate = i915StencilOpSeparate;
 }