broadcom/vc5: Make sure the TMU indirect struct is appropriately aligned.
authorEric Anholt <eric@anholt.net>
Wed, 1 Nov 2017 17:28:01 +0000 (10:28 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 7 Nov 2017 17:19:48 +0000 (09:19 -0800)
I was hoping that this would help with fbo-generatemipmap hangs, but no
luck.

src/gallium/drivers/vc5/vc5_emit.c

index 83ea3c475b2571dd0e807482a00f1eae0651b9dd..9df4c1ee3eb5980478a192e8bedf348b01294dc0 100644 (file)
@@ -170,6 +170,8 @@ emit_one_texture(struct vc5_context *vc5, struct vc5_texture_stateobj *stage_tex
         for (int i = 0; i < ARRAY_SIZE(packed); i++)
                 packed[i] |= sview->texture_shader_state[i] | sampler->texture_shader_state[i];
 
+        /* TMU indirect structs need to be 32b aligned. */
+        vc5_cl_ensure_space(&job->indirect, ARRAY_SIZE(packed), 32);
         cl_emit_prepacked(&job->indirect, &packed);
 }