summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGert Wollny <gert.wollny@collabora.com>2023-06-13 16:27:15 +0200
committerGert Wollny <gert.wollny@collabora.co.uk>2023-06-13 16:29:35 +0200
commit00d14ccb16915048b1ab29432daecf6f4d28056e (patch)
treefcea05f6be40669546a02140c5614ffbdc07190a
parent9bfcaf93d05d69c5a20e6095f37e9725edbe18a1 (diff)
shader: Set coherent image qualifier for coherent atomic image ops
This fixes a bunch of tests from dEQP-GLES31.functional.image_load_store.*.atomic.comp_swap_* Signed-off-by: Gert Wollny <gert.wollny@collabora.co.uk> Part-of: <https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1158>
-rw-r--r--src/vrend_shader.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index 938168d..a40d339 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -4128,6 +4128,9 @@ translate_atomic(struct dump_ctx *ctx,
snprintf(ms_str, 32, ", int(%s.w)", srcs[1]);
}
+ set_image_qualifier(ctx->images, ctx->images_used_mask, inst,
+ inst->Src[0].Register.Index, inst->Src[0].Register.Indirect);
+
if (!ctx->cfg->use_gles || !inst->Src[0].Register.Indirect) {
emit_buff(&ctx->glsl_strbufs, "%s = %s(imageAtomic%s(%s, %s(%s(%s))%s, %s(%s(%s))%s));\n",
dst, get_string(dtypeprefix), opname, srcs[0],