i965/blorp: Do not tricker urb re-configuration unnecessarily
authorTopi Pohjolainen <topi.pohjolainen@intel.com>
Fri, 15 Apr 2016 11:03:18 +0000 (14:03 +0300)
committerTopi Pohjolainen <topi.pohjolainen@intel.com>
Thu, 21 Apr 2016 07:20:03 +0000 (10:20 +0300)
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_blorp.cpp
src/mesa/drivers/dri/i965/gen7_blorp.cpp

index 5f0083c102903b90b84abf144b2a2be60e30901f..ce09b099005a3943cf4aeadbe973ca7f1a8aab8b 100644 (file)
@@ -284,10 +284,12 @@ retry:
    if (unlikely(brw->always_flush_batch))
       intel_batchbuffer_flush(brw);
 
+   const uint64_t do_not_smash_bits = BRW_NEW_URB_SIZE;
+
    /* We've smashed all state compared to what the normal 3D pipeline
     * rendering tracks for GL.
     */
-   brw->ctx.NewDriverState = ~0ull;
+   brw->ctx.NewDriverState |= ~do_not_smash_bits;
    brw->no_depth_or_stencil = false;
    brw->ib.type = -1;
 
index c6f95492de2df79e19d1ed939371d00044482714..e1e855951f878c9f8f5b8c2ade188dc7513d3004 100644 (file)
@@ -74,6 +74,8 @@ gen7_blorp_emit_urb_config(struct brw_context *brw)
    if (gen7_blorp_skip_urb_config(brw))
       return;
 
+   brw->ctx.NewDriverState |= BRW_NEW_URB_SIZE;
+
    gen7_emit_push_constant_state(brw,
                                  urb_size / 2 /* vs_size */,
                                  0 /* hs_size */,