When hardware-generated binding tables are taken into use, skip uploading of binding tables generated manually by the driver.
Signed-off-by: Abdiel Janulgue <abdiel.janul...@linux.intel.com> --- src/mesa/drivers/dri/i965/brw_binding_tables.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_binding_tables.c b/src/mesa/drivers/dri/i965/brw_binding_tables.c index afbf667..2160be8 100644 --- a/src/mesa/drivers/dri/i965/brw_binding_tables.c +++ b/src/mesa/drivers/dri/i965/brw_binding_tables.c @@ -95,6 +95,10 @@ brw_vs_upload_binding_table(struct brw_context *brw) /* CACHE_NEW_VS_PROG */ const struct brw_vec4_prog_data *prog_data = &brw->vs.prog_data->base; + /* If resource streamer is enabled, skip manual binding table upload */ + if (brw->has_resource_streamer) + return; + /* BRW_NEW_SURFACES and BRW_NEW_VS_CONSTBUF */ brw_upload_binding_table(brw, BRW_NEW_VS_BINDING_TABLE, stage_state, prog_data->binding_table_size, @@ -119,6 +123,10 @@ brw_upload_wm_binding_table(struct brw_context *brw) { struct brw_stage_state *stage_state = &brw->wm.base; + /* If resource streamer is enabled, skip manual binding table upload */ + if (brw->has_resource_streamer) + return; + /* BRW_NEW_SURFACES and CACHE_NEW_WM_PROG */ brw_upload_binding_table(brw, BRW_NEW_PS_BINDING_TABLE, stage_state, brw->wm.prog_data->binding_table_size, @@ -140,8 +148,8 @@ brw_gs_upload_binding_table(struct brw_context *brw) { struct brw_stage_state *stage_state = &brw->gs.base; - /* If there's no GS, skip changing anything. */ - if (!brw->gs.prog_data) + /* If there's no GS or RS exists, skip changing anything. */ + if (!brw->gs.prog_data || brw->has_resource_streamer) return; /* CACHE_NEW_GS_PROG */ -- 1.7.9.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev