[Mesa-dev] [PATCH] i915: BINDING_TABLE_POINTER_* after CONSTANT_* for SKL & BXT

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Wed Aug 12 05:09:44 PDT 2015

Add a comment about reinforcing command order so that
3DSTATE_BINDING_TABLE_POINTER_* commands are after
3DSTATE_CONSTANT_* commands for SKL & BXT, otherwise the
GPU might hang.

Changing the BLORP code is not relevant (where the order
is "wrong"), as it is not used for GEN8 or up.

Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
Cc: Arun Siluvery <arun.siluvery at linux.intel.com>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
 src/mesa/drivers/dri/i965/brw_state_upload.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c
index 9de42ce..9078e11 100644
--- a/src/mesa/drivers/dri/i965/brw_state_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
@@ -299,9 +299,9 @@ static const struct brw_tracked_state *gen8_render_atoms[] =
-   &brw_vs_binding_table,
-   &brw_gs_binding_table,
-   &brw_wm_binding_table,
+   &brw_vs_binding_table, /* Must come after vs_push_constants for Skylake and Broxton. */
+   &brw_gs_binding_table, /* Must come after gs_push_constants for Skylake and Broxton. */
+   &brw_wm_binding_table, /* Must come after wm_push_constants for Skylake and Broxton. */

More information about the mesa-dev mailing list