glslang/Test/baseResults/hlsl.wavequery.comp.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
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
2024-06-28 19:16:59 -04:00

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