spirv: add support for SpvCapabilityStorageImageMultisample
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 17 Dec 2018 16:24:06 +0000 (17:24 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 20 Dec 2018 17:01:09 +0000 (18:01 +0100)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/compiler/shader_info.h
src/compiler/spirv/spirv_to_nir.c

index b21db3e60f0aa9e4d47c11af0f96b9e057fd4452..05f37c8d197944d6625a9ce8da5e197a06de4697 100644 (file)
@@ -64,6 +64,7 @@ struct spirv_supported_capabilities {
    bool transform_feedback;
    bool geometry_streams;
    bool int64_atomics;
+   bool storage_image_ms;
 };
 
 typedef struct shader_info {
index 7dc6bc914d6f9374440702959f9d0f54e5758fb1..2433d8638cca382a73c0b02f5a93628edaef934b 100644 (file)
@@ -3432,7 +3432,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
       case SpvCapabilityVector16:
       case SpvCapabilityFloat16Buffer:
       case SpvCapabilityFloat16:
-      case SpvCapabilityStorageImageMultisample:
       case SpvCapabilityInt8:
       case SpvCapabilitySparseResidency:
          vtn_warn("Unsupported SPIR-V capability: %s",
@@ -3469,6 +3468,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
          spv_check_supported(int64_atomics, cap);
          break;
 
+      case SpvCapabilityStorageImageMultisample:
+         spv_check_supported(storage_image_ms, cap);
+         break;
+
       case SpvCapabilityAddresses:
       case SpvCapabilityKernel:
       case SpvCapabilityImageBasic: