зеркало из https://github.com/stride3d/xkslang.git
GLSL: The execution scope for barriers should be Workgroup.
This commit is contained in:
Родитель
84d11e1859
Коммит
c3f1cdfa57
|
@ -4597,7 +4597,7 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv:
|
||||||
builder.createNoResultOp(spv::OpEndPrimitive);
|
builder.createNoResultOp(spv::OpEndPrimitive);
|
||||||
return 0;
|
return 0;
|
||||||
case glslang::EOpBarrier:
|
case glslang::EOpBarrier:
|
||||||
builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
|
builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
|
||||||
return 0;
|
return 0;
|
||||||
case glslang::EOpMemoryBarrier:
|
case glslang::EOpMemoryBarrier:
|
||||||
builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory);
|
builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory);
|
||||||
|
|
|
@ -7,121 +7,122 @@ Linked compute stage:
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 66
|
// Id's are bound by 67
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint GLCompute 4 "main" 52
|
EntryPoint GLCompute 4 "main" 53
|
||||||
ExecutionMode 4 LocalSize 16 32 4
|
ExecutionMode 4 LocalSize 16 32 4
|
||||||
Source ESSL 310
|
Source ESSL 310
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 12 "outb"
|
Name 13 "outb"
|
||||||
MemberName 12(outb) 0 "f"
|
MemberName 13(outb) 0 "f"
|
||||||
MemberName 12(outb) 1 "g"
|
MemberName 13(outb) 1 "g"
|
||||||
MemberName 12(outb) 2 "h"
|
MemberName 13(outb) 2 "h"
|
||||||
MemberName 12(outb) 3 "uns"
|
MemberName 13(outb) 3 "uns"
|
||||||
Name 14 "outbname"
|
Name 15 "outbname"
|
||||||
Name 18 "s"
|
Name 19 "s"
|
||||||
Name 23 "outbna"
|
Name 24 "outbna"
|
||||||
MemberName 23(outbna) 0 "k"
|
MemberName 24(outbna) 0 "k"
|
||||||
MemberName 23(outbna) 1 "na"
|
MemberName 24(outbna) 1 "na"
|
||||||
Name 25 "outbnamena"
|
Name 26 "outbnamena"
|
||||||
Name 41 "i"
|
Name 42 "i"
|
||||||
Name 47 "outs"
|
Name 48 "outs"
|
||||||
MemberName 47(outs) 0 "s"
|
MemberName 48(outs) 0 "s"
|
||||||
MemberName 47(outs) 1 "va"
|
MemberName 48(outs) 1 "va"
|
||||||
Name 49 "outnames"
|
Name 50 "outnames"
|
||||||
Name 52 "gl_LocalInvocationID"
|
Name 53 "gl_LocalInvocationID"
|
||||||
Decorate 11 ArrayStride 16
|
Decorate 12 ArrayStride 16
|
||||||
MemberDecorate 12(outb) 0 Offset 0
|
MemberDecorate 13(outb) 0 Offset 0
|
||||||
MemberDecorate 12(outb) 1 Offset 4
|
MemberDecorate 13(outb) 1 Offset 4
|
||||||
MemberDecorate 12(outb) 2 Offset 8
|
MemberDecorate 13(outb) 2 Offset 8
|
||||||
MemberDecorate 12(outb) 3 Offset 16
|
MemberDecorate 13(outb) 3 Offset 16
|
||||||
Decorate 12(outb) BufferBlock
|
Decorate 13(outb) BufferBlock
|
||||||
Decorate 14(outbname) DescriptorSet 0
|
Decorate 15(outbname) DescriptorSet 0
|
||||||
MemberDecorate 23(outbna) 0 Offset 0
|
MemberDecorate 24(outbna) 0 Offset 0
|
||||||
MemberDecorate 23(outbna) 1 Offset 16
|
MemberDecorate 24(outbna) 1 Offset 16
|
||||||
Decorate 23(outbna) BufferBlock
|
Decorate 24(outbna) BufferBlock
|
||||||
Decorate 25(outbnamena) DescriptorSet 0
|
Decorate 26(outbnamena) DescriptorSet 0
|
||||||
Decorate 46 ArrayStride 16
|
Decorate 47 ArrayStride 16
|
||||||
MemberDecorate 47(outs) 0 Offset 0
|
MemberDecorate 48(outs) 0 Offset 0
|
||||||
MemberDecorate 47(outs) 1 Offset 16
|
MemberDecorate 48(outs) 1 Offset 16
|
||||||
Decorate 47(outs) BufferBlock
|
Decorate 48(outs) BufferBlock
|
||||||
Decorate 49(outnames) DescriptorSet 0
|
Decorate 50(outnames) DescriptorSet 0
|
||||||
Decorate 52(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||||
Decorate 65 BuiltIn WorkgroupSize
|
Decorate 66 BuiltIn WorkgroupSize
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
7: 6(int) Constant 1
|
7: 6(int) Constant 2
|
||||||
8: 6(int) Constant 0
|
8: 6(int) Constant 1
|
||||||
9: TypeFloat 32
|
9: 6(int) Constant 0
|
||||||
10: TypeVector 9(float) 3
|
10: TypeFloat 32
|
||||||
11: TypeRuntimeArray 10(fvec3)
|
11: TypeVector 10(float) 3
|
||||||
12(outb): TypeStruct 9(float) 9(float) 9(float) 11
|
12: TypeRuntimeArray 11(fvec3)
|
||||||
13: TypePointer Uniform 12(outb)
|
13(outb): TypeStruct 10(float) 10(float) 10(float) 12
|
||||||
14(outbname): 13(ptr) Variable Uniform
|
14: TypePointer Uniform 13(outb)
|
||||||
15: TypeInt 32 1
|
15(outbname): 14(ptr) Variable Uniform
|
||||||
16: 15(int) Constant 0
|
16: TypeInt 32 1
|
||||||
17: TypePointer Workgroup 9(float)
|
17: 16(int) Constant 0
|
||||||
18(s): 17(ptr) Variable Workgroup
|
18: TypePointer Workgroup 10(float)
|
||||||
20: TypePointer Uniform 9(float)
|
19(s): 18(ptr) Variable Workgroup
|
||||||
22: TypeVector 9(float) 4
|
21: TypePointer Uniform 10(float)
|
||||||
23(outbna): TypeStruct 15(int) 22(fvec4)
|
23: TypeVector 10(float) 4
|
||||||
24: TypePointer Uniform 23(outbna)
|
24(outbna): TypeStruct 16(int) 23(fvec4)
|
||||||
25(outbnamena): 24(ptr) Variable Uniform
|
25: TypePointer Uniform 24(outbna)
|
||||||
26: 15(int) Constant 1
|
26(outbnamena): 25(ptr) Variable Uniform
|
||||||
29: TypePointer Uniform 22(fvec4)
|
27: 16(int) Constant 1
|
||||||
31: 15(int) Constant 3
|
30: TypePointer Uniform 23(fvec4)
|
||||||
32: 15(int) Constant 18
|
32: 16(int) Constant 3
|
||||||
35: 15(int) Constant 17
|
33: 16(int) Constant 18
|
||||||
36: 9(float) Constant 1077936128
|
36: 16(int) Constant 17
|
||||||
37: 10(fvec3) ConstantComposite 36 36 36
|
37: 10(float) Constant 1077936128
|
||||||
38: TypePointer Uniform 10(fvec3)
|
38: 11(fvec3) ConstantComposite 37 37 37
|
||||||
40: TypePointer Workgroup 15(int)
|
39: TypePointer Uniform 11(fvec3)
|
||||||
41(i): 40(ptr) Variable Workgroup
|
41: TypePointer Workgroup 16(int)
|
||||||
46: TypeRuntimeArray 22(fvec4)
|
42(i): 41(ptr) Variable Workgroup
|
||||||
47(outs): TypeStruct 15(int) 46
|
47: TypeRuntimeArray 23(fvec4)
|
||||||
48: TypePointer Uniform 47(outs)
|
48(outs): TypeStruct 16(int) 47
|
||||||
49(outnames): 48(ptr) Variable Uniform
|
49: TypePointer Uniform 48(outs)
|
||||||
50: TypeVector 6(int) 3
|
50(outnames): 49(ptr) Variable Uniform
|
||||||
51: TypePointer Input 50(ivec3)
|
51: TypeVector 6(int) 3
|
||||||
52(gl_LocalInvocationID): 51(ptr) Variable Input
|
52: TypePointer Input 51(ivec3)
|
||||||
53: TypePointer Input 6(int)
|
53(gl_LocalInvocationID): 52(ptr) Variable Input
|
||||||
60: TypePointer Uniform 15(int)
|
54: TypePointer Input 6(int)
|
||||||
62: 6(int) Constant 16
|
61: TypePointer Uniform 16(int)
|
||||||
63: 6(int) Constant 32
|
63: 6(int) Constant 16
|
||||||
64: 6(int) Constant 4
|
64: 6(int) Constant 32
|
||||||
65: 50(ivec3) ConstantComposite 62 63 64
|
65: 6(int) Constant 4
|
||||||
|
66: 51(ivec3) ConstantComposite 63 64 65
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
ControlBarrier 7 7 8
|
ControlBarrier 7 8 9
|
||||||
19: 9(float) Load 18(s)
|
20: 10(float) Load 19(s)
|
||||||
21: 20(ptr) AccessChain 14(outbname) 16
|
22: 21(ptr) AccessChain 15(outbname) 17
|
||||||
Store 21 19
|
Store 22 20
|
||||||
27: 9(float) Load 18(s)
|
28: 10(float) Load 19(s)
|
||||||
28: 22(fvec4) CompositeConstruct 27 27 27 27
|
29: 23(fvec4) CompositeConstruct 28 28 28 28
|
||||||
30: 29(ptr) AccessChain 25(outbnamena) 26
|
31: 30(ptr) AccessChain 26(outbnamena) 27
|
||||||
Store 30 28
|
Store 31 29
|
||||||
33: 20(ptr) AccessChain 14(outbname) 31 32 8
|
34: 21(ptr) AccessChain 15(outbname) 32 33 9
|
||||||
34: 9(float) Load 33
|
35: 10(float) Load 34
|
||||||
Store 18(s) 34
|
Store 19(s) 35
|
||||||
39: 38(ptr) AccessChain 14(outbname) 31 35
|
40: 39(ptr) AccessChain 15(outbname) 32 36
|
||||||
Store 39 37
|
Store 40 38
|
||||||
42: 15(int) Load 41(i)
|
43: 16(int) Load 42(i)
|
||||||
43: 9(float) Load 18(s)
|
44: 10(float) Load 19(s)
|
||||||
44: 10(fvec3) CompositeConstruct 43 43 43
|
45: 11(fvec3) CompositeConstruct 44 44 44
|
||||||
45: 38(ptr) AccessChain 14(outbname) 31 42
|
46: 39(ptr) AccessChain 15(outbname) 32 43
|
||||||
Store 45 44
|
Store 46 45
|
||||||
54: 53(ptr) AccessChain 52(gl_LocalInvocationID) 8
|
55: 54(ptr) AccessChain 53(gl_LocalInvocationID) 9
|
||||||
55: 6(int) Load 54
|
56: 6(int) Load 55
|
||||||
56: 9(float) Load 18(s)
|
57: 10(float) Load 19(s)
|
||||||
57: 22(fvec4) CompositeConstruct 56 56 56 56
|
58: 23(fvec4) CompositeConstruct 57 57 57 57
|
||||||
58: 29(ptr) AccessChain 49(outnames) 26 55
|
59: 30(ptr) AccessChain 50(outnames) 27 56
|
||||||
Store 58 57
|
Store 59 58
|
||||||
59: 15(int) ArrayLength 14(outbname) 3
|
60: 16(int) ArrayLength 15(outbname) 3
|
||||||
61: 60(ptr) AccessChain 49(outnames) 16
|
62: 61(ptr) AccessChain 50(outnames) 17
|
||||||
Store 61 59
|
Store 62 60
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
|
@ -14,26 +14,26 @@ Linked tessellation control stage:
|
||||||
Capability ClipDistance
|
Capability ClipDistance
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint TessellationControl 4 "main" 23 40 43 46 54 68 73 79 83 84 87 88 91 92
|
EntryPoint TessellationControl 4 "main" 24 41 44 47 54 68 73 79 83 84 87 88 91 92
|
||||||
ExecutionMode 4 OutputVertices 4
|
ExecutionMode 4 OutputVertices 4
|
||||||
Source GLSL 400
|
Source GLSL 400
|
||||||
SourceExtension "GL_ARB_separate_shader_objects"
|
SourceExtension "GL_ARB_separate_shader_objects"
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 11 "a"
|
Name 12 "a"
|
||||||
Name 16 "p"
|
Name 17 "p"
|
||||||
Name 19 "gl_PerVertex"
|
Name 20 "gl_PerVertex"
|
||||||
MemberName 19(gl_PerVertex) 0 "gl_Position"
|
MemberName 20(gl_PerVertex) 0 "gl_Position"
|
||||||
MemberName 19(gl_PerVertex) 1 "gl_PointSize"
|
MemberName 20(gl_PerVertex) 1 "gl_PointSize"
|
||||||
MemberName 19(gl_PerVertex) 2 "gl_ClipDistance"
|
MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
|
||||||
Name 23 "gl_in"
|
Name 24 "gl_in"
|
||||||
Name 30 "ps"
|
Name 31 "ps"
|
||||||
Name 34 "cd"
|
Name 35 "cd"
|
||||||
Name 38 "pvi"
|
Name 39 "pvi"
|
||||||
Name 40 "gl_PatchVerticesIn"
|
Name 41 "gl_PatchVerticesIn"
|
||||||
Name 42 "pid"
|
Name 43 "pid"
|
||||||
Name 43 "gl_PrimitiveID"
|
Name 44 "gl_PrimitiveID"
|
||||||
Name 45 "iid"
|
Name 46 "iid"
|
||||||
Name 46 "gl_InvocationID"
|
Name 47 "gl_InvocationID"
|
||||||
Name 50 "gl_PerVertex"
|
Name 50 "gl_PerVertex"
|
||||||
MemberName 50(gl_PerVertex) 0 "gl_Position"
|
MemberName 50(gl_PerVertex) 0 "gl_Position"
|
||||||
MemberName 50(gl_PerVertex) 1 "gl_PointSize"
|
MemberName 50(gl_PerVertex) 1 "gl_PointSize"
|
||||||
|
@ -49,13 +49,13 @@ Linked tessellation control stage:
|
||||||
Name 88 "ivlb"
|
Name 88 "ivlb"
|
||||||
Name 91 "ovla"
|
Name 91 "ovla"
|
||||||
Name 92 "ovlb"
|
Name 92 "ovlb"
|
||||||
MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
|
MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
|
||||||
MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
|
MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
|
||||||
MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
|
MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||||
Decorate 19(gl_PerVertex) Block
|
Decorate 20(gl_PerVertex) Block
|
||||||
Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
|
Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices
|
||||||
Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
|
Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||||
Decorate 46(gl_InvocationID) BuiltIn InvocationId
|
Decorate 47(gl_InvocationID) BuiltIn InvocationId
|
||||||
MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position
|
MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position
|
||||||
MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize
|
MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize
|
||||||
MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance
|
MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||||
|
@ -72,106 +72,106 @@ Linked tessellation control stage:
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
7: 6(int) Constant 1
|
7: 6(int) Constant 2
|
||||||
8: 6(int) Constant 0
|
8: 6(int) Constant 1
|
||||||
9: TypeInt 32 1
|
9: 6(int) Constant 0
|
||||||
10: TypePointer Function 9(int)
|
10: TypeInt 32 1
|
||||||
12: 9(int) Constant 5392
|
11: TypePointer Function 10(int)
|
||||||
13: TypeFloat 32
|
13: 10(int) Constant 5392
|
||||||
14: TypeVector 13(float) 4
|
14: TypeFloat 32
|
||||||
15: TypePointer Function 14(fvec4)
|
15: TypeVector 14(float) 4
|
||||||
17: 6(int) Constant 3
|
16: TypePointer Function 15(fvec4)
|
||||||
18: TypeArray 13(float) 17
|
18: 6(int) Constant 3
|
||||||
19(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 18
|
19: TypeArray 14(float) 18
|
||||||
20: 6(int) Constant 32
|
20(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 19
|
||||||
21: TypeArray 19(gl_PerVertex) 20
|
21: 6(int) Constant 32
|
||||||
22: TypePointer Input 21
|
22: TypeArray 20(gl_PerVertex) 21
|
||||||
23(gl_in): 22(ptr) Variable Input
|
23: TypePointer Input 22
|
||||||
24: 9(int) Constant 1
|
24(gl_in): 23(ptr) Variable Input
|
||||||
25: 9(int) Constant 0
|
25: 10(int) Constant 1
|
||||||
26: TypePointer Input 14(fvec4)
|
26: 10(int) Constant 0
|
||||||
29: TypePointer Function 13(float)
|
27: TypePointer Input 15(fvec4)
|
||||||
31: TypePointer Input 13(float)
|
30: TypePointer Function 14(float)
|
||||||
35: 9(int) Constant 2
|
32: TypePointer Input 14(float)
|
||||||
39: TypePointer Input 9(int)
|
36: 10(int) Constant 2
|
||||||
40(gl_PatchVerticesIn): 39(ptr) Variable Input
|
40: TypePointer Input 10(int)
|
||||||
43(gl_PrimitiveID): 39(ptr) Variable Input
|
41(gl_PatchVerticesIn): 40(ptr) Variable Input
|
||||||
46(gl_InvocationID): 39(ptr) Variable Input
|
44(gl_PrimitiveID): 40(ptr) Variable Input
|
||||||
48: 6(int) Constant 2
|
47(gl_InvocationID): 40(ptr) Variable Input
|
||||||
49: TypeArray 13(float) 48
|
49: TypeArray 14(float) 7
|
||||||
50(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 49
|
50(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 49
|
||||||
51: 6(int) Constant 4
|
51: 6(int) Constant 4
|
||||||
52: TypeArray 50(gl_PerVertex) 51
|
52: TypeArray 50(gl_PerVertex) 51
|
||||||
53: TypePointer Output 52
|
53: TypePointer Output 52
|
||||||
54(gl_out): 53(ptr) Variable Output
|
54(gl_out): 53(ptr) Variable Output
|
||||||
57: TypePointer Output 14(fvec4)
|
57: TypePointer Output 15(fvec4)
|
||||||
61: TypePointer Output 13(float)
|
61: TypePointer Output 14(float)
|
||||||
66: TypeArray 13(float) 51
|
66: TypeArray 14(float) 51
|
||||||
67: TypePointer Output 66
|
67: TypePointer Output 66
|
||||||
68(gl_TessLevelOuter): 67(ptr) Variable Output
|
68(gl_TessLevelOuter): 67(ptr) Variable Output
|
||||||
69: 9(int) Constant 3
|
69: 10(int) Constant 3
|
||||||
70: 13(float) Constant 1078774989
|
70: 14(float) Constant 1078774989
|
||||||
72: TypePointer Output 49
|
72: TypePointer Output 49
|
||||||
73(gl_TessLevelInner): 72(ptr) Variable Output
|
73(gl_TessLevelInner): 72(ptr) Variable Output
|
||||||
74: 13(float) Constant 1067869798
|
74: 14(float) Constant 1067869798
|
||||||
76: TypeArray 9(int) 51
|
76: TypeArray 10(int) 51
|
||||||
77: TypePointer Private 76
|
77: TypePointer Private 76
|
||||||
78(outa): 77(ptr) Variable Private
|
78(outa): 77(ptr) Variable Private
|
||||||
79(patchOut): 57(ptr) Variable Output
|
79(patchOut): 57(ptr) Variable Output
|
||||||
80: TypeVector 13(float) 2
|
80: TypeVector 14(float) 2
|
||||||
81: TypeArray 80(fvec2) 20
|
81: TypeArray 80(fvec2) 21
|
||||||
82: TypePointer Input 81
|
82: TypePointer Input 81
|
||||||
83(inb): 82(ptr) Variable Input
|
83(inb): 82(ptr) Variable Input
|
||||||
84(ind): 82(ptr) Variable Input
|
84(ind): 82(ptr) Variable Input
|
||||||
85: TypeArray 14(fvec4) 20
|
85: TypeArray 15(fvec4) 21
|
||||||
86: TypePointer Input 85
|
86: TypePointer Input 85
|
||||||
87(ivla): 86(ptr) Variable Input
|
87(ivla): 86(ptr) Variable Input
|
||||||
88(ivlb): 86(ptr) Variable Input
|
88(ivlb): 86(ptr) Variable Input
|
||||||
89: TypeArray 14(fvec4) 51
|
89: TypeArray 15(fvec4) 51
|
||||||
90: TypePointer Output 89
|
90: TypePointer Output 89
|
||||||
91(ovla): 90(ptr) Variable Output
|
91(ovla): 90(ptr) Variable Output
|
||||||
92(ovlb): 90(ptr) Variable Output
|
92(ovlb): 90(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
11(a): 10(ptr) Variable Function
|
12(a): 11(ptr) Variable Function
|
||||||
16(p): 15(ptr) Variable Function
|
17(p): 16(ptr) Variable Function
|
||||||
30(ps): 29(ptr) Variable Function
|
31(ps): 30(ptr) Variable Function
|
||||||
34(cd): 29(ptr) Variable Function
|
35(cd): 30(ptr) Variable Function
|
||||||
38(pvi): 10(ptr) Variable Function
|
39(pvi): 11(ptr) Variable Function
|
||||||
42(pid): 10(ptr) Variable Function
|
43(pid): 11(ptr) Variable Function
|
||||||
45(iid): 10(ptr) Variable Function
|
46(iid): 11(ptr) Variable Function
|
||||||
ControlBarrier 7 7 8
|
ControlBarrier 7 8 9
|
||||||
Store 11(a) 12
|
Store 12(a) 13
|
||||||
27: 26(ptr) AccessChain 23(gl_in) 24 25
|
28: 27(ptr) AccessChain 24(gl_in) 25 26
|
||||||
28: 14(fvec4) Load 27
|
29: 15(fvec4) Load 28
|
||||||
Store 16(p) 28
|
Store 17(p) 29
|
||||||
32: 31(ptr) AccessChain 23(gl_in) 24 24
|
33: 32(ptr) AccessChain 24(gl_in) 25 25
|
||||||
33: 13(float) Load 32
|
34: 14(float) Load 33
|
||||||
Store 30(ps) 33
|
Store 31(ps) 34
|
||||||
36: 31(ptr) AccessChain 23(gl_in) 24 35 35
|
37: 32(ptr) AccessChain 24(gl_in) 25 36 36
|
||||||
37: 13(float) Load 36
|
38: 14(float) Load 37
|
||||||
Store 34(cd) 37
|
Store 35(cd) 38
|
||||||
41: 9(int) Load 40(gl_PatchVerticesIn)
|
42: 10(int) Load 41(gl_PatchVerticesIn)
|
||||||
Store 38(pvi) 41
|
Store 39(pvi) 42
|
||||||
44: 9(int) Load 43(gl_PrimitiveID)
|
45: 10(int) Load 44(gl_PrimitiveID)
|
||||||
Store 42(pid) 44
|
Store 43(pid) 45
|
||||||
47: 9(int) Load 46(gl_InvocationID)
|
48: 10(int) Load 47(gl_InvocationID)
|
||||||
Store 45(iid) 47
|
Store 46(iid) 48
|
||||||
55: 9(int) Load 46(gl_InvocationID)
|
55: 10(int) Load 47(gl_InvocationID)
|
||||||
56: 14(fvec4) Load 16(p)
|
56: 15(fvec4) Load 17(p)
|
||||||
58: 57(ptr) AccessChain 54(gl_out) 55 25
|
58: 57(ptr) AccessChain 54(gl_out) 55 26
|
||||||
Store 58 56
|
Store 58 56
|
||||||
59: 9(int) Load 46(gl_InvocationID)
|
59: 10(int) Load 47(gl_InvocationID)
|
||||||
60: 13(float) Load 30(ps)
|
60: 14(float) Load 31(ps)
|
||||||
62: 61(ptr) AccessChain 54(gl_out) 59 24
|
62: 61(ptr) AccessChain 54(gl_out) 59 25
|
||||||
Store 62 60
|
Store 62 60
|
||||||
63: 9(int) Load 46(gl_InvocationID)
|
63: 10(int) Load 47(gl_InvocationID)
|
||||||
64: 13(float) Load 34(cd)
|
64: 14(float) Load 35(cd)
|
||||||
65: 61(ptr) AccessChain 54(gl_out) 63 35 24
|
65: 61(ptr) AccessChain 54(gl_out) 63 36 25
|
||||||
Store 65 64
|
Store 65 64
|
||||||
71: 61(ptr) AccessChain 68(gl_TessLevelOuter) 69
|
71: 61(ptr) AccessChain 68(gl_TessLevelOuter) 69
|
||||||
Store 71 70
|
Store 71 70
|
||||||
75: 61(ptr) AccessChain 73(gl_TessLevelInner) 24
|
75: 61(ptr) AccessChain 73(gl_TessLevelInner) 25
|
||||||
Store 75 74
|
Store 75 74
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
Загрузка…
Ссылка в новой задаче