Assign the uploaded uniform block with hardware binding table indices. This is indexed by the resource streamer to fetch the constant buffers referred to by our gather table entries.
Signed-off-by: Abdiel Janulgue <abdiel.janul...@linux.intel.com> --- src/mesa/drivers/dri/i965/gen6_vs_state.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c index 843df94..d43af5b 100644 --- a/src/mesa/drivers/dri/i965/gen6_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c @@ -72,9 +72,18 @@ gen6_upload_push_constants(struct brw_context *brw, gl_constant_value *param; unsigned i; - param = brw_state_batch(brw, type, - prog_data->nr_params * sizeof(gl_constant_value), + const uint32_t size = prog_data->nr_params * sizeof(gl_constant_value); + param = brw_state_batch(brw, type, size, 32, &stage_state->push_const_offset); + if (brw->gather_pool.bo != NULL) { + uint32_t surf_offset = 0; + brw_create_constant_surface(brw, brw->batch.bo, + stage_state->push_const_offset, + size, &surf_offset, false); + gen7_edit_hw_binding_table_entry(brw, stage_state->stage, + BRW_UNIFORM_GATHER_INDEX_START, + surf_offset); + } STATIC_ASSERT(sizeof(gl_constant_value) == sizeof(float)); -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev