commit
e4d253fdfa
30 changed files with 9763 additions and 9456 deletions
2
.github/workflows/scorecard.yml
vendored
2
.github/workflows/scorecard.yml
vendored
|
|
@ -48,6 +48,6 @@ jobs:
|
|||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
|
||||
uses: github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
|
|
|||
|
|
@ -61,5 +61,6 @@ static const char* const E_SPV_KHR_cooperative_matrix = "SPV_KHR_coope
|
|||
static const char* const E_SPV_KHR_maximal_reconvergence = "SPV_KHR_maximal_reconvergence";
|
||||
static const char* const E_SPV_KHR_subgroup_rotate = "SPV_KHR_subgroup_rotate";
|
||||
static const char* const E_SPV_KHR_expect_assume = "SPV_KHR_expect_assume";
|
||||
static const char* const E_SPV_EXT_replicated_composites = "SPV_EXT_replicated_composites";
|
||||
|
||||
#endif // #ifndef GLSLextKHR_H
|
||||
|
|
|
|||
|
|
@ -1583,6 +1583,8 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion,
|
|||
builder.addInclude(iItr->first, iItr->second);
|
||||
}
|
||||
|
||||
builder.setUseReplicatedComposites(glslangIntermediate->usingReplicatedComposites());
|
||||
|
||||
stdBuiltins = builder.import("GLSL.std.450");
|
||||
|
||||
spv::AddressingModel addressingModel = spv::AddressingModelLogical;
|
||||
|
|
@ -5787,9 +5789,17 @@ void TGlslangToSpvTraverser::translateArguments(const glslang::TIntermAggregate&
|
|||
lvalueCoherentFlags = builder.getAccessChain().coherentFlags;
|
||||
builder.addDecoration(lvalue_id, TranslateNonUniformDecoration(lvalueCoherentFlags));
|
||||
lvalueCoherentFlags |= TranslateCoherent(glslangArguments[i]->getAsTyped()->getType());
|
||||
} else
|
||||
} 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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TGlslangToSpvTraverser::translateArguments(glslang::TIntermUnary& node, std::vector<spv::Id>& arguments)
|
||||
|
|
|
|||
|
|
@ -1484,12 +1484,14 @@ bool Builder::isConstantOpCode(Op opcode) const
|
|||
case OpConstantFalse:
|
||||
case OpConstant:
|
||||
case OpConstantComposite:
|
||||
case OpConstantCompositeReplicateEXT:
|
||||
case OpConstantSampler:
|
||||
case OpConstantNull:
|
||||
case OpSpecConstantTrue:
|
||||
case OpSpecConstantFalse:
|
||||
case OpSpecConstant:
|
||||
case OpSpecConstantComposite:
|
||||
case OpSpecConstantCompositeReplicateEXT:
|
||||
case OpSpecConstantOp:
|
||||
return true;
|
||||
default:
|
||||
|
|
@ -1506,6 +1508,7 @@ bool Builder::isSpecConstantOpCode(Op opcode) const
|
|||
case OpSpecConstant:
|
||||
case OpSpecConstantComposite:
|
||||
case OpSpecConstantOp:
|
||||
case OpSpecConstantCompositeReplicateEXT:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
|
@ -1782,10 +1785,27 @@ Id Builder::findStructConstant(Id typeId, const std::vector<Id>& comps)
|
|||
// Comments in header
|
||||
Id Builder::makeCompositeConstant(Id typeId, const std::vector<Id>& members, bool specConstant)
|
||||
{
|
||||
Op opcode = specConstant ? OpSpecConstantComposite : OpConstantComposite;
|
||||
assert(typeId);
|
||||
Op typeClass = getTypeClass(typeId);
|
||||
|
||||
bool replicate = false;
|
||||
size_t numMembers = members.size();
|
||||
if (useReplicatedComposites) {
|
||||
// use replicate if all members are the same
|
||||
replicate = numMembers > 0 &&
|
||||
std::equal(members.begin() + 1, members.end(), members.begin());
|
||||
|
||||
if (replicate) {
|
||||
numMembers = 1;
|
||||
addCapability(spv::CapabilityReplicatedCompositesEXT);
|
||||
addExtension(spv::E_SPV_EXT_replicated_composites);
|
||||
}
|
||||
}
|
||||
|
||||
Op opcode = replicate ?
|
||||
(specConstant ? OpSpecConstantCompositeReplicateEXT : OpConstantCompositeReplicateEXT) :
|
||||
(specConstant ? OpSpecConstantComposite : OpConstantComposite);
|
||||
|
||||
switch (typeClass) {
|
||||
case OpTypeVector:
|
||||
case OpTypeArray:
|
||||
|
|
@ -1812,7 +1832,7 @@ Id Builder::makeCompositeConstant(Id typeId, const std::vector<Id>& members, boo
|
|||
|
||||
Instruction* c = new Instruction(getUniqueId(), typeId, opcode);
|
||||
c->reserveOperands(members.size());
|
||||
for (int op = 0; op < (int)members.size(); ++op)
|
||||
for (size_t op = 0; op < numMembers; ++op)
|
||||
c->addIdOperand(members[op]);
|
||||
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(c));
|
||||
if (typeClass == OpTypeStruct)
|
||||
|
|
@ -2928,7 +2948,17 @@ Id Builder::smearScalar(Decoration precision, Id scalar, Id vectorType)
|
|||
auto result_id = makeCompositeConstant(vectorType, members, isSpecConstant(scalar));
|
||||
smear = module.getInstruction(result_id);
|
||||
} else {
|
||||
smear = new Instruction(getUniqueId(), vectorType, OpCompositeConstruct);
|
||||
bool replicate = useReplicatedComposites && (numComponents > 0);
|
||||
|
||||
if (replicate) {
|
||||
numComponents = 1;
|
||||
addCapability(spv::CapabilityReplicatedCompositesEXT);
|
||||
addExtension(spv::E_SPV_EXT_replicated_composites);
|
||||
}
|
||||
|
||||
Op opcode = replicate ? OpCompositeConstructReplicateEXT : OpCompositeConstruct;
|
||||
|
||||
smear = new Instruction(getUniqueId(), vectorType, opcode);
|
||||
smear->reserveOperands(numComponents);
|
||||
for (int c = 0; c < numComponents; ++c)
|
||||
smear->addIdOperand(scalar);
|
||||
|
|
@ -3321,9 +3351,25 @@ Id Builder::createCompositeConstruct(Id typeId, const std::vector<Id>& constitue
|
|||
[&](spv::Id id) { return isSpecConstant(id); }));
|
||||
}
|
||||
|
||||
Instruction* op = new Instruction(getUniqueId(), typeId, OpCompositeConstruct);
|
||||
bool replicate = false;
|
||||
size_t numConstituents = constituents.size();
|
||||
|
||||
if (useReplicatedComposites) {
|
||||
replicate = numConstituents > 0 &&
|
||||
std::equal(constituents.begin() + 1, constituents.end(), constituents.begin());
|
||||
}
|
||||
|
||||
if (replicate) {
|
||||
numConstituents = 1;
|
||||
addCapability(spv::CapabilityReplicatedCompositesEXT);
|
||||
addExtension(spv::E_SPV_EXT_replicated_composites);
|
||||
}
|
||||
|
||||
Op opcode = replicate ? OpCompositeConstructReplicateEXT : OpCompositeConstruct;
|
||||
|
||||
Instruction* op = new Instruction(getUniqueId(), typeId, opcode);
|
||||
op->reserveOperands(constituents.size());
|
||||
for (int c = 0; c < (int)constituents.size(); ++c)
|
||||
for (size_t c = 0; c < numConstituents; ++c)
|
||||
op->addIdOperand(constituents[c]);
|
||||
addInstruction(std::unique_ptr<Instruction>(op));
|
||||
|
||||
|
|
@ -3458,6 +3504,13 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector<Id>&
|
|||
return setPrecision(createCompositeConstruct(resultTypeId, matrixColumns), precision);
|
||||
}
|
||||
|
||||
// Detect a matrix being constructed from a repeated vector of the correct size.
|
||||
// Create the composite directly from it.
|
||||
if ((int)sources.size() == numCols && isVector(sources[0]) && getNumComponents(sources[0]) == numRows &&
|
||||
std::equal(sources.begin() + 1, sources.end(), sources.begin())) {
|
||||
return setPrecision(createCompositeConstruct(resultTypeId, sources), precision);
|
||||
}
|
||||
|
||||
// Otherwise, will use a two step process
|
||||
// 1. make a compile-time 2D array of values
|
||||
// 2. construct a matrix from that array
|
||||
|
|
|
|||
|
|
@ -872,6 +872,8 @@ public:
|
|||
// Check if the builder is generating code for spec constants.
|
||||
bool isInSpecConstCodeGenMode() { return generatingOpCodeForSpecConst; }
|
||||
|
||||
void setUseReplicatedComposites(bool use) { useReplicatedComposites = use; }
|
||||
|
||||
protected:
|
||||
Id makeIntConstant(Id typeId, unsigned value, bool specConstant);
|
||||
Id makeInt64Constant(Id typeId, unsigned long long value, bool specConstant);
|
||||
|
|
@ -938,6 +940,7 @@ public:
|
|||
Id uniqueId;
|
||||
Function* entryPointFunction;
|
||||
bool generatingOpCodeForSpecConst;
|
||||
bool useReplicatedComposites { false };
|
||||
AccessChain accessChain;
|
||||
|
||||
// special blocks of instructions for output
|
||||
|
|
|
|||
|
|
@ -1066,6 +1066,8 @@ const char* CapabilityString(int info)
|
|||
case CapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM";
|
||||
case CapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM";
|
||||
|
||||
case CapabilityReplicatedCompositesEXT: return "CapabilityReplicatedCompositesEXT";
|
||||
|
||||
default: return "Bad";
|
||||
}
|
||||
}
|
||||
|
|
@ -1584,6 +1586,10 @@ const char* OpcodeString(int op)
|
|||
case OpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM";
|
||||
case OpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM";
|
||||
|
||||
case OpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT";
|
||||
case OpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT";
|
||||
case OpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT";
|
||||
|
||||
default:
|
||||
return "Bad";
|
||||
}
|
||||
|
|
@ -3471,6 +3477,10 @@ void Parameterize()
|
|||
InstructionDesc[OpImageBlockMatchGatherSADQCOM].operands.push(OperandId, "'block size'");
|
||||
InstructionDesc[OpImageBlockMatchGatherSADQCOM].operands.push(OperandImageOperands, "", true);
|
||||
InstructionDesc[OpImageBlockMatchGatherSADQCOM].setResultAndType(true, true);
|
||||
|
||||
InstructionDesc[OpConstantCompositeReplicateEXT].operands.push(OperandId, "'Value'");
|
||||
InstructionDesc[OpSpecConstantCompositeReplicateEXT].operands.push(OperandId, "'Value'");
|
||||
InstructionDesc[OpCompositeConstructReplicateEXT].operands.push(OperandId, "'Value'");
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1163,6 +1163,7 @@ enum Capability {
|
|||
CapabilityDotProductKHR = 6019,
|
||||
CapabilityRayCullMaskKHR = 6020,
|
||||
CapabilityCooperativeMatrixKHR = 6022,
|
||||
CapabilityReplicatedCompositesEXT = 6024,
|
||||
CapabilityBitInstructions = 6025,
|
||||
CapabilityGroupNonUniformRotateKHR = 6026,
|
||||
CapabilityAtomicFloat32AddEXT = 6033,
|
||||
|
|
@ -1689,6 +1690,9 @@ enum Op {
|
|||
OpCooperativeMatrixStoreKHR = 4458,
|
||||
OpCooperativeMatrixMulAddKHR = 4459,
|
||||
OpCooperativeMatrixLengthKHR = 4460,
|
||||
OpConstantCompositeReplicateEXT = 4461,
|
||||
OpSpecConstantCompositeReplicateEXT = 4462,
|
||||
OpCompositeConstructReplicateEXT = 4463,
|
||||
OpTypeRayQueryKHR = 4472,
|
||||
OpRayQueryInitializeKHR = 4473,
|
||||
OpRayQueryTerminateKHR = 4474,
|
||||
|
|
@ -2418,6 +2422,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
|||
case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
|
||||
case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
||||
case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
117
Test/baseResults/spv.replicate.comp.out
Normal file
117
Test/baseResults/spv.replicate.comp.out
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
spv.replicate.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 66
|
||||
|
||||
Capability Shader
|
||||
Capability VulkanMemoryModelKHR
|
||||
Capability CooperativeMatrixKHR
|
||||
Capability CapabilityReplicatedCompositesEXT
|
||||
Extension "SPV_EXT_replicated_composites"
|
||||
Extension "SPV_KHR_cooperative_matrix"
|
||||
Extension "SPV_KHR_vulkan_memory_model"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical VulkanKHR
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_spec_constant_composites"
|
||||
SourceExtension "GL_KHR_cooperative_matrix"
|
||||
SourceExtension "GL_KHR_memory_scope_semantics"
|
||||
Name 4 "main"
|
||||
Name 13 "coop"
|
||||
Name 17 "a"
|
||||
Name 21 "v"
|
||||
Name 28 "m"
|
||||
Name 33 "five"
|
||||
Name 35 "six"
|
||||
Name 39 "arr"
|
||||
Name 44 "arr2"
|
||||
Name 49 "S"
|
||||
MemberName 49(S) 0 "a"
|
||||
MemberName 49(S) 1 "b"
|
||||
MemberName 49(S) 2 "c"
|
||||
Name 51 "s2"
|
||||
Name 54 "SS"
|
||||
MemberName 54(SS) 0 "s1"
|
||||
MemberName 54(SS) 1 "s2"
|
||||
Name 56 "ss"
|
||||
Decorate 61 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeInt 32 0
|
||||
8: 7(int) Constant 3
|
||||
9: 7(int) Constant 16
|
||||
10: 7(int) Constant 0
|
||||
11: TypeCooperativeMatrixKHR 6(float) 8 9 9 10
|
||||
12: TypePointer Function 11
|
||||
14: 6(float) Constant 1065353216
|
||||
15: 11 ConstantCompositeReplicateEXT 14
|
||||
16: TypePointer Function 6(float)
|
||||
18: 6(float) Constant 1073741824
|
||||
19: TypeVector 6(float) 4
|
||||
20: TypePointer Function 19(fvec4)
|
||||
24: 6(float) Constant 1077936128
|
||||
25: 19(fvec4) ConstantCompositeReplicateEXT 24
|
||||
26: TypeMatrix 19(fvec4) 4
|
||||
27: TypePointer Function 26
|
||||
31: TypeInt 32 1
|
||||
32: TypePointer Function 31(int)
|
||||
34: 31(int) Constant 5
|
||||
36: 31(int) Constant 6
|
||||
37: TypeArray 31(int) 8
|
||||
38: TypePointer Function 37
|
||||
42: TypeArray 37 8
|
||||
43: TypePointer Function 42
|
||||
47: 37 ConstantCompositeReplicateEXT 34
|
||||
48: 42 ConstantCompositeReplicateEXT 47
|
||||
49(S): TypeStruct 31(int) 31(int) 31(int)
|
||||
50: TypePointer Function 49(S)
|
||||
54(SS): TypeStruct 49(S) 49(S)
|
||||
55: TypePointer Function 54(SS)
|
||||
59: TypeVector 7(int) 3
|
||||
60: 7(int) Constant 1
|
||||
61: 59(ivec3) ConstantCompositeReplicateEXT 60
|
||||
62: 49(S) ConstantCompositeReplicateEXT 36
|
||||
63: 54(SS) ConstantCompositeReplicateEXT 62
|
||||
64: 26 ConstantCompositeReplicateEXT 25
|
||||
65: 11 ConstantCompositeReplicateEXT 24
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13(coop): 12(ptr) Variable Function
|
||||
17(a): 16(ptr) Variable Function
|
||||
21(v): 20(ptr) Variable Function
|
||||
28(m): 27(ptr) Variable Function
|
||||
33(five): 32(ptr) Variable Function
|
||||
35(six): 32(ptr) Variable Function
|
||||
39(arr): 38(ptr) Variable Function
|
||||
44(arr2): 43(ptr) Variable Function
|
||||
51(s2): 50(ptr) Variable Function
|
||||
56(ss): 55(ptr) Variable Function
|
||||
Store 13(coop) 15
|
||||
Store 17(a) 18
|
||||
22: 6(float) Load 17(a)
|
||||
23: 19(fvec4) CompositeConstructReplicateEXT 22
|
||||
Store 21(v) 23
|
||||
Store 21(v) 25
|
||||
29: 19(fvec4) Load 21(v)
|
||||
30: 26 CompositeConstructReplicateEXT 29
|
||||
Store 28(m) 30
|
||||
Store 33(five) 34
|
||||
Store 35(six) 36
|
||||
40: 31(int) Load 33(five)
|
||||
41: 37 CompositeConstructReplicateEXT 40
|
||||
Store 39(arr) 41
|
||||
45: 37 Load 39(arr)
|
||||
46: 42 CompositeConstructReplicateEXT 45
|
||||
Store 44(arr2) 46
|
||||
Store 44(arr2) 48
|
||||
52: 31(int) Load 35(six)
|
||||
53: 49(S) CompositeConstructReplicateEXT 52
|
||||
Store 51(s2) 53
|
||||
57: 49(S) Load 51(s2)
|
||||
58: 54(SS) CompositeConstructReplicateEXT 57
|
||||
Store 56(ss) 58
|
||||
Return
|
||||
FunctionEnd
|
||||
132
Test/baseResults/spv.replicatespec.comp.out
Normal file
132
Test/baseResults/spv.replicatespec.comp.out
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
spv.replicatespec.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 68
|
||||
|
||||
Capability Shader
|
||||
Capability VulkanMemoryModelKHR
|
||||
Capability CooperativeMatrixKHR
|
||||
Capability CapabilityReplicatedCompositesEXT
|
||||
Extension "SPV_EXT_replicated_composites"
|
||||
Extension "SPV_KHR_cooperative_matrix"
|
||||
Extension "SPV_KHR_vulkan_memory_model"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical VulkanKHR
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_spec_constant_composites"
|
||||
SourceExtension "GL_KHR_cooperative_matrix"
|
||||
SourceExtension "GL_KHR_memory_scope_semantics"
|
||||
Name 4 "main"
|
||||
Name 13 "coop"
|
||||
Name 17 "a"
|
||||
Name 21 "v"
|
||||
Name 24 "spec_float"
|
||||
Name 25 "cv"
|
||||
Name 28 "m"
|
||||
Name 33 "five"
|
||||
Name 35 "six"
|
||||
Name 39 "arr"
|
||||
Name 44 "arr2"
|
||||
Name 47 "cfive"
|
||||
Name 48 "carr"
|
||||
Name 49 "carr2"
|
||||
Name 50 "S"
|
||||
MemberName 50(S) 0 "a"
|
||||
MemberName 50(S) 1 "b"
|
||||
MemberName 50(S) 2 "c"
|
||||
Name 52 "s2"
|
||||
Name 55 "SS"
|
||||
MemberName 55(SS) 0 "s1"
|
||||
MemberName 55(SS) 1 "s2"
|
||||
Name 57 "ss"
|
||||
Name 63 "csix"
|
||||
Name 64 "cs"
|
||||
Name 65 "css"
|
||||
Name 66 "cm"
|
||||
Name 67 "ccoop"
|
||||
Decorate 24(spec_float) SpecId 2
|
||||
Decorate 47(cfive) SpecId 0
|
||||
Decorate 62 BuiltIn WorkgroupSize
|
||||
Decorate 63(csix) SpecId 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeInt 32 0
|
||||
8: 7(int) Constant 3
|
||||
9: 7(int) Constant 16
|
||||
10: 7(int) Constant 0
|
||||
11: TypeCooperativeMatrixKHR 6(float) 8 9 9 10
|
||||
12: TypePointer Function 11
|
||||
14: 6(float) Constant 1065353216
|
||||
15: 11 ConstantCompositeReplicateEXT 14
|
||||
16: TypePointer Function 6(float)
|
||||
18: 6(float) Constant 1073741824
|
||||
19: TypeVector 6(float) 4
|
||||
20: TypePointer Function 19(fvec4)
|
||||
24(spec_float): 6(float) SpecConstant 1077936128
|
||||
25(cv): 19(fvec4) SpecConstantCompositeReplicateEXT 24(spec_float)
|
||||
26: TypeMatrix 19(fvec4) 4
|
||||
27: TypePointer Function 26
|
||||
31: TypeInt 32 1
|
||||
32: TypePointer Function 31(int)
|
||||
34: 31(int) Constant 5
|
||||
36: 31(int) Constant 6
|
||||
37: TypeArray 31(int) 8
|
||||
38: TypePointer Function 37
|
||||
42: TypeArray 37 8
|
||||
43: TypePointer Function 42
|
||||
47(cfive): 31(int) SpecConstant 5
|
||||
48(carr): 37 SpecConstantCompositeReplicateEXT 47(cfive)
|
||||
49(carr2): 42 SpecConstantCompositeReplicateEXT 48(carr)
|
||||
50(S): TypeStruct 31(int) 31(int) 31(int)
|
||||
51: TypePointer Function 50(S)
|
||||
55(SS): TypeStruct 50(S) 50(S)
|
||||
56: TypePointer Function 55(SS)
|
||||
60: TypeVector 7(int) 3
|
||||
61: 7(int) Constant 1
|
||||
62: 60(ivec3) ConstantCompositeReplicateEXT 61
|
||||
63(csix): 31(int) SpecConstant 6
|
||||
64(cs): 50(S) SpecConstantCompositeReplicateEXT 63(csix)
|
||||
65(css): 55(SS) SpecConstantCompositeReplicateEXT 64(cs)
|
||||
66(cm): 26 SpecConstantCompositeReplicateEXT 25(cv)
|
||||
67(ccoop): 11 SpecConstantCompositeReplicateEXT 24(spec_float)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13(coop): 12(ptr) Variable Function
|
||||
17(a): 16(ptr) Variable Function
|
||||
21(v): 20(ptr) Variable Function
|
||||
28(m): 27(ptr) Variable Function
|
||||
33(five): 32(ptr) Variable Function
|
||||
35(six): 32(ptr) Variable Function
|
||||
39(arr): 38(ptr) Variable Function
|
||||
44(arr2): 43(ptr) Variable Function
|
||||
52(s2): 51(ptr) Variable Function
|
||||
57(ss): 56(ptr) Variable Function
|
||||
Store 13(coop) 15
|
||||
Store 17(a) 18
|
||||
22: 6(float) Load 17(a)
|
||||
23: 19(fvec4) CompositeConstructReplicateEXT 22
|
||||
Store 21(v) 23
|
||||
Store 21(v) 25(cv)
|
||||
29: 19(fvec4) Load 21(v)
|
||||
30: 26 CompositeConstructReplicateEXT 29
|
||||
Store 28(m) 30
|
||||
Store 33(five) 34
|
||||
Store 35(six) 36
|
||||
40: 31(int) Load 33(five)
|
||||
41: 37 CompositeConstructReplicateEXT 40
|
||||
Store 39(arr) 41
|
||||
45: 37 Load 39(arr)
|
||||
46: 42 CompositeConstructReplicateEXT 45
|
||||
Store 44(arr2) 46
|
||||
Store 44(arr2) 49(carr2)
|
||||
53: 31(int) Load 35(six)
|
||||
54: 50(S) CompositeConstructReplicateEXT 53
|
||||
Store 52(s2) 54
|
||||
58: 50(S) Load 52(s2)
|
||||
59: 55(SS) CompositeConstructReplicateEXT 58
|
||||
Store 57(ss) 59
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
89
Test/baseResults/spv.specConstantComposite2.vert.out
Normal file
89
Test/baseResults/spv.specConstantComposite2.vert.out
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
spv.specConstantComposite2.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 43
|
||||
|
||||
Capability Shader
|
||||
Capability Float64
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 27 42
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
Name 6 "refer_primary_spec_const("
|
||||
Name 8 "refer_composite_spec_const("
|
||||
Name 10 "refer_copmosite_dot_dereference("
|
||||
Name 12 "refer_composite_bracket_dereference("
|
||||
Name 16 "refer_spec_const_array_length("
|
||||
Name 18 "declare_spec_const_in_func("
|
||||
Name 21 "spec_bool"
|
||||
Name 27 "color"
|
||||
Name 28 "spec_int"
|
||||
Name 33 "len"
|
||||
Name 37 "spec_float"
|
||||
Name 39 "spec_double"
|
||||
Name 42 "global_vec4_array_with_spec_length"
|
||||
Decorate 21(spec_bool) SpecId 203
|
||||
Decorate 27(color) Location 0
|
||||
Decorate 28(spec_int) SpecId 200
|
||||
Decorate 37(spec_float) SpecId 201
|
||||
Decorate 39(spec_double) SpecId 202
|
||||
Decorate 42(global_vec4_array_with_spec_length) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
14: TypeInt 32 1
|
||||
15: TypeFunction 14(int)
|
||||
20: TypeBool
|
||||
21(spec_bool): 20(bool) SpecConstantTrue
|
||||
24: TypeFloat 32
|
||||
25: TypeVector 24(float) 4
|
||||
26: TypePointer Output 25(fvec4)
|
||||
27(color): 26(ptr) Variable Output
|
||||
28(spec_int): 14(int) SpecConstant 3
|
||||
32: TypePointer Function 14(int)
|
||||
37(spec_float): 24(float) SpecConstant 1078523331
|
||||
38: TypeFloat 64
|
||||
39(spec_double):38(float64_t) SpecConstant 1413754136 1074340347
|
||||
40: TypeArray 25(fvec4) 28(spec_int)
|
||||
41: TypePointer Input 40
|
||||
42(global_vec4_array_with_spec_length): 41(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
6(refer_primary_spec_const(): 2 Function None 3
|
||||
7: Label
|
||||
SelectionMerge 23 None
|
||||
BranchConditional 21(spec_bool) 22 23
|
||||
22: Label
|
||||
29: 24(float) ConvertSToF 28(spec_int)
|
||||
30: 25(fvec4) Load 27(color)
|
||||
31: 25(fvec4) VectorTimesScalar 30 29
|
||||
Store 27(color) 31
|
||||
Branch 23
|
||||
23: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
8(refer_composite_spec_const(): 2 Function None 3
|
||||
9: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
10(refer_copmosite_dot_dereference(): 2 Function None 3
|
||||
11: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
12(refer_composite_bracket_dereference(): 2 Function None 3
|
||||
13: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
16(refer_spec_const_array_length(): 14(int) Function None 15
|
||||
17: Label
|
||||
33(len): 32(ptr) Variable Function
|
||||
Store 33(len) 28(spec_int)
|
||||
34: 14(int) Load 33(len)
|
||||
ReturnValue 34
|
||||
FunctionEnd
|
||||
18(declare_spec_const_in_func(): 2 Function None 3
|
||||
19: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
43
Test/spv.replicate.comp
Normal file
43
Test/spv.replicate.comp
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#version 450 core
|
||||
#extension GL_KHR_memory_scope_semantics : enable
|
||||
#extension GL_KHR_cooperative_matrix : enable
|
||||
#extension GL_EXT_spec_constant_composites : enable
|
||||
|
||||
#pragma use_replicated_composites
|
||||
|
||||
layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
||||
|
||||
const int csix = 6;
|
||||
struct S { int a; int b; int c; };
|
||||
struct SS { S s1; S s2; };
|
||||
const S cs = S(csix, csix, csix);
|
||||
const SS css = SS(cs, cs);
|
||||
|
||||
const float spec_float = 3;
|
||||
const vec4 cv = vec4(spec_float);
|
||||
const mat4 cm = mat4(cv,cv,cv,cv);
|
||||
|
||||
const int cfive = 5;
|
||||
const int carr[3] = {cfive, cfive, cfive};
|
||||
const int carr2[3][3] = {carr, carr, carr};
|
||||
|
||||
const coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> ccoop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(spec_float);
|
||||
|
||||
void main()
|
||||
{
|
||||
coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> coop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(1.0);
|
||||
|
||||
float a = 2.0;
|
||||
vec4 v = vec4(a);
|
||||
v = cv;
|
||||
mat4 m = mat4(v,v,v,v);
|
||||
|
||||
int five = 5;
|
||||
int six = 6;
|
||||
int arr[3] = {five, five, five};
|
||||
int arr2[3][3] = {arr, arr, arr};
|
||||
arr2 = carr2;
|
||||
|
||||
S s2 = S(six, six, six);
|
||||
SS ss = SS(s2, s2);
|
||||
}
|
||||
43
Test/spv.replicatespec.comp
Normal file
43
Test/spv.replicatespec.comp
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#version 450 core
|
||||
#extension GL_KHR_memory_scope_semantics : enable
|
||||
#extension GL_KHR_cooperative_matrix : enable
|
||||
#extension GL_EXT_spec_constant_composites : enable
|
||||
|
||||
#pragma use_replicated_composites
|
||||
|
||||
layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
||||
|
||||
layout(constant_id = 1) const int csix = 6;
|
||||
struct S { int a; int b; int c; };
|
||||
struct SS { S s1; S s2; };
|
||||
const S cs = S(csix, csix, csix);
|
||||
const SS css = SS(cs, cs);
|
||||
|
||||
layout(constant_id = 2) const float spec_float = 3;
|
||||
const vec4 cv = vec4(spec_float);
|
||||
const mat4 cm = mat4(cv,cv,cv,cv);
|
||||
|
||||
layout(constant_id = 0) const int cfive = 5;
|
||||
const int carr[3] = {cfive, cfive, cfive};
|
||||
const int carr2[3][3] = {carr, carr, carr};
|
||||
|
||||
const coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> ccoop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(spec_float);
|
||||
|
||||
void main()
|
||||
{
|
||||
coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA> coop = coopmat<float, gl_ScopeSubgroup, 16, 16, gl_MatrixUseA>(1.0);
|
||||
|
||||
float a = 2.0;
|
||||
vec4 v = vec4(a);
|
||||
v = cv;
|
||||
mat4 m = mat4(v,v,v,v);
|
||||
|
||||
int five = 5;
|
||||
int six = 6;
|
||||
int arr[3] = {five, five, five};
|
||||
int arr2[3][3] = {arr, arr, arr};
|
||||
arr2 = carr2;
|
||||
|
||||
S s2 = S(six, six, six);
|
||||
SS ss = SS(s2, s2);
|
||||
}
|
||||
98
Test/spv.specConstantComposite2.vert
Normal file
98
Test/spv.specConstantComposite2.vert
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
#version 450
|
||||
|
||||
// constant_id specified scalar spec constants
|
||||
layout(constant_id = 200) const int spec_int = 3;
|
||||
layout(constant_id = 201) const float spec_float = 3.14;
|
||||
layout(constant_id = 202) const
|
||||
double spec_double = 3.1415926535897932384626433832795;
|
||||
layout(constant_id = 203) const bool spec_bool = true;
|
||||
|
||||
// const float cast_spec_float = float(spec_float);
|
||||
|
||||
// Flat struct
|
||||
struct flat_struct {
|
||||
int i;
|
||||
float f;
|
||||
double d;
|
||||
bool b;
|
||||
};
|
||||
|
||||
// Nesting struct
|
||||
struct nesting_struct {
|
||||
flat_struct nested;
|
||||
vec4 v;
|
||||
int i;
|
||||
};
|
||||
|
||||
// Expect OpSpecConstantComposite
|
||||
// Flat struct initializer
|
||||
//const flat_struct spec_flat_struct_all_spec = {spec_int, spec_float,
|
||||
// spec_double, spec_bool};
|
||||
//const flat_struct spec_flat_struct_partial_spec = {30, 30.14, spec_double,
|
||||
// spec_bool};
|
||||
|
||||
// Nesting struct initializer
|
||||
//const nesting_struct nesting_struct_ctor = {
|
||||
// {spec_int, spec_float, spec_double, false},
|
||||
// vec4(0.1, 0.1, 0.1, 0.1),
|
||||
// spec_int};
|
||||
|
||||
// Vector constructor
|
||||
//const vec4 spec_vec4_all_spec =
|
||||
// vec4(spec_float, spec_float, spec_float, spec_float);
|
||||
//const vec4 spec_vec4_partial_spec =
|
||||
// vec4(spec_float, spec_float, 300.14, 300.14);
|
||||
//const vec4 spec_vec4_from_one_scalar = vec4(spec_float);
|
||||
|
||||
// Matrix constructor
|
||||
//const mat2x3 spec_mat2x3 = mat2x3(spec_float, spec_float, spec_float, 1.1, 2.2, 3.3);
|
||||
//const mat2x3 spec_mat2x3_from_one_scalar = mat2x3(spec_float);
|
||||
|
||||
// Struct nesting constructor
|
||||
//const nesting_struct spec_nesting_struct_all_spec = {
|
||||
// spec_flat_struct_all_spec, spec_vec4_all_spec, spec_int};
|
||||
//const nesting_struct spec_nesting_struct_partial_spec = {
|
||||
// spec_flat_struct_partial_spec, spec_vec4_partial_spec, 3000};
|
||||
|
||||
//const float spec_float_array[5] = {spec_float, spec_float, 1.0, 2.0, 3.0};
|
||||
//const int spec_int_array[5] = {spec_int, spec_int, 1, 2, 30};
|
||||
|
||||
// global_vec4_array_with_spec_length is not a spec constant, but its array
|
||||
// size is. When calling global_vec4_array_with_spec_length.length(), A
|
||||
// TIntermSymbol Node should be returned, instead of a TIntermConstantUnion
|
||||
// node which represents a known constant value.
|
||||
in vec4 global_vec4_array_with_spec_length[spec_int];
|
||||
|
||||
out vec4 color;
|
||||
|
||||
void refer_primary_spec_const() {
|
||||
if (spec_bool) color *= spec_int;
|
||||
}
|
||||
|
||||
void refer_composite_spec_const() {
|
||||
//color += spec_vec4_all_spec;
|
||||
//color -= spec_vec4_partial_spec;
|
||||
}
|
||||
|
||||
void refer_copmosite_dot_dereference() {
|
||||
//color *= spec_nesting_struct_all_spec.i;
|
||||
//color += spec_vec4_all_spec.x;
|
||||
}
|
||||
|
||||
void refer_composite_bracket_dereference() {
|
||||
//color -= spec_float_array[1];
|
||||
//color /= spec_int_array[spec_int_array[spec_int]];
|
||||
}
|
||||
|
||||
int refer_spec_const_array_length() {
|
||||
int len = global_vec4_array_with_spec_length.length();
|
||||
return len;
|
||||
}
|
||||
|
||||
void declare_spec_const_in_func() {
|
||||
//const nesting_struct spec_const_declared_in_func = {
|
||||
// spec_flat_struct_partial_spec, spec_vec4_partial_spec, 10};
|
||||
//color /= spec_const_declared_in_func.i;
|
||||
}
|
||||
|
||||
void main() {}
|
||||
|
|
@ -38,5 +38,5 @@ void main()
|
|||
ivec2[2](ivec2(sci2, sci2), ivec2(sci2, sci2)); // not a spec-const
|
||||
|
||||
vec2(scf1, scf1); // spec-const
|
||||
vec2[2](vec2(scf1, scf1), vec2(scf1, scf1)); // not a spec-const
|
||||
vec2[2](vec2(scf1, scf1), vec2(scf1, scf1)); // spec-const
|
||||
}
|
||||
|
|
|
|||
|
|
@ -399,6 +399,10 @@ void TParseContext::handlePragma(const TSourceLoc& loc, const TVector<TString>&
|
|||
if (spvVersion.spv < glslang::EShTargetSpv_1_3)
|
||||
error(loc, "requires SPIR-V 1.3", "#pragma use_variable_pointers", "");
|
||||
intermediate.setUseVariablePointers();
|
||||
} else if (spvVersion.spv > 0 && tokens[0].compare("use_replicated_composites") == 0) {
|
||||
if (tokens.size() != 1)
|
||||
error(loc, "extra tokens", "#pragma", "");
|
||||
intermediate.setReplicatedComposites();
|
||||
} else if (tokens[0].compare("once") == 0) {
|
||||
warn(loc, "not implemented", "#pragma once", "");
|
||||
} else if (tokens[0].compare("glslang_binary_double_output") == 0) {
|
||||
|
|
@ -3613,6 +3617,19 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
|||
makeSpecConst = ! intArgument && !type.isArray();
|
||||
break;
|
||||
|
||||
case EOpConstructCooperativeMatrixNV:
|
||||
case EOpConstructCooperativeMatrixKHR:
|
||||
case EOpConstructStruct:
|
||||
{
|
||||
const char *specConstantCompositeExt[] = { E_GL_EXT_spec_constant_composites };
|
||||
if (checkExtensionsRequested(loc, 1, specConstantCompositeExt, "spec constant aggregate constructor")) {
|
||||
makeSpecConst = true;
|
||||
} else {
|
||||
makeSpecConst = false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// anything else wasn't white-listed in the spec as a conversion
|
||||
makeSpecConst = false;
|
||||
|
|
@ -8355,6 +8372,11 @@ TIntermTyped* TParseContext::addConstructor(const TSourceLoc& loc, TIntermNode*
|
|||
|
||||
int paramCount = 0; // keeps track of the constructor parameter number being checked
|
||||
|
||||
// We don't know "top down" whether type is a specialization constant,
|
||||
// but a const becomes a specialization constant if any of its children are.
|
||||
bool hasSpecConst = false;
|
||||
bool isConstConstructor = true;
|
||||
|
||||
// for each parameter to the constructor call, check to see if the right type is passed or convert them
|
||||
// to the right type if possible (and allowed).
|
||||
// for structure constructors, just check if the right type is passed, no conversion is allowed.
|
||||
|
|
@ -8367,13 +8389,24 @@ TIntermTyped* TParseContext::addConstructor(const TSourceLoc& loc, TIntermNode*
|
|||
else
|
||||
newNode = constructBuiltIn(type, op, (*p)->getAsTyped(), node->getLoc(), true);
|
||||
|
||||
if (newNode)
|
||||
if (newNode) {
|
||||
*p = newNode;
|
||||
else
|
||||
if (!newNode->getType().getQualifier().isConstant())
|
||||
isConstConstructor = false;
|
||||
if (newNode->getType().getQualifier().isSpecConstant())
|
||||
hasSpecConst = true;
|
||||
} else
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TIntermTyped *ret_node = intermediate.setAggregateOperator(aggrNode, op, type, loc);
|
||||
TIntermTyped* ret_node = intermediate.setAggregateOperator(aggrNode, op, type, loc);
|
||||
|
||||
const char *specConstantCompositeExt[] = { E_GL_EXT_spec_constant_composites };
|
||||
if (checkExtensionsRequested(loc, 1, specConstantCompositeExt, "spec constant aggregate constructor")) {
|
||||
if (isConstConstructor && hasSpecConst) {
|
||||
ret_node->getWritableType().getQualifier().makeSpecConstant();
|
||||
}
|
||||
}
|
||||
|
||||
TIntermAggregate *agg_node = ret_node->getAsAggregate();
|
||||
if (agg_node && (agg_node->isVector() || agg_node->isArray() || agg_node->isMatrix()))
|
||||
|
|
|
|||
|
|
@ -265,6 +265,7 @@ void TParseVersions::initializeExtensionBehavior()
|
|||
extensionBehavior[E_GL_EXT_expect_assume] = EBhDisable;
|
||||
|
||||
extensionBehavior[E_GL_EXT_control_flow_attributes2] = EBhDisable;
|
||||
extensionBehavior[E_GL_EXT_spec_constant_composites] = EBhDisable;
|
||||
|
||||
extensionBehavior[E_GL_KHR_cooperative_matrix] = EBhDisable;
|
||||
|
||||
|
|
@ -519,6 +520,7 @@ void TParseVersions::getPreamble(std::string& preamble)
|
|||
"#define GL_EXT_fragment_shading_rate 1\n"
|
||||
"#define GL_EXT_shared_memory_block 1\n"
|
||||
"#define GL_EXT_shader_integer_mix 1\n"
|
||||
"#define GL_EXT_spec_constant_composites 1\n"
|
||||
|
||||
// GL_KHR_shader_subgroup
|
||||
"#define GL_KHR_shader_subgroup_basic 1\n"
|
||||
|
|
|
|||
|
|
@ -222,6 +222,7 @@ const char* const E_GL_EXT_texture_array = "GL_EXT_texture_ar
|
|||
const char* const E_GL_EXT_maximal_reconvergence = "GL_EXT_maximal_reconvergence";
|
||||
const char* const E_GL_EXT_expect_assume = "GL_EXT_expect_assume";
|
||||
const char* const E_GL_EXT_control_flow_attributes2 = "GL_EXT_control_flow_attributes2";
|
||||
const char* const E_GL_EXT_spec_constant_composites = "GL_EXT_spec_constant_composites";
|
||||
|
||||
// Arrays of extensions for the above viewportEXTs duplications
|
||||
|
||||
|
|
|
|||
|
|
@ -729,6 +729,11 @@ public:
|
|||
usePhysicalStorageBuffer = true;
|
||||
}
|
||||
bool usingPhysicalStorageBuffer() const { return usePhysicalStorageBuffer; }
|
||||
void setReplicatedComposites()
|
||||
{
|
||||
useReplicatedComposites = true;
|
||||
}
|
||||
bool usingReplicatedComposites() const { return useReplicatedComposites; }
|
||||
void setUseVariablePointers()
|
||||
{
|
||||
useVariablePointers = true;
|
||||
|
|
@ -1242,6 +1247,7 @@ protected:
|
|||
bool subgroupUniformControlFlow;
|
||||
bool maximallyReconverges;
|
||||
bool usePhysicalStorageBuffer;
|
||||
bool useReplicatedComposites { false };
|
||||
|
||||
TSpirvRequirement* spirvRequirement;
|
||||
TSpirvExecutionMode* spirvExecutionMode;
|
||||
|
|
|
|||
|
|
@ -468,6 +468,8 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
"spv.prepost.frag",
|
||||
"spv.privateVariableTypes.frag",
|
||||
"spv.qualifiers.vert",
|
||||
"spv.replicate.comp",
|
||||
"spv.replicatespec.comp",
|
||||
"spv.sample.frag",
|
||||
"spv.sampleId.frag",
|
||||
"spv.samplePosition.frag",
|
||||
|
|
|
|||
|
|
@ -5,14 +5,14 @@
|
|||
"site" : "github",
|
||||
"subrepo" : "KhronosGroup/SPIRV-Tools",
|
||||
"subdir" : "External/spirv-tools",
|
||||
"commit": "dd4b663e13c07fea4fbb3f70c1c91c86731099f7"
|
||||
"commit": "148c97f6876e427efd76d2328122c3075eab4b8f"
|
||||
},
|
||||
{
|
||||
"name" : "spirv-tools/external/spirv-headers",
|
||||
"site" : "github",
|
||||
"subrepo" : "KhronosGroup/SPIRV-Headers",
|
||||
"subdir" : "External/spirv-tools/external/spirv-headers",
|
||||
"commit" : "4f7b471f1a66b6d06462cd4ba57628cc0cd087d7"
|
||||
"commit" : "ea77f2a826bc820cb8f57f9b2a7c7eccb681c731"
|
||||
},
|
||||
{
|
||||
"name": "googletest",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue