Skip to content

Commit 313a61d

Browse files
committed
drm/vc4: Allow some more signals to be packed with uniform resets.
The intent was to make sure people don't sneak in a small immediate or something to change the interpretation of the uniform update args, but these signals are just fine. Fixes a validation failure in the current X server on some Render operation. Signed-off-by: Eric Anholt <eric@anholt.net>
1 parent 552416c commit 313a61d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

drivers/gpu/drm/vc4/vc4_validate_shaders.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,14 @@ validate_uniform_address_write(struct vc4_validated_shader_info *validated_shade
309309
* of uniforms on each side. However, this scheme is easy to
310310
* validate so it's all we allow for now.
311311
*/
312-
313-
if (QPU_GET_FIELD(inst, QPU_SIG) != QPU_SIG_NONE) {
312+
switch (QPU_GET_FIELD(inst, QPU_SIG)) {
313+
case QPU_SIG_NONE:
314+
case QPU_SIG_SCOREBOARD_UNLOCK:
315+
case QPU_SIG_COLOR_LOAD:
316+
case QPU_SIG_LOAD_TMU0:
317+
case QPU_SIG_LOAD_TMU1:
318+
break;
319+
default:
314320
DRM_ERROR("uniforms address change must be "
315321
"normal math\n");
316322
return false;

0 commit comments

Comments
 (0)