[Mesa-dev] [PATCH 35/40] i965/blorp: Do not tricker urb re-configuration unnecessarily

Topi Pohjolainen topi.pohjolainen at intel.com
Sat Apr 16 13:43:03 UTC 2016


Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
 src/mesa/drivers/dri/i965/brw_blorp.cpp  | 4 +++-
 src/mesa/drivers/dri/i965/gen7_blorp.cpp | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_blorp.cpp b/src/mesa/drivers/dri/i965/brw_blorp.cpp
index 5f0083c..ce09b09 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp.cpp
@@ -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;
 
diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
index 87920c7..a672547 100644
--- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp
+++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
@@ -73,6 +73,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 */,
-- 
2.5.5



More information about the mesa-dev mailing list