[Intel-gfx] [PATCH 3/3] i965: new state cache for SF scissor on gen6

Zhenyu Wang zhenyuw at linux.intel.com
Wed Feb 16 07:07:41 CET 2011


So aub file could include SF scissor state with specific
trace block type.
---
 src/mesa/drivers/dri/i965/brw_context.h        |    4 +++-
 src/mesa/drivers/dri/i965/brw_state_cache.c    |    2 ++
 src/mesa/drivers/dri/i965/gen6_scissor_state.c |    2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index ea74530..33d72d2 100644
--- a/src/mesa/drivers/dri/i965/brw_context.h
+++ b/src/mesa/drivers/dri/i965/brw_context.h
@@ -313,7 +313,8 @@ enum brw_cache_id {
    BRW_WM_UNIT,
    BRW_SF_PROG,
    BRW_SF_VP,
-   BRW_SF_UNIT, /* scissor state on gen6 */
+   BRW_SF_UNIT,
+   BRW_SF_SCISSOR_UNIT,
    BRW_VS_UNIT,
    BRW_VS_PROG,
    BRW_GS_UNIT,
@@ -387,6 +388,7 @@ struct brw_tracked_state {
 #define CACHE_NEW_SF_PROG                (1<<BRW_SF_PROG)
 #define CACHE_NEW_SF_VP                  (1<<BRW_SF_VP)
 #define CACHE_NEW_SF_UNIT                (1<<BRW_SF_UNIT)
+#define CACHE_NEW_SF_SCISSOR_UNIT        (1<<BRW_SF_SCISSOR_UNIT)
 #define CACHE_NEW_VS_UNIT                (1<<BRW_VS_UNIT)
 #define CACHE_NEW_VS_PROG                (1<<BRW_VS_PROG)
 #define CACHE_NEW_GS_UNIT                (1<<BRW_GS_UNIT)
diff --git a/src/mesa/drivers/dri/i965/brw_state_cache.c b/src/mesa/drivers/dri/i965/brw_state_cache.c
index 01eeb19..585b4c7 100644
--- a/src/mesa/drivers/dri/i965/brw_state_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_state_cache.c
@@ -375,6 +375,8 @@ brw_init_non_surface_cache(struct brw_context *brw)
 
    brw_init_cache_id(cache, "SF_UNIT", BRW_SF_UNIT);
 
+   brw_init_cache_id(cache, "SF_SCISSOR_UNIT", BRW_SF_SCISSOR_UNIT);
+
    brw_init_cache_id(cache, "VS_UNIT", BRW_VS_UNIT);
 
    brw_init_cache_id(cache, "VS_PROG", BRW_VS_PROG);
diff --git a/src/mesa/drivers/dri/i965/gen6_scissor_state.c b/src/mesa/drivers/dri/i965/gen6_scissor_state.c
index 12b6582..baee3ea 100644
--- a/src/mesa/drivers/dri/i965/gen6_scissor_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_scissor_state.c
@@ -74,7 +74,7 @@ prepare_scissor_state(struct brw_context *brw)
    }
 
    drm_intel_bo_unreference(brw->sf.state_bo);
-   brw->sf.state_bo = brw_cache_data(&brw->cache, BRW_SF_UNIT,
+   brw->sf.state_bo = brw_cache_data(&brw->cache, BRW_SF_SCISSOR_UNIT,
 				     &scissor, sizeof(scissor));
 }
 
-- 
1.7.2.3




More information about the Intel-gfx mailing list