Mesa (main): panvk: Lower image deref atomics
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon May 2 20:46:31 UTC 2022
Module: Mesa
Branch: main
Commit: 46778f2b2a5a4a3b563aed226bb3ee526e443b10
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=46778f2b2a5a4a3b563aed226bb3ee526e443b10
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Wed Apr 27 15:44:38 2022 -0400
panvk: Lower image deref atomics
Fixes dEQP-VK.image.atomic_operations.*
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
---
src/panfrost/ci/deqp-panfrost-g52-vk.toml | 1 +
src/panfrost/vulkan/panvk_vX_shader.c | 15 ++++++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/panfrost/ci/deqp-panfrost-g52-vk.toml b/src/panfrost/ci/deqp-panfrost-g52-vk.toml
index 0ca070ba955..317a2b402e5 100644
--- a/src/panfrost/ci/deqp-panfrost-g52-vk.toml
+++ b/src/panfrost/ci/deqp-panfrost-g52-vk.toml
@@ -13,6 +13,7 @@ include = [
"dEQP-VK.api.copy_and_blit.core.*",
"dEQP-VK.compute.builtin_var.*",
"dEQP-VK.draw.renderpass.instanced.draw_indexed_vk_*",
+ "dEQP-VK.image.atomic_operations.*",
"dEQP-VK.glsl.builtin.function.*",
"dEQP-VK.glsl.builtin.precision.frexp.*",
"dEQP-VK.glsl.builtin.precision.ldexp.*",
diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c
index 06c3b747d85..be3a7d541a7 100644
--- a/src/panfrost/vulkan/panvk_vX_shader.c
+++ b/src/panfrost/vulkan/panvk_vX_shader.c
@@ -221,7 +221,20 @@ lower_intrinsic(nir_builder *b, nir_intrinsic_instr *intr,
lower_load_vulkan_descriptor(b, intr);
return true;
case nir_intrinsic_image_deref_store:
- case nir_intrinsic_image_deref_load: {
+ case nir_intrinsic_image_deref_load:
+ case nir_intrinsic_image_deref_atomic_add:
+ case nir_intrinsic_image_deref_atomic_imin:
+ case nir_intrinsic_image_deref_atomic_umin:
+ case nir_intrinsic_image_deref_atomic_imax:
+ case nir_intrinsic_image_deref_atomic_umax:
+ case nir_intrinsic_image_deref_atomic_and:
+ case nir_intrinsic_image_deref_atomic_or:
+ case nir_intrinsic_image_deref_atomic_xor:
+ case nir_intrinsic_image_deref_atomic_exchange:
+ case nir_intrinsic_image_deref_atomic_comp_swap:
+ case nir_intrinsic_image_deref_atomic_fadd:
+ case nir_intrinsic_image_deref_size:
+ case nir_intrinsic_image_deref_samples: {
nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
b->cursor = nir_before_instr(&intr->instr);
More information about the mesa-commit
mailing list