@@ -30,32 +30,33 @@ pointer_t<StorageClass, T> copyObject([[vk::ext_reference]] T value);
3030
3131//! Std 450 Extended set operations
3232template<typename SquareMatrix>
33- [[vk::ext_instruction (GLSLstd450MatrixInverse)]]
33+ [[vk::ext_instruction (34 , /* GLSLstd450MatrixInverse */ , "GLSL.std.450" )]]
3434SquareMatrix matrixInverse (NBL_CONST_REF_ARG (SquareMatrix) mat);
3535
3636// Add specializations if you need to emit a `ext_capability` (this means that the instruction needs to forward through an `impl::` struct and so on)
3737template<typename T, typename U>
3838[[vk::ext_capability (spv::CapabilityPhysicalStorageBufferAddresses)]]
3939[[vk::ext_instruction (spv::OpBitcast)]]
40- enable_if_t<is_spirv_type_v<T> && is_spirv_type_v<U >, T> bitcast (U);
40+ enable_if_t<is_pointer_v<T >, T> bitcast (U);
4141
4242template<typename T>
4343[[vk::ext_capability (spv::CapabilityPhysicalStorageBufferAddresses)]]
4444[[vk::ext_instruction (spv::OpBitcast)]]
45- uint64_t bitcast (pointer_t<spv::StorageClassPhysicalStorageBuffer,T>);
45+ uint64_t bitcast (pointer_t<spv::StorageClassPhysicalStorageBuffer, T>);
4646
4747template<typename T>
4848[[vk::ext_capability (spv::CapabilityPhysicalStorageBufferAddresses)]]
4949[[vk::ext_instruction (spv::OpBitcast)]]
50- pointer_t<spv::StorageClassPhysicalStorageBuffer,T> bitcast (uint64_t);
50+ pointer_t<spv::StorageClassPhysicalStorageBuffer, T> bitcast (uint64_t);
5151
5252template<class T, class U>
5353[[vk::ext_instruction (spv::OpBitcast)]]
5454T bitcast (U);
5555
5656//! Builtins
5757namespace builtin
58- {[[vk::ext_builtin_output (spv::BuiltInPosition)]]
58+ {
59+ [[vk::ext_builtin_output (spv::BuiltInPosition)]]
5960static float32_t4 Position;
6061[[vk::ext_builtin_input (spv::BuiltInHelperInvocation)]]
6162static const bool HelperInvocation;
0 commit comments