summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-02-22 15:01:17 -0500
committerRob Clark <[email protected]>2019-02-26 13:19:44 -0500
commit04c2520d91920725d91a7be6e415d6ab56aeeaab (patch)
tree0ef563b077609f7fa43df2ffcff12ff0e4a9245e
parent6dabcb5bcfd5dc4c62dbdb1cfd1ea95e45a47f8a (diff)
freedreno/a6xx: fix hangs with large shaders
We were overflowing instrlen (which is # of groups of 16 instructions) in a couple dEQP tests, causing gpu hangs: dEQP-GLES31.functional.ubo.random.all_per_block_buffers.13 dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20 Signed-off-by: Rob Clark <[email protected]>
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_program.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_program.c b/src/gallium/drivers/freedreno/a6xx/fd6_program.c
index 3e7aed63897..93e2c58b138 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_program.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_program.c
@@ -239,9 +239,9 @@ struct stage {
const struct ir3_shader_variant *v;
const struct ir3_info *i;
/* const sizes are in units of vec4, aligned to 4*vec4 */
- uint8_t constlen;
+ uint16_t constlen;
/* instr sizes are in units of 16 instructions */
- uint8_t instrlen;
+ uint16_t instrlen;
};
enum {