diff options
author | Rob Clark <[email protected]> | 2018-09-25 12:15:58 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2018-09-27 15:32:39 -0400 |
commit | 12de415ad1abb67863f6efb7394552a12b9e3b4b (patch) | |
tree | 2b0da1e437235207855da0bc8503c1d22b5b4ed2 /src/gallium/drivers/freedreno | |
parent | b65b6f7606cc381b7c3874f49eb14b738a60f9b6 (diff) |
freedreno: fix inorder rendering case
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_state.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_state.c b/src/gallium/drivers/freedreno/freedreno_state.c index a50ae383b23..96a15250b9d 100644 --- a/src/gallium/drivers/freedreno/freedreno_state.c +++ b/src/gallium/drivers/freedreno/freedreno_state.c @@ -215,6 +215,12 @@ fd_set_framebuffer_state(struct pipe_context *pctx, framebuffer->width, framebuffer->height, framebuffer->layers, framebuffer->samples); + cso = &ctx->framebuffer; + + util_copy_framebuffer_state(cso, framebuffer); + + cso->samples = util_framebuffer_get_num_samples(cso); + if (ctx->screen->reorder) { struct fd_batch *old_batch = NULL; @@ -240,14 +246,9 @@ fd_set_framebuffer_state(struct pipe_context *pctx, DBG("%d: cbufs[0]=%p, zsbuf=%p", ctx->batch->needs_flush, framebuffer->cbufs[0], framebuffer->zsbuf); fd_batch_flush(ctx->batch, false, false); + util_copy_framebuffer_state(&ctx->batch->framebuffer, cso); } - cso = &ctx->framebuffer; - - util_copy_framebuffer_state(cso, framebuffer); - - cso->samples = util_framebuffer_get_num_samples(cso); - ctx->dirty |= FD_DIRTY_FRAMEBUFFER; ctx->disabled_scissor.minx = 0; |