diff options
author | Rob Clark <[email protected]> | 2019-02-22 15:01:17 -0500 |
---|---|---|
committer | Rob Clark <[email protected]> | 2019-02-26 13:19:44 -0500 |
commit | 04c2520d91920725d91a7be6e415d6ab56aeeaab (patch) | |
tree | 0ef563b077609f7fa43df2ffcff12ff0e4a9245e | |
parent | 6dabcb5bcfd5dc4c62dbdb1cfd1ea95e45a47f8a (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.c | 4 |
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 { |