diff options
author | Rob Clark <[email protected]> | 2019-05-16 21:04:29 -0700 |
---|---|---|
committer | Rob Clark <[email protected]> | 2019-05-20 09:10:12 -0700 |
commit | 9f61aa3f7534ca06b8b59a03249f51492bc80b2c (patch) | |
tree | ce93f3d74da65e6934f070b8fca3c826686c6fd8 /src/gallium/drivers/freedreno/a6xx | |
parent | abfb31acdb673083296d010dfc6920992369989c (diff) |
freedreno/a6xx: WFI in program stateobj too
This "fixes" hangs seen w/ various android games. I think a similar
issue to with constant state, we need to avoid CP_LOAD_STATE until
previous draw completes.
It isn't entirely clear why blob doesn't need to do this, but it might
have a different way to accomplish the same thing.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/a6xx')
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_program.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_program.c b/src/gallium/drivers/freedreno/a6xx/fd6_program.c index 3603d800f04..b90ad2e06e5 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_program.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_program.c @@ -326,6 +326,8 @@ setup_stateobj(struct fd_ringbuffer *ring, struct fd6_program_state *state, uint8_t psize_loc = ~0; int i, j; + OUT_WFI5(ring); + setup_stages(state, s, binning_pass); bool sample_shading = s[FS].v->per_samp | key->sample_shading; |