Module: Mesa Branch: main Commit: 25ab2347f8f70b582e9a24a9981f04aff54e131c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=25ab2347f8f70b582e9a24a9981f04aff54e131c
Author: Mike Blumenkrantz <michael.blumenkra...@gmail.com> Date: Thu Apr 8 12:38:06 2021 -0400 zink: fix texture barriers for real this time according to spec, this is supposed to handle fragment shader fetch from previous draw output, not color output readback from previous color output write Reviewed-by: Dave Airlie <airl...@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10706> --- src/gallium/drivers/zink/zink_context.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index 899761814c0..5b4b7dadbb9 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -1947,11 +1947,11 @@ zink_texture_barrier(struct pipe_context *pctx, unsigned flags) dmb.sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER; dmb.pNext = NULL; dmb.srcAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; - dmb.dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; + dmb.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; vkCmdPipelineBarrier( ctx->batch.state->cmdbuf, VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, - VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, 1, &dmb, 0, NULL, @@ -1959,17 +1959,17 @@ zink_texture_barrier(struct pipe_context *pctx, unsigned flags) ); } else { bmb.srcAccessMask |= VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; - bmb.dstAccessMask |= VK_ACCESS_COLOR_ATTACHMENT_READ_BIT; + bmb.dstAccessMask |= VK_ACCESS_SHADER_READ_BIT; } if (ctx->framebuffer->state.num_attachments > 1) { bmb.srcAccessMask |= VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; - bmb.dstAccessMask |= VK_ACCESS_COLOR_ATTACHMENT_READ_BIT; + bmb.dstAccessMask |= VK_ACCESS_SHADER_READ_BIT; } if (bmb.srcAccessMask) vkCmdPipelineBarrier( ctx->batch.state->cmdbuf, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, - VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, 1, &bmb, 0, NULL, _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit