mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627
118 lines
5.2 KiB
Plaintext
118 lines
5.2 KiB
Plaintext
hlsl.wavequery.comp
|
|
Shader version: 500
|
|
local_size = (32, 16, 1)
|
|
0:? Sequence
|
|
0:5 Function Definition: @CSMain( ( temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:6 move second child to first child ( temp uint)
|
|
0:6 indirect index (layout( row_major std430) buffer uint)
|
|
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
|
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:6 '@gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
|
|
0:6 Test condition and select ( temp uint): no shortcircuit
|
|
0:6 Condition
|
|
0:6 subgroupElect ( temp bool)
|
|
0:6 true case
|
|
0:6 '@gl_SubgroupSize' ( in uint SubgroupSize)
|
|
0:6 false case
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:5 Function Definition: CSMain( ( temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:5 Function Call: @CSMain( ( temp void)
|
|
0:? Linker Objects
|
|
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
|
|
|
|
|
Linked compute stage:
|
|
|
|
|
|
Shader version: 500
|
|
local_size = (32, 16, 1)
|
|
0:? Sequence
|
|
0:5 Function Definition: @CSMain( ( temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:6 move second child to first child ( temp uint)
|
|
0:6 indirect index (layout( row_major std430) buffer uint)
|
|
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
|
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:6 '@gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
|
|
0:6 Test condition and select ( temp uint): no shortcircuit
|
|
0:6 Condition
|
|
0:6 subgroupElect ( temp bool)
|
|
0:6 true case
|
|
0:6 '@gl_SubgroupSize' ( in uint SubgroupSize)
|
|
0:6 false case
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:5 Function Definition: CSMain( ( temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:5 Function Call: @CSMain( ( temp void)
|
|
0:? Linker Objects
|
|
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
|
|
|
// Module Version 10300
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 28
|
|
|
|
Capability Shader
|
|
Capability GroupNonUniform
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "CSMain" 16 21
|
|
ExecutionMode 4 LocalSize 32 16 1
|
|
Source HLSL 500
|
|
Name 4 "CSMain"
|
|
Name 6 "@CSMain("
|
|
Name 10 "data"
|
|
MemberName 10(data) 0 "@data"
|
|
Name 12 "data"
|
|
Name 16 "@gl_SubgroupInvocationID"
|
|
Name 21 "@gl_SubgroupSize"
|
|
Decorate 9 ArrayStride 4
|
|
Decorate 10(data) Block
|
|
MemberDecorate 10(data) 0 Offset 0
|
|
Decorate 12(data) Binding 0
|
|
Decorate 12(data) DescriptorSet 0
|
|
Decorate 16(@gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
|
Decorate 21(@gl_SubgroupSize) BuiltIn SubgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
8: TypeInt 32 0
|
|
9: TypeRuntimeArray 8(int)
|
|
10(data): TypeStruct 9
|
|
11: TypePointer StorageBuffer 10(data)
|
|
12(data): 11(ptr) Variable StorageBuffer
|
|
13: TypeInt 32 1
|
|
14: 13(int) Constant 0
|
|
15: TypePointer Input 8(int)
|
|
16(@gl_SubgroupInvocationID): 15(ptr) Variable Input
|
|
18: TypeBool
|
|
19: 8(int) Constant 3
|
|
21(@gl_SubgroupSize): 15(ptr) Variable Input
|
|
23: 8(int) Constant 0
|
|
25: TypePointer StorageBuffer 8(int)
|
|
4(CSMain): 2 Function None 3
|
|
5: Label
|
|
27: 2 FunctionCall 6(@CSMain()
|
|
Return
|
|
FunctionEnd
|
|
6(@CSMain(): 2 Function None 3
|
|
7: Label
|
|
17: 8(int) Load 16(@gl_SubgroupInvocationID)
|
|
20: 18(bool) GroupNonUniformElect 19
|
|
22: 8(int) Load 21(@gl_SubgroupSize)
|
|
24: 8(int) Select 20 22 23
|
|
26: 25(ptr) AccessChain 12(data) 14 17
|
|
Store 26 24
|
|
Return
|
|
FunctionEnd
|