mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-23 11:19:40 +00:00
d881c507ea
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.
318 lines
16 KiB
Plaintext
318 lines
16 KiB
Plaintext
hlsl.wavevote.comp
|
|
Shader version: 500
|
|
local_size = (32, 16, 1)
|
|
0:? Sequence
|
|
0:5 Function Definition: @CSMain(vu3; ( temp void)
|
|
0:5 Function Parameters:
|
|
0:5 'dti' ( in 3-component vector of uint)
|
|
0:? Sequence
|
|
0:6 move second child to first child ( temp uint64_t)
|
|
0:6 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:6 direct index ( temp uint)
|
|
0:6 'dti' ( in 3-component vector of uint)
|
|
0:6 Constant:
|
|
0:6 0 (const int)
|
|
0:6 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:6 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:6 subgroupBallot ( temp 4-component vector of uint)
|
|
0:6 subgroupAny ( temp bool)
|
|
0:6 Compare Equal ( temp bool)
|
|
0:6 direct index ( temp uint)
|
|
0:6 'dti' ( in 3-component vector of uint)
|
|
0:6 Constant:
|
|
0:6 0 (const int)
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:7 move second child to first child ( temp uint64_t)
|
|
0:7 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:7 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:7 Constant:
|
|
0:7 0 (const uint)
|
|
0:7 direct index ( temp uint)
|
|
0:7 'dti' ( in 3-component vector of uint)
|
|
0:7 Constant:
|
|
0:7 1 (const int)
|
|
0:7 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:7 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:7 subgroupBallot ( temp 4-component vector of uint)
|
|
0:7 subgroupAll ( temp bool)
|
|
0:7 Compare Equal ( temp bool)
|
|
0:7 direct index ( temp uint)
|
|
0:7 'dti' ( in 3-component vector of uint)
|
|
0:7 Constant:
|
|
0:7 1 (const int)
|
|
0:7 Constant:
|
|
0:7 0 (const uint)
|
|
0:8 move second child to first child ( temp uint64_t)
|
|
0:8 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:8 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:8 Constant:
|
|
0:8 0 (const uint)
|
|
0:8 direct index ( temp uint)
|
|
0:8 'dti' ( in 3-component vector of uint)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:8 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:8 subgroupBallot ( temp 4-component vector of uint)
|
|
0:8 subgroupAllEqual ( temp bool)
|
|
0:8 Compare Equal ( temp bool)
|
|
0:8 direct index ( temp uint)
|
|
0:8 'dti' ( in 3-component vector of uint)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 Constant:
|
|
0:8 0 (const uint)
|
|
0:9 move second child to first child ( temp uint64_t)
|
|
0:9 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:9 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:9 Constant:
|
|
0:9 0 (const uint)
|
|
0:9 direct index ( temp uint)
|
|
0:9 'dti' ( in 3-component vector of uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:9 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:9 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:9 subgroupBallot ( temp 4-component vector of uint)
|
|
0:9 subgroupAllEqual ( temp bool)
|
|
0:9 direct index ( temp uint)
|
|
0:9 'dti' ( in 3-component vector of uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:5 Function Definition: CSMain( ( temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:5 move second child to first child ( temp 3-component vector of uint)
|
|
0:? 'dti' ( temp 3-component vector of uint)
|
|
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
|
|
0:5 Function Call: @CSMain(vu3; ( temp void)
|
|
0:? 'dti' ( temp 3-component vector of uint)
|
|
0:? Linker Objects
|
|
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
|
|
|
|
|
|
Linked compute stage:
|
|
|
|
|
|
Shader version: 500
|
|
local_size = (32, 16, 1)
|
|
0:? Sequence
|
|
0:5 Function Definition: @CSMain(vu3; ( temp void)
|
|
0:5 Function Parameters:
|
|
0:5 'dti' ( in 3-component vector of uint)
|
|
0:? Sequence
|
|
0:6 move second child to first child ( temp uint64_t)
|
|
0:6 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:6 direct index ( temp uint)
|
|
0:6 'dti' ( in 3-component vector of uint)
|
|
0:6 Constant:
|
|
0:6 0 (const int)
|
|
0:6 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:6 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:6 subgroupBallot ( temp 4-component vector of uint)
|
|
0:6 subgroupAny ( temp bool)
|
|
0:6 Compare Equal ( temp bool)
|
|
0:6 direct index ( temp uint)
|
|
0:6 'dti' ( in 3-component vector of uint)
|
|
0:6 Constant:
|
|
0:6 0 (const int)
|
|
0:6 Constant:
|
|
0:6 0 (const uint)
|
|
0:7 move second child to first child ( temp uint64_t)
|
|
0:7 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:7 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:7 Constant:
|
|
0:7 0 (const uint)
|
|
0:7 direct index ( temp uint)
|
|
0:7 'dti' ( in 3-component vector of uint)
|
|
0:7 Constant:
|
|
0:7 1 (const int)
|
|
0:7 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:7 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:7 subgroupBallot ( temp 4-component vector of uint)
|
|
0:7 subgroupAll ( temp bool)
|
|
0:7 Compare Equal ( temp bool)
|
|
0:7 direct index ( temp uint)
|
|
0:7 'dti' ( in 3-component vector of uint)
|
|
0:7 Constant:
|
|
0:7 1 (const int)
|
|
0:7 Constant:
|
|
0:7 0 (const uint)
|
|
0:8 move second child to first child ( temp uint64_t)
|
|
0:8 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:8 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:8 Constant:
|
|
0:8 0 (const uint)
|
|
0:8 direct index ( temp uint)
|
|
0:8 'dti' ( in 3-component vector of uint)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:8 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:8 subgroupBallot ( temp 4-component vector of uint)
|
|
0:8 subgroupAllEqual ( temp bool)
|
|
0:8 Compare Equal ( temp bool)
|
|
0:8 direct index ( temp uint)
|
|
0:8 'dti' ( in 3-component vector of uint)
|
|
0:8 Constant:
|
|
0:8 2 (const int)
|
|
0:8 Constant:
|
|
0:8 0 (const uint)
|
|
0:9 move second child to first child ( temp uint64_t)
|
|
0:9 indirect index (layout( row_major std430) buffer uint64_t)
|
|
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
|
0:9 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:9 Constant:
|
|
0:9 0 (const uint)
|
|
0:9 direct index ( temp uint)
|
|
0:9 'dti' ( in 3-component vector of uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:9 Construct uint64 (layout( row_major std430) buffer uint64_t)
|
|
0:9 Convert uint to uint64 ( temp 4-component vector of uint64_t)
|
|
0:9 subgroupBallot ( temp 4-component vector of uint)
|
|
0:9 subgroupAllEqual ( temp bool)
|
|
0:9 direct index ( temp uint)
|
|
0:9 'dti' ( in 3-component vector of uint)
|
|
0:9 Constant:
|
|
0:9 2 (const int)
|
|
0:5 Function Definition: CSMain( ( temp void)
|
|
0:5 Function Parameters:
|
|
0:? Sequence
|
|
0:5 move second child to first child ( temp 3-component vector of uint)
|
|
0:? 'dti' ( temp 3-component vector of uint)
|
|
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
|
|
0:5 Function Call: @CSMain(vu3; ( temp void)
|
|
0:? 'dti' ( temp 3-component vector of uint)
|
|
0:? Linker Objects
|
|
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
|
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
|
|
|
|
// Module Version 10300
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 75
|
|
|
|
Capability Shader
|
|
Capability Int64
|
|
Capability GroupNonUniform
|
|
Capability GroupNonUniformVote
|
|
Capability GroupNonUniformBallot
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "CSMain" 70
|
|
ExecutionMode 4 LocalSize 32 16 1
|
|
Source HLSL 500
|
|
Name 4 "CSMain"
|
|
Name 11 "@CSMain(vu3;"
|
|
Name 10 "dti"
|
|
Name 15 "data"
|
|
MemberName 15(data) 0 "@data"
|
|
Name 17 "data"
|
|
Name 68 "dti"
|
|
Name 70 "dti"
|
|
Name 72 "param"
|
|
Decorate 14 ArrayStride 8
|
|
MemberDecorate 15(data) 0 Offset 0
|
|
Decorate 15(data) Block
|
|
Decorate 17(data) DescriptorSet 0
|
|
Decorate 17(data) Binding 0
|
|
Decorate 70(dti) BuiltIn GlobalInvocationId
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypeVector 6(int) 3
|
|
8: TypePointer Function 7(ivec3)
|
|
9: TypeFunction 2 8(ptr)
|
|
13: TypeInt 64 0
|
|
14: TypeRuntimeArray 13(int64_t)
|
|
15(data): TypeStruct 14
|
|
16: TypePointer StorageBuffer 15(data)
|
|
17(data): 16(ptr) Variable StorageBuffer
|
|
18: TypeInt 32 1
|
|
19: 18(int) Constant 0
|
|
20: 6(int) Constant 0
|
|
21: TypePointer Function 6(int)
|
|
26: TypeBool
|
|
28: 6(int) Constant 3
|
|
30: TypeVector 6(int) 4
|
|
32: TypeVector 13(int64_t) 4
|
|
35: TypePointer StorageBuffer 13(int64_t)
|
|
37: 6(int) Constant 1
|
|
48: 6(int) Constant 2
|
|
69: TypePointer Input 7(ivec3)
|
|
70(dti): 69(ptr) Variable Input
|
|
4(CSMain): 2 Function None 3
|
|
5: Label
|
|
68(dti): 8(ptr) Variable Function
|
|
72(param): 8(ptr) Variable Function
|
|
71: 7(ivec3) Load 70(dti)
|
|
Store 68(dti) 71
|
|
73: 7(ivec3) Load 68(dti)
|
|
Store 72(param) 73
|
|
74: 2 FunctionCall 11(@CSMain(vu3;) 72(param)
|
|
Return
|
|
FunctionEnd
|
|
11(@CSMain(vu3;): 2 Function None 9
|
|
10(dti): 8(ptr) FunctionParameter
|
|
12: Label
|
|
22: 21(ptr) AccessChain 10(dti) 20
|
|
23: 6(int) Load 22
|
|
24: 21(ptr) AccessChain 10(dti) 20
|
|
25: 6(int) Load 24
|
|
27: 26(bool) IEqual 25 20
|
|
29: 26(bool) GroupNonUniformAny 28 27
|
|
31: 30(ivec4) GroupNonUniformBallot 28 29
|
|
33: 32(i64vec4) UConvert 31
|
|
34: 13(int64_t) CompositeExtract 33 0
|
|
36: 35(ptr) AccessChain 17(data) 19 23
|
|
Store 36 34
|
|
38: 21(ptr) AccessChain 10(dti) 37
|
|
39: 6(int) Load 38
|
|
40: 21(ptr) AccessChain 10(dti) 37
|
|
41: 6(int) Load 40
|
|
42: 26(bool) IEqual 41 20
|
|
43: 26(bool) GroupNonUniformAll 28 42
|
|
44: 30(ivec4) GroupNonUniformBallot 28 43
|
|
45: 32(i64vec4) UConvert 44
|
|
46: 13(int64_t) CompositeExtract 45 0
|
|
47: 35(ptr) AccessChain 17(data) 19 39
|
|
Store 47 46
|
|
49: 21(ptr) AccessChain 10(dti) 48
|
|
50: 6(int) Load 49
|
|
51: 21(ptr) AccessChain 10(dti) 48
|
|
52: 6(int) Load 51
|
|
53: 26(bool) IEqual 52 20
|
|
54: 26(bool) GroupNonUniformAllEqual 28 53
|
|
55: 30(ivec4) GroupNonUniformBallot 28 54
|
|
56: 32(i64vec4) UConvert 55
|
|
57: 13(int64_t) CompositeExtract 56 0
|
|
58: 35(ptr) AccessChain 17(data) 19 50
|
|
Store 58 57
|
|
59: 21(ptr) AccessChain 10(dti) 48
|
|
60: 6(int) Load 59
|
|
61: 21(ptr) AccessChain 10(dti) 48
|
|
62: 6(int) Load 61
|
|
63: 26(bool) GroupNonUniformAllEqual 28 62
|
|
64: 30(ivec4) GroupNonUniformBallot 28 63
|
|
65: 32(i64vec4) UConvert 64
|
|
66: 13(int64_t) CompositeExtract 65 0
|
|
67: 35(ptr) AccessChain 17(data) 19 60
|
|
Store 67 66
|
|
Return
|
|
FunctionEnd
|