[Mesa-dev] [PATCH 08/10] i965/vs: Fix setup of scratch space pointer on pre-gen6.

Eric Anholt eric at anholt.net
Fri Sep 2 18:37:18 PDT 2011


We were failing to relocate, so on the first draw run our scratch
would tend to get written to 0x0.
---
 src/mesa/drivers/dri/i965/brw_vs_state.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vs_state.c b/src/mesa/drivers/dri/i965/brw_vs_state.c
index 29b3e47..a01b614 100644
--- a/src/mesa/drivers/dri/i965/brw_vs_state.c
+++ b/src/mesa/drivers/dri/i965/brw_vs_state.c
@@ -157,6 +157,16 @@ brw_prepare_vs_unit(struct brw_context *brw)
     */
    vs->vs6.vs_enable = 1;
 
+   /* Emit scratch space relocation */
+   if (brw->vs.prog_data->total_scratch != 0) {
+      drm_intel_bo_emit_reloc(intel->batch.bo,
+			      brw->vs.state_offset +
+			      offsetof(struct brw_vs_unit_state, thread2),
+			      brw->vs.scratch_bo,
+			      vs->thread2.per_thread_scratch_space,
+			      I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER);
+   }
+
    brw->state.dirty.cache |= CACHE_NEW_VS_UNIT;
 }
 
-- 
1.7.5.4



More information about the mesa-dev mailing list