Mesa (main): spirv: Implement SPV_EXT_shader_atomic_float16_add

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 21 20:33:04 UTC 2021


Module: Mesa
Branch: main
Commit: baefdceeaf8c360c21e2953804389b7d21cfbc1e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=baefdceeaf8c360c21e2953804389b7d21cfbc1e

Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Tue May 25 23:12:40 2021 -0700

spirv: Implement SPV_EXT_shader_atomic_float16_add

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11981>

---

 src/compiler/shader_info.h        | 1 +
 src/compiler/spirv/spirv_to_nir.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index a35bd72b6ea..2b73b544d60 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -45,6 +45,7 @@ struct spirv_supported_capabilities {
    bool descriptor_indexing;
    bool device_group;
    bool draw_parameters;
+   bool float16_atomic_add;
    bool float16_atomic_min_max;
    bool float32_atomic_add;
    bool float32_atomic_min_max;
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index 007e1fe1c1b..35d46aa9b56 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -4604,6 +4604,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
          spv_check_supported(amd_image_gather_bias_lod, cap);
          break;
 
+      case SpvCapabilityAtomicFloat16AddEXT:
+         spv_check_supported(float16_atomic_add, cap);
+         break;
+
       case SpvCapabilityAtomicFloat32AddEXT:
          spv_check_supported(float32_atomic_add, cap);
          break;



More information about the mesa-commit mailing list