spirv: add support for Int64 capability
authorDave Airlie <airlied@redhat.com>
Wed, 15 Feb 2017 04:39:43 +0000 (04:39 +0000)
committerDave Airlie <airlied@redhat.com>
Thu, 16 Feb 2017 04:11:13 +0000 (14:11 +1000)
This just adds the support at the spirv->nir level for the Int64
cap.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/compiler/spirv/nir_spirv.h
src/compiler/spirv/spirv_to_nir.c

index 8864a8f73d71c0afb2303347663fd52753a3db20..1a312a918885e8a9365ae1a675c226c8fc0b68ed 100644 (file)
@@ -51,6 +51,7 @@ struct nir_spirv_supported_extensions {
    bool draw_parameters;
    bool image_read_without_format;
    bool image_write_without_format;
+   bool int64;
 };
 
 nir_function *spirv_to_nir(const uint32_t *words, size_t word_count,
index 63da3f41ae2be3c1cb04aba24266d20538c755ee..1dd6651191a42900c4eee4ddb0206ad0171c517d 100644 (file)
@@ -2669,7 +2669,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
       case SpvCapabilityVector16:
       case SpvCapabilityFloat16Buffer:
       case SpvCapabilityFloat16:
-      case SpvCapabilityInt64:
       case SpvCapabilityInt64Atomics:
       case SpvCapabilityAtomicStorage:
       case SpvCapabilityInt16:
@@ -2686,6 +2685,9 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
       case SpvCapabilityFloat64:
          spv_check_supported(float64, cap);
          break;
+      case SpvCapabilityInt64:
+         spv_check_supported(int64, cap);
+         break;
 
       case SpvCapabilityAddresses:
       case SpvCapabilityKernel: