i965: new state dump for sandybridge
[mesa.git] / src / mesa / drivers / dri / sis / sis_stencil.c
index d36f5f59097c262edaf40cc8ba59fa5f0353b841..55c0440ebae77d47aacfbbbfa87ddcfc3792a3c3 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_stencil.c,v 1.3 2000/09/26 15:56:49 tsi Exp $ */
 
 /*
  * Authors:
@@ -45,8 +44,9 @@ sisDDStencilFuncSeparate( GLcontext * ctx, GLenum face,
   __GLSiSHardware *current = &smesa->current;
 
    /* set reference */ 
-   current->hwStSetting = STENCIL_FORMAT_8 | (ctx->Stencil.Ref[0] << 8) |
-      ctx->Stencil.ValueMask[0];
+   current->hwStSetting = (STENCIL_FORMAT_8 | 
+                          ((ctx->Stencil.Ref[0] & 0xff) << 8) |
+                          (ctx->Stencil.ValueMask[0] & 0xff));
 
   switch (func)
     {
@@ -125,6 +125,12 @@ sisDDStencilOpSeparate( GLcontext * ctx, GLenum face, GLenum fail,
     case GL_DECR:
       current->hwStSetting2 |= SiS_SFAIL_DECR;
       break;
+    case GL_INCR_WRAP:
+      current->hwStSetting2 |= SiS_SFAIL_INCR_WRAP;
+      break;
+    case GL_DECR_WRAP:
+      current->hwStSetting2 |= SiS_SFAIL_DECR_WRAP;
+      break;
     }
 
   switch (zfail)
@@ -147,6 +153,12 @@ sisDDStencilOpSeparate( GLcontext * ctx, GLenum face, GLenum fail,
     case GL_DECR:
       current->hwStSetting2 |= SiS_SPASS_ZFAIL_DECR;
       break;
+    case GL_INCR_WRAP:
+      current->hwStSetting2 |= SiS_SPASS_ZFAIL_INCR_WRAP;
+      break;
+    case GL_DECR_WRAP:
+      current->hwStSetting2 |= SiS_SPASS_ZFAIL_DECR_WRAP;
+      break;
     }
 
   switch (zpass)
@@ -169,6 +181,12 @@ sisDDStencilOpSeparate( GLcontext * ctx, GLenum face, GLenum fail,
     case GL_DECR:
       current->hwStSetting2 |= SiS_SPASS_ZPASS_DECR;
       break;
+    case GL_INCR_WRAP:
+      current->hwStSetting2 |= SiS_SPASS_ZPASS_INCR_WRAP;
+      break;
+    case GL_DECR_WRAP:
+      current->hwStSetting2 |= SiS_SPASS_ZPASS_DECR_WRAP;
+      break;
     }
 
    if (current->hwStSetting2 != prev->hwStSetting2)