i965/state: Don't use brw->state.dirty.mesa
authorJordan Justen <jordan.l.justen@intel.com>
Fri, 20 Mar 2015 05:33:16 +0000 (22:33 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Tue, 31 Mar 2015 23:40:24 +0000 (16:40 -0700)
Now, we only use brw->NewGLState.

I used this bash & sed command in the i965 directory:
  for file in *.[ch] *.[ch]pp; do
    sed -i -e 's/brw->state\.dirty\.mesa/brw->NewGLState/g' $file
  done

Followed by manual changes to brw_state_upload.c.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_meta_fast_clear.c
src/mesa/drivers/dri/i965/brw_state.h
src/mesa/drivers/dri/i965/brw_state_cache.c
src/mesa/drivers/dri/i965/brw_state_upload.c
src/mesa/drivers/dri/i965/gen8_depth_state.c

index d45f1e6d517d5afe5ac2a9f841d9d4bde8b6c091..06916e28cbdef683881168bc07ecc0c9791db890 100644 (file)
@@ -400,7 +400,7 @@ use_rectlist(struct brw_context *brw, bool enable)
     * _NEW_BUFFERS to make sure we emit new SURFACE_STATE with the new fast
     * clear color value.
     */
-   brw->state.dirty.mesa |= _NEW_LIGHT | _NEW_BUFFERS;
+   brw->NewGLState |= _NEW_LIGHT | _NEW_BUFFERS;
    brw->ctx.NewDriverState |= BRW_NEW_FRAGMENT_PROGRAM;
 }
 
@@ -602,7 +602,7 @@ brw_meta_fast_clear(struct brw_context *brw, struct gl_framebuffer *fb,
     * color before resolve and sets irb->mt->fast_clear_state to UNRESOLVED if
     * we render to it.
     */
-   brw->state.dirty.mesa |= _NEW_BUFFERS;
+   brw->NewGLState |= _NEW_BUFFERS;
 
 
    /* Set the custom state back to normal and dirty the same bits as above */
index bb920b22167dd878afe74dd15e963df589ce7042..cfa67b694d4f7f91ebcb4cc0648103d3dc14627d 100644 (file)
@@ -155,7 +155,7 @@ extern const struct brw_tracked_state gen8_vs_state;
 static inline bool
 brw_state_dirty(struct brw_context *brw, GLuint mesa_flags, uint64_t brw_flags)
 {
-   return ((brw->state.dirty.mesa & mesa_flags) |
+   return ((brw->NewGLState & mesa_flags) |
            (brw->ctx.NewDriverState & brw_flags)) != 0;
 }
 
index bfe7e5149648a9480a95e7d3229e2f6ae153223a..89508e4bd2f477cd0fe27cffb485b96ccdcb378e 100644 (file)
@@ -399,7 +399,7 @@ brw_clear_cache(struct brw_context *brw, struct brw_cache *cache)
    /* We need to make sure that the programs get regenerated, since
     * any offsets leftover in brw_context will no longer be valid.
     */
-   brw->state.dirty.mesa |= ~0;
+   brw->NewGLState |= ~0;
    brw->ctx.NewDriverState |= ~0ull;
    intel_batchbuffer_flush(brw);
 }
index 255e8927f4353871a2aacf6ad0dd7acf46afbc74..f6369066100356f52570bfa2af432745a8dd00f3 100644 (file)
@@ -438,7 +438,7 @@ void brw_init_state( struct brw_context *brw )
 
    brw_upload_initial_gpu_state(brw);
 
-   brw->state.dirty.mesa = ~0;
+   brw->NewGLState = ~0;
    brw->ctx.NewDriverState = ~0ull;
 
    /* ~0 is a nonsensical value which won't match anything we program, so
@@ -623,7 +623,8 @@ static inline void
 merge_ctx_state(struct brw_context *brw,
                 struct brw_state_flags *state)
 {
-   state->mesa |= brw->state.dirty.mesa;
+   state->mesa |= brw->NewGLState;
+   assert(brw->state.dirty.mesa == 0);
    state->brw |= brw->ctx.NewDriverState;
    assert(brw->state.dirty.brw == 0ull);
 }
@@ -649,12 +650,9 @@ brw_upload_pipeline_state(struct brw_context *brw,
    static int dirty_count = 0;
    struct brw_state_flags state = brw->state.pipelines[pipeline];
 
-   brw_state->mesa |= brw->NewGLState;
-   brw->NewGLState = 0;
-
    if (0) {
       /* Always re-emit all state. */
-      brw_state->mesa |= ~0;
+      brw->NewGLState = ~0;
       ctx->NewDriverState = ~0ull;
    }
 
@@ -765,13 +763,14 @@ brw_pipeline_state_finished(struct brw_context *brw,
    /* Save all dirty state into the other pipelines */
    for (int i = 0; i < BRW_NUM_PIPELINES; i++) {
       if (i != pipeline) {
-         brw->state.pipelines[i].mesa |= state->mesa;
+         brw->state.pipelines[i].mesa |= brw->NewGLState;
          brw->state.pipelines[i].brw |= brw->ctx.NewDriverState;
       } else {
          memset(&brw->state.pipelines[i], 0, sizeof(struct brw_state_flags));
       }
    }
 
+   brw->NewGLState = 0;
    brw->ctx.NewDriverState = 0ull;
    memset(state, 0, sizeof(*state));
 }
index 3d126cf98e5f6bfc3ebf3636d63b10be8bcbeb96..b502650f9914ddab5215cd934ad66a1beb8bc5aa 100644 (file)
@@ -509,5 +509,5 @@ gen8_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
     *
     * Setting _NEW_DEPTH and _NEW_BUFFERS covers it, but is rather overkill.
     */
-   brw->state.dirty.mesa |= _NEW_DEPTH | _NEW_BUFFERS;
+   brw->NewGLState |= _NEW_DEPTH | _NEW_BUFFERS;
 }