Reuse loads generated for repeated function arguments

This commit is contained in:
Jeff Bolz 2024-05-31 11:46:03 -05:00 committed by arcady-lunarg
parent 0e311906b9
commit 6a8b2b2439
11 changed files with 9106 additions and 9441 deletions

View file

@ -5787,8 +5787,16 @@ void TGlslangToSpvTraverser::translateArguments(const glslang::TIntermAggregate&
lvalueCoherentFlags = builder.getAccessChain().coherentFlags; lvalueCoherentFlags = builder.getAccessChain().coherentFlags;
builder.addDecoration(lvalue_id, TranslateNonUniformDecoration(lvalueCoherentFlags)); builder.addDecoration(lvalue_id, TranslateNonUniformDecoration(lvalueCoherentFlags));
lvalueCoherentFlags |= TranslateCoherent(glslangArguments[i]->getAsTyped()->getType()); lvalueCoherentFlags |= TranslateCoherent(glslangArguments[i]->getAsTyped()->getType());
} else } else {
arguments.push_back(accessChainLoad(glslangArguments[i]->getAsTyped()->getType())); if (i > 0 &&
glslangArguments[i]->getAsSymbolNode() && glslangArguments[i-1]->getAsSymbolNode() &&
glslangArguments[i]->getAsSymbolNode()->getId() == glslangArguments[i-1]->getAsSymbolNode()->getId()) {
// Reuse the id if possible
arguments.push_back(arguments[i-1]);
} else {
arguments.push_back(accessChainLoad(glslangArguments[i]->getAsTyped()->getType()));
}
}
} }
} }

View file

@ -291,12 +291,12 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 126 // Id's are bound by 117
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 112 116 119 EntryPoint Fragment 4 "PixelShaderFunction" 103 107 110
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Source HLSL 500 Source HLSL 500
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
@ -306,39 +306,39 @@ gl_FragCoord origin is upper left
Name 20 "C" Name 20 "C"
Name 29 "c2" Name 29 "c2"
Name 35 "b" Name 35 "b"
Name 48 "tmp" Name 39 "tmp"
Name 54 "" Name 45 ""
MemberName 54 0 "m" MemberName 45 0 "m"
Name 60 "$Global" Name 51 "$Global"
MemberName 60($Global) 0 "a" MemberName 51($Global) 0 "a"
MemberName 60($Global) 1 "s" MemberName 51($Global) 1 "s"
MemberName 60($Global) 2 "a1" MemberName 51($Global) 2 "a1"
MemberName 60($Global) 3 "a2" MemberName 51($Global) 3 "a2"
Name 62 "" Name 53 ""
Name 110 "i" Name 101 "i"
Name 112 "i" Name 103 "i"
Name 114 "input" Name 105 "input"
Name 116 "input" Name 107 "input"
Name 119 "@entryPointOutput" Name 110 "@entryPointOutput"
Name 120 "param" Name 111 "param"
Name 122 "param" Name 113 "param"
Decorate 51 ArrayStride 16 Decorate 42 ArrayStride 16
Decorate 53 ArrayStride 16 Decorate 44 ArrayStride 16
MemberDecorate 54 0 Offset 0 MemberDecorate 45 0 Offset 0
Decorate 56 ArrayStride 112 Decorate 47 ArrayStride 112
Decorate 58 ArrayStride 16 Decorate 49 ArrayStride 16
Decorate 59 ArrayStride 16 Decorate 50 ArrayStride 16
MemberDecorate 60($Global) 0 Offset 0 MemberDecorate 51($Global) 0 Offset 0
MemberDecorate 60($Global) 1 Offset 64 MemberDecorate 51($Global) 1 Offset 64
MemberDecorate 60($Global) 2 Offset 1296 MemberDecorate 51($Global) 2 Offset 1296
MemberDecorate 60($Global) 3 Offset 1312 MemberDecorate 51($Global) 3 Offset 1312
Decorate 60($Global) Block Decorate 51($Global) Block
Decorate 62 DescriptorSet 0 Decorate 53 DescriptorSet 0
Decorate 62 Binding 0 Decorate 53 Binding 0
Decorate 112(i) Flat Decorate 103(i) Flat
Decorate 112(i) Location 0 Decorate 103(i) Location 0
Decorate 116(input) Location 1 Decorate 107(input) Location 1
Decorate 119(@entryPointOutput) Location 0 Decorate 110(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
@ -364,53 +364,53 @@ gl_FragCoord origin is upper left
32: 10(int) Constant 10 32: 10(int) Constant 10
33: TypeArray 9(fvec4) 32 33: TypeArray 9(fvec4) 32
34: TypePointer Function 33 34: TypePointer Function 33
47: TypePointer Function 9(fvec4) 38: TypePointer Function 9(fvec4)
50: 10(int) Constant 4 41: 10(int) Constant 4
51: TypeArray 9(fvec4) 50 42: TypeArray 9(fvec4) 41
52: 10(int) Constant 7 43: 10(int) Constant 7
53: TypeArray 9(fvec4) 52 44: TypeArray 9(fvec4) 43
54: TypeStruct 53 45: TypeStruct 44
55: 10(int) Constant 11 46: 10(int) Constant 11
56: TypeArray 54(struct) 55 47: TypeArray 45(struct) 46
57: 10(int) Constant 1 48: 10(int) Constant 1
58: TypeArray 9(fvec4) 57 49: TypeArray 9(fvec4) 48
59: TypeArray 9(fvec4) 26 50: TypeArray 9(fvec4) 26
60($Global): TypeStruct 51 56 58 59 51($Global): TypeStruct 42 47 49 50
61: TypePointer Uniform 60($Global) 52: TypePointer Uniform 51($Global)
62: 61(ptr) Variable Uniform 53: 52(ptr) Variable Uniform
63: 6(int) Constant 2 54: 6(int) Constant 2
64: 6(int) Constant 0 55: 6(int) Constant 0
65: TypePointer Uniform 9(fvec4) 56: TypePointer Uniform 9(fvec4)
70: 6(int) Constant 3 61: 6(int) Constant 3
79: 6(int) Constant 1 70: 6(int) Constant 1
93: 6(int) Constant 5 84: 6(int) Constant 5
111: TypePointer Input 6(int) 102: TypePointer Input 6(int)
112(i): 111(ptr) Variable Input 103(i): 102(ptr) Variable Input
115: TypePointer Input 12 106: TypePointer Input 12
116(input): 115(ptr) Variable Input 107(input): 106(ptr) Variable Input
118: TypePointer Output 9(fvec4) 109: TypePointer Output 9(fvec4)
119(@entryPointOutput): 118(ptr) Variable Output 110(@entryPointOutput): 109(ptr) Variable Output
125: 58 ConstantComposite 25 116: 49 ConstantComposite 25
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
110(i): 7(ptr) Variable Function 101(i): 7(ptr) Variable Function
114(input): 13(ptr) Variable Function 105(input): 13(ptr) Variable Function
120(param): 7(ptr) Variable Function 111(param): 7(ptr) Variable Function
122(param): 13(ptr) Variable Function 113(param): 13(ptr) Variable Function
Store 20(C) 25 Store 20(C) 25
30: 9(fvec4) Load 20(C) 30: 9(fvec4) Load 20(C)
31: 27 CompositeConstruct 30 25 31: 27 CompositeConstruct 30 25
Store 29(c2) 31 Store 29(c2) 31
113: 6(int) Load 112(i) 104: 6(int) Load 103(i)
Store 110(i) 113 Store 101(i) 104
117: 12 Load 116(input) 108: 12 Load 107(input)
Store 114(input) 117 Store 105(input) 108
121: 6(int) Load 110(i) 112: 6(int) Load 101(i)
Store 120(param) 121 Store 111(param) 112
123: 12 Load 114(input) 114: 12 Load 105(input)
Store 122(param) 123 Store 113(param) 114
124: 9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 120(param) 122(param) 115: 9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 111(param) 113(param)
Store 119(@entryPointOutput) 124 Store 110(@entryPointOutput) 115
Return Return
FunctionEnd FunctionEnd
17(@PixelShaderFunction(i1;vf4[3];): 9(fvec4) Function None 14 17(@PixelShaderFunction(i1;vf4[3];): 9(fvec4) Function None 14
@ -418,59 +418,50 @@ gl_FragCoord origin is upper left
16(input): 13(ptr) FunctionParameter 16(input): 13(ptr) FunctionParameter
18: Label 18: Label
35(b): 34(ptr) Variable Function 35(b): 34(ptr) Variable Function
48(tmp): 47(ptr) Variable Function 39(tmp): 38(ptr) Variable Function
36: 9(fvec4) Load 20(C) 36: 9(fvec4) Load 20(C)
37: 9(fvec4) Load 20(C) 37: 33 CompositeConstruct 36 36 36 36 36 36 36 36 36 36
38: 9(fvec4) Load 20(C) Store 35(b) 37
39: 9(fvec4) Load 20(C)
40: 9(fvec4) Load 20(C) 40: 9(fvec4) Load 20(C)
41: 9(fvec4) Load 20(C) 57: 56(ptr) AccessChain 53 54 55
42: 9(fvec4) Load 20(C) 58: 9(fvec4) Load 57
43: 9(fvec4) Load 20(C) 59: 9(fvec4) FAdd 40 58
44: 9(fvec4) Load 20(C) 60: 9(fvec4) FAdd 59 25
45: 9(fvec4) Load 20(C) 62: 6(int) Load 15(i)
46: 33 CompositeConstruct 36 37 38 39 40 41 42 43 44 45 63: 56(ptr) AccessChain 53 61 62
Store 35(b) 46 64: 9(fvec4) Load 63
49: 9(fvec4) Load 20(C) 65: 9(fvec4) FAdd 60 64
66: 65(ptr) AccessChain 62 63 64 66: 6(int) Load 15(i)
67: 9(fvec4) Load 66 67: 19(ptr) AccessChain 29(c2) 66
68: 9(fvec4) FAdd 49 67 68: 9(fvec4) Load 67
69: 9(fvec4) FAdd 68 25 69: 9(fvec4) FAdd 65 68
71: 6(int) Load 15(i) Store 39(tmp) 69
72: 65(ptr) AccessChain 62 70 71 71: 56(ptr) AccessChain 53 55 70
73: 9(fvec4) Load 72 72: 9(fvec4) Load 71
74: 9(fvec4) FAdd 69 73 73: 6(int) Load 15(i)
75: 6(int) Load 15(i) 74: 56(ptr) AccessChain 53 55 73
76: 19(ptr) AccessChain 29(c2) 75 75: 9(fvec4) Load 74
77: 9(fvec4) Load 76 76: 9(fvec4) FAdd 72 75
78: 9(fvec4) FAdd 74 77 77: 38(ptr) AccessChain 16(input) 54
Store 48(tmp) 78 78: 9(fvec4) Load 77
80: 65(ptr) AccessChain 62 64 79 79: 9(fvec4) FAdd 76 78
81: 9(fvec4) Load 80 80: 6(int) Load 15(i)
82: 6(int) Load 15(i) 81: 38(ptr) AccessChain 16(input) 80
83: 65(ptr) AccessChain 62 64 82 82: 9(fvec4) Load 81
84: 9(fvec4) Load 83 83: 9(fvec4) FAdd 79 82
85: 9(fvec4) FAdd 81 84 85: 38(ptr) AccessChain 35(b) 84
86: 47(ptr) AccessChain 16(input) 63 86: 9(fvec4) Load 85
87: 9(fvec4) Load 86 87: 9(fvec4) FAdd 83 86
88: 9(fvec4) FAdd 85 87 88: 6(int) Load 15(i)
89: 6(int) Load 15(i) 89: 38(ptr) AccessChain 35(b) 88
90: 47(ptr) AccessChain 16(input) 89 90: 9(fvec4) Load 89
91: 9(fvec4) Load 90 91: 9(fvec4) FAdd 87 90
92: 9(fvec4) FAdd 88 91 92: 6(int) Load 15(i)
94: 47(ptr) AccessChain 35(b) 93 93: 6(int) Load 15(i)
94: 56(ptr) AccessChain 53 70 92 55 93
95: 9(fvec4) Load 94 95: 9(fvec4) Load 94
96: 9(fvec4) FAdd 92 95 96: 9(fvec4) FAdd 91 95
97: 6(int) Load 15(i) 97: 9(fvec4) Load 39(tmp)
98: 47(ptr) AccessChain 35(b) 97 98: 9(fvec4) FAdd 96 97
99: 9(fvec4) Load 98 ReturnValue 98
100: 9(fvec4) FAdd 96 99
101: 6(int) Load 15(i)
102: 6(int) Load 15(i)
103: 65(ptr) AccessChain 62 79 101 64 102
104: 9(fvec4) Load 103
105: 9(fvec4) FAdd 100 104
106: 9(fvec4) Load 48(tmp)
107: 9(fvec4) FAdd 105 106
ReturnValue 107
FunctionEnd FunctionEnd

View file

@ -735,13 +735,13 @@ gl_FragCoord origin is upper left
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 520 // Id's are bound by 519
Capability Shader Capability Shader
Capability Float64 Capability Float64
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 513 516 EntryPoint Fragment 4 "PixelShaderFunction" 512 515
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Source HLSL 500 Source HLSL 500
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
@ -923,17 +923,17 @@ gl_FragCoord origin is upper left
Name 471 "param" Name 471 "param"
Name 475 "param" Name 475 "param"
Name 480 "param" Name 480 "param"
Name 487 "param" Name 486 "param"
Name 491 "param" Name 490 "param"
Name 497 "param" Name 496 "param"
Name 500 "param" Name 499 "param"
Name 506 "param" Name 505 "param"
Name 511 "input" Name 510 "input"
Name 513 "input" Name 512 "input"
Name 516 "@entryPointOutput" Name 515 "@entryPointOutput"
Name 517 "param" Name 516 "param"
Decorate 513(input) Location 0 Decorate 512(input) Location 0
Decorate 516(@entryPointOutput) Location 0 Decorate 515(@entryPointOutput) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 64 6: TypeFloat 64
@ -984,23 +984,23 @@ gl_FragCoord origin is upper left
374: 22(int) Constant 1 374: 22(int) Constant 1
394: 29(float) Constant 1065353216 394: 29(float) Constant 1065353216
414:6(float64_t) Constant 0 1072693248 414:6(float64_t) Constant 0 1072693248
484: TypeVector 22(int) 2 483: TypeVector 22(int) 2
494: TypeVector 22(int) 4 493: TypeVector 22(int) 4
503: TypeVector 8(bool) 3 502: TypeVector 8(bool) 3
512: TypePointer Input 149(fvec4) 511: TypePointer Input 149(fvec4)
513(input): 512(ptr) Variable Input 512(input): 511(ptr) Variable Input
515: TypePointer Output 149(fvec4) 514: TypePointer Output 149(fvec4)
516(@entryPointOutput): 515(ptr) Variable Output 515(@entryPointOutput): 514(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3 4(PixelShaderFunction): 2 Function None 3
5: Label 5: Label
511(input): 150(ptr) Variable Function 510(input): 150(ptr) Variable Function
517(param): 150(ptr) Variable Function 516(param): 150(ptr) Variable Function
514: 149(fvec4) Load 513(input) 513: 149(fvec4) Load 512(input)
Store 511(input) 514 Store 510(input) 513
518: 149(fvec4) Load 511(input) 517: 149(fvec4) Load 510(input)
Store 517(param) 518 Store 516(param) 517
519: 149(fvec4) FunctionCall 153(@PixelShaderFunction(vf4;) 517(param) 518: 149(fvec4) FunctionCall 153(@PixelShaderFunction(vf4;) 516(param)
Store 516(@entryPointOutput) 519 Store 515(@entryPointOutput) 518
Return Return
FunctionEnd FunctionEnd
13(foo1(d1;b1;): 2 Function None 10 13(foo1(d1;b1;): 2 Function None 10
@ -1278,11 +1278,11 @@ gl_FragCoord origin is upper left
471(param): 16(ptr) Variable Function 471(param): 16(ptr) Variable Function
475(param): 7(ptr) Variable Function 475(param): 7(ptr) Variable Function
480(param): 126(ptr) Variable Function 480(param): 126(ptr) Variable Function
487(param): 135(ptr) Variable Function 486(param): 135(ptr) Variable Function
491(param): 105(ptr) Variable Function 490(param): 105(ptr) Variable Function
497(param): 23(ptr) Variable Function 496(param): 23(ptr) Variable Function
500(param): 9(ptr) Variable Function 499(param): 9(ptr) Variable Function
506(param): 9(ptr) Variable Function 505(param): 9(ptr) Variable Function
158:6(float64_t) Load 155(d) 158:6(float64_t) Load 155(d)
Store 157(param) 158 Store 157(param) 158
160: 8(bool) Load 156(b) 160: 8(bool) Load 156(b)
@ -1598,28 +1598,27 @@ gl_FragCoord origin is upper left
Store 480(param) 479 Store 480(param) 479
481: 2 FunctionCall 129(foo12(vd3;) 480(param) 481: 2 FunctionCall 129(foo12(vd3;) 480(param)
482: 22(int) Load 173(i) 482: 22(int) Load 173(i)
483: 22(int) Load 173(i) 484: 483(ivec2) CompositeConstruct 482 482
485: 484(ivec2) CompositeConstruct 482 483 485: 134(ivec2) Bitcast 484
486: 134(ivec2) Bitcast 485 Store 486(param) 485
Store 487(param) 486 487: 2 FunctionCall 138(foo16(vu2;) 486(param)
488: 2 FunctionCall 138(foo16(vu2;) 487(param) 488: 29(float) Load 179(f)
489: 29(float) Load 179(f) 489: 104(fvec3) CompositeConstruct 488 488 488
490: 104(fvec3) CompositeConstruct 489 489 489 Store 490(param) 489
Store 491(param) 490 491: 2 FunctionCall 141(foo13(vf3;) 490(param)
492: 2 FunctionCall 141(foo13(vf3;) 491(param) 492: 22(int) Load 173(i)
493: 22(int) Load 173(i) 494: 493(ivec4) CompositeConstruct 492 492 492 492
495: 494(ivec4) CompositeConstruct 493 493 493 493 495: 22(int) CompositeExtract 494 0
496: 22(int) CompositeExtract 495 0 Store 496(param) 495
Store 497(param) 496 497: 2 FunctionCall 144(foo14(vi1;) 496(param)
498: 2 FunctionCall 144(foo14(vi1;) 497(param) 498: 8(bool) Load 156(b)
499: 8(bool) Load 156(b) Store 499(param) 498
Store 500(param) 499 500: 2 FunctionCall 147(foo15(vb1;) 499(param)
501: 2 FunctionCall 147(foo15(vb1;) 500(param) 501: 8(bool) Load 156(b)
502: 8(bool) Load 156(b) 503: 502(bvec3) CompositeConstruct 501 501 501
504: 503(bvec3) CompositeConstruct 502 502 502 504: 8(bool) CompositeExtract 503 0
505: 8(bool) CompositeExtract 504 0 Store 505(param) 504
Store 506(param) 505 506: 2 FunctionCall 147(foo15(vb1;) 505(param)
507: 2 FunctionCall 147(foo15(vb1;) 506(param) 507: 149(fvec4) Load 152(input)
508: 149(fvec4) Load 152(input) ReturnValue 507
ReturnValue 508
FunctionEnd FunctionEnd

View file

@ -323,12 +323,12 @@ Shader version: 500
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 120 // Id's are bound by 108
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 108 115 EntryPoint Vertex 4 "main" 96 103
Source HLSL 500 Source HLSL 500
Name 4 "main" Name 4 "main"
Name 9 "VertexOut" Name 9 "VertexOut"
@ -342,21 +342,21 @@ Shader version: 500
Name 21 "r5(" Name 21 "r5("
Name 23 "@main(" Name 23 "@main("
Name 44 "f" Name 44 "f"
Name 56 "f" Name 52 "f"
Name 57 "scalarCopy" Name 53 "scalarCopy"
Name 72 "f" Name 64 "f"
Name 73 "scalarCopy" Name 65 "scalarCopy"
Name 88 "v0" Name 76 "v0"
Name 90 "v1" Name 78 "v1"
Name 92 "v2" Name 80 "v2"
Name 94 "v3" Name 82 "v3"
Name 96 "v4" Name 84 "v4"
Name 98 "v5" Name 86 "v5"
Name 105 "flattenTemp" Name 93 "flattenTemp"
Name 108 "@entryPointOutput.position" Name 96 "@entryPointOutput.position"
Name 115 "@entryPointOutput.texCoord" Name 103 "@entryPointOutput.texCoord"
Decorate 108(@entryPointOutput.position) BuiltIn Position Decorate 96(@entryPointOutput.position) BuiltIn Position
Decorate 115(@entryPointOutput.texCoord) Location 0 Decorate 103(@entryPointOutput.texCoord) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -377,31 +377,31 @@ Shader version: 500
39: 8(fvec2) ConstantComposite 37 37 39: 8(fvec2) ConstantComposite 37 37
40:9(VertexOut) ConstantComposite 38 39 40:9(VertexOut) ConstantComposite 38 39
43: TypePointer Function 6(float) 43: TypePointer Function 6(float)
59: 6(float) Constant 1065353216 55: 6(float) Constant 1065353216
87: TypePointer Function 9(VertexOut) 75: TypePointer Function 9(VertexOut)
100: 7(fvec4) ConstantComposite 59 59 59 59 88: 7(fvec4) ConstantComposite 55 55 55 55
101: 8(fvec2) ConstantComposite 59 59 89: 8(fvec2) ConstantComposite 55 55
102:9(VertexOut) ConstantComposite 100 101 90:9(VertexOut) ConstantComposite 88 89
107: TypePointer Output 7(fvec4) 95: TypePointer Output 7(fvec4)
108(@entryPointOutput.position): 107(ptr) Variable Output 96(@entryPointOutput.position): 95(ptr) Variable Output
109: TypeInt 32 1 97: TypeInt 32 1
110: 109(int) Constant 0 98: 97(int) Constant 0
111: TypePointer Function 7(fvec4) 99: TypePointer Function 7(fvec4)
114: TypePointer Output 8(fvec2) 102: TypePointer Output 8(fvec2)
115(@entryPointOutput.texCoord): 114(ptr) Variable Output 103(@entryPointOutput.texCoord): 102(ptr) Variable Output
116: 109(int) Constant 1 104: 97(int) Constant 1
117: TypePointer Function 8(fvec2) 105: TypePointer Function 8(fvec2)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
105(flattenTemp): 87(ptr) Variable Function 93(flattenTemp): 75(ptr) Variable Function
106:9(VertexOut) FunctionCall 23(@main() 94:9(VertexOut) FunctionCall 23(@main()
Store 105(flattenTemp) 106 Store 93(flattenTemp) 94
112: 111(ptr) AccessChain 105(flattenTemp) 110 100: 99(ptr) AccessChain 93(flattenTemp) 98
113: 7(fvec4) Load 112 101: 7(fvec4) Load 100
Store 108(@entryPointOutput.position) 113 Store 96(@entryPointOutput.position) 101
118: 117(ptr) AccessChain 105(flattenTemp) 116 106: 105(ptr) AccessChain 93(flattenTemp) 104
119: 8(fvec2) Load 118 107: 8(fvec2) Load 106
Store 115(@entryPointOutput.texCoord) 119 Store 103(@entryPointOutput.texCoord) 107
Return Return
FunctionEnd FunctionEnd
11(r0():9(VertexOut) Function None 10 11(r0():9(VertexOut) Function None 10
@ -421,73 +421,61 @@ Shader version: 500
44(f): 43(ptr) Variable Function 44(f): 43(ptr) Variable Function
Store 44(f) 25 Store 44(f) 25
45: 6(float) Load 44(f) 45: 6(float) Load 44(f)
46: 6(float) Load 44(f) 46: 7(fvec4) CompositeConstruct 45 45 45 45
47: 6(float) Load 44(f) 47: 6(float) Load 44(f)
48: 6(float) Load 44(f) 48: 8(fvec2) CompositeConstruct 47 47
49: 7(fvec4) CompositeConstruct 45 46 47 48 49:9(VertexOut) CompositeConstruct 46 48
50: 6(float) Load 44(f) ReturnValue 49
51: 6(float) Load 44(f)
52: 8(fvec2) CompositeConstruct 50 51
53:9(VertexOut) CompositeConstruct 49 52
ReturnValue 53
FunctionEnd FunctionEnd
19(r4():9(VertexOut) Function None 10 19(r4():9(VertexOut) Function None 10
20: Label 20: Label
56(f): 43(ptr) Variable Function 52(f): 43(ptr) Variable Function
57(scalarCopy): 43(ptr) Variable Function 53(scalarCopy): 43(ptr) Variable Function
Store 56(f) 25 Store 52(f) 25
58: 6(float) Load 56(f) 54: 6(float) Load 52(f)
60: 6(float) FAdd 58 59 56: 6(float) FAdd 54 55
Store 57(scalarCopy) 60 Store 53(scalarCopy) 56
61: 6(float) Load 57(scalarCopy) 57: 6(float) Load 53(scalarCopy)
62: 6(float) Load 57(scalarCopy) 58: 7(fvec4) CompositeConstruct 57 57 57 57
63: 6(float) Load 57(scalarCopy) 59: 6(float) Load 53(scalarCopy)
64: 6(float) Load 57(scalarCopy) 60: 8(fvec2) CompositeConstruct 59 59
65: 7(fvec4) CompositeConstruct 61 62 63 64 61:9(VertexOut) CompositeConstruct 58 60
66: 6(float) Load 57(scalarCopy) ReturnValue 61
67: 6(float) Load 57(scalarCopy)
68: 8(fvec2) CompositeConstruct 66 67
69:9(VertexOut) CompositeConstruct 65 68
ReturnValue 69
FunctionEnd FunctionEnd
21(r5():9(VertexOut) Function None 10 21(r5():9(VertexOut) Function None 10
22: Label 22: Label
72(f): 43(ptr) Variable Function 64(f): 43(ptr) Variable Function
73(scalarCopy): 43(ptr) Variable Function 65(scalarCopy): 43(ptr) Variable Function
Store 72(f) 25 Store 64(f) 25
74: 6(float) Load 72(f) 66: 6(float) Load 64(f)
75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74 67: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 66
Store 73(scalarCopy) 75 Store 65(scalarCopy) 67
76: 6(float) Load 73(scalarCopy) 68: 6(float) Load 65(scalarCopy)
77: 6(float) Load 73(scalarCopy) 69: 7(fvec4) CompositeConstruct 68 68 68 68
78: 6(float) Load 73(scalarCopy) 70: 6(float) Load 65(scalarCopy)
79: 6(float) Load 73(scalarCopy) 71: 8(fvec2) CompositeConstruct 70 70
80: 7(fvec4) CompositeConstruct 76 77 78 79 72:9(VertexOut) CompositeConstruct 69 71
81: 6(float) Load 73(scalarCopy) ReturnValue 72
82: 6(float) Load 73(scalarCopy)
83: 8(fvec2) CompositeConstruct 81 82
84:9(VertexOut) CompositeConstruct 80 83
ReturnValue 84
FunctionEnd FunctionEnd
23(@main():9(VertexOut) Function None 10 23(@main():9(VertexOut) Function None 10
24: Label 24: Label
88(v0): 87(ptr) Variable Function 76(v0): 75(ptr) Variable Function
90(v1): 87(ptr) Variable Function 78(v1): 75(ptr) Variable Function
92(v2): 87(ptr) Variable Function 80(v2): 75(ptr) Variable Function
94(v3): 87(ptr) Variable Function 82(v3): 75(ptr) Variable Function
96(v4): 87(ptr) Variable Function 84(v4): 75(ptr) Variable Function
98(v5): 87(ptr) Variable Function 86(v5): 75(ptr) Variable Function
89:9(VertexOut) FunctionCall 11(r0() 77:9(VertexOut) FunctionCall 11(r0()
Store 88(v0) 89 Store 76(v0) 77
91:9(VertexOut) FunctionCall 13(r1() 79:9(VertexOut) FunctionCall 13(r1()
Store 90(v1) 91 Store 78(v1) 79
93:9(VertexOut) FunctionCall 15(r2() 81:9(VertexOut) FunctionCall 15(r2()
Store 92(v2) 93 Store 80(v2) 81
95:9(VertexOut) FunctionCall 17(r3() 83:9(VertexOut) FunctionCall 17(r3()
Store 94(v3) 95 Store 82(v3) 83
97:9(VertexOut) FunctionCall 19(r4() 85:9(VertexOut) FunctionCall 19(r4()
Store 96(v4) 97 Store 84(v4) 85
99:9(VertexOut) FunctionCall 21(r5() 87:9(VertexOut) FunctionCall 21(r5()
Store 98(v5) 99 Store 86(v5) 87
ReturnValue 102 ReturnValue 90
FunctionEnd FunctionEnd

View file

@ -1,7 +1,7 @@
spv.ext.MissShader.rmiss spv.ext.MissShader.rmiss
// Module Version 10400 // Module Version 10400
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 94 // Id's are bound by 92
Capability MinLod Capability MinLod
Capability GroupNonUniform Capability GroupNonUniform
@ -16,7 +16,7 @@ spv.ext.MissShader.rmiss
Extension "SPV_NV_shader_sm_builtins" Extension "SPV_NV_shader_sm_builtins"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint MissKHR 4 "main" 11 14 21 24 29 32 37 41 56 57 62 67 78 82 89 93 EntryPoint MissKHR 4 "main" 11 14 21 24 29 32 37 41 56 57 62 67 78 82 87 91
Source GLSL 460 Source GLSL 460
SourceExtension "GL_ARB_shader_ballot" SourceExtension "GL_ARB_shader_ballot"
SourceExtension "GL_ARB_sparse_texture_clamp" SourceExtension "GL_ARB_sparse_texture_clamp"
@ -48,8 +48,8 @@ spv.ext.MissShader.rmiss
Name 74 "texel" Name 74 "texel"
Name 78 "s2D" Name 78 "s2D"
Name 82 "c2" Name 82 "c2"
Name 89 "lodClamp" Name 87 "lodClamp"
Name 93 "localPayload" Name 91 "localPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 21(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR Decorate 21(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
@ -71,7 +71,7 @@ spv.ext.MissShader.rmiss
Decorate 78(s2D) DescriptorSet 0 Decorate 78(s2D) DescriptorSet 0
Decorate 78(s2D) Binding 1 Decorate 78(s2D) Binding 1
Decorate 82(c2) Location 2 Decorate 82(c2) Location 2
Decorate 89(lodClamp) Location 3 Decorate 87(lodClamp) Location 3
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -124,12 +124,12 @@ spv.ext.MissShader.rmiss
80: TypeVector 16(float) 2 80: TypeVector 16(float) 2
81: TypePointer Input 80(fvec2) 81: TypePointer Input 80(fvec2)
82(c2): 81(ptr) Variable Input 82(c2): 81(ptr) Variable Input
86: TypeVector 52(int) 2 84: TypeVector 52(int) 2
87: 52(int) Constant 5 85: 52(int) Constant 5
88: 86(ivec2) ConstantComposite 87 87 86: 84(ivec2) ConstantComposite 85 85
89(lodClamp): 28(ptr) Variable Input 87(lodClamp): 28(ptr) Variable Input
92: TypePointer RayPayloadKHR 54(fvec4) 90: TypePointer RayPayloadKHR 54(fvec4)
93(localPayload): 92(ptr) Variable RayPayloadKHR 91(localPayload): 90(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v0): 8(ptr) Variable Function 9(v0): 8(ptr) Variable Function
@ -169,10 +169,8 @@ spv.ext.MissShader.rmiss
Store 72 70 Store 72 70
79: 76 Load 78(s2D) 79: 76 Load 78(s2D)
83: 80(fvec2) Load 82(c2) 83: 80(fvec2) Load 82(c2)
84: 80(fvec2) Load 82(c2) 88: 16(float) Load 87(lodClamp)
85: 80(fvec2) Load 82(c2) 89: 54(fvec4) ImageSampleExplicitLod 79 83 Grad ConstOffset MinLod 83 83 86 88
90: 16(float) Load 89(lodClamp) Store 74(texel) 89
91: 54(fvec4) ImageSampleExplicitLod 79 83 Grad ConstOffset MinLod 84 85 88 90
Store 74(texel) 91
Return Return
FunctionEnd FunctionEnd

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
spv.invariantAll.vert spv.invariantAll.vert
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 25 // Id's are bound by 24
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
@ -41,15 +41,14 @@ spv.invariantAll.vert
15: 14(int) Constant 0 15: 14(int) Constant 0
16: TypePointer Output 6(float) 16: TypePointer Output 6(float)
17(v): 16(ptr) Variable Output 17(v): 16(ptr) Variable Output
20: 6(float) Constant 0 19: 6(float) Constant 0
21: 6(float) Constant 1065353216 20: 6(float) Constant 1065353216
23: TypePointer Output 7(fvec4) 22: TypePointer Output 7(fvec4)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
18: 6(float) Load 17(v) 18: 6(float) Load 17(v)
19: 6(float) Load 17(v) 21: 7(fvec4) CompositeConstruct 18 18 19 20
22: 7(fvec4) CompositeConstruct 18 19 20 21 23: 22(ptr) AccessChain 13 15
24: 23(ptr) AccessChain 13 15 Store 23 21
Store 24 22
Return Return
FunctionEnd FunctionEnd

View file

@ -2,7 +2,7 @@ spv.newTexture.frag
Validation failed Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 284 // Id's are bound by 278
Capability Shader Capability Shader
Capability SampledRect Capability SampledRect
@ -10,7 +10,7 @@ Validation failed
Capability ImageQuery Capability ImageQuery
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 253 283 EntryPoint Fragment 4 "main" 17 26 29 55 81 84 92 247 277
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Source GLSL 430 Source GLSL 430
Name 4 "main" Name 4 "main"
@ -29,21 +29,21 @@ Validation failed
Name 92 "ic2D" Name 92 "ic2D"
Name 102 "sr" Name 102 "sr"
Name 128 "sCube" Name 128 "sCube"
Name 139 "s2DArrayShadow" Name 137 "s2DArrayShadow"
Name 167 "iv" Name 162 "iv"
Name 171 "is2D" Name 166 "is2D"
Name 208 "is3D" Name 202 "is3D"
Name 220 "isCube" Name 214 "isCube"
Name 232 "is2DArray" Name 226 "is2DArray"
Name 243 "iv2" Name 237 "iv2"
Name 247 "sCubeShadow" Name 241 "sCubeShadow"
Name 253 "FragData" Name 247 "FragData"
Name 265 "is2Dms" Name 259 "is2Dms"
Name 269 "us2D" Name 263 "us2D"
Name 273 "us3D" Name 267 "us3D"
Name 277 "usCube" Name 271 "usCube"
Name 281 "us2DArray" Name 275 "us2DArray"
Name 283 "ic4D" Name 277 "ic4D"
Decorate 13(s2D) DescriptorSet 0 Decorate 13(s2D) DescriptorSet 0
Decorate 13(s2D) Binding 0 Decorate 13(s2D) Binding 0
Decorate 17(c2D) Location 1 Decorate 17(c2D) Location 1
@ -68,31 +68,31 @@ Validation failed
Decorate 102(sr) Binding 1 Decorate 102(sr) Binding 1
Decorate 128(sCube) DescriptorSet 0 Decorate 128(sCube) DescriptorSet 0
Decorate 128(sCube) Binding 3 Decorate 128(sCube) Binding 3
Decorate 139(s2DArrayShadow) DescriptorSet 0 Decorate 137(s2DArrayShadow) DescriptorSet 0
Decorate 139(s2DArrayShadow) Binding 8 Decorate 137(s2DArrayShadow) Binding 8
Decorate 171(is2D) DescriptorSet 0 Decorate 166(is2D) DescriptorSet 0
Decorate 171(is2D) Binding 9 Decorate 166(is2D) Binding 9
Decorate 208(is3D) DescriptorSet 0 Decorate 202(is3D) DescriptorSet 0
Decorate 208(is3D) Binding 10 Decorate 202(is3D) Binding 10
Decorate 220(isCube) DescriptorSet 0 Decorate 214(isCube) DescriptorSet 0
Decorate 220(isCube) Binding 11 Decorate 214(isCube) Binding 11
Decorate 232(is2DArray) DescriptorSet 0 Decorate 226(is2DArray) DescriptorSet 0
Decorate 232(is2DArray) Binding 12 Decorate 226(is2DArray) Binding 12
Decorate 247(sCubeShadow) DescriptorSet 0 Decorate 241(sCubeShadow) DescriptorSet 0
Decorate 247(sCubeShadow) Binding 4 Decorate 241(sCubeShadow) Binding 4
Decorate 253(FragData) Location 0 Decorate 247(FragData) Location 0
Decorate 265(is2Dms) DescriptorSet 0 Decorate 259(is2Dms) DescriptorSet 0
Decorate 265(is2Dms) Binding 0 Decorate 259(is2Dms) Binding 0
Decorate 269(us2D) DescriptorSet 0 Decorate 263(us2D) DescriptorSet 0
Decorate 269(us2D) Binding 0 Decorate 263(us2D) Binding 0
Decorate 273(us3D) DescriptorSet 0 Decorate 267(us3D) DescriptorSet 0
Decorate 273(us3D) Binding 0 Decorate 267(us3D) Binding 0
Decorate 277(usCube) DescriptorSet 0 Decorate 271(usCube) DescriptorSet 0
Decorate 277(usCube) Binding 0 Decorate 271(usCube) Binding 0
Decorate 281(us2DArray) DescriptorSet 0 Decorate 275(us2DArray) DescriptorSet 0
Decorate 281(us2DArray) Binding 0 Decorate 275(us2DArray) Binding 0
Decorate 283(ic4D) Flat Decorate 277(ic4D) Flat
Decorate 283(ic4D) Location 7 Decorate 277(ic4D) Location 7
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -153,66 +153,66 @@ Validation failed
126: TypeSampledImage 125 126: TypeSampledImage 125
127: TypePointer UniformConstant 126 127: TypePointer UniformConstant 126
128(sCube): 127(ptr) Variable UniformConstant 128(sCube): 127(ptr) Variable UniformConstant
136: TypeImage 6(float) 2D depth array sampled format:Unknown 134: TypeImage 6(float) 2D depth array sampled format:Unknown
137: TypeSampledImage 136 135: TypeSampledImage 134
138: TypePointer UniformConstant 137 136: TypePointer UniformConstant 135
139(s2DArrayShadow): 138(ptr) Variable UniformConstant 137(s2DArrayShadow): 136(ptr) Variable UniformConstant
146: 32(int) Constant 0 143: 32(int) Constant 0
165: TypeVector 67(int) 4 160: TypeVector 67(int) 4
166: TypePointer Function 165(ivec4) 161: TypePointer Function 160(ivec4)
168: TypeImage 67(int) 2D sampled format:Unknown 163: TypeImage 67(int) 2D sampled format:Unknown
169: TypeSampledImage 168 164: TypeSampledImage 163
170: TypePointer UniformConstant 169 165: TypePointer UniformConstant 164
171(is2D): 170(ptr) Variable UniformConstant 166(is2D): 165(ptr) Variable UniformConstant
205: TypeImage 67(int) 3D sampled format:Unknown 199: TypeImage 67(int) 3D sampled format:Unknown
206: TypeSampledImage 205 200: TypeSampledImage 199
207: TypePointer UniformConstant 206 201: TypePointer UniformConstant 200
208(is3D): 207(ptr) Variable UniformConstant 202(is3D): 201(ptr) Variable UniformConstant
211: 6(float) Constant 1082549862 205: 6(float) Constant 1082549862
217: TypeImage 67(int) Cube sampled format:Unknown 211: TypeImage 67(int) Cube sampled format:Unknown
218: TypeSampledImage 217 212: TypeSampledImage 211
219: TypePointer UniformConstant 218 213: TypePointer UniformConstant 212
220(isCube): 219(ptr) Variable UniformConstant 214(isCube): 213(ptr) Variable UniformConstant
229: TypeImage 67(int) 2D array sampled format:Unknown 223: TypeImage 67(int) 2D array sampled format:Unknown
230: TypeSampledImage 229 224: TypeSampledImage 223
231: TypePointer UniformConstant 230 225: TypePointer UniformConstant 224
232(is2DArray): 231(ptr) Variable UniformConstant 226(is2DArray): 225(ptr) Variable UniformConstant
242: TypePointer Function 68(ivec2) 236: TypePointer Function 68(ivec2)
244: TypeImage 6(float) Cube depth sampled format:Unknown 238: TypeImage 6(float) Cube depth sampled format:Unknown
245: TypeSampledImage 244 239: TypeSampledImage 238
246: TypePointer UniformConstant 245 240: TypePointer UniformConstant 239
247(sCubeShadow): 246(ptr) Variable UniformConstant 241(sCubeShadow): 240(ptr) Variable UniformConstant
249: 67(int) Constant 2 243: 67(int) Constant 2
252: TypePointer Output 7(fvec4) 246: TypePointer Output 7(fvec4)
253(FragData): 252(ptr) Variable Output 247(FragData): 246(ptr) Variable Output
257: 6(float) Constant 0 251: 6(float) Constant 0
262: TypeImage 67(int) 2D multi-sampled sampled format:Unknown 256: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
263: TypeSampledImage 262 257: TypeSampledImage 256
264: TypePointer UniformConstant 263 258: TypePointer UniformConstant 257
265(is2Dms): 264(ptr) Variable UniformConstant 259(is2Dms): 258(ptr) Variable UniformConstant
266: TypeImage 32(int) 2D sampled format:Unknown 260: TypeImage 32(int) 2D sampled format:Unknown
267: TypeSampledImage 266 261: TypeSampledImage 260
268: TypePointer UniformConstant 267 262: TypePointer UniformConstant 261
269(us2D): 268(ptr) Variable UniformConstant 263(us2D): 262(ptr) Variable UniformConstant
270: TypeImage 32(int) 3D sampled format:Unknown 264: TypeImage 32(int) 3D sampled format:Unknown
271: TypeSampledImage 270 265: TypeSampledImage 264
272: TypePointer UniformConstant 271 266: TypePointer UniformConstant 265
273(us3D): 272(ptr) Variable UniformConstant 267(us3D): 266(ptr) Variable UniformConstant
274: TypeImage 32(int) Cube sampled format:Unknown 268: TypeImage 32(int) Cube sampled format:Unknown
275: TypeSampledImage 274 269: TypeSampledImage 268
276: TypePointer UniformConstant 275 270: TypePointer UniformConstant 269
277(usCube): 276(ptr) Variable UniformConstant 271(usCube): 270(ptr) Variable UniformConstant
278: TypeImage 32(int) 2D array sampled format:Unknown 272: TypeImage 32(int) 2D array sampled format:Unknown
279: TypeSampledImage 278 273: TypeSampledImage 272
280: TypePointer UniformConstant 279 274: TypePointer UniformConstant 273
281(us2DArray): 280(ptr) Variable UniformConstant 275(us2DArray): 274(ptr) Variable UniformConstant
282: TypePointer Input 165(ivec4) 276: TypePointer Input 160(ivec4)
283(ic4D): 282(ptr) Variable Input 277(ic4D): 276(ptr) Variable Input
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v): 8(ptr) Variable Function 9(v): 8(ptr) Variable Function
167(iv): 166(ptr) Variable Function 162(iv): 161(ptr) Variable Function
243(iv2): 242(ptr) Variable Function 237(iv2): 236(ptr) Variable Function
14: 11 Load 13(s2D) 14: 11 Load 13(s2D)
18: 15(fvec2) Load 17(c2D) 18: 15(fvec2) Load 17(c2D)
19: 7(fvec4) ImageSampleImplicitLod 14 18 19: 7(fvec4) ImageSampleImplicitLod 14 18
@ -289,121 +289,115 @@ Validation failed
Store 9(v) 124 Store 9(v) 124
129: 126 Load 128(sCube) 129: 126 Load 128(sCube)
130: 53(fvec3) Load 55(c3D) 130: 53(fvec3) Load 55(c3D)
131: 53(fvec3) Load 55(c3D) 131: 7(fvec4) ImageSampleExplicitLod 129 130 Grad 130 130
132: 53(fvec3) Load 55(c3D) 132: 7(fvec4) Load 9(v)
133: 7(fvec4) ImageSampleExplicitLod 129 130 Grad 131 132 133: 7(fvec4) FAdd 132 131
134: 7(fvec4) Load 9(v) Store 9(v) 133
135: 7(fvec4) FAdd 134 133 138: 135 Load 137(s2DArrayShadow)
Store 9(v) 135 139: 7(fvec4) Load 26(c4D)
140: 137 Load 139(s2DArrayShadow) 140: 15(fvec2) Load 17(c2D)
141: 7(fvec4) Load 26(c4D) 141: 6(float) CompositeExtract 139 3
142: 15(fvec2) Load 17(c2D) 142: 6(float) ImageSampleDrefExplicitLod 138 139 141 Grad ConstOffset 140 140 70
143: 15(fvec2) Load 17(c2D) 144: 34(ptr) AccessChain 9(v) 143
144: 6(float) CompositeExtract 141 3 145: 6(float) Load 144
145: 6(float) ImageSampleDrefExplicitLod 140 141 144 Grad ConstOffset 142 143 70 146: 6(float) FAdd 145 142
147: 34(ptr) AccessChain 9(v) 146 147: 34(ptr) AccessChain 9(v) 143
148: 6(float) Load 147 Store 147 146
149: 6(float) FAdd 148 145 148: 40 Load 42(s3D)
150: 34(ptr) AccessChain 9(v) 146 149: 7(fvec4) Load 26(c4D)
Store 150 149 150: 53(fvec3) Load 55(c3D)
151: 40 Load 42(s3D) 151: 7(fvec4) ImageSampleProjExplicitLod 148 149 Grad 150 150
152: 7(fvec4) Load 26(c4D) 152: 7(fvec4) Load 9(v)
153: 53(fvec3) Load 55(c3D) 153: 7(fvec4) FAdd 152 151
154: 53(fvec3) Load 55(c3D) Store 9(v) 153
155: 7(fvec4) ImageSampleProjExplicitLod 151 152 Grad 153 154 154: 11 Load 13(s2D)
156: 7(fvec4) Load 9(v) 155: 53(fvec3) Load 55(c3D)
157: 7(fvec4) FAdd 156 155 156: 15(fvec2) Load 17(c2D)
Store 9(v) 157 157: 7(fvec4) ImageSampleProjExplicitLod 154 155 Grad ConstOffset 156 156 70
158: 11 Load 13(s2D) 158: 7(fvec4) Load 9(v)
159: 53(fvec3) Load 55(c3D) 159: 7(fvec4) FAdd 158 157
160: 15(fvec2) Load 17(c2D) Store 9(v) 159
161: 15(fvec2) Load 17(c2D) 167: 164 Load 166(is2D)
162: 7(fvec4) ImageSampleProjExplicitLod 158 159 Grad ConstOffset 160 161 70 168: 15(fvec2) Load 17(c2D)
163: 7(fvec4) Load 9(v) 169: 160(ivec4) ImageSampleImplicitLod 167 168
164: 7(fvec4) FAdd 163 162 Store 162(iv) 169
Store 9(v) 164 170: 160(ivec4) Load 162(iv)
172: 169 Load 171(is2D) 171: 7(fvec4) ConvertSToF 170
173: 15(fvec2) Load 17(c2D) 172: 7(fvec4) Load 9(v)
174: 165(ivec4) ImageSampleImplicitLod 172 173 173: 7(fvec4) FAdd 172 171
Store 167(iv) 174 Store 9(v) 173
175: 165(ivec4) Load 167(iv) 174: 164 Load 166(is2D)
176: 7(fvec4) ConvertSToF 175 175: 7(fvec4) Load 26(c4D)
177: 7(fvec4) Load 9(v) 176: 6(float) CompositeExtract 175 3
178: 7(fvec4) FAdd 177 176 177: 7(fvec4) CompositeInsert 176 175 2
Store 9(v) 178 178: 160(ivec4) ImageSampleProjImplicitLod 174 177 ConstOffset 70
179: 169 Load 171(is2D) Store 162(iv) 178
180: 7(fvec4) Load 26(c4D) 179: 160(ivec4) Load 162(iv)
181: 6(float) CompositeExtract 180 3 180: 7(fvec4) ConvertSToF 179
182: 7(fvec4) CompositeInsert 181 180 2 181: 7(fvec4) Load 9(v)
183: 165(ivec4) ImageSampleProjImplicitLod 179 182 ConstOffset 70 182: 7(fvec4) FAdd 181 180
Store 167(iv) 183 Store 9(v) 182
184: 165(ivec4) Load 167(iv) 183: 164 Load 166(is2D)
185: 7(fvec4) ConvertSToF 184 184: 53(fvec3) Load 55(c3D)
186: 7(fvec4) Load 9(v) 185: 6(float) Load 29(c1D)
187: 7(fvec4) FAdd 186 185 186: 160(ivec4) ImageSampleProjExplicitLod 183 184 Lod 185
Store 9(v) 187 Store 162(iv) 186
188: 169 Load 171(is2D) 187: 160(ivec4) Load 162(iv)
189: 53(fvec3) Load 55(c3D) 188: 7(fvec4) ConvertSToF 187
190: 6(float) Load 29(c1D) 189: 7(fvec4) Load 9(v)
191: 165(ivec4) ImageSampleProjExplicitLod 188 189 Lod 190 190: 7(fvec4) FAdd 189 188
Store 167(iv) 191 Store 9(v) 190
192: 165(ivec4) Load 167(iv) 191: 164 Load 166(is2D)
193: 7(fvec4) ConvertSToF 192 192: 53(fvec3) Load 55(c3D)
194: 7(fvec4) Load 9(v) 193: 15(fvec2) Load 17(c2D)
195: 7(fvec4) FAdd 194 193 194: 160(ivec4) ImageSampleProjExplicitLod 191 192 Grad 193 193
Store 9(v) 195 Store 162(iv) 194
196: 169 Load 171(is2D) 195: 160(ivec4) Load 162(iv)
197: 53(fvec3) Load 55(c3D) 196: 7(fvec4) ConvertSToF 195
198: 15(fvec2) Load 17(c2D) 197: 7(fvec4) Load 9(v)
199: 15(fvec2) Load 17(c2D) 198: 7(fvec4) FAdd 197 196
200: 165(ivec4) ImageSampleProjExplicitLod 196 197 Grad 198 199 Store 9(v) 198
Store 167(iv) 200 203: 200 Load 202(is3D)
201: 165(ivec4) Load 167(iv) 204: 53(fvec3) Load 55(c3D)
202: 7(fvec4) ConvertSToF 201 206: 160(ivec4) ImageSampleImplicitLod 203 204 Bias 205
203: 7(fvec4) Load 9(v) Store 162(iv) 206
204: 7(fvec4) FAdd 203 202 207: 160(ivec4) Load 162(iv)
Store 9(v) 204 208: 7(fvec4) ConvertSToF 207
209: 206 Load 208(is3D) 209: 7(fvec4) Load 9(v)
210: 53(fvec3) Load 55(c3D) 210: 7(fvec4) FAdd 209 208
212: 165(ivec4) ImageSampleImplicitLod 209 210 Bias 211 Store 9(v) 210
Store 167(iv) 212 215: 212 Load 214(isCube)
213: 165(ivec4) Load 167(iv) 216: 53(fvec3) Load 55(c3D)
214: 7(fvec4) ConvertSToF 213 217: 6(float) Load 29(c1D)
215: 7(fvec4) Load 9(v) 218: 160(ivec4) ImageSampleExplicitLod 215 216 Lod 217
216: 7(fvec4) FAdd 215 214 Store 162(iv) 218
Store 9(v) 216 219: 160(ivec4) Load 162(iv)
221: 218 Load 220(isCube) 220: 7(fvec4) ConvertSToF 219
222: 53(fvec3) Load 55(c3D) 221: 7(fvec4) Load 9(v)
223: 6(float) Load 29(c1D) 222: 7(fvec4) FAdd 221 220
224: 165(ivec4) ImageSampleExplicitLod 221 222 Lod 223 Store 9(v) 222
Store 167(iv) 224 227: 224 Load 226(is2DArray)
225: 165(ivec4) Load 167(iv) 228: 79(ivec3) Load 81(ic3D)
226: 7(fvec4) ConvertSToF 225 229: 67(int) Load 84(ic1D)
227: 7(fvec4) Load 9(v) 230: 223 Image 227
228: 7(fvec4) FAdd 227 226 231: 160(ivec4) ImageFetch 230 228 Lod 229
Store 9(v) 228 Store 162(iv) 231
233: 230 Load 232(is2DArray) 232: 160(ivec4) Load 162(iv)
234: 79(ivec3) Load 81(ic3D) 233: 7(fvec4) ConvertSToF 232
235: 67(int) Load 84(ic1D) 234: 7(fvec4) Load 9(v)
236: 229 Image 233 235: 7(fvec4) FAdd 234 233
237: 165(ivec4) ImageFetch 236 234 Lod 235 Store 9(v) 235
Store 167(iv) 237 242: 239 Load 241(sCubeShadow)
238: 165(ivec4) Load 167(iv) 244: 238 Image 242
239: 7(fvec4) ConvertSToF 238 245: 68(ivec2) ImageQuerySizeLod 244 243
240: 7(fvec4) Load 9(v) Store 237(iv2) 245
241: 7(fvec4) FAdd 240 239 248: 7(fvec4) Load 9(v)
Store 9(v) 241 249: 68(ivec2) Load 237(iv2)
248: 245 Load 247(sCubeShadow) 250: 15(fvec2) ConvertSToF 249
250: 244 Image 248 252: 6(float) CompositeExtract 250 0
251: 68(ivec2) ImageQuerySizeLod 250 249 253: 6(float) CompositeExtract 250 1
Store 243(iv2) 251 254: 7(fvec4) CompositeConstruct 252 253 251 251
254: 7(fvec4) Load 9(v) 255: 7(fvec4) FAdd 248 254
255: 68(ivec2) Load 243(iv2) Store 247(FragData) 255
256: 15(fvec2) ConvertSToF 255
258: 6(float) CompositeExtract 256 0
259: 6(float) CompositeExtract 256 1
260: 7(fvec4) CompositeConstruct 258 259 257 257
261: 7(fvec4) FAdd 254 260
Store 253(FragData) 261
Return Return
FunctionEnd FunctionEnd

View file

@ -2,7 +2,7 @@ spv.sparseTexture.frag
Validation failed Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 442 // Id's are bound by 434
Capability Shader Capability Shader
Capability ImageGatherExtended Capability ImageGatherExtended
@ -12,7 +12,7 @@ Validation failed
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 33 48 89 397 409 427 EntryPoint Fragment 4 "main" 33 48 89 389 401 419
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Source GLSL 450 Source GLSL 450
SourceExtension "GL_ARB_sparse_texture2" SourceExtension "GL_ARB_sparse_texture2"
@ -38,14 +38,14 @@ Validation failed
Name 154 "s2DArrayShadow" Name 154 "s2DArrayShadow"
Name 188 "s2DMS" Name 188 "s2DMS"
Name 228 "is2DArray" Name 228 "is2DArray"
Name 261 "sCubeShadow" Name 259 "sCubeShadow"
Name 294 "s2DRectShadow" Name 288 "s2DRectShadow"
Name 394 "i2D" Name 386 "i2D"
Name 397 "ic2" Name 389 "ic2"
Name 406 "ii3D" Name 398 "ii3D"
Name 409 "ic3" Name 401 "ic3"
Name 418 "i2DMS" Name 410 "i2DMS"
Name 427 "outColor" Name 419 "outColor"
Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) DescriptorSet 0
Decorate 29(s2D) Binding 0 Decorate 29(s2D) Binding 0
Decorate 33(c2) Location 0 Decorate 33(c2) Location 0
@ -69,21 +69,21 @@ Validation failed
Decorate 188(s2DMS) Binding 7 Decorate 188(s2DMS) Binding 7
Decorate 228(is2DArray) DescriptorSet 0 Decorate 228(is2DArray) DescriptorSet 0
Decorate 228(is2DArray) Binding 9 Decorate 228(is2DArray) Binding 9
Decorate 261(sCubeShadow) DescriptorSet 0 Decorate 259(sCubeShadow) DescriptorSet 0
Decorate 261(sCubeShadow) Binding 3 Decorate 259(sCubeShadow) Binding 3
Decorate 294(s2DRectShadow) DescriptorSet 0 Decorate 288(s2DRectShadow) DescriptorSet 0
Decorate 294(s2DRectShadow) Binding 5 Decorate 288(s2DRectShadow) Binding 5
Decorate 394(i2D) DescriptorSet 0 Decorate 386(i2D) DescriptorSet 0
Decorate 394(i2D) Binding 12 Decorate 386(i2D) Binding 12
Decorate 397(ic2) Flat Decorate 389(ic2) Flat
Decorate 397(ic2) Location 3 Decorate 389(ic2) Location 3
Decorate 406(ii3D) DescriptorSet 0 Decorate 398(ii3D) DescriptorSet 0
Decorate 406(ii3D) Binding 13 Decorate 398(ii3D) Binding 13
Decorate 409(ic3) Flat Decorate 401(ic3) Flat
Decorate 409(ic3) Location 4 Decorate 401(ic3) Location 4
Decorate 418(i2DMS) DescriptorSet 0 Decorate 410(i2DMS) DescriptorSet 0
Decorate 418(i2DMS) Binding 14 Decorate 410(i2DMS) Binding 14
Decorate 427(outColor) Location 0 Decorate 419(outColor) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
@ -173,51 +173,51 @@ Validation failed
232: 143(ivec2) ConstantComposite 231 231 232: 143(ivec2) ConstantComposite 231 231
240: 6(int) Constant 7 240: 6(int) Constant 7
241: 143(ivec2) ConstantComposite 240 240 241: 143(ivec2) ConstantComposite 240 240
258: TypeImage 10(float) Cube depth sampled format:Unknown 256: TypeImage 10(float) Cube depth sampled format:Unknown
259: TypeSampledImage 258 257: TypeSampledImage 256
260: TypePointer UniformConstant 259 258: TypePointer UniformConstant 257
261(sCubeShadow): 260(ptr) Variable UniformConstant 259(sCubeShadow): 258(ptr) Variable UniformConstant
291: TypeImage 10(float) Rect depth sampled format:Unknown 285: TypeImage 10(float) Rect depth sampled format:Unknown
292: TypeSampledImage 291 286: TypeSampledImage 285
293: TypePointer UniformConstant 292 287: TypePointer UniformConstant 286
294(s2DRectShadow): 293(ptr) Variable UniformConstant 288(s2DRectShadow): 287(ptr) Variable UniformConstant
299: 20(int) Constant 3 292: 20(int) Constant 3
311: 143(ivec2) ConstantComposite 130 130 303: 143(ivec2) ConstantComposite 130 130
340: 143(ivec2) ConstantComposite 192 192 332: 143(ivec2) ConstantComposite 192 192
362: 20(int) Constant 4 354: 20(int) Constant 4
363: TypeArray 143(ivec2) 362 355: TypeArray 143(ivec2) 354
364: 6(int) Constant 1 356: 6(int) Constant 1
365: 143(ivec2) ConstantComposite 364 130 357: 143(ivec2) ConstantComposite 356 130
366: 143(ivec2) ConstantComposite 144 192 358: 143(ivec2) ConstantComposite 144 192
367: 6(int) Constant 15 359: 6(int) Constant 15
368: 6(int) Constant 16 360: 6(int) Constant 16
369: 143(ivec2) ConstantComposite 367 368 361: 143(ivec2) ConstantComposite 359 360
370: 6(int) Constant 4294967294 362: 6(int) Constant 4294967294
371: 143(ivec2) ConstantComposite 370 9 363: 143(ivec2) ConstantComposite 362 9
372: 363 ConstantComposite 365 366 369 371 364: 355 ConstantComposite 357 358 361 363
392: TypeImage 10(float) 2D nonsampled format:Rgba32f 384: TypeImage 10(float) 2D nonsampled format:Rgba32f
393: TypePointer UniformConstant 392 385: TypePointer UniformConstant 384
394(i2D): 393(ptr) Variable UniformConstant 386(i2D): 385(ptr) Variable UniformConstant
396: TypePointer Input 143(ivec2) 388: TypePointer Input 143(ivec2)
397(ic2): 396(ptr) Variable Input 389(ic2): 388(ptr) Variable Input
404: TypeImage 6(int) 3D nonsampled format:Rgba32i 396: TypeImage 6(int) 3D nonsampled format:Rgba32i
405: TypePointer UniformConstant 404 397: TypePointer UniformConstant 396
406(ii3D): 405(ptr) Variable UniformConstant 398(ii3D): 397(ptr) Variable UniformConstant
408: TypePointer Input 129(ivec3) 400: TypePointer Input 129(ivec3)
409(ic3): 408(ptr) Variable Input 401(ic3): 400(ptr) Variable Input
416: TypeImage 10(float) 2D multi-sampled nonsampled format:Rgba32f 408: TypeImage 10(float) 2D multi-sampled nonsampled format:Rgba32f
417: TypePointer UniformConstant 416 409: TypePointer UniformConstant 408
418(i2DMS): 417(ptr) Variable UniformConstant 410(i2DMS): 409(ptr) Variable UniformConstant
426: TypePointer Output 11(fvec4) 418: TypePointer Output 11(fvec4)
427(outColor): 426(ptr) Variable Output 419(outColor): 418(ptr) Variable Output
429: TypeBool 421: TypeBool
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(resident): 7(ptr) Variable Function 8(resident): 7(ptr) Variable Function
13(texel): 12(ptr) Variable Function 13(texel): 12(ptr) Variable Function
18(itexel): 17(ptr) Variable Function 18(itexel): 17(ptr) Variable Function
23(utexel): 22(ptr) Variable Function 23(utexel): 22(ptr) Variable Function
431: 12(ptr) Variable Function 423: 12(ptr) Variable Function
Store 8(resident) 9 Store 8(resident) 9
Store 13(texel) 15 Store 13(texel) 15
Store 18(itexel) 19 Store 18(itexel) 19
@ -414,200 +414,192 @@ Validation failed
Store 8(resident) 248 Store 8(resident) 248
249: 42 Load 44(s3D) 249: 42 Load 44(s3D)
250: 46(fvec3) Load 48(c3) 250: 46(fvec3) Load 48(c3)
251: 46(fvec3) Load 48(c3) 251: 35(ResType) ImageSparseSampleExplicitLod 249 250 Grad 250 250
252: 46(fvec3) Load 48(c3) 252: 11(fvec4) CompositeExtract 251 1
253: 35(ResType) ImageSparseSampleExplicitLod 249 250 Grad 251 252 Store 13(texel) 252
254: 11(fvec4) CompositeExtract 253 1 253: 6(int) CompositeExtract 251 0
Store 13(texel) 254 254: 6(int) Load 8(resident)
255: 6(int) CompositeExtract 253 0 255: 6(int) BitwiseOr 254 253
256: 6(int) Load 8(resident) Store 8(resident) 255
257: 6(int) BitwiseOr 256 255 260: 257 Load 259(sCubeShadow)
Store 8(resident) 257 261: 11(fvec4) Load 89(c4)
262: 259 Load 261(sCubeShadow) 262: 46(fvec3) Load 48(c3)
263: 11(fvec4) Load 89(c4) 263: 74(ptr) AccessChain 13(texel) 119
264: 46(fvec3) Load 48(c3) 264: 10(float) CompositeExtract 261 3
265: 46(fvec3) Load 48(c3) 265: 77(ResType) ImageSparseSampleDrefExplicitLod 260 261 264 Grad 262 262
266: 74(ptr) AccessChain 13(texel) 119 266: 10(float) CompositeExtract 265 1
267: 10(float) CompositeExtract 263 3 Store 263 266
268: 77(ResType) ImageSparseSampleDrefExplicitLod 262 263 267 Grad 264 265 267: 6(int) CompositeExtract 265 0
269: 10(float) CompositeExtract 268 1 268: 6(int) Load 8(resident)
Store 266 269 269: 6(int) BitwiseOr 268 267
270: 6(int) CompositeExtract 268 0 Store 8(resident) 269
271: 6(int) Load 8(resident) 270: 106 Load 108(usCubeArray)
272: 6(int) BitwiseOr 271 270 271: 11(fvec4) Load 89(c4)
Store 8(resident) 272 272: 46(fvec3) Load 48(c3)
273: 106 Load 108(usCubeArray) 273:111(ResType) ImageSparseSampleExplicitLod 270 271 Grad 272 272
274: 11(fvec4) Load 89(c4) 274: 21(ivec4) CompositeExtract 273 1
275: 46(fvec3) Load 48(c3) Store 23(utexel) 274
276: 46(fvec3) Load 48(c3) 275: 6(int) CompositeExtract 273 0
277:111(ResType) ImageSparseSampleExplicitLod 273 274 Grad 275 276 276: 6(int) Load 8(resident)
278: 21(ivec4) CompositeExtract 277 1 277: 6(int) BitwiseOr 276 275
Store 23(utexel) 278 Store 8(resident) 277
279: 6(int) CompositeExtract 277 0 278: 27 Load 29(s2D)
280: 6(int) Load 8(resident) 279: 31(fvec2) Load 33(c2)
281: 6(int) BitwiseOr 280 279 280: 35(ResType) ImageSparseSampleExplicitLod 278 279 Grad ConstOffset 279 279 158
Store 8(resident) 281 281: 11(fvec4) CompositeExtract 280 1
282: 27 Load 29(s2D) Store 13(texel) 281
283: 31(fvec2) Load 33(c2) 282: 6(int) CompositeExtract 280 0
284: 31(fvec2) Load 33(c2) 283: 6(int) Load 8(resident)
285: 31(fvec2) Load 33(c2) 284: 6(int) BitwiseOr 283 282
286: 35(ResType) ImageSparseSampleExplicitLod 282 283 Grad ConstOffset 284 285 158 Store 8(resident) 284
287: 11(fvec4) CompositeExtract 286 1 289: 286 Load 288(s2DRectShadow)
Store 13(texel) 287 290: 46(fvec3) Load 48(c3)
288: 6(int) CompositeExtract 286 0 291: 31(fvec2) Load 33(c2)
289: 6(int) Load 8(resident) 293: 74(ptr) AccessChain 13(texel) 292
290: 6(int) BitwiseOr 289 288 294: 10(float) CompositeExtract 290 2
Store 8(resident) 290 295: 77(ResType) ImageSparseSampleDrefExplicitLod 289 290 294 Grad ConstOffset 291 291 232
295: 292 Load 294(s2DRectShadow) 296: 10(float) CompositeExtract 295 1
296: 46(fvec3) Load 48(c3) Store 293 296
297: 31(fvec2) Load 33(c2) 297: 6(int) CompositeExtract 295 0
298: 31(fvec2) Load 33(c2) 298: 6(int) Load 8(resident)
300: 74(ptr) AccessChain 13(texel) 299 299: 6(int) BitwiseOr 298 297
301: 10(float) CompositeExtract 296 2 Store 8(resident) 299
302: 77(ResType) ImageSparseSampleDrefExplicitLod 295 296 301 Grad ConstOffset 297 298 232 300: 226 Load 228(is2DArray)
303: 10(float) CompositeExtract 302 1 301: 46(fvec3) Load 48(c3)
Store 300 303 302: 31(fvec2) Load 33(c2)
304: 6(int) CompositeExtract 302 0 304: 62(ResType) ImageSparseSampleExplicitLod 300 301 Grad ConstOffset 302 302 303
305: 6(int) Load 8(resident) 305: 16(ivec4) CompositeExtract 304 1
306: 6(int) BitwiseOr 305 304 Store 18(itexel) 305
Store 8(resident) 306 306: 6(int) CompositeExtract 304 0
307: 226 Load 228(is2DArray) 307: 6(int) Load 8(resident)
308: 46(fvec3) Load 48(c3) 308: 6(int) BitwiseOr 307 306
309: 31(fvec2) Load 33(c2) Store 8(resident) 308
309: 27 Load 29(s2D)
310: 31(fvec2) Load 33(c2) 310: 31(fvec2) Load 33(c2)
312: 62(ResType) ImageSparseSampleExplicitLod 307 308 Grad ConstOffset 309 310 311 311: 35(ResType) ImageSparseGather 309 310 9
313: 16(ivec4) CompositeExtract 312 1 312: 11(fvec4) CompositeExtract 311 1
Store 18(itexel) 313 Store 13(texel) 312
314: 6(int) CompositeExtract 312 0 313: 6(int) CompositeExtract 311 0
315: 6(int) Load 8(resident) 314: 6(int) Load 8(resident)
316: 6(int) BitwiseOr 315 314 315: 6(int) BitwiseOr 314 313
Store 8(resident) 316 Store 8(resident) 315
317: 27 Load 29(s2D) 316: 226 Load 228(is2DArray)
318: 31(fvec2) Load 33(c2) 317: 46(fvec3) Load 48(c3)
319: 35(ResType) ImageSparseGather 317 318 9 318: 62(ResType) ImageSparseGather 316 317 130
320: 11(fvec4) CompositeExtract 319 1 319: 16(ivec4) CompositeExtract 318 1
Store 13(texel) 320 Store 18(itexel) 319
321: 6(int) CompositeExtract 319 0 320: 6(int) CompositeExtract 318 0
322: 6(int) Load 8(resident) 321: 6(int) Load 8(resident)
323: 6(int) BitwiseOr 322 321 322: 6(int) BitwiseOr 321 320
Store 8(resident) 323 Store 8(resident) 322
324: 226 Load 228(is2DArray) 323: 152 Load 154(s2DArrayShadow)
325: 46(fvec3) Load 48(c3) 324: 46(fvec3) Load 48(c3)
326: 62(ResType) ImageSparseGather 324 325 130 325: 35(ResType) ImageSparseDrefGather 323 324 50
327: 16(ivec4) CompositeExtract 326 1 326: 11(fvec4) CompositeExtract 325 1
Store 18(itexel) 327 Store 13(texel) 326
328: 6(int) CompositeExtract 326 0 327: 6(int) CompositeExtract 325 0
329: 6(int) Load 8(resident) 328: 6(int) Load 8(resident)
330: 6(int) BitwiseOr 329 328 329: 6(int) BitwiseOr 328 327
Store 8(resident) 330 Store 8(resident) 329
331: 152 Load 154(s2DArrayShadow) 330: 27 Load 29(s2D)
332: 46(fvec3) Load 48(c3) 331: 31(fvec2) Load 33(c2)
333: 35(ResType) ImageSparseDrefGather 331 332 50 333: 35(ResType) ImageSparseGather 330 331 9 ConstOffset 332
334: 11(fvec4) CompositeExtract 333 1 334: 11(fvec4) CompositeExtract 333 1
Store 13(texel) 334 Store 13(texel) 334
335: 6(int) CompositeExtract 333 0 335: 6(int) CompositeExtract 333 0
336: 6(int) Load 8(resident) 336: 6(int) Load 8(resident)
337: 6(int) BitwiseOr 336 335 337: 6(int) BitwiseOr 336 335
Store 8(resident) 337 Store 8(resident) 337
338: 27 Load 29(s2D) 338: 226 Load 228(is2DArray)
339: 31(fvec2) Load 33(c2) 339: 46(fvec3) Load 48(c3)
341: 35(ResType) ImageSparseGather 338 339 9 ConstOffset 340 340: 62(ResType) ImageSparseGather 338 339 130 ConstOffset 158
342: 11(fvec4) CompositeExtract 341 1 341: 16(ivec4) CompositeExtract 340 1
Store 13(texel) 342 Store 18(itexel) 341
343: 6(int) CompositeExtract 341 0 342: 6(int) CompositeExtract 340 0
344: 6(int) Load 8(resident) 343: 6(int) Load 8(resident)
345: 6(int) BitwiseOr 344 343 344: 6(int) BitwiseOr 343 342
Store 8(resident) 345 Store 8(resident) 344
346: 226 Load 228(is2DArray) 345: 286 Load 288(s2DRectShadow)
347: 46(fvec3) Load 48(c3) 346: 31(fvec2) Load 33(c2)
348: 62(ResType) ImageSparseGather 346 347 130 ConstOffset 158 347: 35(ResType) ImageSparseDrefGather 345 346 50 ConstOffset 241
349: 16(ivec4) CompositeExtract 348 1 348: 11(fvec4) CompositeExtract 347 1
Store 18(itexel) 349 Store 13(texel) 348
350: 6(int) CompositeExtract 348 0 349: 6(int) CompositeExtract 347 0
351: 6(int) Load 8(resident) 350: 6(int) Load 8(resident)
352: 6(int) BitwiseOr 351 350 351: 6(int) BitwiseOr 350 349
Store 8(resident) 352 Store 8(resident) 351
353: 292 Load 294(s2DRectShadow) 352: 27 Load 29(s2D)
354: 31(fvec2) Load 33(c2) 353: 31(fvec2) Load 33(c2)
355: 35(ResType) ImageSparseDrefGather 353 354 50 ConstOffset 241 365: 35(ResType) ImageSparseGather 352 353 9 ConstOffsets 364
356: 11(fvec4) CompositeExtract 355 1 366: 11(fvec4) CompositeExtract 365 1
Store 13(texel) 356 Store 13(texel) 366
357: 6(int) CompositeExtract 355 0 367: 6(int) CompositeExtract 365 0
358: 6(int) Load 8(resident) 368: 6(int) Load 8(resident)
359: 6(int) BitwiseOr 358 357 369: 6(int) BitwiseOr 368 367
Store 8(resident) 359 Store 8(resident) 369
360: 27 Load 29(s2D) 370: 226 Load 228(is2DArray)
361: 31(fvec2) Load 33(c2) 371: 46(fvec3) Load 48(c3)
373: 35(ResType) ImageSparseGather 360 361 9 ConstOffsets 372 372: 62(ResType) ImageSparseGather 370 371 130 ConstOffsets 364
374: 11(fvec4) CompositeExtract 373 1 373: 16(ivec4) CompositeExtract 372 1
Store 13(texel) 374 Store 18(itexel) 373
375: 6(int) CompositeExtract 373 0 374: 6(int) CompositeExtract 372 0
376: 6(int) Load 8(resident) 375: 6(int) Load 8(resident)
377: 6(int) BitwiseOr 376 375 376: 6(int) BitwiseOr 375 374
Store 8(resident) 377 Store 8(resident) 376
378: 226 Load 228(is2DArray) 377: 286 Load 288(s2DRectShadow)
379: 46(fvec3) Load 48(c3) 378: 31(fvec2) Load 33(c2)
380: 62(ResType) ImageSparseGather 378 379 130 ConstOffsets 372 379: 35(ResType) ImageSparseDrefGather 377 378 50 ConstOffsets 364
381: 16(ivec4) CompositeExtract 380 1 380: 11(fvec4) CompositeExtract 379 1
Store 18(itexel) 381 Store 13(texel) 380
382: 6(int) CompositeExtract 380 0 381: 6(int) CompositeExtract 379 0
383: 6(int) Load 8(resident) 382: 6(int) Load 8(resident)
384: 6(int) BitwiseOr 383 382 383: 6(int) BitwiseOr 382 381
Store 8(resident) 384 Store 8(resident) 383
385: 292 Load 294(s2DRectShadow) 387: 384 Load 386(i2D)
386: 31(fvec2) Load 33(c2) 390: 143(ivec2) Load 389(ic2)
387: 35(ResType) ImageSparseDrefGather 385 386 50 ConstOffsets 372 391: 35(ResType) ImageSparseRead 387 390
388: 11(fvec4) CompositeExtract 387 1 392: 11(fvec4) CompositeExtract 391 1
Store 13(texel) 388 Store 13(texel) 392
389: 6(int) CompositeExtract 387 0 393: 6(int) CompositeExtract 391 0
390: 6(int) Load 8(resident) 394: 6(int) Load 8(resident)
391: 6(int) BitwiseOr 390 389 395: 6(int) BitwiseOr 394 393
Store 8(resident) 391 Store 8(resident) 395
395: 392 Load 394(i2D) 399: 396 Load 398(ii3D)
398: 143(ivec2) Load 397(ic2) 402: 129(ivec3) Load 401(ic3)
399: 35(ResType) ImageSparseRead 395 398 403: 62(ResType) ImageSparseRead 399 402
400: 11(fvec4) CompositeExtract 399 1 404: 16(ivec4) CompositeExtract 403 1
Store 13(texel) 400 Store 18(itexel) 404
401: 6(int) CompositeExtract 399 0 405: 6(int) CompositeExtract 403 0
402: 6(int) Load 8(resident) 406: 6(int) Load 8(resident)
403: 6(int) BitwiseOr 402 401 407: 6(int) BitwiseOr 406 405
Store 8(resident) 403 Store 8(resident) 407
407: 404 Load 406(ii3D) 411: 408 Load 410(i2DMS)
410: 129(ivec3) Load 409(ic3) 412: 143(ivec2) Load 389(ic2)
411: 62(ResType) ImageSparseRead 407 410 413: 35(ResType) ImageSparseRead 411 412 Sample 144
412: 16(ivec4) CompositeExtract 411 1 414: 11(fvec4) CompositeExtract 413 1
Store 18(itexel) 412 Store 13(texel) 414
413: 6(int) CompositeExtract 411 0 415: 6(int) CompositeExtract 413 0
414: 6(int) Load 8(resident) 416: 6(int) Load 8(resident)
415: 6(int) BitwiseOr 414 413 417: 6(int) BitwiseOr 416 415
Store 8(resident) 415 Store 8(resident) 417
419: 416 Load 418(i2DMS) 420: 6(int) Load 8(resident)
420: 143(ivec2) Load 397(ic2) 422: 421(bool) ImageSparseTexelsResident 420
421: 35(ResType) ImageSparseRead 419 420 Sample 144 SelectionMerge 425 None
422: 11(fvec4) CompositeExtract 421 1 BranchConditional 422 424 427
Store 13(texel) 422 424: Label
423: 6(int) CompositeExtract 421 0 426: 11(fvec4) Load 13(texel)
424: 6(int) Load 8(resident) Store 423 426
425: 6(int) BitwiseOr 424 423 Branch 425
Store 8(resident) 425 427: Label
428: 6(int) Load 8(resident) 428: 16(ivec4) Load 18(itexel)
430: 429(bool) ImageSparseTexelsResident 428 429: 11(fvec4) ConvertSToF 428
SelectionMerge 433 None 430: 21(ivec4) Load 23(utexel)
BranchConditional 430 432 435 431: 11(fvec4) ConvertUToF 430
432: Label 432: 11(fvec4) FAdd 429 431
434: 11(fvec4) Load 13(texel) Store 423 432
Store 431 434 Branch 425
Branch 433 425: Label
435: Label 433: 11(fvec4) Load 423
436: 16(ivec4) Load 18(itexel) Store 419(outColor) 433
437: 11(fvec4) ConvertSToF 436
438: 21(ivec4) Load 23(utexel)
439: 11(fvec4) ConvertUToF 438
440: 11(fvec4) FAdd 437 439
Store 431 440
Branch 433
433: Label
441: 11(fvec4) Load 431
Store 427(outColor) 441
Return Return
FunctionEnd FunctionEnd

View file

@ -2,7 +2,7 @@ spv.sparseTextureClamp.frag
Validation failed Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 360 // Id's are bound by 344
Capability Shader Capability Shader
Capability SampledRect Capability SampledRect
@ -11,7 +11,7 @@ Validation failed
Capability SampledCubeArray Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 33 36 51 95 345 EntryPoint Fragment 4 "main" 33 36 51 95 329
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
Source GLSL 450 Source GLSL 450
SourceExtension "GL_ARB_sparse_texture_clamp" SourceExtension "GL_ARB_sparse_texture_clamp"
@ -35,11 +35,11 @@ Validation failed
Name 154 "us2DRect" Name 154 "us2DRect"
Name 161 "ResType" Name 161 "ResType"
Name 170 "s2DArrayShadow" Name 170 "s2DArrayShadow"
Name 218 "sCubeShadow" Name 216 "sCubeShadow"
Name 235 "usCubeArray" Name 232 "usCubeArray"
Name 286 "s2DRectShadow" Name 276 "s2DRectShadow"
Name 305 "is2DArray" Name 294 "is2DArray"
Name 345 "outColor" Name 329 "outColor"
Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) DescriptorSet 0
Decorate 29(s2D) Binding 0 Decorate 29(s2D) Binding 0
Decorate 33(c2) Location 0 Decorate 33(c2) Location 0
@ -58,15 +58,15 @@ Validation failed
Decorate 154(us2DRect) Binding 10 Decorate 154(us2DRect) Binding 10
Decorate 170(s2DArrayShadow) DescriptorSet 0 Decorate 170(s2DArrayShadow) DescriptorSet 0
Decorate 170(s2DArrayShadow) Binding 4 Decorate 170(s2DArrayShadow) Binding 4
Decorate 218(sCubeShadow) DescriptorSet 0 Decorate 216(sCubeShadow) DescriptorSet 0
Decorate 218(sCubeShadow) Binding 3 Decorate 216(sCubeShadow) Binding 3
Decorate 235(usCubeArray) DescriptorSet 0 Decorate 232(usCubeArray) DescriptorSet 0
Decorate 235(usCubeArray) Binding 9 Decorate 232(usCubeArray) Binding 9
Decorate 286(s2DRectShadow) DescriptorSet 0 Decorate 276(s2DRectShadow) DescriptorSet 0
Decorate 286(s2DRectShadow) Binding 5 Decorate 276(s2DRectShadow) Binding 5
Decorate 305(is2DArray) DescriptorSet 0 Decorate 294(is2DArray) DescriptorSet 0
Decorate 305(is2DArray) Binding 8 Decorate 294(is2DArray) Binding 8
Decorate 345(outColor) Location 0 Decorate 329(outColor) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
@ -139,37 +139,37 @@ Validation failed
173: 6(int) Constant 5 173: 6(int) Constant 5
174: 157(ivec2) ConstantComposite 173 173 174: 157(ivec2) ConstantComposite 173 173
176: 20(int) Constant 2 176: 20(int) Constant 2
215: TypeImage 10(float) Cube depth sampled format:Unknown 213: TypeImage 10(float) Cube depth sampled format:Unknown
216: TypeSampledImage 215 214: TypeSampledImage 213
217: TypePointer UniformConstant 216 215: TypePointer UniformConstant 214
218(sCubeShadow): 217(ptr) Variable UniformConstant 216(sCubeShadow): 215(ptr) Variable UniformConstant
224: 20(int) Constant 1 221: 20(int) Constant 1
232: TypeImage 20(int) Cube array sampled format:Unknown 229: TypeImage 20(int) Cube array sampled format:Unknown
233: TypeSampledImage 232 230: TypeSampledImage 229
234: TypePointer UniformConstant 233 231: TypePointer UniformConstant 230
235(usCubeArray): 234(ptr) Variable UniformConstant 232(usCubeArray): 231(ptr) Variable UniformConstant
283: TypeImage 10(float) Rect depth sampled format:Unknown 273: TypeImage 10(float) Rect depth sampled format:Unknown
284: TypeSampledImage 283 274: TypeSampledImage 273
285: TypePointer UniformConstant 284 275: TypePointer UniformConstant 274
286(s2DRectShadow): 285(ptr) Variable UniformConstant 276(s2DRectShadow): 275(ptr) Variable UniformConstant
291: 6(int) Constant 6 280: 6(int) Constant 6
292: 157(ivec2) ConstantComposite 291 291 281: 157(ivec2) ConstantComposite 280 280
294: 20(int) Constant 3 283: 20(int) Constant 3
302: TypeImage 6(int) 2D array sampled format:Unknown 291: TypeImage 6(int) 2D array sampled format:Unknown
303: TypeSampledImage 302 292: TypeSampledImage 291
304: TypePointer UniformConstant 303 293: TypePointer UniformConstant 292
305(is2DArray): 304(ptr) Variable UniformConstant 294(is2DArray): 293(ptr) Variable UniformConstant
310: 157(ivec2) ConstantComposite 143 143 298: 157(ivec2) ConstantComposite 143 143
344: TypePointer Output 11(fvec4) 328: TypePointer Output 11(fvec4)
345(outColor): 344(ptr) Variable Output 329(outColor): 328(ptr) Variable Output
347: TypeBool 331: TypeBool
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(resident): 7(ptr) Variable Function 8(resident): 7(ptr) Variable Function
13(texel): 12(ptr) Variable Function 13(texel): 12(ptr) Variable Function
18(itexel): 17(ptr) Variable Function 18(itexel): 17(ptr) Variable Function
23(utexel): 22(ptr) Variable Function 23(utexel): 22(ptr) Variable Function
349: 12(ptr) Variable Function 333: 12(ptr) Variable Function
Store 8(resident) 9 Store 8(resident) 9
Store 13(texel) 15 Store 13(texel) 15
Store 18(itexel) 19 Store 18(itexel) 19
@ -325,158 +325,142 @@ Validation failed
Store 204 203 Store 204 203
205: 45 Load 47(s3D) 205: 45 Load 47(s3D)
206: 49(fvec3) Load 51(c3) 206: 49(fvec3) Load 51(c3)
207: 49(fvec3) Load 51(c3) 207: 10(float) Load 36(lodClamp)
208: 49(fvec3) Load 51(c3) 208: 38(ResType) ImageSparseSampleExplicitLod 205 206 Grad MinLod 206 206 207
209: 10(float) Load 36(lodClamp) 209: 11(fvec4) CompositeExtract 208 1
210: 38(ResType) ImageSparseSampleExplicitLod 205 206 Grad MinLod 207 208 209 Store 13(texel) 209
211: 11(fvec4) CompositeExtract 210 1 210: 6(int) CompositeExtract 208 0
Store 13(texel) 211 211: 6(int) Load 8(resident)
212: 6(int) CompositeExtract 210 0 212: 6(int) BitwiseOr 211 210
213: 6(int) Load 8(resident) Store 8(resident) 212
214: 6(int) BitwiseOr 213 212 217: 214 Load 216(sCubeShadow)
Store 8(resident) 214 218: 11(fvec4) Load 95(c4)
219: 216 Load 218(sCubeShadow) 219: 49(fvec3) Load 51(c3)
220: 11(fvec4) Load 95(c4) 220: 10(float) Load 36(lodClamp)
221: 49(fvec3) Load 51(c3) 222: 80(ptr) AccessChain 13(texel) 221
222: 49(fvec3) Load 51(c3) 223: 10(float) CompositeExtract 218 3
223: 10(float) Load 36(lodClamp) 224: 83(ResType) ImageSparseSampleDrefExplicitLod 217 218 223 Grad MinLod 219 219 220
225: 80(ptr) AccessChain 13(texel) 224 225: 10(float) CompositeExtract 224 1
226: 10(float) CompositeExtract 220 3 Store 222 225
227: 83(ResType) ImageSparseSampleDrefExplicitLod 219 220 226 Grad MinLod 221 222 223 226: 6(int) CompositeExtract 224 0
228: 10(float) CompositeExtract 227 1 227: 6(int) Load 8(resident)
Store 225 228 228: 6(int) BitwiseOr 227 226
229: 6(int) CompositeExtract 227 0 Store 8(resident) 228
230: 6(int) Load 8(resident) 233: 230 Load 232(usCubeArray)
231: 6(int) BitwiseOr 230 229 234: 11(fvec4) Load 95(c4)
Store 8(resident) 231 235: 49(fvec3) Load 51(c3)
236: 233 Load 235(usCubeArray) 236: 10(float) Load 36(lodClamp)
237: 11(fvec4) Load 95(c4) 237:161(ResType) ImageSparseSampleExplicitLod 233 234 Grad MinLod 235 235 236
238: 49(fvec3) Load 51(c3) 238: 21(ivec4) CompositeExtract 237 1
239: 49(fvec3) Load 51(c3) Store 23(utexel) 238
240: 10(float) Load 36(lodClamp) 239: 6(int) CompositeExtract 237 0
241:161(ResType) ImageSparseSampleExplicitLod 236 237 Grad MinLod 238 239 240 240: 6(int) Load 8(resident)
242: 21(ivec4) CompositeExtract 241 1 241: 6(int) BitwiseOr 240 239
Store 23(utexel) 242 Store 8(resident) 241
243: 6(int) CompositeExtract 241 0 242: 45 Load 47(s3D)
244: 6(int) Load 8(resident) 243: 49(fvec3) Load 51(c3)
245: 6(int) BitwiseOr 244 243 244: 10(float) Load 36(lodClamp)
Store 8(resident) 245 245: 11(fvec4) ImageSampleExplicitLod 242 243 Grad MinLod 243 243 244
246: 45 Load 47(s3D) 246: 11(fvec4) Load 13(texel)
247: 49(fvec3) Load 51(c3) 247: 11(fvec4) FAdd 246 245
248: 49(fvec3) Load 51(c3) Store 13(texel) 247
249: 49(fvec3) Load 51(c3) 248: 214 Load 216(sCubeShadow)
250: 10(float) Load 36(lodClamp) 249: 11(fvec4) Load 95(c4)
251: 11(fvec4) ImageSampleExplicitLod 246 247 Grad MinLod 248 249 250 250: 49(fvec3) Load 51(c3)
252: 11(fvec4) Load 13(texel) 251: 10(float) Load 36(lodClamp)
253: 11(fvec4) FAdd 252 251 252: 10(float) CompositeExtract 249 3
Store 13(texel) 253 253: 10(float) ImageSampleDrefExplicitLod 248 249 252 Grad MinLod 250 250 251
254: 216 Load 218(sCubeShadow) 254: 80(ptr) AccessChain 13(texel) 221
255: 11(fvec4) Load 95(c4) 255: 10(float) Load 254
256: 49(fvec3) Load 51(c3) 256: 10(float) FAdd 255 253
257: 49(fvec3) Load 51(c3) 257: 80(ptr) AccessChain 13(texel) 221
258: 10(float) Load 36(lodClamp) Store 257 256
259: 10(float) CompositeExtract 255 3 258: 230 Load 232(usCubeArray)
260: 10(float) ImageSampleDrefExplicitLod 254 255 259 Grad MinLod 256 257 258 259: 11(fvec4) Load 95(c4)
261: 80(ptr) AccessChain 13(texel) 224 260: 49(fvec3) Load 51(c3)
262: 10(float) Load 261 261: 10(float) Load 36(lodClamp)
263: 10(float) FAdd 262 260 262: 21(ivec4) ImageSampleExplicitLod 258 259 Grad MinLod 260 260 261
264: 80(ptr) AccessChain 13(texel) 224 263: 21(ivec4) Load 23(utexel)
Store 264 263 264: 21(ivec4) IAdd 263 262
265: 233 Load 235(usCubeArray) Store 23(utexel) 264
266: 11(fvec4) Load 95(c4) 265: 27 Load 29(s2D)
267: 49(fvec3) Load 51(c3) 266: 31(fvec2) Load 33(c2)
268: 49(fvec3) Load 51(c3) 267: 10(float) Load 36(lodClamp)
269: 10(float) Load 36(lodClamp) 268: 38(ResType) ImageSparseSampleExplicitLod 265 266 Grad ConstOffset MinLod 266 266 174 267
270: 21(ivec4) ImageSampleExplicitLod 265 266 Grad MinLod 267 268 269 269: 11(fvec4) CompositeExtract 268 1
271: 21(ivec4) Load 23(utexel) Store 13(texel) 269
272: 21(ivec4) IAdd 271 270 270: 6(int) CompositeExtract 268 0
Store 23(utexel) 272 271: 6(int) Load 8(resident)
273: 27 Load 29(s2D) 272: 6(int) BitwiseOr 271 270
274: 31(fvec2) Load 33(c2) Store 8(resident) 272
275: 31(fvec2) Load 33(c2) 277: 274 Load 276(s2DRectShadow)
276: 31(fvec2) Load 33(c2) 278: 49(fvec3) Load 51(c3)
277: 10(float) Load 36(lodClamp) 279: 31(fvec2) Load 33(c2)
278: 38(ResType) ImageSparseSampleExplicitLod 273 274 Grad ConstOffset MinLod 275 276 174 277 282: 10(float) Load 36(lodClamp)
279: 11(fvec4) CompositeExtract 278 1 284: 80(ptr) AccessChain 13(texel) 283
Store 13(texel) 279 285: 10(float) CompositeExtract 278 2
280: 6(int) CompositeExtract 278 0 286: 83(ResType) ImageSparseSampleDrefExplicitLod 277 278 285 Grad ConstOffset MinLod 279 279 281 282
281: 6(int) Load 8(resident) 287: 10(float) CompositeExtract 286 1
282: 6(int) BitwiseOr 281 280 Store 284 287
Store 8(resident) 282 288: 6(int) CompositeExtract 286 0
287: 284 Load 286(s2DRectShadow) 289: 6(int) Load 8(resident)
288: 49(fvec3) Load 51(c3) 290: 6(int) BitwiseOr 289 288
289: 31(fvec2) Load 33(c2) Store 8(resident) 290
290: 31(fvec2) Load 33(c2) 295: 292 Load 294(is2DArray)
293: 10(float) Load 36(lodClamp) 296: 49(fvec3) Load 51(c3)
295: 80(ptr) AccessChain 13(texel) 294 297: 31(fvec2) Load 33(c2)
296: 10(float) CompositeExtract 288 2 299: 10(float) Load 36(lodClamp)
297: 83(ResType) ImageSparseSampleDrefExplicitLod 287 288 296 Grad ConstOffset MinLod 289 290 292 293 300: 67(ResType) ImageSparseSampleExplicitLod 295 296 Grad ConstOffset MinLod 297 297 298 299
298: 10(float) CompositeExtract 297 1 301: 16(ivec4) CompositeExtract 300 1
Store 295 298 Store 18(itexel) 301
299: 6(int) CompositeExtract 297 0 302: 6(int) CompositeExtract 300 0
300: 6(int) Load 8(resident) 303: 6(int) Load 8(resident)
301: 6(int) BitwiseOr 300 299 304: 6(int) BitwiseOr 303 302
Store 8(resident) 301 Store 8(resident) 304
306: 303 Load 305(is2DArray) 305: 27 Load 29(s2D)
307: 49(fvec3) Load 51(c3) 306: 31(fvec2) Load 33(c2)
308: 31(fvec2) Load 33(c2) 307: 10(float) Load 36(lodClamp)
309: 31(fvec2) Load 33(c2) 308: 11(fvec4) ImageSampleExplicitLod 305 306 Grad ConstOffset MinLod 306 306 174 307
311: 10(float) Load 36(lodClamp) 309: 11(fvec4) Load 13(texel)
312: 67(ResType) ImageSparseSampleExplicitLod 306 307 Grad ConstOffset MinLod 308 309 310 311 310: 11(fvec4) FAdd 309 308
313: 16(ivec4) CompositeExtract 312 1 Store 13(texel) 310
Store 18(itexel) 313 311: 274 Load 276(s2DRectShadow)
314: 6(int) CompositeExtract 312 0 312: 49(fvec3) Load 51(c3)
315: 6(int) Load 8(resident) 313: 31(fvec2) Load 33(c2)
316: 6(int) BitwiseOr 315 314 314: 10(float) Load 36(lodClamp)
Store 8(resident) 316 315: 10(float) CompositeExtract 312 2
317: 27 Load 29(s2D) 316: 10(float) ImageSampleDrefExplicitLod 311 312 315 Grad ConstOffset MinLod 313 313 281 314
318: 31(fvec2) Load 33(c2) 317: 80(ptr) AccessChain 13(texel) 283
319: 31(fvec2) Load 33(c2) 318: 10(float) Load 317
320: 31(fvec2) Load 33(c2) 319: 10(float) FAdd 318 316
321: 10(float) Load 36(lodClamp) 320: 80(ptr) AccessChain 13(texel) 283
322: 11(fvec4) ImageSampleExplicitLod 317 318 Grad ConstOffset MinLod 319 320 174 321 Store 320 319
323: 11(fvec4) Load 13(texel) 321: 292 Load 294(is2DArray)
324: 11(fvec4) FAdd 323 322 322: 49(fvec3) Load 51(c3)
Store 13(texel) 324 323: 31(fvec2) Load 33(c2)
325: 284 Load 286(s2DRectShadow) 324: 10(float) Load 36(lodClamp)
326: 49(fvec3) Load 51(c3) 325: 16(ivec4) ImageSampleExplicitLod 321 322 Grad ConstOffset MinLod 323 323 298 324
327: 31(fvec2) Load 33(c2) 326: 16(ivec4) Load 18(itexel)
328: 31(fvec2) Load 33(c2) 327: 16(ivec4) IAdd 326 325
329: 10(float) Load 36(lodClamp) Store 18(itexel) 327
330: 10(float) CompositeExtract 326 2 330: 6(int) Load 8(resident)
331: 10(float) ImageSampleDrefExplicitLod 325 326 330 Grad ConstOffset MinLod 327 328 292 329 332: 331(bool) ImageSparseTexelsResident 330
332: 80(ptr) AccessChain 13(texel) 294 SelectionMerge 335 None
333: 10(float) Load 332 BranchConditional 332 334 337
334: 10(float) FAdd 333 331 334: Label
335: 80(ptr) AccessChain 13(texel) 294 336: 11(fvec4) Load 13(texel)
Store 335 334 Store 333 336
336: 303 Load 305(is2DArray) Branch 335
337: 49(fvec3) Load 51(c3) 337: Label
338: 31(fvec2) Load 33(c2) 338: 16(ivec4) Load 18(itexel)
339: 31(fvec2) Load 33(c2) 339: 11(fvec4) ConvertSToF 338
340: 10(float) Load 36(lodClamp) 340: 21(ivec4) Load 23(utexel)
341: 16(ivec4) ImageSampleExplicitLod 336 337 Grad ConstOffset MinLod 338 339 310 340 341: 11(fvec4) ConvertUToF 340
342: 16(ivec4) Load 18(itexel) 342: 11(fvec4) FAdd 339 341
343: 16(ivec4) IAdd 342 341 Store 333 342
Store 18(itexel) 343 Branch 335
346: 6(int) Load 8(resident) 335: Label
348: 347(bool) ImageSparseTexelsResident 346 343: 11(fvec4) Load 333
SelectionMerge 351 None Store 329(outColor) 343
BranchConditional 348 350 353
350: Label
352: 11(fvec4) Load 13(texel)
Store 349 352
Branch 351
353: Label
354: 16(ivec4) Load 18(itexel)
355: 11(fvec4) ConvertSToF 354
356: 21(ivec4) Load 23(utexel)
357: 11(fvec4) ConvertUToF 356
358: 11(fvec4) FAdd 355 357
Store 349 358
Branch 351
351: Label
359: 11(fvec4) Load 349
Store 345(outColor) 359
Return Return
FunctionEnd FunctionEnd