spirv: enable SpvCapabilityFloat64 only to supported platforms

v2 (Jason):
- Use nir_spirv_supported_extensions to check if the feature is enabled.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Samuel Iglesias Gonsálvez
2017-01-04 09:35:36 +01:00
committed by Juan A. Suarez Romero
parent c2acf97fcc
commit 88c8121ec9
2 changed files with 5 additions and 1 deletions

View File

@@ -45,6 +45,7 @@ struct nir_spirv_specialization {
}; };
struct nir_spirv_supported_extensions { struct nir_spirv_supported_extensions {
bool float64;
bool image_ms_array; bool image_ms_array;
}; };

View File

@@ -2609,7 +2609,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
case SpvCapabilityVector16: case SpvCapabilityVector16:
case SpvCapabilityFloat16Buffer: case SpvCapabilityFloat16Buffer:
case SpvCapabilityFloat16: case SpvCapabilityFloat16:
case SpvCapabilityFloat64:
case SpvCapabilityInt64: case SpvCapabilityInt64:
case SpvCapabilityInt64Atomics: case SpvCapabilityInt64Atomics:
case SpvCapabilityAtomicStorage: case SpvCapabilityAtomicStorage:
@@ -2626,6 +2625,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
spirv_capability_to_string(cap)); spirv_capability_to_string(cap));
break; break;
case SpvCapabilityFloat64:
spv_check_supported(float64, cap);
break;
case SpvCapabilityAddresses: case SpvCapabilityAddresses:
case SpvCapabilityKernel: case SpvCapabilityKernel:
case SpvCapabilityImageBasic: case SpvCapabilityImageBasic: