From: Kenneth Graunke Date: Tue, 29 Apr 2014 22:32:40 +0000 (-0700) Subject: i965/skl: Always emit 3DSTATE_BINDING_TABLE_POINTERS_* on Skylake. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=051bfe4d52e551476a39dec1f50c11cd7c36b7df;p=mesa.git i965/skl: Always emit 3DSTATE_BINDING_TABLE_POINTERS_* on Skylake. On SKL, 3DSTATE_CONSTANT_* command is not committed until we give the corresponding 3DSTATE_BINDING_TABLE_POINTERS_* command. If we fail to do so, the constant buffers wont be read and push constants will be wrong. Signed-off-by: Kenneth Graunke Reviewed-by: Kristian Høgsberg Reviewed-by: Anuj Phogat --- diff --git a/src/mesa/drivers/dri/i965/brw_binding_tables.c b/src/mesa/drivers/dri/i965/brw_binding_tables.c index 709cb9c7b82..cb50d3b8ddf 100644 --- a/src/mesa/drivers/dri/i965/brw_binding_tables.c +++ b/src/mesa/drivers/dri/i965/brw_binding_tables.c @@ -61,7 +61,7 @@ brw_upload_binding_table(struct brw_context *brw, if (prog_data->binding_table.size_bytes == 0) { /* There are no surfaces; skip making the binding table altogether. */ - if (stage_state->bind_bo_offset == 0) + if (stage_state->bind_bo_offset == 0 && brw->gen < 9) return; stage_state->bind_bo_offset = 0;