spirv: add SpvCapabilityInt64Atomics

Required for VK_KHR_shader_atomic_int64.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Samuel Pitoiset
2018-12-05 14:28:28 +01:00
parent 63c0916ada
commit c6465fec0c
2 changed files with 5 additions and 1 deletions

View File

@@ -62,6 +62,7 @@ struct spirv_supported_capabilities {
bool post_depth_coverage; bool post_depth_coverage;
bool transform_feedback; bool transform_feedback;
bool geometry_streams; bool geometry_streams;
bool int64_atomics;
}; };
typedef struct shader_info { typedef struct shader_info {

View File

@@ -3416,7 +3416,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
case SpvCapabilityVector16: case SpvCapabilityVector16:
case SpvCapabilityFloat16Buffer: case SpvCapabilityFloat16Buffer:
case SpvCapabilityFloat16: case SpvCapabilityFloat16:
case SpvCapabilityInt64Atomics:
case SpvCapabilityStorageImageMultisample: case SpvCapabilityStorageImageMultisample:
case SpvCapabilityInt8: case SpvCapabilityInt8:
case SpvCapabilitySparseResidency: case SpvCapabilitySparseResidency:
@@ -3447,6 +3446,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
spv_check_supported(geometry_streams, cap); spv_check_supported(geometry_streams, cap);
break; break;
case SpvCapabilityInt64Atomics:
spv_check_supported(int64_atomics, cap);
break;
case SpvCapabilityAddresses: case SpvCapabilityAddresses:
case SpvCapabilityKernel: case SpvCapabilityKernel:
case SpvCapabilityImageBasic: case SpvCapabilityImageBasic: