From: Kenneth Graunke Date: Wed, 12 Dec 2018 06:46:40 +0000 (-0800) Subject: iris: always pin the binder...in the compute context, too. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=32ee2e4c274131d97d78f9c193087cd7104dab92;p=mesa.git iris: always pin the binder...in the compute context, too. not sure why this hasn't tripped things up --- diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index e08f90973f7..e4e42f50d82 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -4663,6 +4663,13 @@ iris_upload_compute_state(struct iris_context *ice, struct brw_stage_prog_data *prog_data = shader->prog_data; struct brw_cs_prog_data *cs_prog_data = (void *) prog_data; + /* Always pin the binder. If we're emitting new binding table pointers, + * we need it. If not, we're probably inheriting old tables via the + * context, and need it anyway. Since true zero-bindings cases are + * practically non-existent, just pin it and avoid last_res tracking. + */ + iris_use_pinned_bo(batch, ice->state.binder.bo, false); + if ((dirty & IRIS_DIRTY_CONSTANTS_CS) && shs->cbuf0_needs_upload) upload_uniforms(ice, MESA_SHADER_COMPUTE);