Mesa (master): zink: always insert barriers for general-layout
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Nov 17 15:13:13 UTC 2020
Module: Mesa
Branch: master
Commit: 465a48a048ca96bb1f828686149e00597107edfe
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=465a48a048ca96bb1f828686149e00597107edfe
Author: Erik Faye-Lund <kusmabite at gmail.com>
Date: Tue Nov 17 11:11:59 2020 +0100
zink: always insert barriers for general-layout
We need to always have barriers between individual uses of resources
in the general-layout, because otherwise a write-cache might not be
flushed before the resource is used.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7652>
---
src/gallium/drivers/zink/zink_draw.c | 3 +--
src/gallium/drivers/zink/zink_resource.c | 5 ++---
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c
index d4153a44b1c..9ff6e6420a9 100644
--- a/src/gallium/drivers/zink/zink_draw.c
+++ b/src/gallium/drivers/zink/zink_draw.c
@@ -351,8 +351,7 @@ zink_draw_vbo(struct pipe_context *pctx,
else {
VkImageLayout layout = res->layout;
if (layout != VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL &&
- layout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL &&
- layout != VK_IMAGE_LAYOUT_GENERAL) {
+ layout != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) {
transitions[num_transitions++] = res;
layout = VK_IMAGE_LAYOUT_GENERAL;
}
diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c
index b5bded805a4..8ab78fd4630 100644
--- a/src/gallium/drivers/zink/zink_resource.c
+++ b/src/gallium/drivers/zink/zink_resource.c
@@ -684,9 +684,8 @@ zink_resource_setup_transfer_layouts(struct zink_batch *batch, struct zink_resou
* VK_IMAGE_LAYOUT_GENERAL. And since this isn't a present-related
* operation, VK_IMAGE_LAYOUT_GENERAL seems most appropriate.
*/
- if (src->layout != VK_IMAGE_LAYOUT_GENERAL)
- zink_resource_barrier(batch->cmdbuf, src, src->aspect,
- VK_IMAGE_LAYOUT_GENERAL);
+ zink_resource_barrier(batch->cmdbuf, src, src->aspect,
+ VK_IMAGE_LAYOUT_GENERAL);
} else {
if (src->layout != VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL)
zink_resource_barrier(batch->cmdbuf, src, src->aspect,
More information about the mesa-commit
mailing list