[Mesa-dev] [PATCH 03/20] i965: Allocate space on the gather pool for plain uniforms

Abdiel Janulgue abdiel.janulgue at linux.intel.com
Fri Sep 11 01:33:17 PDT 2015


Reserve space in the gather pool where the gathered uniforms are flushed.

Signed-off-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>
---
 src/mesa/drivers/dri/i965/gen6_vs_state.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c
index 6653a6d..b78166e 100644
--- a/src/mesa/drivers/dri/i965/gen6_vs_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c
@@ -120,6 +120,14 @@ gen6_upload_push_constants(struct brw_context *brw,
        */
       assert(stage_state->push_const_size <= 32);
    }
+   /* Allocate gather pool space for uniform and UBO entries in 512-bit chunks*/
+   if (brw->gather_pool.bo != NULL) {
+      if (prog_data->nr_params > 0) {
+         int num_consts = ALIGN(prog_data->nr_params, 4) / 4;
+         stage_state->push_const_offset = brw->gather_pool.next_offset;
+         brw->gather_pool.next_offset += (ALIGN(num_consts, 4) / 4) * 64;
+      }
+   }
 }
 
 static void
-- 
1.9.1



More information about the mesa-dev mailing list