freedreno: dependency tracking for z/s depends on ZSA state
ZSA state can change whether depth or stencil is enabled
This plus previous patch fix stk, and various things w/
FD_MESA_DEBUG=inorder
Fixes: ec717fc629
freedreno: reduce resource dependency tracking overhead
Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
@@ -137,7 +137,7 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||||||
|
|
||||||
mtx_lock(&ctx->screen->lock);
|
mtx_lock(&ctx->screen->lock);
|
||||||
|
|
||||||
if (ctx->dirty & FD_DIRTY_FRAMEBUFFER) {
|
if (ctx->dirty & (FD_DIRTY_FRAMEBUFFER | FD_DIRTY_ZSA)) {
|
||||||
if (fd_depth_enabled(ctx)) {
|
if (fd_depth_enabled(ctx)) {
|
||||||
if (fd_resource(pfb->zsbuf->texture)->valid) {
|
if (fd_resource(pfb->zsbuf->texture)->valid) {
|
||||||
restore_buffers |= FD_BUFFER_DEPTH;
|
restore_buffers |= FD_BUFFER_DEPTH;
|
||||||
@@ -159,7 +159,9 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||||||
resource_written(batch, pfb->zsbuf->texture);
|
resource_written(batch, pfb->zsbuf->texture);
|
||||||
batch->gmem_reason |= FD_GMEM_STENCIL_ENABLED;
|
batch->gmem_reason |= FD_GMEM_STENCIL_ENABLED;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ctx->dirty & FD_DIRTY_FRAMEBUFFER) {
|
||||||
for (i = 0; i < pfb->nr_cbufs; i++) {
|
for (i = 0; i < pfb->nr_cbufs; i++) {
|
||||||
if (!pfb->cbufs[i])
|
if (!pfb->cbufs[i])
|
||||||
continue;
|
continue;
|
||||||
|
Reference in New Issue
Block a user