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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
spv.ext.MissShader.rmiss
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 94
// Id's are bound by 92
Capability MinLod
Capability GroupNonUniform
@ -16,7 +16,7 @@ spv.ext.MissShader.rmiss
Extension "SPV_NV_shader_sm_builtins"
1: ExtInstImport "GLSL.std.450"
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
SourceExtension "GL_ARB_shader_ballot"
SourceExtension "GL_ARB_sparse_texture_clamp"
@ -48,8 +48,8 @@ spv.ext.MissShader.rmiss
Name 74 "texel"
Name 78 "s2D"
Name 82 "c2"
Name 89 "lodClamp"
Name 93 "localPayload"
Name 87 "lodClamp"
Name 91 "localPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 21(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
@ -71,7 +71,7 @@ spv.ext.MissShader.rmiss
Decorate 78(s2D) DescriptorSet 0
Decorate 78(s2D) Binding 1
Decorate 82(c2) Location 2
Decorate 89(lodClamp) Location 3
Decorate 87(lodClamp) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -124,12 +124,12 @@ spv.ext.MissShader.rmiss
80: TypeVector 16(float) 2
81: TypePointer Input 80(fvec2)
82(c2): 81(ptr) Variable Input
86: TypeVector 52(int) 2
87: 52(int) Constant 5
88: 86(ivec2) ConstantComposite 87 87
89(lodClamp): 28(ptr) Variable Input
92: TypePointer RayPayloadKHR 54(fvec4)
93(localPayload): 92(ptr) Variable RayPayloadKHR
84: TypeVector 52(int) 2
85: 52(int) Constant 5
86: 84(ivec2) ConstantComposite 85 85
87(lodClamp): 28(ptr) Variable Input
90: TypePointer RayPayloadKHR 54(fvec4)
91(localPayload): 90(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@ -169,10 +169,8 @@ spv.ext.MissShader.rmiss
Store 72 70
79: 76 Load 78(s2D)
83: 80(fvec2) Load 82(c2)
84: 80(fvec2) Load 82(c2)
85: 80(fvec2) Load 82(c2)
90: 16(float) Load 89(lodClamp)
91: 54(fvec4) ImageSampleExplicitLod 79 83 Grad ConstOffset MinLod 84 85 88 90
Store 74(texel) 91
88: 16(float) Load 87(lodClamp)
89: 54(fvec4) ImageSampleExplicitLod 79 83 Grad ConstOffset MinLod 83 83 86 88
Store 74(texel) 89
Return
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
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 25
// Id's are bound by 24
Capability Shader
1: ExtInstImport "GLSL.std.450"
@ -41,15 +41,14 @@ spv.invariantAll.vert
15: 14(int) Constant 0
16: TypePointer Output 6(float)
17(v): 16(ptr) Variable Output
20: 6(float) Constant 0
21: 6(float) Constant 1065353216
23: TypePointer Output 7(fvec4)
19: 6(float) Constant 0
20: 6(float) Constant 1065353216
22: TypePointer Output 7(fvec4)
4(main): 2 Function None 3
5: Label
18: 6(float) Load 17(v)
19: 6(float) Load 17(v)
22: 7(fvec4) CompositeConstruct 18 19 20 21
24: 23(ptr) AccessChain 13 15
Store 24 22
21: 7(fvec4) CompositeConstruct 18 18 19 20
23: 22(ptr) AccessChain 13 15
Store 23 21
Return
FunctionEnd

View File

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

View File

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

View File

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