panvk: Lower image deref atomics
Fixes dEQP-VK.image.atomic_operations.* Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16283>
This commit is contained in:
parent
54412afadc
commit
46778f2b2a
|
@ -13,6 +13,7 @@ include = [
|
||||||
"dEQP-VK.api.copy_and_blit.core.*",
|
"dEQP-VK.api.copy_and_blit.core.*",
|
||||||
"dEQP-VK.compute.builtin_var.*",
|
"dEQP-VK.compute.builtin_var.*",
|
||||||
"dEQP-VK.draw.renderpass.instanced.draw_indexed_vk_*",
|
"dEQP-VK.draw.renderpass.instanced.draw_indexed_vk_*",
|
||||||
|
"dEQP-VK.image.atomic_operations.*",
|
||||||
"dEQP-VK.glsl.builtin.function.*",
|
"dEQP-VK.glsl.builtin.function.*",
|
||||||
"dEQP-VK.glsl.builtin.precision.frexp.*",
|
"dEQP-VK.glsl.builtin.precision.frexp.*",
|
||||||
"dEQP-VK.glsl.builtin.precision.ldexp.*",
|
"dEQP-VK.glsl.builtin.precision.ldexp.*",
|
||||||
|
|
|
@ -221,7 +221,20 @@ lower_intrinsic(nir_builder *b, nir_intrinsic_instr *intr,
|
||||||
lower_load_vulkan_descriptor(b, intr);
|
lower_load_vulkan_descriptor(b, intr);
|
||||||
return true;
|
return true;
|
||||||
case nir_intrinsic_image_deref_store:
|
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]);
|
nir_deref_instr *deref = nir_src_as_deref(intr->src[0]);
|
||||||
|
|
||||||
b->cursor = nir_before_instr(&intr->instr);
|
b->cursor = nir_before_instr(&intr->instr);
|
||||||
|
|
Loading…
Reference in New Issue