@@ -17,80 +17,80 @@ namespace spirv
17
17
18
18
#pragma region ATOMICS
19
19
template<typename T>
20
- T atomicAdd ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
20
+ T atomicAdd ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
21
21
template<>
22
22
[[vk::ext_instruction (spv::OpAtomicIAdd)]]
23
- int atomicAdd ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
23
+ int32_t atomicAdd ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
24
24
template<>
25
- [[vk::ext_instruction (/* OpAtomicIAdd */ 234 )]]
26
- uint atomicAdd ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
25
+ [[vk::ext_instruction ( spv:: OpAtomicIAdd )]]
26
+ uint32_t atomicAdd ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
27
27
28
28
template<typename T>
29
- T atomicAnd ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
29
+ T atomicAnd ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
30
30
template<>
31
- [[vk::ext_instruction (/* OpAtomicAnd */ 240 )]]
32
- int atomicAnd ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
31
+ [[vk::ext_instruction ( spv:: OpAtomicAnd )]]
32
+ int32_t atomicAnd ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
33
33
template<>
34
- [[vk::ext_instruction (/* OpAtomicAnd */ 240 )]]
35
- uint atomicAnd ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
34
+ [[vk::ext_instruction ( spv:: OpAtomicAnd )]]
35
+ uint32_t atomicAnd ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
36
36
37
37
template<typename T>
38
- T atomicOr ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
38
+ T atomicOr ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
39
39
template<>
40
- [[vk::ext_instruction (/* OpAtomicOr */ 241 )]]
41
- int atomicOr ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
40
+ [[vk::ext_instruction ( spv:: OpAtomicOr )]]
41
+ int32_t atomicOr ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
42
42
template<>
43
- [[vk::ext_instruction (/* OpAtomicOr */ 241 )]]
44
- uint atomicOr ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
43
+ [[vk::ext_instruction ( spv:: OpAtomicOr )]]
44
+ uint32_t atomicOr ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
45
45
46
46
template<typename T>
47
- T atomicXor ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
47
+ T atomicXor ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
48
48
template<>
49
- [[vk::ext_instruction (/* OpAtomicXor */ 242 )]]
50
- int atomicXor ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
49
+ [[vk::ext_instruction ( spv:: OpAtomicXor )]]
50
+ int32_t atomicXor ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
51
51
template<>
52
- [[vk::ext_instruction (/* OpAtomicXor */ 242 )]]
53
- uint atomicXor ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
52
+ [[vk::ext_instruction ( spv:: OpAtomicXor )]]
53
+ uint32_t atomicXor ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
54
54
55
55
template<typename T>
56
- T atomicMin ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
56
+ T atomicMin ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
57
57
template<>
58
- [[vk::ext_instruction (/* OpAtomicSMin */ 236 )]]
59
- int atomicMin ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
58
+ [[vk::ext_instruction ( spv:: OpAtomicSMin )]]
59
+ int32_t atomicMin ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
60
60
template<>
61
- [[vk::ext_instruction (/* OpAtomicSMin */ 236 )]]
62
- uint atomicMin ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
61
+ [[vk::ext_instruction ( spv:: OpAtomicSMin )]]
62
+ uint32_t atomicMin ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
63
63
64
64
template<typename T>
65
- T atomicMax ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
65
+ T atomicMax ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
66
66
template<>
67
- [[vk::ext_instruction (/* OpAtomicSMax */ 238 )]]
68
- int atomicMax ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
67
+ [[vk::ext_instruction ( spv:: OpAtomicSMax )]]
68
+ int32_t atomicMax ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
69
69
template<>
70
- [[vk::ext_instruction (/* OpAtomicSMax */ 238 )]]
71
- uint atomicMax ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
70
+ [[vk::ext_instruction ( spv:: OpAtomicSMax )]]
71
+ uint32_t atomicMax ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
72
72
73
73
template<typename T>
74
- T atomicExchange ([[vk::ext_reference]] T ptr, uint memoryScope, uint memorySemantics, T value);
74
+ T atomicExchange ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memorySemantics, T value);
75
75
template<>
76
- [[vk::ext_instruction (/* OpAtomicExchange */ 229 )]]
77
- int atomicExchange ([[vk::ext_reference]] int ptr, uint memoryScope, uint memorySemantics, int value);
76
+ [[vk::ext_instruction ( spv:: OpAtomicExchange )]]
77
+ int32_t atomicExchange ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, int32_t value);
78
78
template<>
79
- [[vk::ext_instruction (/* OpAtomicExchange */ 229 )]]
80
- uint atomicExchange ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memorySemantics, uint value);
79
+ [[vk::ext_instruction ( spv:: OpAtomicExchange )]]
80
+ uint32_t atomicExchange ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, uint32_t value);
81
81
template<>
82
- [[vk::ext_instruction (/* OpAtomicExchange */ 229 )]]
83
- float atomicExchange ([[vk::ext_reference]] float ptr, uint memoryScope, uint memorySemantics, float value);
82
+ [[vk::ext_instruction ( spv:: OpAtomicExchange )]]
83
+ float32_t atomicExchange ([[vk::ext_reference]] float32_t ptr, uint32_t memoryScope, uint32_t memorySemantics, float32_t value);
84
84
85
85
86
86
template<typename T>
87
- T atomicCompSwap ([[vk::ext_reference]] T ptr, uint memoryScope, uint memSemanticsEqual, uint memSemanticsUnequal, T value, T comparator);
87
+ T atomicCompSwap ([[vk::ext_reference]] T ptr, uint32_t memoryScope, uint32_t memSemanticsEqual, uint32_t memSemanticsUnequal, T value, T comparator);
88
88
template<>
89
- [[vk::ext_instruction (/* OpAtomicCompareExchange */ 230 )]]
90
- int atomicCompSwap ([[vk::ext_reference]] int ptr, uint memoryScope, uint memSemanticsEqual, uint memSemanticsUnequal, int value, int comparator);
89
+ [[vk::ext_instruction ( spv:: OpAtomicCompareExchange )]]
90
+ int32_t atomicCompSwap ([[vk::ext_reference]] int32_t ptr, uint32_t memoryScope, uint32_t memSemanticsEqual, uint32_t memSemanticsUnequal, int32_t value, int32_t comparator);
91
91
template<>
92
- [[vk::ext_instruction (/* OpAtomicCompareExchange */ 230 )]]
93
- uint atomicCompSwap ([[vk::ext_reference]] uint ptr, uint memoryScope, uint memSemanticsEqual, uint memSemanticsUnequal, uint value, uint comparator);
92
+ [[vk::ext_instruction ( spv:: OpAtomicCompareExchange )]]
93
+ uint32_t atomicCompSwap ([[vk::ext_reference]] uint32_t ptr, uint32_t memoryScope, uint32_t memSemanticsEqual, uint32_t memSemanticsUnequal, uint32_t value, uint32_t comparator);
94
94
#pragma endregion ATOMICS
95
95
96
96
#pragma region BARRIERS
@@ -99,14 +99,14 @@ uint atomicCompSwap([[vk::ext_reference]] uint ptr, uint memoryScope, uint memSe
99
99
// https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_memory_semantics_id
100
100
// By providing memory semantics None we do both control and memory barrier as is done in GLSL
101
101
102
- [[vk::ext_instruction (/* OpControlBarrier */ 224 )]]
103
- void controlBarrier (uint executionScope, uint memoryScope, uint memorySemantics);
102
+ [[vk::ext_instruction ( spv:: OpControlBarrier )]]
103
+ void controlBarrier (uint32_t executionScope, uint32_t memoryScope, uint32_t memorySemantics);
104
104
105
- [[vk::ext_instruction (/* OpMemoryBarrier */ 225 )]]
106
- void memoryBarrier (uint memoryScope, uint memorySemantics);
105
+ [[vk::ext_instruction ( spv:: OpMemoryBarrier )]]
106
+ void memoryBarrier (uint32_t memoryScope, uint32_t memorySemantics);
107
107
#pragma endregion BARRIERS
108
108
}
109
109
}
110
110
}
111
111
112
- #endif
112
+ #endif
0 commit comments