glslang/Test/baseResults/hlsl.wavequery.comp.out
Maciej 4e9cde50bb Move check if useStorageBuffer needs to be set.
From TParseContext used only by GLSL, to TParseContextBase inherited by both GLSL and HLSL paths.
It caused compilations from HLSL to SPIR-V 1.3+ to use BufferBlock decoration which is no longer valid.
2023-01-23 12:49:48 -07: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
MemberDecorate 10(data) 0 Offset 0
Decorate 10(data) Block
Decorate 12(data) DescriptorSet 0
Decorate 12(data) Binding 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