diff options
author | Rob Clark <[email protected]> | 2014-03-29 11:06:49 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-03-30 09:50:24 -0400 |
commit | 2346ea6347bd59a92638d94c12ef731bbfcd720a (patch) | |
tree | 9855ffcef8de49118ca42071f330152b138d4146 /src/gallium/drivers/freedreno/freedreno_state.c | |
parent | ae5efaf2859db722cb8ef9be5ae5807068cbc1e5 (diff) |
freedreno/a3xx: missing wfi
RB_FRAME_BUFFER_DIMENSION is not a banked context register, so we need
to wait for the GPU to idle before updating it. But we'd rather not
have unnecessary WFI's, so actually keep track if we need to emit it or
not.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_state.c')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_state.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c index f5290a9af2a..93fbc3525ec 100644 --- a/src/gallium/drivers/freedreno/freedreno_state.c +++ b/src/gallium/drivers/freedreno/freedreno_state.c @@ -130,6 +130,11 @@ fd_set_framebuffer_state(struct pipe_context *pctx, pipe_surface_reference(&cso->cbufs[i], NULL); cso->nr_cbufs = framebuffer->nr_cbufs; + + if ((cso->width != framebuffer->width) || + (cso->height != framebuffer->height)) + ctx->needs_rb_fbd = true; + cso->width = framebuffer->width; cso->height = framebuffer->height; |