{
if (type.getQualifier().isPipeInput())
return spv::StorageClassInput;
- else if (type.getQualifier().isPipeOutput())
+ if (type.getQualifier().isPipeOutput())
return spv::StorageClassOutput;
- else if (type.getBasicType() == glslang::EbtAtomicUint)
- return spv::StorageClassAtomicCounter;
- else if (type.containsOpaque())
- return spv::StorageClassUniformConstant;
- else if (glslangIntermediate->usingStorageBuffer() && type.getQualifier().storage == glslang::EvqBuffer) {
+
+ if (glslangIntermediate->getSource() != glslang::EShSourceHlsl ||
+ type.getQualifier().storage == glslang::EvqUniform) {
+ if (type.getBasicType() == glslang::EbtAtomicUint)
+ return spv::StorageClassAtomicCounter;
+ if (type.containsOpaque())
+ return spv::StorageClassUniformConstant;
+ }
+
+ if (glslangIntermediate->usingStorageBuffer() && type.getQualifier().storage == glslang::EvqBuffer) {
builder.addExtension(spv::E_SPV_KHR_storage_buffer_storage_class);
return spv::StorageClassStorageBuffer;
- } else if (type.getQualifier().isUniformOrBuffer()) {
+ }
+
+ if (type.getQualifier().isUniformOrBuffer()) {
if (type.getQualifier().layoutPushConstant)
return spv::StorageClassPushConstant;
if (type.getBasicType() == glslang::EbtBlock)
return spv::StorageClassUniform;
- else
- return spv::StorageClassUniformConstant;
- } else {
- switch (type.getQualifier().storage) {
- case glslang::EvqShared: return spv::StorageClassWorkgroup; break;
- case glslang::EvqGlobal: return spv::StorageClassPrivate;
- case glslang::EvqConstReadOnly: return spv::StorageClassFunction;
- case glslang::EvqTemporary: return spv::StorageClassFunction;
- default:
- assert(0);
- return spv::StorageClassFunction;
- }
+ return spv::StorageClassUniformConstant;
+ }
+
+ switch (type.getQualifier().storage) {
+ case glslang::EvqShared: return spv::StorageClassWorkgroup;
+ case glslang::EvqGlobal: return spv::StorageClassPrivate;
+ case glslang::EvqConstReadOnly: return spv::StorageClassFunction;
+ case glslang::EvqTemporary: return spv::StorageClassFunction;
+ default:
+ assert(0);
+ break;
}
+
+ return spv::StorageClassFunction;
}
// Return whether or not the given type is something that should be tied to a
bool implicitThis = (int)parameters.size() > 0 && parameters[0]->getAsSymbolNode()->getName() ==
glslangIntermediate->implicitThisName;
+ const auto canPassOriginal = [&](const glslang::TType& paramType, bool firstParam) -> bool {
+ if (glslangIntermediate->getSource() == glslang::EShSourceHlsl)
+ return firstParam && implicitThis;
+ else
+ return paramType.containsOpaque() || // sampler, etc.
+ (paramType.getBasicType() == glslang::EbtBlock &&
+ paramType.getQualifier().storage == glslang::EvqBuffer) || // SSBO
+ (firstParam && implicitThis); // implicit 'this'
+ };
+
paramDecorations.resize(parameters.size());
for (int p = 0; p < (int)parameters.size(); ++p) {
const glslang::TType& paramType = parameters[p]->getAsTyped()->getType();
spv::Id typeId = convertGlslangToSpvType(paramType);
- // can we pass by reference?
- if (paramType.containsOpaque() || // sampler, etc.
- (paramType.getBasicType() == glslang::EbtBlock &&
- paramType.getQualifier().storage == glslang::EvqBuffer) || // SSBO
- (p == 0 && implicitThis)) // implicit 'this'
+ if (canPassOriginal(paramType, p == 0))
typeId = builder.makePointer(TranslateStorageClass(paramType), typeId);
else if (paramType.getQualifier().storage != glslang::EvqConstReadOnly)
typeId = builder.makePointer(spv::StorageClassFunction, typeId);
const glslang::TIntermSequence& glslangArgs = node->getSequence();
const glslang::TQualifierList& qualifiers = node->getQualifierList();
- // Encapsulate lvalue logic, used in several places below, for safety.
- const auto isLValue = [](int qualifier, const glslang::TType& paramType) -> bool {
+ // Encapsulate lvalue logic, used in multiple places below, for safety.
+ const auto isLValue = [&](int qualifier, const glslang::TType& paramType) -> bool {
+ if (glslangIntermediate->getSource() == glslang::EShSourceHlsl)
+ return qualifier != glslang::EvqConstReadOnly;
return qualifier != glslang::EvqConstReadOnly || paramType.containsOpaque();
};
for (int a = 0; a < (int)glslangArgs.size(); ++a) {
const glslang::TType& paramType = glslangArgs[a]->getAsTyped()->getType();
spv::Id arg;
- if (paramType.containsOpaque() ||
- (paramType.getBasicType() == glslang::EbtBlock && qualifiers[a] == glslang::EvqBuffer) ||
- (a == 0 && function->hasImplicitThis())) {
+ if ((a == 0 && function->hasImplicitThis()) ||
+ (glslangIntermediate->getSource() != glslang::EShSourceHlsl &&
+ (paramType.containsOpaque() ||
+ (paramType.getBasicType() == glslang::EbtBlock && qualifiers[a] == glslang::EvqBuffer)))) {
builder.setAccessChain(lValues[lValueCount]);
arg = builder.accessChainGetLValue();
++lValueCount;
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 53
+// Id's are bound by 59
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 51
+ EntryPoint Fragment 4 "main" 57
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 16 "s.tex"
Name 20 "@main("
Name 35 "os.ss"
- Name 36 "gss2"
- Name 38 "gss"
- Name 40 "os.tex"
- Name 41 "gtex"
- Name 43 "os.a"
- Name 45 "param"
- Name 51 "@entryPointOutput"
- Decorate 36(gss2) DescriptorSet 0
- Decorate 38(gss) DescriptorSet 0
- Decorate 41(gtex) DescriptorSet 0
- Decorate 51(@entryPointOutput) Location 0
+ Name 37 "gss2"
+ Name 39 "gss"
+ Name 41 "os.tex"
+ Name 43 "gtex"
+ Name 45 "os.a"
+ Name 47 "param"
+ Name 49 "param"
+ Name 51 "param"
+ Name 57 "@entryPointOutput"
+ Decorate 37(gss2) DescriptorSet 0
+ Decorate 39(gss) DescriptorSet 0
+ Decorate 43(gtex) DescriptorSet 0
+ Decorate 57(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeSampler
- 7: TypePointer UniformConstant 6
+ 7: TypePointer Function 6
8: TypeFloat 32
9: TypePointer Function 8(float)
10: TypeImage 8(float) 2D sampled format:Unknown
- 11: TypePointer UniformConstant 10
+ 11: TypePointer Function 10
12: TypeVector 8(float) 4
13: TypeFunction 12(fvec4) 7(ptr) 9(ptr) 11(ptr)
19: TypeFunction 12(fvec4)
28: 8(float) Constant 1045220557
29: 8(float) Constant 1050253722
30: 27(fvec2) ConstantComposite 28 29
- 35(os.ss): 7(ptr) Variable UniformConstant
- 36(gss2): 7(ptr) Variable UniformConstant
- 38(gss): 7(ptr) Variable UniformConstant
- 40(os.tex): 11(ptr) Variable UniformConstant
- 41(gtex): 11(ptr) Variable UniformConstant
- 44: 8(float) Constant 1077936128
- 50: TypePointer Output 12(fvec4)
-51(@entryPointOutput): 50(ptr) Variable Output
+ 36: TypePointer UniformConstant 6
+ 37(gss2): 36(ptr) Variable UniformConstant
+ 39(gss): 36(ptr) Variable UniformConstant
+ 42: TypePointer UniformConstant 10
+ 43(gtex): 42(ptr) Variable UniformConstant
+ 46: 8(float) Constant 1077936128
+ 56: TypePointer Output 12(fvec4)
+57(@entryPointOutput): 56(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 52: 12(fvec4) FunctionCall 20(@main()
- Store 51(@entryPointOutput) 52
+ 58: 12(fvec4) FunctionCall 20(@main()
+ Store 57(@entryPointOutput) 58
Return
FunctionEnd
17(osCall(struct-OS-p1-f1-t211;): 12(fvec4) Function None 13
FunctionEnd
20(@main(): 12(fvec4) Function None 19
21: Label
- 43(os.a): 9(ptr) Variable Function
- 45(param): 9(ptr) Variable Function
- 37: 6 Load 36(gss2)
- Store 35(os.ss) 37
- 39: 6 Load 38(gss)
- Store 35(os.ss) 39
- 42: 10 Load 41(gtex)
- Store 40(os.tex) 42
- Store 43(os.a) 44
- 46: 8(float) Load 43(os.a)
- Store 45(param) 46
- 47: 12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 35(os.ss) 45(param) 40(os.tex)
- ReturnValue 47
+ 35(os.ss): 7(ptr) Variable Function
+ 41(os.tex): 11(ptr) Variable Function
+ 45(os.a): 9(ptr) Variable Function
+ 47(param): 7(ptr) Variable Function
+ 49(param): 9(ptr) Variable Function
+ 51(param): 11(ptr) Variable Function
+ 38: 6 Load 37(gss2)
+ Store 35(os.ss) 38
+ 40: 6 Load 39(gss)
+ Store 35(os.ss) 40
+ 44: 10 Load 43(gtex)
+ Store 41(os.tex) 44
+ Store 45(os.a) 46
+ 48: 6 Load 35(os.ss)
+ Store 47(param) 48
+ 50: 8(float) Load 45(os.a)
+ Store 49(param) 50
+ 52: 10 Load 41(os.tex)
+ Store 51(param) 52
+ 53: 12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 47(param) 49(param) 51(param)
+ ReturnValue 53
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 137
+// Id's are bound by 143
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 128
+ EntryPoint Fragment 4 "main" 134
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 34 "not_flattened_a"
Name 42 "g_tex[1]"
Name 45 "g_samp[1]"
- Name 61 "local_sampler_array"
- Name 63 "g_samp[0]"
- Name 68 "g_samp[2]"
- Name 71 "local_texture_array"
- Name 72 "g_tex[0]"
- Name 77 "g_tex[2]"
- Name 83 "local_float_array"
- Name 89 "$Global"
- MemberName 89($Global) 0 "g_mats"
- MemberName 89($Global) 1 "g_mats_explicit"
- MemberName 89($Global) 2 "g_floats"
- Name 91 ""
- Name 105 "aggShadow"
- Name 112 "aggShadow"
- Name 123 "ps_output"
- Name 124 "param"
- Name 128 "ps_output.color"
- Name 131 "g_tex_explicit[0]"
- Name 132 "g_tex_explicit[1]"
- Name 133 "g_tex_explicit[2]"
- Name 134 "g_samp_explicit[0]"
- Name 135 "g_samp_explicit[1]"
- Name 136 "g_samp_explicit[2]"
+ Name 63 "local_sampler_array"
+ Name 65 "g_samp[0]"
+ Name 70 "g_samp[2]"
+ Name 73 "local_texture_array"
+ Name 74 "g_tex[0]"
+ Name 79 "g_tex[2]"
+ Name 85 "local_float_array"
+ Name 91 "$Global"
+ MemberName 91($Global) 0 "g_mats"
+ MemberName 91($Global) 1 "g_mats_explicit"
+ MemberName 91($Global) 2 "g_floats"
+ Name 93 ""
+ Name 107 "aggShadow"
+ Name 114 "aggShadow"
+ Name 121 "param"
+ Name 123 "param"
+ Name 129 "ps_output"
+ Name 130 "param"
+ Name 134 "ps_output.color"
+ Name 137 "g_tex_explicit[0]"
+ Name 138 "g_tex_explicit[1]"
+ Name 139 "g_tex_explicit[2]"
+ Name 140 "g_samp_explicit[0]"
+ Name 141 "g_samp_explicit[1]"
+ Name 142 "g_samp_explicit[2]"
Decorate 42(g_tex[1]) DescriptorSet 0
Decorate 45(g_samp[1]) DescriptorSet 0
- Decorate 63(g_samp[0]) DescriptorSet 0
- Decorate 68(g_samp[2]) DescriptorSet 0
- Decorate 72(g_tex[0]) DescriptorSet 0
- Decorate 77(g_tex[2]) DescriptorSet 0
- Decorate 86 ArrayStride 48
- Decorate 87 ArrayStride 48
- Decorate 88 ArrayStride 16
- MemberDecorate 89($Global) 0 RowMajor
- MemberDecorate 89($Global) 0 Offset 0
- MemberDecorate 89($Global) 0 MatrixStride 16
- MemberDecorate 89($Global) 1 RowMajor
- MemberDecorate 89($Global) 1 Offset 192
- MemberDecorate 89($Global) 1 MatrixStride 16
- MemberDecorate 89($Global) 2 Offset 384
- Decorate 89($Global) Block
- Decorate 91 DescriptorSet 0
- Decorate 128(ps_output.color) Location 0
- Decorate 131(g_tex_explicit[0]) DescriptorSet 0
- Decorate 131(g_tex_explicit[0]) Binding 1
- Decorate 132(g_tex_explicit[1]) DescriptorSet 0
- Decorate 132(g_tex_explicit[1]) Binding 2
- Decorate 133(g_tex_explicit[2]) DescriptorSet 0
- Decorate 133(g_tex_explicit[2]) Binding 3
- Decorate 134(g_samp_explicit[0]) DescriptorSet 0
- Decorate 134(g_samp_explicit[0]) Binding 5
- Decorate 135(g_samp_explicit[1]) DescriptorSet 0
- Decorate 135(g_samp_explicit[1]) Binding 6
- Decorate 136(g_samp_explicit[2]) DescriptorSet 0
- Decorate 136(g_samp_explicit[2]) Binding 7
+ Decorate 65(g_samp[0]) DescriptorSet 0
+ Decorate 70(g_samp[2]) DescriptorSet 0
+ Decorate 74(g_tex[0]) DescriptorSet 0
+ Decorate 79(g_tex[2]) DescriptorSet 0
+ Decorate 88 ArrayStride 48
+ Decorate 89 ArrayStride 48
+ Decorate 90 ArrayStride 16
+ MemberDecorate 91($Global) 0 RowMajor
+ MemberDecorate 91($Global) 0 Offset 0
+ MemberDecorate 91($Global) 0 MatrixStride 16
+ MemberDecorate 91($Global) 1 RowMajor
+ MemberDecorate 91($Global) 1 Offset 192
+ MemberDecorate 91($Global) 1 MatrixStride 16
+ MemberDecorate 91($Global) 2 Offset 384
+ Decorate 91($Global) Block
+ Decorate 93 DescriptorSet 0
+ Decorate 134(ps_output.color) Location 0
+ Decorate 137(g_tex_explicit[0]) DescriptorSet 0
+ Decorate 137(g_tex_explicit[0]) Binding 1
+ Decorate 138(g_tex_explicit[1]) DescriptorSet 0
+ Decorate 138(g_tex_explicit[1]) Binding 2
+ Decorate 139(g_tex_explicit[2]) DescriptorSet 0
+ Decorate 139(g_tex_explicit[2]) Binding 3
+ Decorate 140(g_samp_explicit[0]) DescriptorSet 0
+ Decorate 140(g_samp_explicit[0]) Binding 5
+ Decorate 141(g_samp_explicit[1]) DescriptorSet 0
+ Decorate 141(g_samp_explicit[1]) Binding 6
+ Decorate 142(g_samp_explicit[2]) DescriptorSet 0
+ Decorate 142(g_samp_explicit[2]) Binding 7
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
12: TypeInt 32 0
13: 12(int) Constant 3
14: TypeArray 11 13
- 15: TypePointer UniformConstant 14
+ 15: TypePointer Function 14
16: TypeSampler
17: TypeArray 16 13
- 18: TypePointer UniformConstant 17
+ 18: TypePointer Function 17
19: TypeFunction 7(fvec4) 15(ptr) 18(ptr)
24(PS_OUTPUT): TypeStruct 7(fvec4)
25: TypePointer Function 24(PS_OUTPUT)
45(g_samp[1]): 44(ptr) Variable UniformConstant
47: TypeSampledImage 11
49: 6(float) Constant 1045220557
-61(local_sampler_array): 18(ptr) Variable UniformConstant
- 62: 30(int) Constant 0
- 63(g_samp[0]): 44(ptr) Variable UniformConstant
- 68(g_samp[2]): 44(ptr) Variable UniformConstant
-71(local_texture_array): 15(ptr) Variable UniformConstant
- 72(g_tex[0]): 41(ptr) Variable UniformConstant
- 77(g_tex[2]): 41(ptr) Variable UniformConstant
- 80: 12(int) Constant 4
- 81: TypeArray 6(float) 80
- 82: TypePointer Function 81
- 84: TypeVector 6(float) 3
- 85: TypeMatrix 84(fvec3) 3
- 86: TypeArray 85 80
- 87: TypeArray 85 80
- 88: TypeArray 6(float) 80
- 89($Global): TypeStruct 86 87 88
- 90: TypePointer Uniform 89($Global)
- 91: 90(ptr) Variable Uniform
- 92: TypePointer Uniform 88
- 96: TypePointer Function 6(float)
- 105(aggShadow): 15(ptr) Variable UniformConstant
- 112(aggShadow): 18(ptr) Variable UniformConstant
- 121: TypePointer Function 7(fvec4)
- 127: TypePointer Output 7(fvec4)
-128(ps_output.color): 127(ptr) Variable Output
-131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant
-132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant
-133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant
-134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant
-135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant
-136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant
+ 53: TypePointer Function 11
+ 56: TypePointer Function 16
+ 64: 30(int) Constant 0
+ 65(g_samp[0]): 44(ptr) Variable UniformConstant
+ 70(g_samp[2]): 44(ptr) Variable UniformConstant
+ 74(g_tex[0]): 41(ptr) Variable UniformConstant
+ 79(g_tex[2]): 41(ptr) Variable UniformConstant
+ 82: 12(int) Constant 4
+ 83: TypeArray 6(float) 82
+ 84: TypePointer Function 83
+ 86: TypeVector 6(float) 3
+ 87: TypeMatrix 86(fvec3) 3
+ 88: TypeArray 87 82
+ 89: TypeArray 87 82
+ 90: TypeArray 6(float) 82
+ 91($Global): TypeStruct 88 89 90
+ 92: TypePointer Uniform 91($Global)
+ 93: 92(ptr) Variable Uniform
+ 94: TypePointer Uniform 90
+ 98: TypePointer Function 6(float)
+ 127: TypePointer Function 7(fvec4)
+ 133: TypePointer Output 7(fvec4)
+134(ps_output.color): 133(ptr) Variable Output
+137(g_tex_explicit[0]): 41(ptr) Variable UniformConstant
+138(g_tex_explicit[1]): 41(ptr) Variable UniformConstant
+139(g_tex_explicit[2]): 41(ptr) Variable UniformConstant
+140(g_samp_explicit[0]): 44(ptr) Variable UniformConstant
+141(g_samp_explicit[1]): 44(ptr) Variable UniformConstant
+142(g_samp_explicit[2]): 44(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 123(ps_output): 25(ptr) Variable Function
- 124(param): 25(ptr) Variable Function
+ 129(ps_output): 25(ptr) Variable Function
+ 130(param): 25(ptr) Variable Function
Store 34(not_flattened_a) 40
- 125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param)
- 126:24(PS_OUTPUT) Load 124(param)
- Store 123(ps_output) 126
- 129: 121(ptr) AccessChain 123(ps_output) 62
- 130: 7(fvec4) Load 129
- Store 128(ps_output.color) 130
+ 131: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 130(param)
+ 132:24(PS_OUTPUT) Load 130(param)
+ Store 129(ps_output) 132
+ 135: 127(ptr) AccessChain 129(ps_output) 64
+ 136: 7(fvec4) Load 135
+ Store 134(ps_output.color) 136
Return
FunctionEnd
9(TestFn1(): 7(fvec4) Function None 8
20(l_tex): 15(ptr) FunctionParameter
21(l_samp): 18(ptr) FunctionParameter
23: Label
- 53: 41(ptr) AccessChain 20(l_tex) 36
- 54: 11 Load 53
- 55: 44(ptr) AccessChain 21(l_samp) 36
- 56: 16 Load 55
- 57: 47 SampledImage 54 56
- 58: 7(fvec4) ImageSampleImplicitLod 57 49
- ReturnValue 58
+ 54: 53(ptr) AccessChain 20(l_tex) 36
+ 55: 11 Load 54
+ 57: 56(ptr) AccessChain 21(l_samp) 36
+ 58: 16 Load 57
+ 59: 47 SampledImage 55 58
+ 60: 7(fvec4) ImageSampleImplicitLod 59 49
+ ReturnValue 60
FunctionEnd
28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26
27(ps_output): 25(ptr) FunctionParameter
29: Label
-83(local_float_array): 82(ptr) Variable Function
- 64: 16 Load 63(g_samp[0])
- 65: 44(ptr) AccessChain 61(local_sampler_array) 62
- Store 65 64
- 66: 16 Load 45(g_samp[1])
- 67: 44(ptr) AccessChain 61(local_sampler_array) 35
+63(local_sampler_array): 18(ptr) Variable Function
+73(local_texture_array): 15(ptr) Variable Function
+85(local_float_array): 84(ptr) Variable Function
+ 107(aggShadow): 15(ptr) Variable Function
+ 114(aggShadow): 18(ptr) Variable Function
+ 121(param): 15(ptr) Variable Function
+ 123(param): 18(ptr) Variable Function
+ 66: 16 Load 65(g_samp[0])
+ 67: 56(ptr) AccessChain 63(local_sampler_array) 64
Store 67 66
- 69: 16 Load 68(g_samp[2])
- 70: 44(ptr) AccessChain 61(local_sampler_array) 36
- Store 70 69
- 73: 11 Load 72(g_tex[0])
- 74: 41(ptr) AccessChain 71(local_texture_array) 62
- Store 74 73
- 75: 11 Load 42(g_tex[1])
- 76: 41(ptr) AccessChain 71(local_texture_array) 35
+ 68: 16 Load 45(g_samp[1])
+ 69: 56(ptr) AccessChain 63(local_sampler_array) 35
+ Store 69 68
+ 71: 16 Load 70(g_samp[2])
+ 72: 56(ptr) AccessChain 63(local_sampler_array) 36
+ Store 72 71
+ 75: 11 Load 74(g_tex[0])
+ 76: 53(ptr) AccessChain 73(local_texture_array) 64
Store 76 75
- 78: 11 Load 77(g_tex[2])
- 79: 41(ptr) AccessChain 71(local_texture_array) 36
- Store 79 78
- 93: 92(ptr) AccessChain 91 36
- 94: 88 Load 93
- 95: 6(float) CompositeExtract 94 0
- 97: 96(ptr) AccessChain 83(local_float_array) 62
- Store 97 95
- 98: 6(float) CompositeExtract 94 1
- 99: 96(ptr) AccessChain 83(local_float_array) 35
- Store 99 98
- 100: 6(float) CompositeExtract 94 2
- 101: 96(ptr) AccessChain 83(local_float_array) 36
+ 77: 11 Load 42(g_tex[1])
+ 78: 53(ptr) AccessChain 73(local_texture_array) 35
+ Store 78 77
+ 80: 11 Load 79(g_tex[2])
+ 81: 53(ptr) AccessChain 73(local_texture_array) 36
+ Store 81 80
+ 95: 94(ptr) AccessChain 93 36
+ 96: 90 Load 95
+ 97: 6(float) CompositeExtract 96 0
+ 99: 98(ptr) AccessChain 85(local_float_array) 64
+ Store 99 97
+ 100: 6(float) CompositeExtract 96 1
+ 101: 98(ptr) AccessChain 85(local_float_array) 35
Store 101 100
- 102: 6(float) CompositeExtract 94 3
- 103: 96(ptr) AccessChain 83(local_float_array) 37
+ 102: 6(float) CompositeExtract 96 2
+ 103: 98(ptr) AccessChain 85(local_float_array) 36
Store 103 102
- 104: 7(fvec4) FunctionCall 9(TestFn1()
- 106: 11 Load 72(g_tex[0])
- 107: 41(ptr) AccessChain 105(aggShadow) 62
- Store 107 106
- 108: 11 Load 42(g_tex[1])
- 109: 41(ptr) AccessChain 105(aggShadow) 35
+ 104: 6(float) CompositeExtract 96 3
+ 105: 98(ptr) AccessChain 85(local_float_array) 37
+ Store 105 104
+ 106: 7(fvec4) FunctionCall 9(TestFn1()
+ 108: 11 Load 74(g_tex[0])
+ 109: 53(ptr) AccessChain 107(aggShadow) 64
Store 109 108
- 110: 11 Load 77(g_tex[2])
- 111: 41(ptr) AccessChain 105(aggShadow) 36
+ 110: 11 Load 42(g_tex[1])
+ 111: 53(ptr) AccessChain 107(aggShadow) 35
Store 111 110
- 113: 16 Load 63(g_samp[0])
- 114: 44(ptr) AccessChain 112(aggShadow) 62
- Store 114 113
- 115: 16 Load 45(g_samp[1])
- 116: 44(ptr) AccessChain 112(aggShadow) 35
+ 112: 11 Load 79(g_tex[2])
+ 113: 53(ptr) AccessChain 107(aggShadow) 36
+ Store 113 112
+ 115: 16 Load 65(g_samp[0])
+ 116: 56(ptr) AccessChain 114(aggShadow) 64
Store 116 115
- 117: 16 Load 68(g_samp[2])
- 118: 44(ptr) AccessChain 112(aggShadow) 36
+ 117: 16 Load 45(g_samp[1])
+ 118: 56(ptr) AccessChain 114(aggShadow) 35
Store 118 117
- 119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow)
- 120: 7(fvec4) FAdd 104 119
- 122: 121(ptr) AccessChain 27(ps_output) 62
- Store 122 120
+ 119: 16 Load 70(g_samp[2])
+ 120: 56(ptr) AccessChain 114(aggShadow) 36
+ Store 120 119
+ 122: 14 Load 107(aggShadow)
+ Store 121(param) 122
+ 124: 17 Load 114(aggShadow)
+ Store 123(param) 124
+ 125: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 121(param) 123(param)
+ 126: 7(fvec4) FAdd 106 125
+ 128: 127(ptr) AccessChain 27(ps_output) 64
+ Store 128 126
Return
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 85
+// Id's are bound by 99
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 83
+ EntryPoint Fragment 4 "main" 97
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 30 "s.tex"
Name 31 "f2"
Name 35 "@main("
- Name 37 "tex"
- Name 68 "s.s2D"
- Name 70 "param"
- Name 73 "s2.s2D"
- Name 74 "s2.tex"
- Name 77 "param"
- Name 83 "@entryPointOutput"
- Decorate 37(tex) DescriptorSet 0
- Decorate 68(s.s2D) DescriptorSet 0
- Decorate 73(s2.s2D) DescriptorSet 0
- Decorate 74(s2.tex) DescriptorSet 0
- Decorate 83(@entryPointOutput) Location 0
+ Name 38 "tex"
+ Name 70 "s.s2D"
+ Name 71 "param"
+ Name 74 "param"
+ Name 76 "param"
+ Name 79 "s2.s2D"
+ Name 80 "s2.tex"
+ Name 81 "param"
+ Name 83 "param"
+ Name 87 "param"
+ Name 89 "param"
+ Name 91 "param"
+ Name 97 "@entryPointOutput"
+ Decorate 38(tex) DescriptorSet 0
+ Decorate 70(s.s2D) DescriptorSet 0
+ Decorate 79(s2.s2D) DescriptorSet 0
+ Decorate 80(s2.tex) DescriptorSet 0
+ Decorate 97(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeSampler
- 7: TypePointer UniformConstant 6
+ 7: TypePointer Function 6
8: TypeFloat 32
9: TypeVector 8(float) 4
10: TypeFunction 9(fvec4) 7(ptr)
15: TypePointer Function 14(fvec2)
16: TypeFunction 9(fvec4) 7(ptr) 15(ptr)
21: TypeImage 8(float) 2D sampled format:Unknown
- 22: TypePointer UniformConstant 21
+ 22: TypePointer Function 21
23: TypeFunction 9(fvec4) 7(ptr) 22(ptr)
28: TypeFunction 9(fvec4) 7(ptr) 22(ptr) 15(ptr)
34: TypeFunction 9(fvec4)
- 37(tex): 22(ptr) Variable UniformConstant
- 40: TypeSampledImage 21
- 42: 8(float) Constant 1045220557
- 43: 8(float) Constant 1050253722
- 44: 14(fvec2) ConstantComposite 42 43
- 68(s.s2D): 7(ptr) Variable UniformConstant
- 73(s2.s2D): 7(ptr) Variable UniformConstant
- 74(s2.tex): 22(ptr) Variable UniformConstant
- 82: TypePointer Output 9(fvec4)
-83(@entryPointOutput): 82(ptr) Variable Output
+ 37: TypePointer UniformConstant 21
+ 38(tex): 37(ptr) Variable UniformConstant
+ 41: TypeSampledImage 21
+ 43: 8(float) Constant 1045220557
+ 44: 8(float) Constant 1050253722
+ 45: 14(fvec2) ConstantComposite 43 44
+ 69: TypePointer UniformConstant 6
+ 70(s.s2D): 69(ptr) Variable UniformConstant
+ 79(s2.s2D): 69(ptr) Variable UniformConstant
+ 80(s2.tex): 37(ptr) Variable UniformConstant
+ 96: TypePointer Output 9(fvec4)
+97(@entryPointOutput): 96(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 84: 9(fvec4) FunctionCall 35(@main()
- Store 83(@entryPointOutput) 84
+ 98: 9(fvec4) FunctionCall 35(@main()
+ Store 97(@entryPointOutput) 98
Return
FunctionEnd
12(osCall1(struct-os-p11;): 9(fvec4) Function None 10
11(s.s2D): 7(ptr) FunctionParameter
13: Label
- 38: 21 Load 37(tex)
- 39: 6 Load 11(s.s2D)
- 41: 40 SampledImage 38 39
- 45: 9(fvec4) ImageSampleImplicitLod 41 44
- ReturnValue 45
+ 39: 21 Load 38(tex)
+ 40: 6 Load 11(s.s2D)
+ 42: 41 SampledImage 39 40
+ 46: 9(fvec4) ImageSampleImplicitLod 42 45
+ ReturnValue 46
FunctionEnd
19(osCall2(struct-os-p11;vf2;): 9(fvec4) Function None 16
17(s.s2D): 7(ptr) FunctionParameter
18(f2): 15(ptr) FunctionParameter
20: Label
- 48: 21 Load 37(tex)
- 49: 6 Load 17(s.s2D)
- 50: 40 SampledImage 48 49
- 51: 14(fvec2) Load 18(f2)
- 52: 9(fvec4) ImageSampleImplicitLod 50 51
- ReturnValue 52
+ 49: 21 Load 38(tex)
+ 50: 6 Load 17(s.s2D)
+ 51: 41 SampledImage 49 50
+ 52: 14(fvec2) Load 18(f2)
+ 53: 9(fvec4) ImageSampleImplicitLod 51 52
+ ReturnValue 53
FunctionEnd
26(os2Call1(struct-os2-p1-t211;): 9(fvec4) Function None 23
24(s.s2D): 7(ptr) FunctionParameter
25(s.tex): 22(ptr) FunctionParameter
27: Label
- 55: 21 Load 25(s.tex)
- 56: 6 Load 24(s.s2D)
- 57: 40 SampledImage 55 56
- 58: 9(fvec4) ImageSampleImplicitLod 57 44
- ReturnValue 58
+ 56: 21 Load 25(s.tex)
+ 57: 6 Load 24(s.s2D)
+ 58: 41 SampledImage 56 57
+ 59: 9(fvec4) ImageSampleImplicitLod 58 45
+ ReturnValue 59
FunctionEnd
32(os2Call2(struct-os2-p1-t211;vf2;): 9(fvec4) Function None 28
29(s.s2D): 7(ptr) FunctionParameter
30(s.tex): 22(ptr) FunctionParameter
31(f2): 15(ptr) FunctionParameter
33: Label
- 61: 21 Load 30(s.tex)
- 62: 6 Load 29(s.s2D)
- 63: 40 SampledImage 61 62
- 64: 14(fvec2) Load 31(f2)
- 65: 9(fvec4) ImageSampleImplicitLod 63 64
- ReturnValue 65
+ 62: 21 Load 30(s.tex)
+ 63: 6 Load 29(s.s2D)
+ 64: 41 SampledImage 62 63
+ 65: 14(fvec2) Load 31(f2)
+ 66: 9(fvec4) ImageSampleImplicitLod 64 65
+ ReturnValue 66
FunctionEnd
35(@main(): 9(fvec4) Function None 34
36: Label
- 70(param): 15(ptr) Variable Function
- 77(param): 15(ptr) Variable Function
- 69: 9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 68(s.s2D)
- Store 70(param) 44
- 71: 9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 68(s.s2D) 70(param)
- 72: 9(fvec4) FAdd 69 71
- 75: 9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 73(s2.s2D) 74(s2.tex)
- 76: 9(fvec4) FAdd 72 75
- Store 77(param) 44
- 78: 9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 73(s2.s2D) 74(s2.tex) 77(param)
- 79: 9(fvec4) FAdd 76 78
- ReturnValue 79
+ 71(param): 7(ptr) Variable Function
+ 74(param): 7(ptr) Variable Function
+ 76(param): 15(ptr) Variable Function
+ 81(param): 7(ptr) Variable Function
+ 83(param): 22(ptr) Variable Function
+ 87(param): 7(ptr) Variable Function
+ 89(param): 22(ptr) Variable Function
+ 91(param): 15(ptr) Variable Function
+ 72: 6 Load 70(s.s2D)
+ Store 71(param) 72
+ 73: 9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 71(param)
+ 75: 6 Load 70(s.s2D)
+ Store 74(param) 75
+ Store 76(param) 45
+ 77: 9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 74(param) 76(param)
+ 78: 9(fvec4) FAdd 73 77
+ 82: 6 Load 79(s2.s2D)
+ Store 81(param) 82
+ 84: 21 Load 80(s2.tex)
+ Store 83(param) 84
+ 85: 9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 81(param) 83(param)
+ 86: 9(fvec4) FAdd 78 85
+ 88: 6 Load 79(s2.s2D)
+ Store 87(param) 88
+ 90: 21 Load 80(s2.tex)
+ Store 89(param) 90
+ Store 91(param) 45
+ 92: 9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 87(param) 89(param) 91(param)
+ 93: 9(fvec4) FAdd 86 92
+ ReturnValue 93
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 74
+// Id's are bound by 80
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 72
+ EntryPoint Vertex 4 "main" 78
Source HLSL 500
Name 4 "main"
Name 15 "lookUp(struct-FxaaTex-p1-t211;"
Name 19 "fillOpaque("
Name 22 "@main("
Name 36 "t.smpl"
- Name 37 "g_tInputTexture_sampler"
- Name 39 "t.tex"
- Name 40 "g_tInputTexture"
- Name 43 "t"
- Name 47 "flattenTemp"
- Name 51 "tex1.smpl"
- Name 56 "tex1.tex"
- Name 60 "flattenTemp"
- Name 62 "tex2.smpl"
- Name 65 "tex2.tex"
- Name 72 "@entryPointOutput"
- Decorate 37(g_tInputTexture_sampler) DescriptorSet 0
- Decorate 40(g_tInputTexture) DescriptorSet 0
- Decorate 72(@entryPointOutput) Location 0
+ Name 38 "g_tInputTexture_sampler"
+ Name 40 "t.tex"
+ Name 42 "g_tInputTexture"
+ Name 45 "t"
+ Name 49 "flattenTemp"
+ Name 53 "tex1.smpl"
+ Name 58 "tex1.tex"
+ Name 62 "flattenTemp"
+ Name 64 "tex2.smpl"
+ Name 67 "tex2.tex"
+ Name 70 "param"
+ Name 72 "param"
+ Name 78 "@entryPointOutput"
+ Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
+ Decorate 42(g_tInputTexture) DescriptorSet 0
+ Decorate 78(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeSampler
- 7: TypePointer UniformConstant 6
+ 7: TypePointer Function 6
8: TypeFloat 32
9: TypeImage 8(float) 2D sampled format:Unknown
- 10: TypePointer UniformConstant 9
+ 10: TypePointer Function 9
11: TypeVector 8(float) 4
12: TypeFunction 11(fvec4) 7(ptr) 10(ptr)
17(FxaaTex): TypeStruct 6 9
30: 8(float) Constant 1053609165
31: 28(fvec2) ConstantComposite 29 30
32: 8(float) Constant 0
- 36(t.smpl): 7(ptr) Variable UniformConstant
-37(g_tInputTexture_sampler): 7(ptr) Variable UniformConstant
- 39(t.tex): 10(ptr) Variable UniformConstant
-40(g_tInputTexture): 10(ptr) Variable UniformConstant
- 42: TypePointer UniformConstant 17(FxaaTex)
- 43(t): 42(ptr) Variable UniformConstant
- 47(flattenTemp): 42(ptr) Variable UniformConstant
- 51(tex1.smpl): 7(ptr) Variable UniformConstant
- 52: TypeInt 32 1
- 53: 52(int) Constant 0
- 56(tex1.tex): 10(ptr) Variable UniformConstant
- 57: 52(int) Constant 1
- 60(flattenTemp): 42(ptr) Variable UniformConstant
- 62(tex2.smpl): 7(ptr) Variable UniformConstant
- 65(tex2.tex): 10(ptr) Variable UniformConstant
- 71: TypePointer Output 11(fvec4)
-72(@entryPointOutput): 71(ptr) Variable Output
+ 37: TypePointer UniformConstant 6
+38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant
+ 41: TypePointer UniformConstant 9
+42(g_tInputTexture): 41(ptr) Variable UniformConstant
+ 44: TypePointer Function 17(FxaaTex)
+ 54: TypeInt 32 1
+ 55: 54(int) Constant 0
+ 59: 54(int) Constant 1
+ 77: TypePointer Output 11(fvec4)
+78(@entryPointOutput): 77(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 73: 11(fvec4) FunctionCall 22(@main()
- Store 72(@entryPointOutput) 73
+ 79: 11(fvec4) FunctionCall 22(@main()
+ Store 78(@entryPointOutput) 79
Return
FunctionEnd
15(lookUp(struct-FxaaTex-p1-t211;): 11(fvec4) Function None 12
FunctionEnd
19(fillOpaque(): 17(FxaaTex) Function None 18
20: Label
- 38: 6 Load 37(g_tInputTexture_sampler)
- Store 36(t.smpl) 38
- 41: 9 Load 40(g_tInputTexture)
- Store 39(t.tex) 41
- 44: 17(FxaaTex) Load 43(t)
- ReturnValue 44
+ 36(t.smpl): 7(ptr) Variable Function
+ 40(t.tex): 10(ptr) Variable Function
+ 45(t): 44(ptr) Variable Function
+ 39: 6 Load 38(g_tInputTexture_sampler)
+ Store 36(t.smpl) 39
+ 43: 9 Load 42(g_tInputTexture)
+ Store 40(t.tex) 43
+ 46: 17(FxaaTex) Load 45(t)
+ ReturnValue 46
FunctionEnd
22(@main(): 11(fvec4) Function None 21
23: Label
- 48: 6 Load 37(g_tInputTexture_sampler)
- 49: 9 Load 40(g_tInputTexture)
- 50: 17(FxaaTex) CompositeConstruct 48 49
- Store 47(flattenTemp) 50
- 54: 7(ptr) AccessChain 47(flattenTemp) 53
- 55: 6 Load 54
- Store 51(tex1.smpl) 55
- 58: 10(ptr) AccessChain 47(flattenTemp) 57
- 59: 9 Load 58
- Store 56(tex1.tex) 59
- 61: 17(FxaaTex) FunctionCall 19(fillOpaque()
- Store 60(flattenTemp) 61
- 63: 7(ptr) AccessChain 60(flattenTemp) 53
- 64: 6 Load 63
- Store 62(tex2.smpl) 64
- 66: 10(ptr) AccessChain 60(flattenTemp) 57
- 67: 9 Load 66
- Store 65(tex2.tex) 67
- 68: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 51(tex1.smpl) 56(tex1.tex)
- ReturnValue 68
+ 49(flattenTemp): 44(ptr) Variable Function
+ 53(tex1.smpl): 7(ptr) Variable Function
+ 58(tex1.tex): 10(ptr) Variable Function
+ 62(flattenTemp): 44(ptr) Variable Function
+ 64(tex2.smpl): 7(ptr) Variable Function
+ 67(tex2.tex): 10(ptr) Variable Function
+ 70(param): 7(ptr) Variable Function
+ 72(param): 10(ptr) Variable Function
+ 50: 6 Load 38(g_tInputTexture_sampler)
+ 51: 9 Load 42(g_tInputTexture)
+ 52: 17(FxaaTex) CompositeConstruct 50 51
+ Store 49(flattenTemp) 52
+ 56: 7(ptr) AccessChain 49(flattenTemp) 55
+ 57: 6 Load 56
+ Store 53(tex1.smpl) 57
+ 60: 10(ptr) AccessChain 49(flattenTemp) 59
+ 61: 9 Load 60
+ Store 58(tex1.tex) 61
+ 63: 17(FxaaTex) FunctionCall 19(fillOpaque()
+ Store 62(flattenTemp) 63
+ 65: 7(ptr) AccessChain 62(flattenTemp) 55
+ 66: 6 Load 65
+ Store 64(tex2.smpl) 66
+ 68: 10(ptr) AccessChain 62(flattenTemp) 59
+ 69: 9 Load 68
+ Store 67(tex2.tex) 69
+ 71: 6 Load 53(tex1.smpl)
+ Store 70(param) 71
+ 73: 9 Load 58(tex1.tex)
+ Store 72(param) 73
+ 74: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 70(param) 72(param)
+ ReturnValue 74
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 65
+// Id's are bound by 70
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 63
+ EntryPoint Vertex 4 "main" 68
Source HLSL 500
Name 4 "main"
Name 17 "lookUp(struct-FxaaTex-p1-t21-f11;"
MemberName 34(FxaaTex) 1 "tex"
MemberName 34(FxaaTex) 2 "f"
Name 36 "flattenTemp"
- Name 37 "g_tInputTexture_sampler"
- Name 39 "g_tInputTexture"
- Name 43 "tex.smpl"
- Name 48 "tex.tex"
- Name 52 "tex.f"
- Name 57 "param"
- Name 63 "@entryPointOutput"
- Decorate 37(g_tInputTexture_sampler) DescriptorSet 0
- Decorate 39(g_tInputTexture) DescriptorSet 0
- Decorate 63(@entryPointOutput) Location 0
+ Name 38 "g_tInputTexture_sampler"
+ Name 41 "g_tInputTexture"
+ Name 45 "tex.smpl"
+ Name 50 "tex.tex"
+ Name 54 "tex.f"
+ Name 58 "param"
+ Name 60 "param"
+ Name 62 "param"
+ Name 68 "@entryPointOutput"
+ Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
+ Decorate 41(g_tInputTexture) DescriptorSet 0
+ Decorate 68(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeSampler
- 7: TypePointer UniformConstant 6
+ 7: TypePointer Function 6
8: TypeFloat 32
9: TypeImage 8(float) 2D sampled format:Unknown
- 10: TypePointer UniformConstant 9
+ 10: TypePointer Function 9
11: TypePointer Function 8(float)
12: TypeVector 8(float) 4
13: TypeFunction 12(fvec4) 7(ptr) 10(ptr) 11(ptr)
28: TypeVector 8(float) 2
30: 8(float) Constant 0
34(FxaaTex): TypeStruct 6 9 8(float)
- 35: TypePointer UniformConstant 34(FxaaTex)
- 36(flattenTemp): 35(ptr) Variable UniformConstant
-37(g_tInputTexture_sampler): 7(ptr) Variable UniformConstant
-39(g_tInputTexture): 10(ptr) Variable UniformConstant
- 41: 8(float) Constant 1056964608
- 43(tex.smpl): 7(ptr) Variable UniformConstant
- 44: TypeInt 32 1
- 45: 44(int) Constant 0
- 48(tex.tex): 10(ptr) Variable UniformConstant
- 49: 44(int) Constant 1
- 53: 44(int) Constant 2
- 54: TypePointer UniformConstant 8(float)
- 62: TypePointer Output 12(fvec4)
-63(@entryPointOutput): 62(ptr) Variable Output
+ 35: TypePointer Function 34(FxaaTex)
+ 37: TypePointer UniformConstant 6
+38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant
+ 40: TypePointer UniformConstant 9
+41(g_tInputTexture): 40(ptr) Variable UniformConstant
+ 43: 8(float) Constant 1056964608
+ 46: TypeInt 32 1
+ 47: 46(int) Constant 0
+ 51: 46(int) Constant 1
+ 55: 46(int) Constant 2
+ 67: TypePointer Output 12(fvec4)
+68(@entryPointOutput): 67(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 64: 12(fvec4) FunctionCall 20(@main()
- Store 63(@entryPointOutput) 64
+ 69: 12(fvec4) FunctionCall 20(@main()
+ Store 68(@entryPointOutput) 69
Return
FunctionEnd
17(lookUp(struct-FxaaTex-p1-t21-f11;): 12(fvec4) Function None 13
FunctionEnd
20(@main(): 12(fvec4) Function None 19
21: Label
- 52(tex.f): 11(ptr) Variable Function
- 57(param): 11(ptr) Variable Function
- 38: 6 Load 37(g_tInputTexture_sampler)
- 40: 9 Load 39(g_tInputTexture)
- 42: 34(FxaaTex) CompositeConstruct 38 40 41
- Store 36(flattenTemp) 42
- 46: 7(ptr) AccessChain 36(flattenTemp) 45
- 47: 6 Load 46
- Store 43(tex.smpl) 47
- 50: 10(ptr) AccessChain 36(flattenTemp) 49
- 51: 9 Load 50
- Store 48(tex.tex) 51
- 55: 54(ptr) AccessChain 36(flattenTemp) 53
- 56: 8(float) Load 55
- Store 52(tex.f) 56
- 58: 8(float) Load 52(tex.f)
- Store 57(param) 58
- 59: 12(fvec4) FunctionCall 17(lookUp(struct-FxaaTex-p1-t21-f11;) 43(tex.smpl) 48(tex.tex) 57(param)
- ReturnValue 59
+ 36(flattenTemp): 35(ptr) Variable Function
+ 45(tex.smpl): 7(ptr) Variable Function
+ 50(tex.tex): 10(ptr) Variable Function
+ 54(tex.f): 11(ptr) Variable Function
+ 58(param): 7(ptr) Variable Function
+ 60(param): 10(ptr) Variable Function
+ 62(param): 11(ptr) Variable Function
+ 39: 6 Load 38(g_tInputTexture_sampler)
+ 42: 9 Load 41(g_tInputTexture)
+ 44: 34(FxaaTex) CompositeConstruct 39 42 43
+ Store 36(flattenTemp) 44
+ 48: 7(ptr) AccessChain 36(flattenTemp) 47
+ 49: 6 Load 48
+ Store 45(tex.smpl) 49
+ 52: 10(ptr) AccessChain 36(flattenTemp) 51
+ 53: 9 Load 52
+ Store 50(tex.tex) 53
+ 56: 11(ptr) AccessChain 36(flattenTemp) 55
+ 57: 8(float) Load 56
+ Store 54(tex.f) 57
+ 59: 6 Load 45(tex.smpl)
+ Store 58(param) 59
+ 61: 9 Load 50(tex.tex)
+ Store 60(param) 61
+ 63: 8(float) Load 54(tex.f)
+ Store 62(param) 63
+ 64: 12(fvec4) FunctionCall 17(lookUp(struct-FxaaTex-p1-t21-f11;) 58(param) 60(param) 62(param)
+ ReturnValue 64
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 26
+// Id's are bound by 27
Capability Shader
1: ExtInstImport "GLSL.std.450"
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
- Name 14 "TexFunc(t21;vf3;"
- Name 12 "t2D"
- Name 13 "RGB"
- Name 16 "@main("
+ Name 13 "TexFunc(t21;vf3;"
+ Name 11 "t2D"
+ Name 12 "RGB"
+ Name 15 "@main("
Name 20 "MyTexture"
- Name 21 "final_RGB"
- Name 22 "param"
+ Name 22 "final_RGB"
+ Name 23 "param"
Decorate 20(MyTexture) DescriptorSet 0
Decorate 20(MyTexture) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 2D sampled format:Unknown
- 8: TypePointer UniformConstant 7
- 9: TypeVector 6(float) 3
- 10: TypePointer Function 9(fvec3)
- 11: TypeFunction 2 8(ptr) 10(ptr)
- 18: 6(float) Constant 0
- 19: 9(fvec3) ConstantComposite 18 18 18
- 20(MyTexture): 8(ptr) Variable UniformConstant
+ 8: TypeVector 6(float) 3
+ 9: TypePointer Function 8(fvec3)
+ 10: TypeFunction 2 7 9(ptr)
+ 17: 6(float) Constant 0
+ 18: 8(fvec3) ConstantComposite 17 17 17
+ 19: TypePointer UniformConstant 7
+ 20(MyTexture): 19(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 25: 2 FunctionCall 16(@main()
+ 26: 2 FunctionCall 15(@main()
Return
FunctionEnd
-14(TexFunc(t21;vf3;): 2 Function None 11
- 12(t2D): 8(ptr) FunctionParameter
- 13(RGB): 10(ptr) FunctionParameter
- 15: Label
- Store 13(RGB) 19
+13(TexFunc(t21;vf3;): 2 Function None 10
+ 11(t2D): 7 FunctionParameter
+ 12(RGB): 9(ptr) FunctionParameter
+ 14: Label
+ Store 12(RGB) 18
Return
FunctionEnd
- 16(@main(): 2 Function None 3
- 17: Label
- 21(final_RGB): 10(ptr) Variable Function
- 22(param): 10(ptr) Variable Function
- 23: 2 FunctionCall 14(TexFunc(t21;vf3;) 20(MyTexture) 22(param)
- 24: 9(fvec3) Load 22(param)
- Store 21(final_RGB) 24
+ 15(@main(): 2 Function None 3
+ 16: Label
+ 22(final_RGB): 9(ptr) Variable Function
+ 23(param): 9(ptr) Variable Function
+ 21: 7 Load 20(MyTexture)
+ 24: 2 FunctionCall 13(TexFunc(t21;vf3;) 21 23(param)
+ 25: 8(fvec3) Load 23(param)
+ Store 22(final_RGB) 25
Return
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 70
+// Id's are bound by 76
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 58 61
+ EntryPoint Fragment 4 "main" 64 67
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 18 "arg_c@count"
Name 25 "@main(u1;"
Name 24 "pos"
- Name 49 "sbuf_a"
- Name 50 "sbuf_a@count"
- Name 51 "sbuf_c"
- Name 52 "sbuf_c@count"
- Name 56 "pos"
- Name 58 "pos"
- Name 61 "@entryPointOutput"
- Name 62 "param"
- Name 65 "sbuf_a@count"
- MemberName 65(sbuf_a@count) 0 "@count"
- Name 67 "sbuf_a@count"
- Name 68 "sbuf_c@count"
- Name 69 "sbuf_unused"
+ Name 50 "sbuf_a"
+ Name 52 "sbuf_a@count"
+ Name 53 "sbuf_c"
+ Name 54 "sbuf_c@count"
+ Name 55 "param"
+ Name 56 "param"
+ Name 57 "param"
+ Name 58 "param"
+ Name 62 "pos"
+ Name 64 "pos"
+ Name 67 "@entryPointOutput"
+ Name 68 "param"
+ Name 71 "sbuf_a@count"
+ MemberName 71(sbuf_a@count) 0 "@count"
+ Name 73 "sbuf_a@count"
+ Name 74 "sbuf_c@count"
+ Name 75 "sbuf_unused"
Decorate 8 ArrayStride 16
MemberDecorate 9 0 Offset 0
Decorate 9 BufferBlock
Decorate 12 BufferBlock
- Decorate 49(sbuf_a) DescriptorSet 0
- Decorate 50(sbuf_a@count) DescriptorSet 0
- Decorate 51(sbuf_c) DescriptorSet 0
- Decorate 52(sbuf_c@count) DescriptorSet 0
- Decorate 58(pos) Flat
- Decorate 58(pos) Location 0
- Decorate 61(@entryPointOutput) Location 0
- MemberDecorate 65(sbuf_a@count) 0 Offset 0
- Decorate 65(sbuf_a@count) BufferBlock
- Decorate 67(sbuf_a@count) DescriptorSet 0
- Decorate 68(sbuf_c@count) DescriptorSet 0
- Decorate 69(sbuf_unused) DescriptorSet 0
+ Decorate 50(sbuf_a) DescriptorSet 0
+ Decorate 52(sbuf_a@count) DescriptorSet 0
+ Decorate 53(sbuf_c) DescriptorSet 0
+ Decorate 54(sbuf_c@count) DescriptorSet 0
+ Decorate 64(pos) Flat
+ Decorate 64(pos) Location 0
+ Decorate 67(@entryPointOutput) Location 0
+ MemberDecorate 71(sbuf_a@count) 0 Offset 0
+ Decorate 71(sbuf_a@count) BufferBlock
+ Decorate 73(sbuf_a@count) DescriptorSet 0
+ Decorate 74(sbuf_c@count) DescriptorSet 0
+ Decorate 75(sbuf_unused) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeRuntimeArray 7(fvec4)
9: TypeStruct 8
- 10: TypePointer Uniform 9(struct)
+ 10: TypePointer Function 9(struct)
11: TypeInt 32 1
12: TypeStruct 11(int)
- 13: TypePointer Uniform 12(struct)
+ 13: TypePointer Function 12(struct)
14: TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr)
21: TypeInt 32 0
22: TypePointer Function 21(int)
23: TypeFunction 7(fvec4) 22(ptr)
27: 11(int) Constant 0
- 28: TypePointer Uniform 11(int)
+ 28: TypePointer Function 11(int)
30: 11(int) Constant 1
31: 21(int) Constant 1
32: 21(int) Constant 0
36: 6(float) Constant 1077936128
37: 6(float) Constant 1082130432
38: 7(fvec4) ConstantComposite 34 35 36 37
- 39: TypePointer Uniform 7(fvec4)
+ 39: TypePointer Function 7(fvec4)
42: 11(int) Constant 4294967295
- 49(sbuf_a): 10(ptr) Variable Uniform
-50(sbuf_a@count): 13(ptr) Variable Uniform
- 51(sbuf_c): 10(ptr) Variable Uniform
-52(sbuf_c@count): 13(ptr) Variable Uniform
- 57: TypePointer Input 21(int)
- 58(pos): 57(ptr) Variable Input
- 60: TypePointer Output 7(fvec4)
-61(@entryPointOutput): 60(ptr) Variable Output
-65(sbuf_a@count): TypeStruct 11(int)
- 66: TypePointer Uniform 65(sbuf_a@count)
-67(sbuf_a@count): 66(ptr) Variable Uniform
-68(sbuf_c@count): 66(ptr) Variable Uniform
- 69(sbuf_unused): 10(ptr) Variable Uniform
+ 49: TypePointer Uniform 9(struct)
+ 50(sbuf_a): 49(ptr) Variable Uniform
+ 51: TypePointer Uniform 12(struct)
+52(sbuf_a@count): 51(ptr) Variable Uniform
+ 53(sbuf_c): 49(ptr) Variable Uniform
+54(sbuf_c@count): 51(ptr) Variable Uniform
+ 63: TypePointer Input 21(int)
+ 64(pos): 63(ptr) Variable Input
+ 66: TypePointer Output 7(fvec4)
+67(@entryPointOutput): 66(ptr) Variable Output
+71(sbuf_a@count): TypeStruct 11(int)
+ 72: TypePointer Uniform 71(sbuf_a@count)
+73(sbuf_a@count): 72(ptr) Variable Uniform
+74(sbuf_c@count): 72(ptr) Variable Uniform
+ 75(sbuf_unused): 49(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
- 56(pos): 22(ptr) Variable Function
- 62(param): 22(ptr) Variable Function
- 59: 21(int) Load 58(pos)
- Store 56(pos) 59
- 63: 21(int) Load 56(pos)
- Store 62(param) 63
- 64: 7(fvec4) FunctionCall 25(@main(u1;) 62(param)
- Store 61(@entryPointOutput) 64
+ 62(pos): 22(ptr) Variable Function
+ 68(param): 22(ptr) Variable Function
+ 65: 21(int) Load 64(pos)
+ Store 62(pos) 65
+ 69: 21(int) Load 62(pos)
+ Store 68(param) 69
+ 70: 7(fvec4) FunctionCall 25(@main(u1;) 68(param)
+ Store 67(@entryPointOutput) 70
Return
FunctionEnd
19(Fn2(block--vf4[0]1;block--vf4[0]1;): 7(fvec4) Function None 14
25(@main(u1;): 7(fvec4) Function None 23
24(pos): 22(ptr) FunctionParameter
26: Label
- 53: 7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 49(sbuf_a) 50(sbuf_a@count) 51(sbuf_c) 52(sbuf_c@count)
- ReturnValue 53
+ 55(param): 10(ptr) Variable Function
+ 56(param): 13(ptr) Variable Function
+ 57(param): 10(ptr) Variable Function
+ 58(param): 13(ptr) Variable Function
+ 59: 7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 55(param) 56(param) 57(param) 58(param)
+ ReturnValue 59
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 78
+// Id's are bound by 83
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 63 66
+ EntryPoint Fragment 4 "main" 68 71
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 35 "@main(u1;"
Name 34 "pos"
Name 47 "sbuf2"
- Name 48 "sbuf2@count"
- Name 50 "sbuf"
- Name 52 "param"
+ Name 49 "sbuf2@count"
+ Name 52 "sbuf"
Name 54 "param"
Name 55 "param"
- Name 61 "pos"
- Name 63 "pos"
- Name 66 "@entryPointOutput"
- Name 67 "param"
- Name 70 "sbuf2@count"
- MemberName 70(sbuf2@count) 0 "@count"
- Name 72 "sbuf2@count"
- Name 75 "sbuf3"
- MemberName 75(sbuf3) 0 "@data"
- Name 77 "sbuf3"
+ Name 57 "param"
+ Name 58 "param"
+ Name 59 "param"
+ Name 60 "param"
+ Name 66 "pos"
+ Name 68 "pos"
+ Name 71 "@entryPointOutput"
+ Name 72 "param"
+ Name 75 "sbuf2@count"
+ MemberName 75(sbuf2@count) 0 "@count"
+ Name 77 "sbuf2@count"
+ Name 80 "sbuf3"
+ MemberName 80(sbuf3) 0 "@data"
+ Name 82 "sbuf3"
Decorate 8 ArrayStride 16
MemberDecorate 9 0 NonWritable
MemberDecorate 9 0 Offset 0
Decorate 18 BufferBlock
Decorate 21 BufferBlock
Decorate 47(sbuf2) DescriptorSet 0
- Decorate 48(sbuf2@count) DescriptorSet 0
- Decorate 50(sbuf) DescriptorSet 0
- Decorate 50(sbuf) Binding 10
- Decorate 63(pos) Flat
- Decorate 63(pos) Location 0
- Decorate 66(@entryPointOutput) Location 0
- MemberDecorate 70(sbuf2@count) 0 Offset 0
- Decorate 70(sbuf2@count) BufferBlock
- Decorate 72(sbuf2@count) DescriptorSet 0
- Decorate 74 ArrayStride 16
- MemberDecorate 75(sbuf3) 0 NonWritable
- MemberDecorate 75(sbuf3) 0 Offset 0
- Decorate 75(sbuf3) BufferBlock
- Decorate 77(sbuf3) DescriptorSet 0
- Decorate 77(sbuf3) Binding 12
+ Decorate 49(sbuf2@count) DescriptorSet 0
+ Decorate 52(sbuf) DescriptorSet 0
+ Decorate 52(sbuf) Binding 10
+ Decorate 68(pos) Flat
+ Decorate 68(pos) Location 0
+ Decorate 71(@entryPointOutput) Location 0
+ MemberDecorate 75(sbuf2@count) 0 Offset 0
+ Decorate 75(sbuf2@count) BufferBlock
+ Decorate 77(sbuf2@count) DescriptorSet 0
+ Decorate 79 ArrayStride 16
+ MemberDecorate 80(sbuf3) 0 NonWritable
+ MemberDecorate 80(sbuf3) 0 Offset 0
+ Decorate 80(sbuf3) BufferBlock
+ Decorate 82(sbuf3) DescriptorSet 0
+ Decorate 82(sbuf3) Binding 12
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 4
8: TypeRuntimeArray 7(ivec4)
9: TypeStruct 8
- 10: TypePointer Uniform 9(struct)
+ 10: TypePointer Function 9(struct)
11: TypePointer Function 6(int)
12: TypeFunction 7(ivec4) 10(ptr) 11(ptr)
17: TypeRuntimeArray 7(ivec4)
18: TypeStruct 17
- 19: TypePointer Uniform 18(struct)
+ 19: TypePointer Function 18(struct)
20: TypeInt 32 1
21: TypeStruct 20(int)
- 22: TypePointer Uniform 21(struct)
+ 22: TypePointer Function 21(struct)
23: TypePointer Function 7(ivec4)
24: TypeFunction 2 19(ptr) 22(ptr) 11(ptr) 23(ptr)
31: TypeFloat 32
32: TypeVector 31(float) 4
33: TypeFunction 32(fvec4) 11(ptr)
37: 20(int) Constant 0
- 39: TypePointer Uniform 7(ivec4)
- 47(sbuf2): 19(ptr) Variable Uniform
- 48(sbuf2@count): 22(ptr) Variable Uniform
- 49: 6(int) Constant 2
- 50(sbuf): 10(ptr) Variable Uniform
- 51: 6(int) Constant 3
- 57: 31(float) Constant 0
- 58: 32(fvec4) ConstantComposite 57 57 57 57
- 62: TypePointer Input 6(int)
- 63(pos): 62(ptr) Variable Input
- 65: TypePointer Output 32(fvec4)
-66(@entryPointOutput): 65(ptr) Variable Output
- 70(sbuf2@count): TypeStruct 20(int)
- 71: TypePointer Uniform 70(sbuf2@count)
- 72(sbuf2@count): 71(ptr) Variable Uniform
- 73: TypeVector 6(int) 3
- 74: TypeRuntimeArray 73(ivec3)
- 75(sbuf3): TypeStruct 74
- 76: TypePointer Uniform 75(sbuf3)
- 77(sbuf3): 76(ptr) Variable Uniform
+ 46: TypePointer Uniform 18(struct)
+ 47(sbuf2): 46(ptr) Variable Uniform
+ 48: TypePointer Uniform 21(struct)
+ 49(sbuf2@count): 48(ptr) Variable Uniform
+ 50: 6(int) Constant 2
+ 51: TypePointer Uniform 9(struct)
+ 52(sbuf): 51(ptr) Variable Uniform
+ 53: 6(int) Constant 3
+ 62: 31(float) Constant 0
+ 63: 32(fvec4) ConstantComposite 62 62 62 62
+ 67: TypePointer Input 6(int)
+ 68(pos): 67(ptr) Variable Input
+ 70: TypePointer Output 32(fvec4)
+71(@entryPointOutput): 70(ptr) Variable Output
+ 75(sbuf2@count): TypeStruct 20(int)
+ 76: TypePointer Uniform 75(sbuf2@count)
+ 77(sbuf2@count): 76(ptr) Variable Uniform
+ 78: TypeVector 6(int) 3
+ 79: TypeRuntimeArray 78(ivec3)
+ 80(sbuf3): TypeStruct 79
+ 81: TypePointer Uniform 80(sbuf3)
+ 82(sbuf3): 81(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
- 61(pos): 11(ptr) Variable Function
- 67(param): 11(ptr) Variable Function
- 64: 6(int) Load 63(pos)
- Store 61(pos) 64
- 68: 6(int) Load 61(pos)
- Store 67(param) 68
- 69: 32(fvec4) FunctionCall 35(@main(u1;) 67(param)
- Store 66(@entryPointOutput) 69
+ 66(pos): 11(ptr) Variable Function
+ 72(param): 11(ptr) Variable Function
+ 69: 6(int) Load 68(pos)
+ Store 66(pos) 69
+ 73: 6(int) Load 66(pos)
+ Store 72(param) 73
+ 74: 32(fvec4) FunctionCall 35(@main(u1;) 72(param)
+ Store 71(@entryPointOutput) 74
Return
FunctionEnd
15(get(block--vu4[0]1;u1;): 7(ivec4) Function None 12
14(bufferOffset): 11(ptr) FunctionParameter
16: Label
38: 6(int) Load 14(bufferOffset)
- 40: 39(ptr) AccessChain 13(sb) 37 38
- 41: 7(ivec4) Load 40
- ReturnValue 41
+ 39: 23(ptr) AccessChain 13(sb) 37 38
+ 40: 7(ivec4) Load 39
+ ReturnValue 40
FunctionEnd
29(set(block--vu4[0]1;u1;vu4;): 2 Function None 24
25(sb): 19(ptr) FunctionParameter
27(bufferOffset): 11(ptr) FunctionParameter
28(data): 23(ptr) FunctionParameter
30: Label
- 44: 6(int) Load 27(bufferOffset)
- 45: 7(ivec4) Load 28(data)
- 46: 39(ptr) AccessChain 25(sb) 37 44
- Store 46 45
+ 43: 6(int) Load 27(bufferOffset)
+ 44: 7(ivec4) Load 28(data)
+ 45: 23(ptr) AccessChain 25(sb) 37 43
+ Store 45 44
Return
FunctionEnd
35(@main(u1;): 32(fvec4) Function None 33
34(pos): 11(ptr) FunctionParameter
36: Label
- 52(param): 11(ptr) Variable Function
- 54(param): 11(ptr) Variable Function
- 55(param): 23(ptr) Variable Function
- Store 52(param) 51
- 53: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 50(sbuf) 52(param)
- Store 54(param) 49
+ 54(param): 10(ptr) Variable Function
+ 55(param): 11(ptr) Variable Function
+ 57(param): 19(ptr) Variable Function
+ 58(param): 22(ptr) Variable Function
+ 59(param): 11(ptr) Variable Function
+ 60(param): 23(ptr) Variable Function
Store 55(param) 53
- 56: 2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 47(sbuf2) 48(sbuf2@count) 54(param) 55(param)
- ReturnValue 58
+ 56: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 54(param) 55(param)
+ Store 59(param) 50
+ Store 60(param) 56
+ 61: 2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 57(param) 58(param) 59(param) 60(param)
+ ReturnValue 63
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 61
+// Id's are bound by 62
Capability Shader
Capability ImageBuffer
Capability StorageImageExtendedFormats
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "main" 56
+ EntryPoint GLCompute 4 "main" 57
ExecutionMode 4 LocalSize 256 1 1
Source HLSL 500
Name 4 "main"
Name 18 "dispatchId"
Name 22 "result"
Name 25 "byteAddrTemp"
- Name 43 "result"
+ Name 42 "result"
Name 44 "g_input"
Name 45 "param"
- Name 50 "g_output"
- Name 54 "dispatchId"
- Name 56 "dispatchId"
- Name 58 "param"
+ Name 47 "param"
+ Name 51 "g_output"
+ Name 55 "dispatchId"
+ Name 57 "dispatchId"
+ Name 59 "param"
Decorate 8 ArrayStride 4
MemberDecorate 9 0 NonWritable
MemberDecorate 9 0 Offset 0
Decorate 14(buffer) NonWritable
Decorate 44(g_input) DescriptorSet 0
Decorate 44(g_input) Binding 0
- Decorate 50(g_output) DescriptorSet 0
- Decorate 50(g_output) Binding 1
- Decorate 56(dispatchId) BuiltIn GlobalInvocationId
+ Decorate 51(g_output) DescriptorSet 0
+ Decorate 51(g_output) Binding 1
+ Decorate 57(dispatchId) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
8: TypeRuntimeArray 6(int)
9: TypeStruct 8
- 10: TypePointer Uniform 9(struct)
+ 10: TypePointer Function 9(struct)
11: TypeVector 6(int) 2
12: TypeFunction 11(ivec2) 7(ptr) 10(ptr)
17: TypeFunction 2 7(ptr)
24: TypePointer Function 23(int)
27: 23(int) Constant 2
29: 23(int) Constant 0
- 31: TypePointer Uniform 6(int)
- 35: 23(int) Constant 1
- 44(g_input): 10(ptr) Variable Uniform
- 48: TypeImage 6(int) Buffer nonsampled format:Rg32ui
- 49: TypePointer UniformConstant 48
- 50(g_output): 49(ptr) Variable UniformConstant
- 55: TypePointer Input 6(int)
- 56(dispatchId): 55(ptr) Variable Input
+ 34: 23(int) Constant 1
+ 43: TypePointer Uniform 9(struct)
+ 44(g_input): 43(ptr) Variable Uniform
+ 49: TypeImage 6(int) Buffer nonsampled format:Rg32ui
+ 50: TypePointer UniformConstant 49
+ 51(g_output): 50(ptr) Variable UniformConstant
+ 56: TypePointer Input 6(int)
+ 57(dispatchId): 56(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 54(dispatchId): 7(ptr) Variable Function
- 58(param): 7(ptr) Variable Function
- 57: 6(int) Load 56(dispatchId)
- Store 54(dispatchId) 57
- 59: 6(int) Load 54(dispatchId)
- Store 58(param) 59
- 60: 2 FunctionCall 19(@main(u1;) 58(param)
+ 55(dispatchId): 7(ptr) Variable Function
+ 59(param): 7(ptr) Variable Function
+ 58: 6(int) Load 57(dispatchId)
+ Store 55(dispatchId) 58
+ 60: 6(int) Load 55(dispatchId)
+ Store 59(param) 60
+ 61: 2 FunctionCall 19(@main(u1;) 59(param)
Return
FunctionEnd
15(testLoad(u1;block--u1[0]1;): 11(ivec2) Function None 12
28: 23(int) ShiftRightLogical 26 27
Store 25(byteAddrTemp) 28
30: 23(int) Load 25(byteAddrTemp)
- 32: 31(ptr) AccessChain 14(buffer) 29 30
- 33: 6(int) Load 32
- 34: 23(int) Load 25(byteAddrTemp)
- 36: 23(int) IAdd 34 35
- 37: 31(ptr) AccessChain 14(buffer) 29 36
- 38: 6(int) Load 37
- 39: 11(ivec2) CompositeConstruct 33 38
- Store 22(result) 39
- 40: 11(ivec2) Load 22(result)
- ReturnValue 40
+ 31: 7(ptr) AccessChain 14(buffer) 29 30
+ 32: 6(int) Load 31
+ 33: 23(int) Load 25(byteAddrTemp)
+ 35: 23(int) IAdd 33 34
+ 36: 7(ptr) AccessChain 14(buffer) 29 35
+ 37: 6(int) Load 36
+ 38: 11(ivec2) CompositeConstruct 32 37
+ Store 22(result) 38
+ 39: 11(ivec2) Load 22(result)
+ ReturnValue 39
FunctionEnd
19(@main(u1;): 2 Function None 17
18(dispatchId): 7(ptr) FunctionParameter
20: Label
- 43(result): 21(ptr) Variable Function
+ 42(result): 21(ptr) Variable Function
45(param): 7(ptr) Variable Function
+ 47(param): 10(ptr) Variable Function
46: 6(int) Load 18(dispatchId)
Store 45(param) 46
- 47: 11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 44(g_input)
- Store 43(result) 47
- 51: 48 Load 50(g_output)
- 52: 6(int) Load 18(dispatchId)
- 53: 11(ivec2) Load 43(result)
- ImageWrite 51 52 53
+ 48: 11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 47(param)
+ Store 42(result) 48
+ 52: 49 Load 51(g_output)
+ 53: 6(int) Load 18(dispatchId)
+ 54: 11(ivec2) Load 42(result)
+ ImageWrite 52 53 54
Return
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 233
+// Id's are bound by 240
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 231
+ EntryPoint Fragment 4 "main" 238
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 71 "@sampleStructTemp"
Name 87 "s1"
Name 88 "@sampleResultShadow"
- Name 89 "g_tTex2s1"
- Name 97 "@sampleStructTemp"
- Name 111 "s2"
- Name 112 "@sampleResultShadow"
- Name 113 "g_tTex2s2"
- Name 121 "@sampleStructTemp"
- Name 135 "s3_t"
- MemberName 135(s3_t) 0 "c0"
- MemberName 135(s3_t) 1 "c1"
- Name 137 "s3"
- Name 138 "@sampleResultShadow"
- Name 139 "g_tTex2s3"
- Name 147 "@sampleStructTemp"
- Name 159 "s4_t"
- MemberName 159(s4_t) 0 "c0"
- MemberName 159(s4_t) 1 "c1"
- MemberName 159(s4_t) 2 "c2"
- Name 161 "s4"
- Name 164 "@sampleResultShadow"
- Name 167 "g_tTex2s4"
- Name 176 "@sampleStructTemp"
- Name 193 "s5_t"
- MemberName 193(s5_t) 0 "c0"
- MemberName 193(s5_t) 1 "c1"
- Name 195 "s5"
- Name 198 "@sampleResultShadow"
- Name 201 "g_tTex2s5"
- Name 210 "@sampleStructTemp"
- Name 219 "r0"
- Name 221 "r1"
- Name 223 "r2"
- Name 224 "g_tTex2s1a"
- Name 231 "@entryPointOutput"
+ Name 90 "g_tTex2s1"
+ Name 98 "@sampleStructTemp"
+ Name 112 "s2"
+ Name 113 "@sampleResultShadow"
+ Name 114 "g_tTex2s2"
+ Name 122 "@sampleStructTemp"
+ Name 136 "s3_t"
+ MemberName 136(s3_t) 0 "c0"
+ MemberName 136(s3_t) 1 "c1"
+ Name 138 "s3"
+ Name 139 "@sampleResultShadow"
+ Name 140 "g_tTex2s3"
+ Name 148 "@sampleStructTemp"
+ Name 160 "s4_t"
+ MemberName 160(s4_t) 0 "c0"
+ MemberName 160(s4_t) 1 "c1"
+ MemberName 160(s4_t) 2 "c2"
+ Name 162 "s4"
+ Name 165 "@sampleResultShadow"
+ Name 168 "g_tTex2s4"
+ Name 177 "@sampleStructTemp"
+ Name 194 "s5_t"
+ MemberName 194(s5_t) 0 "c0"
+ MemberName 194(s5_t) 1 "c1"
+ Name 196 "s5"
+ Name 199 "@sampleResultShadow"
+ Name 202 "g_tTex2s5"
+ Name 211 "@sampleStructTemp"
+ Name 220 "r0"
+ Name 221 "param"
+ Name 224 "r1"
+ Name 225 "param"
+ Name 228 "r2"
+ Name 229 "g_tTex2s1a"
+ Name 230 "param"
+ Name 238 "@entryPointOutput"
Decorate 30(g_sSamp) DescriptorSet 0
- Decorate 89(g_tTex2s1) DescriptorSet 0
- Decorate 113(g_tTex2s2) DescriptorSet 0
- Decorate 139(g_tTex2s3) DescriptorSet 0
- Decorate 167(g_tTex2s4) DescriptorSet 0
- Decorate 201(g_tTex2s5) DescriptorSet 0
- Decorate 224(g_tTex2s1a) DescriptorSet 0
- Decorate 231(@entryPointOutput) Location 0
+ Decorate 90(g_tTex2s1) DescriptorSet 0
+ Decorate 114(g_tTex2s2) DescriptorSet 0
+ Decorate 140(g_tTex2s3) DescriptorSet 0
+ Decorate 168(g_tTex2s4) DescriptorSet 0
+ Decorate 202(g_tTex2s5) DescriptorSet 0
+ Decorate 229(g_tTex2s1a) DescriptorSet 0
+ Decorate 238(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 2D sampled format:Unknown
- 8: TypePointer UniformConstant 7
+ 8: TypePointer Function 7
9: TypeVector 6(float) 2
10(s1_t): TypeStruct 6(float) 9(fvec2) 6(float)
11: TypeFunction 10(s1_t) 8(ptr)
57: 40(int) Constant 2
58: 42(int) Constant 3
70: TypePointer Function 16(s2_t)
- 89(g_tTex2s1): 8(ptr) Variable UniformConstant
- 93: 6(float) Constant 1036831949
- 94: 6(float) Constant 1038174126
- 95: 9(fvec2) ConstantComposite 93 94
- 113(g_tTex2s2): 8(ptr) Variable UniformConstant
- 117: 6(float) Constant 1045220557
- 118: 6(float) Constant 1045891645
- 119: 9(fvec2) ConstantComposite 117 118
- 135(s3_t): TypeStruct 9(fvec2) 6(float)
- 136: TypePointer Function 135(s3_t)
- 139(g_tTex2s3): 8(ptr) Variable UniformConstant
- 143: 6(float) Constant 1050253722
- 144: 6(float) Constant 1050589266
- 145: 9(fvec2) ConstantComposite 143 144
- 158: TypeVector 40(int) 2
- 159(s4_t): TypeStruct 40(int) 158(ivec2) 40(int)
- 160: TypePointer Function 159(s4_t)
- 162: TypeVector 40(int) 4
- 163: TypePointer Function 162(ivec4)
- 165: TypeImage 40(int) 2D sampled format:Unknown
- 166: TypePointer UniformConstant 165
- 167(g_tTex2s4): 166(ptr) Variable UniformConstant
- 170: TypeSampledImage 165
- 172: 6(float) Constant 1053609165
- 173: 6(float) Constant 1053944709
- 174: 9(fvec2) ConstantComposite 172 173
- 177: TypePointer Function 40(int)
- 193(s5_t): TypeStruct 42(int) 42(int)
- 194: TypePointer Function 193(s5_t)
- 196: TypeVector 42(int) 4
- 197: TypePointer Function 196(ivec4)
- 199: TypeImage 42(int) 2D sampled format:Unknown
- 200: TypePointer UniformConstant 199
- 201(g_tTex2s5): 200(ptr) Variable UniformConstant
- 204: TypeSampledImage 199
- 206: 6(float) Constant 1056964608
- 207: 6(float) Constant 1057132380
- 208: 9(fvec2) ConstantComposite 206 207
- 211: TypePointer Function 42(int)
- 224(g_tTex2s1a): 8(ptr) Variable UniformConstant
- 226: 6(float) Constant 0
- 227: 21(fvec4) ConstantComposite 226 226 226 226
- 230: TypePointer Output 21(fvec4)
-231(@entryPointOutput): 230(ptr) Variable Output
+ 89: TypePointer UniformConstant 7
+ 90(g_tTex2s1): 89(ptr) Variable UniformConstant
+ 94: 6(float) Constant 1036831949
+ 95: 6(float) Constant 1038174126
+ 96: 9(fvec2) ConstantComposite 94 95
+ 114(g_tTex2s2): 89(ptr) Variable UniformConstant
+ 118: 6(float) Constant 1045220557
+ 119: 6(float) Constant 1045891645
+ 120: 9(fvec2) ConstantComposite 118 119
+ 136(s3_t): TypeStruct 9(fvec2) 6(float)
+ 137: TypePointer Function 136(s3_t)
+ 140(g_tTex2s3): 89(ptr) Variable UniformConstant
+ 144: 6(float) Constant 1050253722
+ 145: 6(float) Constant 1050589266
+ 146: 9(fvec2) ConstantComposite 144 145
+ 159: TypeVector 40(int) 2
+ 160(s4_t): TypeStruct 40(int) 159(ivec2) 40(int)
+ 161: TypePointer Function 160(s4_t)
+ 163: TypeVector 40(int) 4
+ 164: TypePointer Function 163(ivec4)
+ 166: TypeImage 40(int) 2D sampled format:Unknown
+ 167: TypePointer UniformConstant 166
+ 168(g_tTex2s4): 167(ptr) Variable UniformConstant
+ 171: TypeSampledImage 166
+ 173: 6(float) Constant 1053609165
+ 174: 6(float) Constant 1053944709
+ 175: 9(fvec2) ConstantComposite 173 174
+ 178: TypePointer Function 40(int)
+ 194(s5_t): TypeStruct 42(int) 42(int)
+ 195: TypePointer Function 194(s5_t)
+ 197: TypeVector 42(int) 4
+ 198: TypePointer Function 197(ivec4)
+ 200: TypeImage 42(int) 2D sampled format:Unknown
+ 201: TypePointer UniformConstant 200
+ 202(g_tTex2s5): 201(ptr) Variable UniformConstant
+ 205: TypeSampledImage 200
+ 207: 6(float) Constant 1056964608
+ 208: 6(float) Constant 1057132380
+ 209: 9(fvec2) ConstantComposite 207 208
+ 212: TypePointer Function 42(int)
+ 229(g_tTex2s1a): 89(ptr) Variable UniformConstant
+ 233: 6(float) Constant 0
+ 234: 21(fvec4) ConstantComposite 233 233 233 233
+ 237: TypePointer Output 21(fvec4)
+238(@entryPointOutput): 237(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 232: 21(fvec4) FunctionCall 23(@main()
- Store 231(@entryPointOutput) 232
+ 239: 21(fvec4) FunctionCall 23(@main()
+ Store 238(@entryPointOutput) 239
Return
FunctionEnd
13(fn1(t2-tx-struct0-1;): 10(s1_t) Function None 11
24: Label
87(s1): 38(ptr) Variable Function
88(@sampleResultShadow): 25(ptr) Variable Function
-97(@sampleStructTemp): 38(ptr) Variable Function
- 111(s2): 70(ptr) Variable Function
-112(@sampleResultShadow): 25(ptr) Variable Function
-121(@sampleStructTemp): 70(ptr) Variable Function
- 137(s3): 136(ptr) Variable Function
-138(@sampleResultShadow): 25(ptr) Variable Function
-147(@sampleStructTemp): 136(ptr) Variable Function
- 161(s4): 160(ptr) Variable Function
-164(@sampleResultShadow): 163(ptr) Variable Function
-176(@sampleStructTemp): 160(ptr) Variable Function
- 195(s5): 194(ptr) Variable Function
-198(@sampleResultShadow): 197(ptr) Variable Function
-210(@sampleStructTemp): 194(ptr) Variable Function
- 219(r0): 38(ptr) Variable Function
- 221(r1): 70(ptr) Variable Function
- 223(r2): 38(ptr) Variable Function
- 90: 7 Load 89(g_tTex2s1)
- 91: 28 Load 30(g_sSamp)
- 92: 32 SampledImage 90 91
- 96: 21(fvec4) ImageSampleImplicitLod 92 95
- Store 88(@sampleResultShadow) 96
- 98: 44(ptr) AccessChain 88(@sampleResultShadow) 43
- 99: 6(float) Load 98
- 100: 44(ptr) AccessChain 97(@sampleStructTemp) 41
- Store 100 99
- 101: 44(ptr) AccessChain 88(@sampleResultShadow) 49
- 102: 6(float) Load 101
- 103: 44(ptr) AccessChain 97(@sampleStructTemp) 48 43
- Store 103 102
- 104: 44(ptr) AccessChain 88(@sampleResultShadow) 53
- 105: 6(float) Load 104
- 106: 44(ptr) AccessChain 97(@sampleStructTemp) 48 49
- Store 106 105
- 107: 44(ptr) AccessChain 88(@sampleResultShadow) 58
- 108: 6(float) Load 107
- 109: 44(ptr) AccessChain 97(@sampleStructTemp) 57
- Store 109 108
- 110: 10(s1_t) Load 97(@sampleStructTemp)
- Store 87(s1) 110
- 114: 7 Load 113(g_tTex2s2)
- 115: 28 Load 30(g_sSamp)
- 116: 32 SampledImage 114 115
- 120: 21(fvec4) ImageSampleImplicitLod 116 119
- Store 112(@sampleResultShadow) 120
- 122: 44(ptr) AccessChain 112(@sampleResultShadow) 43
- 123: 6(float) Load 122
- 124: 44(ptr) AccessChain 121(@sampleStructTemp) 41
- Store 124 123
- 125: 44(ptr) AccessChain 112(@sampleResultShadow) 49
- 126: 6(float) Load 125
- 127: 44(ptr) AccessChain 121(@sampleStructTemp) 48 43
- Store 127 126
- 128: 44(ptr) AccessChain 112(@sampleResultShadow) 53
- 129: 6(float) Load 128
- 130: 44(ptr) AccessChain 121(@sampleStructTemp) 48 49
- Store 130 129
- 131: 44(ptr) AccessChain 112(@sampleResultShadow) 58
- 132: 6(float) Load 131
- 133: 44(ptr) AccessChain 121(@sampleStructTemp) 48 53
- Store 133 132
- 134: 16(s2_t) Load 121(@sampleStructTemp)
- Store 111(s2) 134
- 140: 7 Load 139(g_tTex2s3)
- 141: 28 Load 30(g_sSamp)
- 142: 32 SampledImage 140 141
- 146: 21(fvec4) ImageSampleImplicitLod 142 145
- Store 138(@sampleResultShadow) 146
- 148: 44(ptr) AccessChain 138(@sampleResultShadow) 43
- 149: 6(float) Load 148
- 150: 44(ptr) AccessChain 147(@sampleStructTemp) 41 43
- Store 150 149
- 151: 44(ptr) AccessChain 138(@sampleResultShadow) 49
- 152: 6(float) Load 151
- 153: 44(ptr) AccessChain 147(@sampleStructTemp) 41 49
- Store 153 152
- 154: 44(ptr) AccessChain 138(@sampleResultShadow) 53
- 155: 6(float) Load 154
- 156: 44(ptr) AccessChain 147(@sampleStructTemp) 48
- Store 156 155
- 157: 135(s3_t) Load 147(@sampleStructTemp)
- Store 137(s3) 157
- 168: 165 Load 167(g_tTex2s4)
- 169: 28 Load 30(g_sSamp)
- 171: 170 SampledImage 168 169
- 175: 162(ivec4) ImageSampleImplicitLod 171 174
- Store 164(@sampleResultShadow) 175
- 178: 177(ptr) AccessChain 164(@sampleResultShadow) 43
- 179: 40(int) Load 178
- 180: 177(ptr) AccessChain 176(@sampleStructTemp) 41
- Store 180 179
- 181: 177(ptr) AccessChain 164(@sampleResultShadow) 49
- 182: 40(int) Load 181
- 183: 6(float) ConvertSToF 182
- 184: 177(ptr) AccessChain 176(@sampleStructTemp) 48 43
- Store 184 183
- 185: 177(ptr) AccessChain 164(@sampleResultShadow) 53
- 186: 40(int) Load 185
- 187: 6(float) ConvertSToF 186
- 188: 177(ptr) AccessChain 176(@sampleStructTemp) 48 49
- Store 188 187
- 189: 177(ptr) AccessChain 164(@sampleResultShadow) 58
- 190: 40(int) Load 189
- 191: 177(ptr) AccessChain 176(@sampleStructTemp) 57
- Store 191 190
- 192: 159(s4_t) Load 176(@sampleStructTemp)
- Store 161(s4) 192
- 202: 199 Load 201(g_tTex2s5)
- 203: 28 Load 30(g_sSamp)
- 205: 204 SampledImage 202 203
- 209: 196(ivec4) ImageSampleImplicitLod 205 208
- Store 198(@sampleResultShadow) 209
- 212: 211(ptr) AccessChain 198(@sampleResultShadow) 43
- 213: 42(int) Load 212
- 214: 211(ptr) AccessChain 210(@sampleStructTemp) 41
- Store 214 213
- 215: 211(ptr) AccessChain 198(@sampleResultShadow) 49
- 216: 42(int) Load 215
- 217: 211(ptr) AccessChain 210(@sampleStructTemp) 48
- Store 217 216
- 218: 193(s5_t) Load 210(@sampleStructTemp)
- Store 195(s5) 218
- 220: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 89(g_tTex2s1)
- Store 219(r0) 220
- 222: 16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 113(g_tTex2s2)
- Store 221(r1) 222
- 225: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 224(g_tTex2s1a)
- Store 223(r2) 225
- ReturnValue 227
+98(@sampleStructTemp): 38(ptr) Variable Function
+ 112(s2): 70(ptr) Variable Function
+113(@sampleResultShadow): 25(ptr) Variable Function
+122(@sampleStructTemp): 70(ptr) Variable Function
+ 138(s3): 137(ptr) Variable Function
+139(@sampleResultShadow): 25(ptr) Variable Function
+148(@sampleStructTemp): 137(ptr) Variable Function
+ 162(s4): 161(ptr) Variable Function
+165(@sampleResultShadow): 164(ptr) Variable Function
+177(@sampleStructTemp): 161(ptr) Variable Function
+ 196(s5): 195(ptr) Variable Function
+199(@sampleResultShadow): 198(ptr) Variable Function
+211(@sampleStructTemp): 195(ptr) Variable Function
+ 220(r0): 38(ptr) Variable Function
+ 221(param): 8(ptr) Variable Function
+ 224(r1): 70(ptr) Variable Function
+ 225(param): 8(ptr) Variable Function
+ 228(r2): 38(ptr) Variable Function
+ 230(param): 8(ptr) Variable Function
+ 91: 7 Load 90(g_tTex2s1)
+ 92: 28 Load 30(g_sSamp)
+ 93: 32 SampledImage 91 92
+ 97: 21(fvec4) ImageSampleImplicitLod 93 96
+ Store 88(@sampleResultShadow) 97
+ 99: 44(ptr) AccessChain 88(@sampleResultShadow) 43
+ 100: 6(float) Load 99
+ 101: 44(ptr) AccessChain 98(@sampleStructTemp) 41
+ Store 101 100
+ 102: 44(ptr) AccessChain 88(@sampleResultShadow) 49
+ 103: 6(float) Load 102
+ 104: 44(ptr) AccessChain 98(@sampleStructTemp) 48 43
+ Store 104 103
+ 105: 44(ptr) AccessChain 88(@sampleResultShadow) 53
+ 106: 6(float) Load 105
+ 107: 44(ptr) AccessChain 98(@sampleStructTemp) 48 49
+ Store 107 106
+ 108: 44(ptr) AccessChain 88(@sampleResultShadow) 58
+ 109: 6(float) Load 108
+ 110: 44(ptr) AccessChain 98(@sampleStructTemp) 57
+ Store 110 109
+ 111: 10(s1_t) Load 98(@sampleStructTemp)
+ Store 87(s1) 111
+ 115: 7 Load 114(g_tTex2s2)
+ 116: 28 Load 30(g_sSamp)
+ 117: 32 SampledImage 115 116
+ 121: 21(fvec4) ImageSampleImplicitLod 117 120
+ Store 113(@sampleResultShadow) 121
+ 123: 44(ptr) AccessChain 113(@sampleResultShadow) 43
+ 124: 6(float) Load 123
+ 125: 44(ptr) AccessChain 122(@sampleStructTemp) 41
+ Store 125 124
+ 126: 44(ptr) AccessChain 113(@sampleResultShadow) 49
+ 127: 6(float) Load 126
+ 128: 44(ptr) AccessChain 122(@sampleStructTemp) 48 43
+ Store 128 127
+ 129: 44(ptr) AccessChain 113(@sampleResultShadow) 53
+ 130: 6(float) Load 129
+ 131: 44(ptr) AccessChain 122(@sampleStructTemp) 48 49
+ Store 131 130
+ 132: 44(ptr) AccessChain 113(@sampleResultShadow) 58
+ 133: 6(float) Load 132
+ 134: 44(ptr) AccessChain 122(@sampleStructTemp) 48 53
+ Store 134 133
+ 135: 16(s2_t) Load 122(@sampleStructTemp)
+ Store 112(s2) 135
+ 141: 7 Load 140(g_tTex2s3)
+ 142: 28 Load 30(g_sSamp)
+ 143: 32 SampledImage 141 142
+ 147: 21(fvec4) ImageSampleImplicitLod 143 146
+ Store 139(@sampleResultShadow) 147
+ 149: 44(ptr) AccessChain 139(@sampleResultShadow) 43
+ 150: 6(float) Load 149
+ 151: 44(ptr) AccessChain 148(@sampleStructTemp) 41 43
+ Store 151 150
+ 152: 44(ptr) AccessChain 139(@sampleResultShadow) 49
+ 153: 6(float) Load 152
+ 154: 44(ptr) AccessChain 148(@sampleStructTemp) 41 49
+ Store 154 153
+ 155: 44(ptr) AccessChain 139(@sampleResultShadow) 53
+ 156: 6(float) Load 155
+ 157: 44(ptr) AccessChain 148(@sampleStructTemp) 48
+ Store 157 156
+ 158: 136(s3_t) Load 148(@sampleStructTemp)
+ Store 138(s3) 158
+ 169: 166 Load 168(g_tTex2s4)
+ 170: 28 Load 30(g_sSamp)
+ 172: 171 SampledImage 169 170
+ 176: 163(ivec4) ImageSampleImplicitLod 172 175
+ Store 165(@sampleResultShadow) 176
+ 179: 178(ptr) AccessChain 165(@sampleResultShadow) 43
+ 180: 40(int) Load 179
+ 181: 178(ptr) AccessChain 177(@sampleStructTemp) 41
+ Store 181 180
+ 182: 178(ptr) AccessChain 165(@sampleResultShadow) 49
+ 183: 40(int) Load 182
+ 184: 6(float) ConvertSToF 183
+ 185: 178(ptr) AccessChain 177(@sampleStructTemp) 48 43
+ Store 185 184
+ 186: 178(ptr) AccessChain 165(@sampleResultShadow) 53
+ 187: 40(int) Load 186
+ 188: 6(float) ConvertSToF 187
+ 189: 178(ptr) AccessChain 177(@sampleStructTemp) 48 49
+ Store 189 188
+ 190: 178(ptr) AccessChain 165(@sampleResultShadow) 58
+ 191: 40(int) Load 190
+ 192: 178(ptr) AccessChain 177(@sampleStructTemp) 57
+ Store 192 191
+ 193: 160(s4_t) Load 177(@sampleStructTemp)
+ Store 162(s4) 193
+ 203: 200 Load 202(g_tTex2s5)
+ 204: 28 Load 30(g_sSamp)
+ 206: 205 SampledImage 203 204
+ 210: 197(ivec4) ImageSampleImplicitLod 206 209
+ Store 199(@sampleResultShadow) 210
+ 213: 212(ptr) AccessChain 199(@sampleResultShadow) 43
+ 214: 42(int) Load 213
+ 215: 212(ptr) AccessChain 211(@sampleStructTemp) 41
+ Store 215 214
+ 216: 212(ptr) AccessChain 199(@sampleResultShadow) 49
+ 217: 42(int) Load 216
+ 218: 212(ptr) AccessChain 211(@sampleStructTemp) 48
+ Store 218 217
+ 219: 194(s5_t) Load 211(@sampleStructTemp)
+ Store 196(s5) 219
+ 222: 7 Load 90(g_tTex2s1)
+ Store 221(param) 222
+ 223: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 221(param)
+ Store 220(r0) 223
+ 226: 7 Load 114(g_tTex2s2)
+ Store 225(param) 226
+ 227: 16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 225(param)
+ Store 224(r1) 227
+ 231: 7 Load 229(g_tTex2s1a)
+ Store 230(param) 231
+ 232: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 230(param)
+ Store 228(r2) 232
+ ReturnValue 234
FunctionEnd
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 62
+// Id's are bound by 73
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 60
+ EntryPoint Fragment 4 "main" 71
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 28 "Func(I21;"
Name 27 "DummyTex"
Name 31 "@main("
- Name 44 "tf1"
- Name 46 "tf4"
- Name 50 "twf1"
- Name 54 "twf4"
- Name 60 "@entryPointOutput"
- Decorate 44(tf1) DescriptorSet 0
- Decorate 46(tf4) DescriptorSet 0
- Decorate 50(twf1) DescriptorSet 0
- Decorate 54(twf4) DescriptorSet 0
- Decorate 60(@entryPointOutput) Location 0
+ Name 45 "tf1"
+ Name 46 "param"
+ Name 49 "tf4"
+ Name 50 "param"
+ Name 56 "twf1"
+ Name 57 "param"
+ Name 63 "twf4"
+ Name 64 "param"
+ Name 71 "@entryPointOutput"
+ Decorate 45(tf1) DescriptorSet 0
+ Decorate 49(tf4) DescriptorSet 0
+ Decorate 56(twf1) DescriptorSet 0
+ Decorate 63(twf4) DescriptorSet 0
+ Decorate 71(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeImage 6(float) 2D sampled format:Unknown
- 8: TypePointer UniformConstant 7
+ 8: TypePointer Function 7
9: TypeFunction 6(float) 8(ptr)
13: TypeVector 6(float) 4
14: TypeFunction 13(fvec4) 8(ptr)
18: TypeImage 6(float) 2D nonsampled format:R32f
- 19: TypePointer UniformConstant 18
+ 19: TypePointer Function 18
20: TypeFunction 6(float) 19(ptr)
24: TypeImage 6(float) 2D nonsampled format:Rgba32f
- 25: TypePointer UniformConstant 24
+ 25: TypePointer Function 24
26: TypeFunction 13(fvec4) 25(ptr)
30: TypeFunction 13(fvec4)
33: 6(float) Constant 1065353216
36: 6(float) Constant 0
37: 13(fvec4) ConstantComposite 36 36 36 36
- 44(tf1): 8(ptr) Variable UniformConstant
- 46(tf4): 8(ptr) Variable UniformConstant
- 50(twf1): 19(ptr) Variable UniformConstant
- 54(twf4): 25(ptr) Variable UniformConstant
- 59: TypePointer Output 13(fvec4)
-60(@entryPointOutput): 59(ptr) Variable Output
+ 44: TypePointer UniformConstant 7
+ 45(tf1): 44(ptr) Variable UniformConstant
+ 49(tf4): 44(ptr) Variable UniformConstant
+ 55: TypePointer UniformConstant 18
+ 56(twf1): 55(ptr) Variable UniformConstant
+ 62: TypePointer UniformConstant 24
+ 63(twf4): 62(ptr) Variable UniformConstant
+ 70: TypePointer Output 13(fvec4)
+71(@entryPointOutput): 70(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 61: 13(fvec4) FunctionCall 31(@main()
- Store 60(@entryPointOutput) 61
+ 72: 13(fvec4) FunctionCall 31(@main()
+ Store 71(@entryPointOutput) 72
Return
FunctionEnd
11(Func(t211;): 6(float) Function None 9
FunctionEnd
31(@main(): 13(fvec4) Function None 30
32: Label
- 45: 6(float) FunctionCall 11(Func(t211;) 44(tf1)
- 47: 13(fvec4) FunctionCall 16(Func(t21;) 46(tf4)
- 48: 13(fvec4) CompositeConstruct 45 45 45 45
- 49: 13(fvec4) FAdd 48 47
- 51: 6(float) FunctionCall 22(Func(I211;) 50(twf1)
- 52: 13(fvec4) CompositeConstruct 51 51 51 51
- 53: 13(fvec4) FAdd 49 52
- 55: 13(fvec4) FunctionCall 28(Func(I21;) 54(twf4)
- 56: 13(fvec4) FAdd 53 55
- ReturnValue 56
+ 46(param): 8(ptr) Variable Function
+ 50(param): 8(ptr) Variable Function
+ 57(param): 19(ptr) Variable Function
+ 64(param): 25(ptr) Variable Function
+ 47: 7 Load 45(tf1)
+ Store 46(param) 47
+ 48: 6(float) FunctionCall 11(Func(t211;) 46(param)
+ 51: 7 Load 49(tf4)
+ Store 50(param) 51
+ 52: 13(fvec4) FunctionCall 16(Func(t21;) 50(param)
+ 53: 13(fvec4) CompositeConstruct 48 48 48 48
+ 54: 13(fvec4) FAdd 53 52
+ 58: 18 Load 56(twf1)
+ Store 57(param) 58
+ 59: 6(float) FunctionCall 22(Func(I211;) 57(param)
+ 60: 13(fvec4) CompositeConstruct 59 59 59 59
+ 61: 13(fvec4) FAdd 54 60
+ 65: 24 Load 63(twf4)
+ Store 64(param) 65
+ 66: 13(fvec4) FunctionCall 28(Func(I21;) 64(param)
+ 67: 13(fvec4) FAdd 61 66
+ ReturnValue 67
FunctionEnd