gallium: simplify tgsi_full_immediate struct
[mesa.git] / src / gallium / drivers / nv40 / nv40_state_stipple.c
index 52462a0b5024453690c625b9846c43be2a9aa65b..b51024ad9b20c293d365a64145177deaa95d6d86 100644 (file)
@@ -4,11 +4,11 @@ static boolean
 nv40_state_stipple_validate(struct nv40_context *nv40)
 {
        struct pipe_rasterizer_state *rast = &nv40->rasterizer->pipe;
-       struct nouveau_grobj *curie = nv40->hw->curie;
+       struct nouveau_grobj *curie = nv40->screen->curie;
        struct nouveau_stateobj *so;
 
-       if (nv40->state.stipple.so && (rast->poly_stipple_enable == 0 &&
-                                      nv40->state.stipple.enabled == 0))
+       if (nv40->state.hw[NV40_STATE_STIPPLE] &&
+          (rast->poly_stipple_enable == 0 && nv40->state.stipple_enabled == 0))
                return FALSE;
 
        if (rast->poly_stipple_enable) {
@@ -19,15 +19,14 @@ nv40_state_stipple_validate(struct nv40_context *nv40)
                so_data  (so, 1);
                so_method(so, curie, NV40TCL_POLYGON_STIPPLE_PATTERN(0), 32);
                for (i = 0; i < 32; i++)
-                       so_data(so, nv40->pipe_state.stipple[i]);
+                       so_data(so, nv40->stipple[i]);
        } else {
                so = so_new(2, 0);
                so_method(so, curie, NV40TCL_POLYGON_STIPPLE_ENABLE, 1);
                so_data  (so, 0);
        }
 
-       so_ref(so, &nv40->state.stipple.so);
-       so_ref(NULL, &so);
+       so_ref(so, &nv40->state.hw[NV40_STATE_STIPPLE]);
        return TRUE;
 }
 
@@ -35,6 +34,6 @@ struct nv40_state_entry nv40_state_stipple = {
        .validate = nv40_state_stipple_validate,
        .dirty = {
                .pipe = NV40_NEW_STIPPLE | NV40_NEW_RAST,
-               .hw = NV40_NEW_STIPPLE
+               .hw = NV40_STATE_STIPPLE,
        }
 };