mirror of https://github.com/bkaradzic/bgfx
Updated glslang.
This commit is contained in:
parent
a5d9d33264
commit
6848926552
|
@ -94,9 +94,10 @@ endif()
|
|||
|
||||
if(ENABLE_OPT)
|
||||
message(STATUS "optimizer enabled")
|
||||
add_definitions(-DENABLE_OPT)
|
||||
add_definitions(-DENABLE_OPT=1)
|
||||
elseif(ENABLE_HLSL)
|
||||
message(STATUS "spirv-tools not linked - illegal SPIRV may be generated for HLSL")
|
||||
add_definitions(-DENABLE_OPT=0)
|
||||
endif()
|
||||
|
||||
add_subdirectory(glslang)
|
||||
|
|
|
@ -240,8 +240,11 @@ bool InitializeProcess();
|
|||
void FinalizeProcess();
|
||||
|
||||
class TShader
|
||||
setStrings(...);
|
||||
setEnvInput(EShSourceHlsl or EShSourceGlsl, stage, EShClientVulkan or EShClientOpenGL, 100);
|
||||
setEnvClient(EShClientVulkan or EShClientOpenGL, EShTargetVulkan_1_0 or EShTargetVulkan_1_1 or EShTargetOpenGL_450);
|
||||
setEnvTarget(EShTargetSpv, EShTargetSpv_1_0 or EShTargetSpv_1_3);
|
||||
bool parse(...);
|
||||
void setStrings(...);
|
||||
const char* getInfoLog();
|
||||
|
||||
class TProgram
|
||||
|
|
|
@ -53,7 +53,7 @@ if(ENABLE_OPT)
|
|||
PRIVATE ${spirv-tools_SOURCE_DIR}/include
|
||||
PRIVATE ${spirv-tools_SOURCE_DIR}/source
|
||||
)
|
||||
target_link_libraries(SPIRV glslang SPIRV-Tools-opt SPVRemapper)
|
||||
target_link_libraries(SPIRV glslang SPIRV-Tools-opt)
|
||||
else()
|
||||
target_link_libraries(SPIRV glslang)
|
||||
endif(ENABLE_OPT)
|
||||
|
|
|
@ -51,4 +51,7 @@ const char* const E_SPV_NV_stereo_view_rendering = "SPV_NV_stereo_view_rendering
|
|||
//SPV_NVX_multiview_per_view_attributes
|
||||
const char* const E_SPV_NVX_multiview_per_view_attributes = "SPV_NVX_multiview_per_view_attributes";
|
||||
|
||||
//SPV_NV_shader_subgroup_partitioned
|
||||
const char* const E_SPV_NV_shader_subgroup_partitioned = "SPV_NV_shader_subgroup_partitioned";
|
||||
|
||||
#endif // #ifndef GLSLextNV_H
|
|
@ -54,13 +54,12 @@ namespace spv {
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef ENABLE_OPT
|
||||
#if ENABLE_OPT
|
||||
#include "spirv-tools/optimizer.hpp"
|
||||
#include "message.h"
|
||||
#include "SPVRemapper.h"
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_OPT
|
||||
#if ENABLE_OPT
|
||||
using namespace spvtools;
|
||||
#endif
|
||||
|
||||
|
@ -99,7 +98,13 @@ private:
|
|||
spv::Builder* builder_;
|
||||
bool previous_flag_;
|
||||
};
|
||||
}
|
||||
|
||||
struct OpDecorations {
|
||||
spv::Decoration precision;
|
||||
spv::Decoration noContraction;
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
//
|
||||
// The main holder of information for translating glslang to SPIR-V.
|
||||
|
@ -143,7 +148,8 @@ protected:
|
|||
spv::Id createInvertedSwizzle(spv::Decoration precision, const glslang::TIntermTyped&, spv::Id parentResult);
|
||||
void convertSwizzle(const glslang::TIntermAggregate&, std::vector<unsigned>& swizzle);
|
||||
spv::Id convertGlslangToSpvType(const glslang::TType& type);
|
||||
spv::Id convertGlslangToSpvType(const glslang::TType& type, glslang::TLayoutPacking, const glslang::TQualifier&);
|
||||
spv::Id convertGlslangToSpvType(const glslang::TType& type, glslang::TLayoutPacking, const glslang::TQualifier&,
|
||||
bool lastBufferBlockMember);
|
||||
bool filterMember(const glslang::TType& member);
|
||||
spv::Id convertGlslangStructToSpvType(const glslang::TType&, const glslang::TTypeList* glslangStruct,
|
||||
glslang::TLayoutPacking, const glslang::TQualifier&);
|
||||
|
@ -172,11 +178,15 @@ protected:
|
|||
spv::Id createImageTextureFunctionCall(glslang::TIntermOperator* node);
|
||||
spv::Id handleUserFunctionCall(const glslang::TIntermAggregate*);
|
||||
|
||||
spv::Id createBinaryOperation(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id left, spv::Id right, glslang::TBasicType typeProxy, bool reduceComparison = true);
|
||||
spv::Id createBinaryMatrixOperation(spv::Op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id left, spv::Id right);
|
||||
spv::Id createUnaryOperation(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id operand,glslang::TBasicType typeProxy);
|
||||
spv::Id createUnaryMatrixOperation(spv::Op op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id operand,glslang::TBasicType typeProxy);
|
||||
spv::Id createConversion(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id destTypeId, spv::Id operand, glslang::TBasicType typeProxy);
|
||||
spv::Id createBinaryOperation(glslang::TOperator op, OpDecorations&, spv::Id typeId, spv::Id left, spv::Id right,
|
||||
glslang::TBasicType typeProxy, bool reduceComparison = true);
|
||||
spv::Id createBinaryMatrixOperation(spv::Op, OpDecorations&, spv::Id typeId, spv::Id left, spv::Id right);
|
||||
spv::Id createUnaryOperation(glslang::TOperator op, OpDecorations&, spv::Id typeId, spv::Id operand,
|
||||
glslang::TBasicType typeProxy);
|
||||
spv::Id createUnaryMatrixOperation(spv::Op op, OpDecorations&, spv::Id typeId, spv::Id operand,
|
||||
glslang::TBasicType typeProxy);
|
||||
spv::Id createConversion(glslang::TOperator op, OpDecorations&, spv::Id destTypeId, spv::Id operand,
|
||||
glslang::TBasicType typeProxy);
|
||||
spv::Id createConversionOperation(glslang::TOperator op, spv::Id operand, int vectorSize);
|
||||
spv::Id makeSmearedConstant(spv::Id constant, int vectorSize);
|
||||
spv::Id createAtomicOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
|
||||
|
@ -1275,8 +1285,9 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
|
|||
spv::Id leftRValue = accessChainLoad(node->getLeft()->getType());
|
||||
|
||||
// do the operation
|
||||
rValue = createBinaryOperation(node->getOp(), TranslatePrecisionDecoration(node->getOperationPrecision()),
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()),
|
||||
OpDecorations decorations = { TranslatePrecisionDecoration(node->getOperationPrecision()),
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()) };
|
||||
rValue = createBinaryOperation(node->getOp(), decorations,
|
||||
convertGlslangToSpvType(node->getType()), leftRValue, rValue,
|
||||
node->getType().getBasicType());
|
||||
|
||||
|
@ -1403,8 +1414,9 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
|
|||
spv::Id right = accessChainLoad(node->getRight()->getType());
|
||||
|
||||
// get result
|
||||
spv::Id result = createBinaryOperation(node->getOp(), TranslatePrecisionDecoration(node->getOperationPrecision()),
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()),
|
||||
OpDecorations decorations = { TranslatePrecisionDecoration(node->getOperationPrecision()),
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()) };
|
||||
spv::Id result = createBinaryOperation(node->getOp(), decorations,
|
||||
convertGlslangToSpvType(node->getType()), left, right,
|
||||
node->getLeft()->getType().getBasicType());
|
||||
|
||||
|
@ -1445,7 +1457,7 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||
// Normal .length() would have been constant folded by the front-end.
|
||||
// So, this has to be block.lastMember.length().
|
||||
// SPV wants "block" and member number as the operands, go get them.
|
||||
assert(node->getOperand()->getType().isRuntimeSizedArray());
|
||||
|
||||
glslang::TIntermTyped* block = node->getOperand()->getAsBinaryNode()->getLeft();
|
||||
block->traverse(this);
|
||||
unsigned int member = node->getOperand()->getAsBinaryNode()->getRight()->getAsConstantUnion()->getConstArray()[0].getUConst();
|
||||
|
@ -1482,20 +1494,20 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||
else
|
||||
operand = accessChainLoad(node->getOperand()->getType());
|
||||
|
||||
spv::Decoration precision = TranslatePrecisionDecoration(node->getOperationPrecision());
|
||||
spv::Decoration noContraction = TranslateNoContractionDecoration(node->getType().getQualifier());
|
||||
OpDecorations decorations = { TranslatePrecisionDecoration(node->getOperationPrecision()),
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()) };
|
||||
|
||||
// it could be a conversion
|
||||
if (! result)
|
||||
result = createConversion(node->getOp(), precision, noContraction, resultType(), operand, node->getOperand()->getBasicType());
|
||||
result = createConversion(node->getOp(), decorations, resultType(), operand, node->getOperand()->getBasicType());
|
||||
|
||||
// if not, then possibly an operation
|
||||
if (! result)
|
||||
result = createUnaryOperation(node->getOp(), precision, noContraction, resultType(), operand, node->getOperand()->getBasicType());
|
||||
result = createUnaryOperation(node->getOp(), decorations, resultType(), operand, node->getOperand()->getBasicType());
|
||||
|
||||
if (result) {
|
||||
if (invertedType)
|
||||
result = createInvertedSwizzle(precision, *node->getOperand(), result);
|
||||
result = createInvertedSwizzle(decorations.precision, *node->getOperand(), result);
|
||||
|
||||
builder.clearAccessChain();
|
||||
builder.setAccessChainRValue(result);
|
||||
|
@ -1533,8 +1545,7 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||
else
|
||||
op = glslang::EOpSub;
|
||||
|
||||
spv::Id result = createBinaryOperation(op, precision,
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()),
|
||||
spv::Id result = createBinaryOperation(op, decorations,
|
||||
convertGlslangToSpvType(node->getType()), operand, one,
|
||||
node->getType().getBasicType());
|
||||
assert(result != spv::NoResult);
|
||||
|
@ -1922,7 +1933,9 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
|||
spv::Id rightId = accessChainLoad(right->getType());
|
||||
|
||||
builder.setLine(node->getLoc().line);
|
||||
result = createBinaryOperation(binOp, precision, TranslateNoContractionDecoration(node->getType().getQualifier()),
|
||||
OpDecorations decorations = { precision,
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()) };
|
||||
result = createBinaryOperation(binOp, decorations,
|
||||
resultType(), leftId, rightId,
|
||||
left->getType().getBasicType(), reduceComparison);
|
||||
|
||||
|
@ -2020,11 +2033,14 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
|||
result = createNoArgOperation(node->getOp(), precision, resultType());
|
||||
break;
|
||||
case 1:
|
||||
result = createUnaryOperation(
|
||||
node->getOp(), precision,
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()),
|
||||
resultType(), operands.front(),
|
||||
glslangOperands[0]->getAsTyped()->getBasicType());
|
||||
{
|
||||
OpDecorations decorations = { precision,
|
||||
TranslateNoContractionDecoration(node->getType().getQualifier()) };
|
||||
result = createUnaryOperation(
|
||||
node->getOp(), decorations,
|
||||
resultType(), operands.front(),
|
||||
glslangOperands[0]->getAsTyped()->getBasicType());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
result = createMiscOperation(node->getOp(), precision, resultType(), operands, node->getBasicType());
|
||||
|
@ -2471,13 +2487,14 @@ void TGlslangToSpvTraverser::convertSwizzle(const glslang::TIntermAggregate& nod
|
|||
// layout state rooted from the top-level type.
|
||||
spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& type)
|
||||
{
|
||||
return convertGlslangToSpvType(type, getExplicitLayout(type), type.getQualifier());
|
||||
return convertGlslangToSpvType(type, getExplicitLayout(type), type.getQualifier(), false);
|
||||
}
|
||||
|
||||
// Do full recursive conversion of an arbitrary glslang type to a SPIR-V Id.
|
||||
// explicitLayout can be kept the same throughout the hierarchical recursive walk.
|
||||
// Mutually recursive with convertGlslangStructToSpvType().
|
||||
spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& type, glslang::TLayoutPacking explicitLayout, const glslang::TQualifier& qualifier)
|
||||
spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& type,
|
||||
glslang::TLayoutPacking explicitLayout, const glslang::TQualifier& qualifier, bool lastBufferBlockMember)
|
||||
{
|
||||
spv::Id spvType = spv::NoResult;
|
||||
|
||||
|
@ -2607,8 +2624,8 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty
|
|||
// Use a dummy glslang type for querying internal strides of
|
||||
// arrays of arrays, but using just a one-dimensional array.
|
||||
glslang::TType simpleArrayType(type, 0); // deference type of the array
|
||||
while (simpleArrayType.getArraySizes().getNumDims() > 1)
|
||||
simpleArrayType.getArraySizes().dereference();
|
||||
while (simpleArrayType.getArraySizes()->getNumDims() > 1)
|
||||
simpleArrayType.getArraySizes()->dereference();
|
||||
|
||||
// Will compute the higher-order strides here, rather than making a whole
|
||||
// pile of types and doing repetitive recursion on their contents.
|
||||
|
@ -2630,13 +2647,12 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty
|
|||
stride = getArrayStride(type, explicitLayout, qualifier.layoutMatrix);
|
||||
}
|
||||
|
||||
// Do the outer dimension, which might not be known for a runtime-sized array
|
||||
if (type.isRuntimeSizedArray()) {
|
||||
spvType = builder.makeRuntimeArray(spvType);
|
||||
} else {
|
||||
assert(type.getOuterArraySize() > 0);
|
||||
// Do the outer dimension, which might not be known for a runtime-sized array.
|
||||
// (Unsized arrays that survive through linking will be runtime-sized arrays)
|
||||
if (type.isSizedArray())
|
||||
spvType = builder.makeArrayType(spvType, makeArraySizeId(*type.getArraySizes(), 0), stride);
|
||||
}
|
||||
else
|
||||
spvType = builder.makeRuntimeArray(spvType);
|
||||
if (stride > 0)
|
||||
builder.addDecoration(spvType, spv::DecorationArrayStride, stride);
|
||||
}
|
||||
|
@ -2703,7 +2719,10 @@ spv::Id TGlslangToSpvTraverser::convertGlslangStructToSpvType(const glslang::TTy
|
|||
memberQualifier.layoutLocation = qualifier.layoutLocation;
|
||||
|
||||
// recurse
|
||||
spvMembers.push_back(convertGlslangToSpvType(glslangMember, explicitLayout, memberQualifier));
|
||||
bool lastBufferBlockMember = qualifier.storage == glslang::EvqBuffer &&
|
||||
i == (int)glslangMembers->size() - 1;
|
||||
spvMembers.push_back(
|
||||
convertGlslangToSpvType(glslangMember, explicitLayout, memberQualifier, lastBufferBlockMember));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2805,6 +2824,12 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type,
|
|||
if (builtIn != spv::BuiltInMax)
|
||||
builder.addMemberDecoration(spvType, member, spv::DecorationBuiltIn, (int)builtIn);
|
||||
|
||||
if (glslangIntermediate->getHlslFunctionality1() && memberQualifier.semanticName != nullptr) {
|
||||
builder.addExtension("SPV_GOOGLE_hlsl_functionality1");
|
||||
builder.addMemberDecoration(spvType, member, (spv::Decoration)spv::DecorationHlslSemanticGOOGLE,
|
||||
memberQualifier.semanticName);
|
||||
}
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
if (builtIn == spv::BuiltInLayer) {
|
||||
// SPV_NV_viewport_array2 extension
|
||||
|
@ -2827,11 +2852,6 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type,
|
|||
builder.addExtension(spv::E_SPV_NV_geometry_shader_passthrough);
|
||||
}
|
||||
#endif
|
||||
if (glslangIntermediate->getHlslFunctionality1() && memberQualifier.semanticName != nullptr) {
|
||||
builder.addExtension("SPV_GOOGLE_hlsl_functionality1");
|
||||
builder.addMemberDecoration(spvType, member, (spv::Decoration)spv::DecorationHlslSemanticGOOGLE,
|
||||
memberQualifier.semanticName);
|
||||
}
|
||||
}
|
||||
|
||||
// Decorate the structure
|
||||
|
@ -3937,8 +3957,7 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg
|
|||
}
|
||||
|
||||
// Translate AST operation to SPV operation, already having SPV-based operands/types.
|
||||
spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv::Decoration precision,
|
||||
spv::Decoration noContraction,
|
||||
spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, OpDecorations& decorations,
|
||||
spv::Id typeId, spv::Id left, spv::Id right,
|
||||
glslang::TBasicType typeProxy, bool reduceComparison)
|
||||
{
|
||||
|
@ -4075,15 +4094,15 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv
|
|||
if (binOp != spv::OpNop) {
|
||||
assert(comparison == false);
|
||||
if (builder.isMatrix(left) || builder.isMatrix(right))
|
||||
return createBinaryMatrixOperation(binOp, precision, noContraction, typeId, left, right);
|
||||
return createBinaryMatrixOperation(binOp, decorations, typeId, left, right);
|
||||
|
||||
// No matrix involved; make both operands be the same number of components, if needed
|
||||
if (needMatchingVectors)
|
||||
builder.promoteScalar(precision, left, right);
|
||||
builder.promoteScalar(decorations.precision, left, right);
|
||||
|
||||
spv::Id result = builder.createBinOp(binOp, typeId, left, right);
|
||||
builder.addDecoration(result, noContraction);
|
||||
return builder.setPrecision(result, precision);
|
||||
builder.addDecoration(result, decorations.noContraction);
|
||||
return builder.setPrecision(result, decorations.precision);
|
||||
}
|
||||
|
||||
if (! comparison)
|
||||
|
@ -4092,8 +4111,10 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv
|
|||
// Handle comparison instructions
|
||||
|
||||
if (reduceComparison && (op == glslang::EOpEqual || op == glslang::EOpNotEqual)
|
||||
&& (builder.isVector(left) || builder.isMatrix(left) || builder.isAggregate(left)))
|
||||
return builder.createCompositeCompare(precision, left, right, op == glslang::EOpEqual);
|
||||
&& (builder.isVector(left) || builder.isMatrix(left) || builder.isAggregate(left))) {
|
||||
spv::Id result = builder.createCompositeCompare(decorations.precision, left, right, op == glslang::EOpEqual);
|
||||
return result;
|
||||
}
|
||||
|
||||
switch (op) {
|
||||
case glslang::EOpLessThan:
|
||||
|
@ -4152,8 +4173,8 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv
|
|||
|
||||
if (binOp != spv::OpNop) {
|
||||
spv::Id result = builder.createBinOp(binOp, typeId, left, right);
|
||||
builder.addDecoration(result, noContraction);
|
||||
return builder.setPrecision(result, precision);
|
||||
builder.addDecoration(result, decorations.noContraction);
|
||||
return builder.setPrecision(result, decorations.precision);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -4173,7 +4194,8 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv
|
|||
// matrix op scalar op in {+, -, /}
|
||||
// scalar op matrix op in {+, -, /}
|
||||
//
|
||||
spv::Id TGlslangToSpvTraverser::createBinaryMatrixOperation(spv::Op op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id left, spv::Id right)
|
||||
spv::Id TGlslangToSpvTraverser::createBinaryMatrixOperation(spv::Op op, OpDecorations& decorations, spv::Id typeId,
|
||||
spv::Id left, spv::Id right)
|
||||
{
|
||||
bool firstClass = true;
|
||||
|
||||
|
@ -4212,8 +4234,8 @@ spv::Id TGlslangToSpvTraverser::createBinaryMatrixOperation(spv::Op op, spv::Dec
|
|||
|
||||
if (firstClass) {
|
||||
spv::Id result = builder.createBinOp(op, typeId, left, right);
|
||||
builder.addDecoration(result, noContraction);
|
||||
return builder.setPrecision(result, precision);
|
||||
builder.addDecoration(result, decorations.noContraction);
|
||||
return builder.setPrecision(result, decorations.precision);
|
||||
}
|
||||
|
||||
// Handle component-wise +, -, *, %, and / for all combinations of type.
|
||||
|
@ -4240,9 +4262,9 @@ spv::Id TGlslangToSpvTraverser::createBinaryMatrixOperation(spv::Op op, spv::Dec
|
|||
std::vector<spv::Id> results;
|
||||
spv::Id smearVec = spv::NoResult;
|
||||
if (builder.isScalar(left))
|
||||
smearVec = builder.smearScalar(precision, left, vecType);
|
||||
smearVec = builder.smearScalar(decorations.precision, left, vecType);
|
||||
else if (builder.isScalar(right))
|
||||
smearVec = builder.smearScalar(precision, right, vecType);
|
||||
smearVec = builder.smearScalar(decorations.precision, right, vecType);
|
||||
|
||||
// do each vector op
|
||||
for (unsigned int c = 0; c < numCols; ++c) {
|
||||
|
@ -4251,12 +4273,13 @@ spv::Id TGlslangToSpvTraverser::createBinaryMatrixOperation(spv::Op op, spv::Dec
|
|||
spv::Id leftVec = leftMat ? builder.createCompositeExtract( left, vecType, indexes) : smearVec;
|
||||
spv::Id rightVec = rightMat ? builder.createCompositeExtract(right, vecType, indexes) : smearVec;
|
||||
spv::Id result = builder.createBinOp(op, vecType, leftVec, rightVec);
|
||||
builder.addDecoration(result, noContraction);
|
||||
results.push_back(builder.setPrecision(result, precision));
|
||||
builder.addDecoration(result, decorations.noContraction);
|
||||
results.push_back(builder.setPrecision(result, decorations.precision));
|
||||
}
|
||||
|
||||
// put the pieces together
|
||||
return builder.setPrecision(builder.createCompositeConstruct(typeId, results), precision);
|
||||
spv::Id result = builder.setPrecision(builder.createCompositeConstruct(typeId, results), decorations.precision);
|
||||
return result;
|
||||
}
|
||||
default:
|
||||
assert(0);
|
||||
|
@ -4264,7 +4287,8 @@ spv::Id TGlslangToSpvTraverser::createBinaryMatrixOperation(spv::Op op, spv::Dec
|
|||
}
|
||||
}
|
||||
|
||||
spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id operand, glslang::TBasicType typeProxy)
|
||||
spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, OpDecorations& decorations, spv::Id typeId,
|
||||
spv::Id operand, glslang::TBasicType typeProxy)
|
||||
{
|
||||
spv::Op unaryOp = spv::OpNop;
|
||||
int extBuiltins = -1;
|
||||
|
@ -4277,7 +4301,7 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
|||
if (isFloat) {
|
||||
unaryOp = spv::OpFNegate;
|
||||
if (builder.isMatrixType(typeId))
|
||||
return createUnaryMatrixOperation(unaryOp, precision, noContraction, typeId, operand, typeProxy);
|
||||
return createUnaryMatrixOperation(unaryOp, decorations, typeId, operand, typeProxy);
|
||||
} else
|
||||
unaryOp = spv::OpSNegate;
|
||||
break;
|
||||
|
@ -4538,7 +4562,7 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
|||
// Handle all of the atomics in one place, in createAtomicOperation()
|
||||
std::vector<spv::Id> operands;
|
||||
operands.push_back(operand);
|
||||
return createAtomicOperation(op, precision, typeId, operands, typeProxy);
|
||||
return createAtomicOperation(op, decorations.precision, typeId, operands, typeProxy);
|
||||
}
|
||||
|
||||
case glslang::EOpBitFieldReverse:
|
||||
|
@ -4642,7 +4666,13 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
|||
libCall = spv::CubeFaceCoordAMD;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartition:
|
||||
builder.addExtension(spv::E_SPV_NV_shader_subgroup_partitioned);
|
||||
builder.addCapability(spv::CapabilityGroupNonUniformPartitionedNV);
|
||||
unaryOp = spv::OpGroupNonUniformPartitionNV;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -4656,12 +4686,13 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
|
|||
id = builder.createUnaryOp(unaryOp, typeId, operand);
|
||||
}
|
||||
|
||||
builder.addDecoration(id, noContraction);
|
||||
return builder.setPrecision(id, precision);
|
||||
builder.addDecoration(id, decorations.noContraction);
|
||||
return builder.setPrecision(id, decorations.precision);
|
||||
}
|
||||
|
||||
// Create a unary operation on a matrix
|
||||
spv::Id TGlslangToSpvTraverser::createUnaryMatrixOperation(spv::Op op, spv::Decoration precision, spv::Decoration noContraction, spv::Id typeId, spv::Id operand, glslang::TBasicType /* typeProxy */)
|
||||
spv::Id TGlslangToSpvTraverser::createUnaryMatrixOperation(spv::Op op, OpDecorations& decorations, spv::Id typeId,
|
||||
spv::Id operand, glslang::TBasicType /* typeProxy */)
|
||||
{
|
||||
// Handle unary operations vector by vector.
|
||||
// The result type is the same type as the original type.
|
||||
|
@ -4683,12 +4714,13 @@ spv::Id TGlslangToSpvTraverser::createUnaryMatrixOperation(spv::Op op, spv::Deco
|
|||
indexes.push_back(c);
|
||||
spv::Id srcVec = builder.createCompositeExtract(operand, srcVecType, indexes);
|
||||
spv::Id destVec = builder.createUnaryOp(op, destVecType, srcVec);
|
||||
builder.addDecoration(destVec, noContraction);
|
||||
results.push_back(builder.setPrecision(destVec, precision));
|
||||
builder.addDecoration(destVec, decorations.noContraction);
|
||||
results.push_back(builder.setPrecision(destVec, decorations.precision));
|
||||
}
|
||||
|
||||
// put the pieces together
|
||||
return builder.setPrecision(builder.createCompositeConstruct(typeId, results), precision);
|
||||
spv::Id result = builder.setPrecision(builder.createCompositeConstruct(typeId, results), decorations.precision);
|
||||
return result;
|
||||
}
|
||||
|
||||
spv::Id TGlslangToSpvTraverser::createConversionOperation(glslang::TOperator op, spv::Id operand, int vectorSize)
|
||||
|
@ -4808,7 +4840,8 @@ spv::Id TGlslangToSpvTraverser::createConversionOperation(glslang::TOperator op,
|
|||
return result;
|
||||
}
|
||||
|
||||
spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id destType, spv::Id operand, glslang::TBasicType typeProxy)
|
||||
spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, OpDecorations& decorations, spv::Id destType,
|
||||
spv::Id operand, glslang::TBasicType typeProxy)
|
||||
{
|
||||
spv::Op convOp = spv::OpNop;
|
||||
spv::Id zero = 0;
|
||||
|
@ -4963,7 +4996,7 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
|||
case glslang::EOpConvFloat16ToFloat:
|
||||
convOp = spv::OpFConvert;
|
||||
if (builder.isMatrixType(destType))
|
||||
return createUnaryMatrixOperation(convOp, precision, noContraction, destType, operand, typeProxy);
|
||||
return createUnaryMatrixOperation(convOp, decorations, destType, operand, typeProxy);
|
||||
break;
|
||||
|
||||
case glslang::EOpConvFloat16ToInt8:
|
||||
|
@ -5143,7 +5176,8 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
|
|||
} else
|
||||
result = builder.createUnaryOp(convOp, destType, operand);
|
||||
|
||||
return builder.setPrecision(result, precision);
|
||||
result = builder.setPrecision(result, decorations.precision);
|
||||
return result;
|
||||
}
|
||||
|
||||
spv::Id TGlslangToSpvTraverser::makeSmearedConstant(spv::Id constant, int vectorSize)
|
||||
|
@ -5601,6 +5635,32 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
builder.addCapability(spv::CapabilityGroupNonUniform);
|
||||
builder.addCapability(spv::CapabilityGroupNonUniformQuad);
|
||||
break;
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedAdd:
|
||||
case glslang::EOpSubgroupPartitionedMul:
|
||||
case glslang::EOpSubgroupPartitionedMin:
|
||||
case glslang::EOpSubgroupPartitionedMax:
|
||||
case glslang::EOpSubgroupPartitionedAnd:
|
||||
case glslang::EOpSubgroupPartitionedOr:
|
||||
case glslang::EOpSubgroupPartitionedXor:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveXor:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveXor:
|
||||
builder.addExtension(spv::E_SPV_NV_shader_subgroup_partitioned);
|
||||
builder.addCapability(spv::CapabilityGroupNonUniformPartitionedNV);
|
||||
break;
|
||||
#endif
|
||||
default: assert(0 && "Unhandled subgroup operation!");
|
||||
}
|
||||
|
||||
|
@ -5634,6 +5694,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveAdd:
|
||||
case glslang::EOpSubgroupExclusiveAdd:
|
||||
case glslang::EOpSubgroupClusteredAdd:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedAdd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAdd:
|
||||
#endif
|
||||
if (isFloat) {
|
||||
opCode = spv::OpGroupNonUniformFAdd;
|
||||
} else {
|
||||
|
@ -5644,6 +5709,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveMul:
|
||||
case glslang::EOpSubgroupExclusiveMul:
|
||||
case glslang::EOpSubgroupClusteredMul:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedMul:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMul:
|
||||
#endif
|
||||
if (isFloat) {
|
||||
opCode = spv::OpGroupNonUniformFMul;
|
||||
} else {
|
||||
|
@ -5654,6 +5724,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveMin:
|
||||
case glslang::EOpSubgroupExclusiveMin:
|
||||
case glslang::EOpSubgroupClusteredMin:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedMin:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMin:
|
||||
#endif
|
||||
if (isFloat) {
|
||||
opCode = spv::OpGroupNonUniformFMin;
|
||||
} else if (isUnsigned) {
|
||||
|
@ -5666,6 +5741,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveMax:
|
||||
case glslang::EOpSubgroupExclusiveMax:
|
||||
case glslang::EOpSubgroupClusteredMax:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedMax:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMax:
|
||||
#endif
|
||||
if (isFloat) {
|
||||
opCode = spv::OpGroupNonUniformFMax;
|
||||
} else if (isUnsigned) {
|
||||
|
@ -5678,6 +5758,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveAnd:
|
||||
case glslang::EOpSubgroupExclusiveAnd:
|
||||
case glslang::EOpSubgroupClusteredAnd:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedAnd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAnd:
|
||||
#endif
|
||||
if (isBool) {
|
||||
opCode = spv::OpGroupNonUniformLogicalAnd;
|
||||
} else {
|
||||
|
@ -5688,6 +5773,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveOr:
|
||||
case glslang::EOpSubgroupExclusiveOr:
|
||||
case glslang::EOpSubgroupClusteredOr:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedOr:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveOr:
|
||||
#endif
|
||||
if (isBool) {
|
||||
opCode = spv::OpGroupNonUniformLogicalOr;
|
||||
} else {
|
||||
|
@ -5698,6 +5788,11 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupInclusiveXor:
|
||||
case glslang::EOpSubgroupExclusiveXor:
|
||||
case glslang::EOpSubgroupClusteredXor:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedXor:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveXor:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveXor:
|
||||
#endif
|
||||
if (isBool) {
|
||||
opCode = spv::OpGroupNonUniformLogicalXor;
|
||||
} else {
|
||||
|
@ -5758,6 +5853,35 @@ spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, s
|
|||
case glslang::EOpSubgroupClusteredXor:
|
||||
spvGroupOperands.push_back(spv::GroupOperationClusteredReduce);
|
||||
break;
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedAdd:
|
||||
case glslang::EOpSubgroupPartitionedMul:
|
||||
case glslang::EOpSubgroupPartitionedMin:
|
||||
case glslang::EOpSubgroupPartitionedMax:
|
||||
case glslang::EOpSubgroupPartitionedAnd:
|
||||
case glslang::EOpSubgroupPartitionedOr:
|
||||
case glslang::EOpSubgroupPartitionedXor:
|
||||
spvGroupOperands.push_back(spv::GroupOperationPartitionedReduceNV);
|
||||
break;
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveXor:
|
||||
spvGroupOperands.push_back(spv::GroupOperationPartitionedInclusiveScanNV);
|
||||
break;
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveXor:
|
||||
spvGroupOperands.push_back(spv::GroupOperationPartitionedExclusiveScanNV);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
// Push back the operands next.
|
||||
|
@ -5946,6 +6070,29 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
|
|||
case glslang::EOpSubgroupClusteredOr:
|
||||
case glslang::EOpSubgroupClusteredXor:
|
||||
case glslang::EOpSubgroupQuadBroadcast:
|
||||
#ifdef NV_EXTENSIONS
|
||||
case glslang::EOpSubgroupPartitionedAdd:
|
||||
case glslang::EOpSubgroupPartitionedMul:
|
||||
case glslang::EOpSubgroupPartitionedMin:
|
||||
case glslang::EOpSubgroupPartitionedMax:
|
||||
case glslang::EOpSubgroupPartitionedAnd:
|
||||
case glslang::EOpSubgroupPartitionedOr:
|
||||
case glslang::EOpSubgroupPartitionedXor:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedInclusiveXor:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAdd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMul:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMin:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveMax:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveAnd:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveOr:
|
||||
case glslang::EOpSubgroupPartitionedExclusiveXor:
|
||||
#endif
|
||||
return createSubgroupOperation(op, typeId, operands, typeProxy);
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
|
@ -6701,12 +6848,6 @@ void OutputSpvHex(const std::vector<unsigned int>& spirv, const char* baseName,
|
|||
out.close();
|
||||
}
|
||||
|
||||
#ifdef ENABLE_OPT
|
||||
void errHandler(const std::string& str) {
|
||||
std::cerr << str << std::endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set up the glslang traversal
|
||||
//
|
||||
|
@ -6735,7 +6876,7 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
|
|||
it.finishSpv();
|
||||
it.dumpSpv(spirv);
|
||||
|
||||
#ifdef ENABLE_OPT
|
||||
#if ENABLE_OPT
|
||||
// If from HLSL, run spirv-opt to "legalize" the SPIR-V for Vulkan
|
||||
// eg. forward and remove memory writes of opaque types.
|
||||
if ((intermediate.getSource() == EShSourceHlsl ||
|
||||
|
@ -6752,19 +6893,24 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
|
|||
<< std::endl;
|
||||
});
|
||||
|
||||
optimizer.RegisterPass(CreateMergeReturnPass());
|
||||
optimizer.RegisterPass(CreateInlineExhaustivePass());
|
||||
optimizer.RegisterPass(CreateEliminateDeadFunctionsPass());
|
||||
optimizer.RegisterPass(CreateScalarReplacementPass());
|
||||
optimizer.RegisterPass(CreateLocalAccessChainConvertPass());
|
||||
optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass());
|
||||
optimizer.RegisterPass(CreateLocalSingleStoreElimPass());
|
||||
optimizer.RegisterPass(CreateAggressiveDCEPass());
|
||||
optimizer.RegisterPass(CreateInsertExtractElimPass());
|
||||
optimizer.RegisterPass(CreateDeadInsertElimPass());
|
||||
optimizer.RegisterPass(CreateAggressiveDCEPass());
|
||||
optimizer.RegisterPass(CreateCCPPass());
|
||||
optimizer.RegisterPass(CreateSimplificationPass());
|
||||
optimizer.RegisterPass(CreateDeadBranchElimPass());
|
||||
optimizer.RegisterPass(CreateCFGCleanupPass());
|
||||
optimizer.RegisterPass(CreateBlockMergePass());
|
||||
optimizer.RegisterPass(CreateLocalMultiStoreElimPass());
|
||||
optimizer.RegisterPass(CreateAggressiveDCEPass());
|
||||
optimizer.RegisterPass(CreateInsertExtractElimPass());
|
||||
optimizer.RegisterPass(CreateDeadInsertElimPass());
|
||||
if (options->optimizeSize) {
|
||||
|
@ -6776,12 +6922,6 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
|
|||
|
||||
if (!optimizer.Run(spirv.data(), spirv.size(), &spirv))
|
||||
return;
|
||||
|
||||
// Remove dead module-level objects: functions, types, vars
|
||||
// TODO(greg-lunarg): Switch to spirv-opt versions when available
|
||||
spv::spirvbin_t Remapper(0);
|
||||
Remapper.registerErrorHandler(errHandler);
|
||||
Remapper.remap(spirv, spv::spirvbin_t::DCE_ALL);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -854,9 +854,9 @@ Id Builder::makeFpConstant(Id type, double d, bool specConstant)
|
|||
|
||||
switch (getScalarTypeWidth(type)) {
|
||||
case 16:
|
||||
return makeFloat16Constant(d, specConstant);
|
||||
return makeFloat16Constant((float)d, specConstant);
|
||||
case 32:
|
||||
return makeFloatConstant(d, specConstant);
|
||||
return makeFloatConstant((float)d, specConstant);
|
||||
case 64:
|
||||
return makeDoubleConstant(d, specConstant);
|
||||
default:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -190,7 +190,6 @@ protected:
|
|||
class EnumParameters {
|
||||
public:
|
||||
EnumParameters() : desc(0) { }
|
||||
EnumCaps caps;
|
||||
const char* desc;
|
||||
};
|
||||
|
||||
|
@ -235,7 +234,6 @@ public:
|
|||
bool hasType() const { return typePresent != 0; }
|
||||
|
||||
const char* opDesc;
|
||||
EnumCaps capabilities;
|
||||
OpcodeClass opClass;
|
||||
OperandParameters operands;
|
||||
|
||||
|
@ -244,8 +242,6 @@ protected:
|
|||
int resultPresent : 1;
|
||||
};
|
||||
|
||||
const int OpcodeCeiling = 321;
|
||||
|
||||
// The set of objects that hold all the instruction/operand
|
||||
// parameterization information.
|
||||
extern InstructionParameters InstructionDesc[];
|
||||
|
|
|
@ -572,6 +572,9 @@ enum GroupOperation {
|
|||
GroupOperationInclusiveScan = 1,
|
||||
GroupOperationExclusiveScan = 2,
|
||||
GroupOperationClusteredReduce = 3,
|
||||
GroupOperationPartitionedReduceNV = 6,
|
||||
GroupOperationPartitionedInclusiveScanNV = 7,
|
||||
GroupOperationPartitionedExclusiveScanNV = 8,
|
||||
GroupOperationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
|
@ -688,6 +691,7 @@ enum Capability {
|
|||
CapabilityShaderStereoViewNV = 5259,
|
||||
CapabilityPerViewAttributesNV = 5260,
|
||||
CapabilityFragmentFullyCoveredEXT = 5265,
|
||||
CapabilityGroupNonUniformPartitionedNV = 5297,
|
||||
CapabilitySubgroupShuffleINTEL = 5568,
|
||||
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
|
@ -1051,6 +1055,7 @@ enum Op {
|
|||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
|
|
|
@ -574,7 +574,7 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
|
|||
if (argv[0][2] == 'd')
|
||||
Options |= EOptionOptimizeDisable;
|
||||
else if (argv[0][2] == 's')
|
||||
#ifdef ENABLE_OPT
|
||||
#if ENABLE_OPT
|
||||
Options |= EOptionOptimizeSize;
|
||||
#else
|
||||
Error("-Os not available; optimizer not linked");
|
||||
|
@ -720,6 +720,8 @@ void SetMessageOptions(EShMessages& messages)
|
|||
messages = (EShMessages)(messages | EShMsgDebugInfo);
|
||||
if (HlslEnable16BitTypes)
|
||||
messages = (EShMessages)(messages | EShMsgHlslEnable16BitTypes);
|
||||
if ((Options & EOptionOptimizeDisable) || !ENABLE_OPT)
|
||||
messages = (EShMessages)(messages | EShMsgHlslLegalization);
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -104,3 +104,9 @@ void foo3()
|
|||
int[] i = int[](); // ERROR, need constructor arguments
|
||||
float emptyA[];
|
||||
float b = vec4(emptyA); // ERROR, array can't be a constructor argument
|
||||
uniform sampler2D s2d[];
|
||||
|
||||
void foo4()
|
||||
{
|
||||
s2d[a]; // ERROR, can't variably index unsized array
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.aliasOpaque.frag
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 87
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.flattenOpaque.frag
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 185
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.flattenOpaqueInit.vert
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 134
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
hlsl.flattenOpaqueInitMix.vert
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 80
|
||||
// Id's are bound by 97
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
|
@ -32,13 +31,13 @@ WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
|||
49: 7(float) Constant 1056964608
|
||||
56: TypePointer Output 11(fvec4)
|
||||
57(@entryPointOutput): 56(ptr) Variable Output
|
||||
96: 36(fvec2) ConstantComposite 49 49
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
63: 6 Load 44(g_tInputTexture_sampler)
|
||||
64: 8 Load 47(g_tInputTexture)
|
||||
73: 28 SampledImage 64 63
|
||||
78: 36(fvec2) CompositeConstruct 49 49
|
||||
79: 11(fvec4) ImageSampleExplicitLod 73 78 Lod 38
|
||||
79: 11(fvec4) ImageSampleExplicitLod 73 96 Lod 38
|
||||
Store 57(@entryPointOutput) 79
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.flattenSubset.frag
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 66
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.flattenSubset2.frag
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 53
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.partialFlattenLocal.vert
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 169
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
hlsl.partialFlattenMixed.vert
|
||||
WARNING: AST will form illegal SPIR-V; need to transform to legalize
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80006
|
||||
// Id's are bound by 36
|
||||
|
|
|
@ -395,7 +395,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'v' ( smooth in 3-element array of mediump 4-component vector of float)
|
||||
0:? 'f' ( invariant global mediump float)
|
||||
0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int x})
|
||||
0:? 'fa' ( global implicitly-sized array of mediump float)
|
||||
0:? 'fa' ( global unsized 1-element array of mediump float)
|
||||
0:? 'f13' ( invariant global mediump float)
|
||||
0:? 'fi' ( invariant temp mediump float)
|
||||
0:? 'av' ( invariant smooth in mediump 4-component vector of float)
|
||||
|
|
|
@ -19,6 +19,7 @@ ERROR: 0:34: 'a4' : redefinition
|
|||
ERROR: 0:35: 'arrays of arrays' : not supported with this profile: none
|
||||
ERROR: 0:36: 'arrays of arrays' : not supported with this profile: none
|
||||
ERROR: 0:37: 'arrays of arrays' : not supported with this profile: none
|
||||
ERROR: 0:37: 'arrays of arrays' : not supported with this profile: none
|
||||
ERROR: 0:38: 'arrays of arrays' : not supported with this profile: none
|
||||
ERROR: 0:39: 'arrays of arrays' : not supported with this profile: none
|
||||
ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
|
||||
|
@ -78,7 +79,7 @@ ERROR: 0:192: 'assign' : l-value required (can't modify a const)
|
|||
ERROR: 0:195: 'gl_ModelViewMatrix' : identifiers starting with "gl_" are reserved
|
||||
ERROR: 0:200: 'token pasting (##)' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:203: 'token pasting (##)' : not supported for this version or the enabled extensions
|
||||
ERROR: 79 compilation errors. No code generated.
|
||||
ERROR: 80 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 120
|
||||
|
|
|
@ -49,7 +49,7 @@ ERROR: node is still EOpNull!
|
|||
0:18 move second child to first child ( temp float)
|
||||
0:18 'clip' ( temp float)
|
||||
0:18 direct index ( smooth temp float ClipDistance)
|
||||
0:18 'gl_ClipDistance' ( smooth in implicitly-sized array of float ClipDistance)
|
||||
0:18 'gl_ClipDistance' ( smooth in unsized 4-element array of float ClipDistance)
|
||||
0:18 Constant:
|
||||
0:18 3 (const int)
|
||||
0:23 Function Definition: foo( ( global void)
|
||||
|
@ -381,7 +381,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'fflat' ( flat in float)
|
||||
0:? 'fsmooth' ( smooth in float)
|
||||
0:? 'fnop' ( noperspective in float)
|
||||
0:? 'gl_ClipDistance' ( smooth in implicitly-sized array of float ClipDistance)
|
||||
0:? 'gl_ClipDistance' ( smooth in unsized 4-element array of float ClipDistance)
|
||||
0:? 'sampC' ( uniform samplerCube)
|
||||
0:? 'gl_Color' ( in 4-component vector of float Color)
|
||||
0:? 'samp2D' ( uniform sampler2D)
|
||||
|
|
|
@ -113,7 +113,7 @@ ERROR: node is still EOpNull!
|
|||
0:45 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:46 move second child to first child ( temp float)
|
||||
0:46 direct index ( smooth temp float ClipDistance)
|
||||
0:46 'gl_ClipDistance' ( smooth out implicitly-sized array of float ClipDistance)
|
||||
0:46 'gl_ClipDistance' ( smooth out unsized 2-element array of float ClipDistance)
|
||||
0:46 Constant:
|
||||
0:46 1 (const int)
|
||||
0:46 Constant:
|
||||
|
@ -132,7 +132,7 @@ ERROR: node is still EOpNull!
|
|||
0:66 'gl_DepthRange' ( uniform structure{ global float near, global float far, global float diff})
|
||||
0:66 Constant:
|
||||
0:66 1 (const int)
|
||||
0:67 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord)
|
||||
0:67 'gl_TexCoord' ( smooth out unsized 1-element array of 4-component vector of float TexCoord)
|
||||
0:68 'gl_FogFragCoord' ( smooth out float FogFragCoord)
|
||||
0:69 'gl_FrontColor' ( smooth out 4-component vector of float FrontColor)
|
||||
0:? Linker Objects
|
||||
|
@ -145,8 +145,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'c3D' ( in 3-component vector of float)
|
||||
0:? 'c4D' ( smooth temp 4-component vector of float)
|
||||
0:? 'v4' ( uniform 4-component vector of float)
|
||||
0:? 'gl_ClipDistance' ( smooth out implicitly-sized array of float ClipDistance)
|
||||
0:? 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord)
|
||||
0:? 'gl_ClipDistance' ( smooth out unsized 2-element array of float ClipDistance)
|
||||
0:? 'gl_TexCoord' ( smooth out unsized 1-element array of 4-component vector of float TexCoord)
|
||||
0:? 'abcdef' ( global int)
|
||||
0:? 'qrstuv' ( global int)
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
|
|
|
@ -52,7 +52,7 @@ ERROR: node is still EOpNull!
|
|||
0:17 'gl_DepthRange' ( uniform structure{ global float near, global float far, global float diff})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:18 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord)
|
||||
0:18 'gl_TexCoord' ( smooth out unsized 1-element array of 4-component vector of float TexCoord)
|
||||
0:19 'gl_FogFragCoord' ( smooth out float FogFragCoord)
|
||||
0:20 'gl_FrontColor' ( smooth out 4-component vector of float FrontColor)
|
||||
0:48 Function Definition: foo( ( global void)
|
||||
|
@ -133,7 +133,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'sbuf' ( uniform isamplerBuffer)
|
||||
0:? 'anon@0' (layout( column_major std140) uniform block{layout( column_major std140 offset=0) uniform int anonMem})
|
||||
0:? 'gl_TexCoord' ( smooth out implicitly-sized array of 4-component vector of float TexCoord)
|
||||
0:? 'gl_TexCoord' ( smooth out unsized 1-element array of 4-component vector of float TexCoord)
|
||||
0:? 'gl_Position' ( smooth out 4-component vector of float)
|
||||
0:? 'locBad' (layout( location=9) in 4-component vector of float)
|
||||
0:? 'loc' (layout( location=9) in 4-component vector of float)
|
||||
|
|
|
@ -67,16 +67,16 @@ ERROR: node is still EOpNull!
|
|||
0:32 0 (const int)
|
||||
0:33 move second child to first child ( temp float)
|
||||
0:33 direct index (layout( stream=0) temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure (layout( stream=0) out implicitly-sized array of float ClipDistance)
|
||||
0:33 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 gl_ClipDistance: direct index for structure (layout( stream=0) out unsized 4-element array of float ClipDistance)
|
||||
0:33 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 4-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 2 (const uint)
|
||||
0:33 Constant:
|
||||
0:33 3 (const int)
|
||||
0:33 direct index ( temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
|
@ -85,24 +85,24 @@ ERROR: node is still EOpNull!
|
|||
0:33 2 (const int)
|
||||
0:34 move second child to first child ( temp 4-component vector of float)
|
||||
0:34 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
|
||||
0:34 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 4-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 Constant:
|
||||
0:34 0 (const uint)
|
||||
0:34 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:35 move second child to first child ( temp float)
|
||||
0:35 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize float PointSize)
|
||||
0:35 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:35 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 4-element array of float ClipDistance gl_ClipDistance})
|
||||
0:35 Constant:
|
||||
0:35 1 (const uint)
|
||||
0:35 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:35 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:35 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:35 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:35 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:35 Constant:
|
||||
0:35 3 (const int)
|
||||
0:35 Constant:
|
||||
|
@ -151,8 +151,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'fromV' ( in 4-element array of block{ in 3-component vector of float color})
|
||||
0:? 'toF' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color})
|
||||
0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'anon@1' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 4-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' ( in 4-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'ov0' (layout( stream=0) out 4-component vector of float)
|
||||
0:? 'ov4' (layout( stream=4) out 4-component vector of float)
|
||||
0:? 'o1v0' (layout( stream=0) out 4-component vector of float)
|
||||
|
|
|
@ -16,8 +16,8 @@ vertices = 4
|
|||
0:20 move second child to first child ( temp 4-component vector of float)
|
||||
0:20 'p' ( temp 4-component vector of float)
|
||||
0:20 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:20 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:20 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:20 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:20 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:20 Constant:
|
||||
|
@ -26,8 +26,8 @@ vertices = 4
|
|||
0:21 move second child to first child ( temp float)
|
||||
0:21 'ps' ( temp float)
|
||||
0:21 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:21 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:21 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:21 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:21 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:21 Constant:
|
||||
0:21 1 (const int)
|
||||
0:21 Constant:
|
||||
|
@ -36,9 +36,9 @@ vertices = 4
|
|||
0:22 move second child to first child ( temp float)
|
||||
0:22 'cd' ( temp float)
|
||||
0:22 direct index ( temp float ClipDistance)
|
||||
0:22 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:22 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 Constant:
|
||||
|
@ -59,25 +59,25 @@ vertices = 4
|
|||
0:26 'gl_InvocationID' ( in int InvocationID)
|
||||
0:28 move second child to first child ( temp 4-component vector of float)
|
||||
0:28 gl_Position: direct index for structure ( out 4-component vector of float Position)
|
||||
0:28 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:28 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:28 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:28 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:28 'gl_InvocationID' ( in int InvocationID)
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:28 'p' ( temp 4-component vector of float)
|
||||
0:29 move second child to first child ( temp float)
|
||||
0:29 gl_PointSize: direct index for structure ( out float PointSize)
|
||||
0:29 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:29 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:29 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:29 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:29 'gl_InvocationID' ( in int InvocationID)
|
||||
0:29 Constant:
|
||||
0:29 1 (const int)
|
||||
0:29 'ps' ( temp float)
|
||||
0:30 move second child to first child ( temp float)
|
||||
0:30 direct index ( temp float ClipDistance)
|
||||
0:30 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance)
|
||||
0:30 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:30 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:30 gl_ClipDistance: direct index for structure ( out unsized 2-element array of float ClipDistance)
|
||||
0:30 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:30 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:30 'gl_InvocationID' ( in int InvocationID)
|
||||
0:30 Constant:
|
||||
0:30 2 (const int)
|
||||
|
@ -99,7 +99,7 @@ vertices = 4
|
|||
0:33 Constant:
|
||||
0:33 1.300000
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'outa' ( global 4-element array of int)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
|
||||
|
@ -129,8 +129,8 @@ ERROR: node is still EOpNull!
|
|||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:22 'p' ( temp 4-component vector of float)
|
||||
0:22 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:22 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:22 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 Constant:
|
||||
|
@ -139,8 +139,8 @@ ERROR: node is still EOpNull!
|
|||
0:23 move second child to first child ( temp float)
|
||||
0:23 'ps' ( temp float)
|
||||
0:23 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
|
@ -149,9 +149,9 @@ ERROR: node is still EOpNull!
|
|||
0:24 move second child to first child ( temp float)
|
||||
0:24 'cd' ( temp float)
|
||||
0:24 direct index ( temp float ClipDistance)
|
||||
0:24 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:24 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
|
@ -186,20 +186,20 @@ ERROR: node is still EOpNull!
|
|||
0:30 1 (const int)
|
||||
0:32 move second child to first child ( temp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:32 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 0 (const uint)
|
||||
0:32 'p' ( temp 4-component vector of float)
|
||||
0:33 move second child to first child ( temp float)
|
||||
0:33 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
|
||||
0:33 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const uint)
|
||||
0:33 'ps' ( temp float)
|
||||
0:34 move second child to first child ( temp float)
|
||||
0:34 direct index ( temp float ClipDistance)
|
||||
0:34 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance)
|
||||
0:34 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 gl_ClipDistance: direct index for structure ( out unsized 3-element array of float ClipDistance)
|
||||
0:34 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 Constant:
|
||||
0:34 2 (const uint)
|
||||
0:34 Constant:
|
||||
|
@ -207,7 +207,7 @@ ERROR: node is still EOpNull!
|
|||
0:34 'cd' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
400.tesc
|
||||
ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
|
||||
|
@ -255,8 +255,8 @@ ERROR: node is still EOpNull!
|
|||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 'p' ( temp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
|
@ -265,8 +265,8 @@ ERROR: node is still EOpNull!
|
|||
0:24 move second child to first child ( temp float)
|
||||
0:24 'ps' ( temp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
|
@ -275,9 +275,9 @@ ERROR: node is still EOpNull!
|
|||
0:25 move second child to first child ( temp float)
|
||||
0:25 'cd' ( temp float)
|
||||
0:25 direct index ( temp float ClipDistance)
|
||||
0:25 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:25 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 Constant:
|
||||
|
@ -298,25 +298,25 @@ ERROR: node is still EOpNull!
|
|||
0:29 'gl_InvocationID' ( in int InvocationID)
|
||||
0:31 move second child to first child ( temp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure ( out 4-component vector of float Position)
|
||||
0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_InvocationID' ( in int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' ( temp 4-component vector of float)
|
||||
0:32 move second child to first child ( temp float)
|
||||
0:32 gl_PointSize: direct index for structure ( out float PointSize)
|
||||
0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_InvocationID' ( in int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' ( temp float)
|
||||
0:33 move second child to first child ( temp float)
|
||||
0:33 direct index ( temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance)
|
||||
0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 gl_ClipDistance: direct index for structure ( out unsized 2-element array of float ClipDistance)
|
||||
0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_InvocationID' ( in int InvocationID)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
|
@ -386,8 +386,8 @@ ERROR: node is still EOpNull!
|
|||
0:67 Function Parameters:
|
||||
0:69 Sequence
|
||||
0:69 gl_PointSize: direct index for structure ( out float PointSize)
|
||||
0:69 direct index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:69 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:69 direct index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:69 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:69 Constant:
|
||||
0:69 4 (const int)
|
||||
0:69 Constant:
|
||||
|
@ -422,7 +422,7 @@ ERROR: node is still EOpNull!
|
|||
0:123 'gl_DeviceIndex' ( in int DeviceIndex)
|
||||
0:124 'gl_ViewIndex' ( in int ViewIndex)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'outa' ( global 4-element array of int)
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
|
@ -453,7 +453,7 @@ ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
|
|||
ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as unsized
|
||||
ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:64: 'quads' : cannot apply to 'out'
|
||||
ERROR: 0:64: 'cw' : can only apply to 'in'
|
||||
|
@ -499,8 +499,8 @@ ERROR: node is still EOpNull!
|
|||
0:32 move second child to first child ( temp 4-component vector of float)
|
||||
0:32 'p' ( temp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
|
@ -509,8 +509,8 @@ ERROR: node is still EOpNull!
|
|||
0:33 move second child to first child ( temp float)
|
||||
0:33 'ps' ( temp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
|
@ -519,9 +519,9 @@ ERROR: node is still EOpNull!
|
|||
0:34 move second child to first child ( temp float)
|
||||
0:34 'cd' ( temp float)
|
||||
0:34 direct index ( temp float ClipDistance)
|
||||
0:34 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 Constant:
|
||||
0:34 1 (const int)
|
||||
0:34 Constant:
|
||||
|
@ -556,20 +556,20 @@ ERROR: node is still EOpNull!
|
|||
0:40 1 (const int)
|
||||
0:42 move second child to first child ( temp 4-component vector of float)
|
||||
0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'p' ( temp 4-component vector of float)
|
||||
0:43 move second child to first child ( temp float)
|
||||
0:43 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
|
||||
0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:43 Constant:
|
||||
0:43 1 (const uint)
|
||||
0:43 'ps' ( temp float)
|
||||
0:44 move second child to first child ( temp float)
|
||||
0:44 direct index ( temp float ClipDistance)
|
||||
0:44 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance)
|
||||
0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:44 gl_ClipDistance: direct index for structure ( out unsized 3-element array of float ClipDistance)
|
||||
0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:44 Constant:
|
||||
0:44 2 (const uint)
|
||||
0:44 Constant:
|
||||
|
@ -588,7 +588,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'badp1' ( smooth patch in 4-component vector of float)
|
||||
0:? 'badp2' ( flat patch in 4-component vector of float)
|
||||
0:? 'badp3' ( noperspective patch in 4-component vector of float)
|
||||
|
@ -620,7 +620,7 @@ ERROR: node is still EOpNull!
|
|||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out implicitly-sized array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_out' ( out unsized 1-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'outa' ( global 1-element array of int)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
|
||||
|
@ -646,8 +646,8 @@ ERROR: node is still EOpNull!
|
|||
0:17 move second child to first child ( temp 4-component vector of float)
|
||||
0:17 'p' ( temp 4-component vector of float)
|
||||
0:17 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:17 Constant:
|
||||
|
@ -656,8 +656,8 @@ ERROR: node is still EOpNull!
|
|||
0:18 move second child to first child ( temp float)
|
||||
0:18 'ps' ( temp float)
|
||||
0:18 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:18 Constant:
|
||||
|
@ -666,9 +666,9 @@ ERROR: node is still EOpNull!
|
|||
0:19 move second child to first child ( temp float)
|
||||
0:19 'cd' ( temp float)
|
||||
0:19 direct index ( temp float ClipDistance)
|
||||
0:19 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:19 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:19 Constant:
|
||||
|
@ -883,7 +883,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'b3' ( global 2-element array of 4-component vector of float)
|
||||
0:? 'b4' ( global 2-element array of 4-component vector of float)
|
||||
0:? 'c3' ( global 4X2 matrix of float)
|
||||
0:? 'd2' ( global implicitly-sized array of structure{ global float s, global float t})
|
||||
0:? 'd2' ( global unsized 1-element array of structure{ global float s, global float t})
|
||||
0:? 'b5' ( global 5-element array of float)
|
||||
0:? 'single1' ( global structure{ global int f})
|
||||
0:? 'single2' ( global structure{ global 2-component vector of uint v})
|
||||
|
@ -943,7 +943,7 @@ ERROR: Linking tessellation control stage: Multiple function bodies in multiple
|
|||
ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
main(
|
||||
ERROR: Linking tessellation control stage: Types must match:
|
||||
gl_out: " out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus " out implicitly-sized array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"
|
||||
gl_out: " out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance}" versus " out unsized 1-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance}"
|
||||
ERROR: Linking tessellation control stage: Types must match:
|
||||
outa: " global 4-element array of int" versus " global 1-element array of int"
|
||||
ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
|
||||
|
@ -956,7 +956,7 @@ ERROR: Linking tessellation control stage: Multiple function bodies in multiple
|
|||
ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
|
||||
main(
|
||||
ERROR: Linking tessellation control stage: Types must match:
|
||||
gl_out: " out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus " out 3-element array of block{ out 4-component vector of float Position gl_Position}"
|
||||
gl_out: " out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance}" versus " out 3-element array of block{ out 4-component vector of float Position gl_Position}"
|
||||
|
||||
Linked tessellation evaluation stage:
|
||||
|
||||
|
|
|
@ -11,20 +11,20 @@ ERROR: node is still EOpNull!
|
|||
0:15 Sequence
|
||||
0:15 move second child to first child ( temp 4-component vector of float)
|
||||
0:15 gl_Position: direct index for structure ( invariant gl_Position 4-component vector of float Position)
|
||||
0:15 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:15 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 'iv4' ( in 4-component vector of float)
|
||||
0:16 move second child to first child ( temp float)
|
||||
0:16 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
|
||||
0:16 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:16 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:16 Constant:
|
||||
0:16 1 (const uint)
|
||||
0:16 'ps' ( uniform float)
|
||||
0:17 move second child to first child ( temp float)
|
||||
0:17 direct index ( temp float ClipDistance)
|
||||
0:17 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance)
|
||||
0:17 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:17 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:17 Constant:
|
||||
0:17 2 (const uint)
|
||||
0:17 Constant:
|
||||
|
@ -35,14 +35,14 @@ ERROR: node is still EOpNull!
|
|||
0:17 0 (const int)
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 gl_ClipVertex: direct index for structure ( gl_ClipVertex 4-component vector of float ClipVertex)
|
||||
0:18 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:18 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:18 Constant:
|
||||
0:18 3 (const uint)
|
||||
0:18 'iv4' ( in 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'iv4' ( in 4-component vector of float)
|
||||
0:? 'ps' ( uniform float)
|
||||
0:? 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of int a})
|
||||
0:? 'anon@1' (layout( column_major shared) uniform block{layout( column_major shared) uniform unsized 1-element array of int a})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ ERROR: 0:101: 'arrays of arrays' : not supported for this version or the enabled
|
|||
ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:103: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:103: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:100: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:100: 'array-of-array of block' : not supported with this profile: es
|
||||
ERROR: 0:111: 'variable indexing fragment shader output array' : not supported with this profile: es
|
||||
|
@ -44,7 +45,7 @@ ERROR: 0:157: 'invariant' : can only apply to an output
|
|||
ERROR: 0:158: 'invariant' : can only apply to an output
|
||||
ERROR: 0:160: 'imageBuffer' : Reserved word.
|
||||
ERROR: 0:160: '' : syntax error, unexpected IMAGEBUFFER, expecting COMMA or SEMICOLON
|
||||
ERROR: 45 compilation errors. No code generated.
|
||||
ERROR: 46 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 300
|
||||
|
@ -392,7 +393,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'sc' ( out lowp 3-component vector of float)
|
||||
0:? 'sf' ( out lowp float)
|
||||
0:? 'arrayedSampler' ( uniform 5-element array of lowp sampler2D)
|
||||
0:? 'multiInst' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform 2-element array of mediump int a, layout( column_major shared) uniform 2-element array of 3-element array of mediump int b, layout( column_major shared) uniform 2-element array of 3-element array of mediump int c})
|
||||
0:? 'multiInst' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform 3-element array of 2-element array of mediump int a, layout( column_major shared) uniform 2-element array of 3-element array of mediump int b, layout( column_major shared) uniform 2-element array of 3-element array of mediump int c})
|
||||
0:? 'colors' ( out 4-element array of lowp 4-component vector of float)
|
||||
0:? 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s})
|
||||
0:? 'st2' ( uniform structure{ global mediump int i, global lowp sampler2D s})
|
||||
|
@ -623,7 +624,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'sc' ( out lowp 3-component vector of float)
|
||||
0:? 'sf' ( out lowp float)
|
||||
0:? 'arrayedSampler' ( uniform 5-element array of lowp sampler2D)
|
||||
0:? 'multiInst' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform 2-element array of mediump int a, layout( column_major shared) uniform 2-element array of 3-element array of mediump int b, layout( column_major shared) uniform 2-element array of 3-element array of mediump int c})
|
||||
0:? 'multiInst' (layout( column_major shared) uniform 2-element array of 3-element array of block{layout( column_major shared) uniform 3-element array of 2-element array of mediump int a, layout( column_major shared) uniform 2-element array of 3-element array of mediump int b, layout( column_major shared) uniform 2-element array of 3-element array of mediump int c})
|
||||
0:? 'colors' ( out 4-element array of lowp 4-component vector of float)
|
||||
0:? 'st1' ( uniform structure{ global mediump int i, global lowp sampler2D s})
|
||||
0:? 'st2' ( uniform structure{ global mediump int i, global lowp sampler2D s})
|
||||
|
|
|
@ -320,9 +320,9 @@ ERROR: node is still EOpNull!
|
|||
0:? 'rep2' ( centroid smooth sample out highp 4-component vector of float)
|
||||
0:? 'rep3' ( in highp 4-component vector of float)
|
||||
0:? 's' ( smooth out structure{ global highp 3-component vector of float c, global highp float f})
|
||||
0:? 'badsize' ( global implicitly-sized array of highp float)
|
||||
0:? 'badsize2' ( global implicitly-sized array of highp float)
|
||||
0:? 'ubInst' (layout( column_major shared) uniform implicitly-sized array of block{layout( column_major shared) uniform implicitly-sized array of highp int a})
|
||||
0:? 'badsize' ( global unsized 1-element array of highp float)
|
||||
0:? 'badsize2' ( global unsized 1-element array of highp float)
|
||||
0:? 'ubInst' (layout( column_major shared) uniform unsized 1-element array of block{layout( column_major shared) uniform unsized 1-element array of highp int a})
|
||||
0:? 'okayA' ( global 2-element array of highp float)
|
||||
0:? 'newV' ( invariant smooth out highp 3-component vector of float)
|
||||
0:? 'invIn' ( invariant in highp 4-component vector of float)
|
||||
|
|
|
@ -102,13 +102,13 @@ ERROR: node is still EOpNull!
|
|||
0:35 GroupMemoryBarrier ( global void)
|
||||
0:36 move second child to first child ( temp highp int)
|
||||
0:36 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer runtime-sized array of highp float values})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 Convert float to int ( temp highp int)
|
||||
0:36 indirect index (layout( column_major shared) temp highp float)
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer runtime-sized array of highp float values})
|
||||
0:36 Constant:
|
||||
0:36 1 (const uint)
|
||||
0:36 'gl_LocalInvocationIndex' ( in highp uint LocalInvocationIndex)
|
||||
|
@ -117,8 +117,8 @@ ERROR: node is still EOpNull!
|
|||
0:61 Sequence
|
||||
0:61 move second child to first child ( temp highp float)
|
||||
0:61 direct index (layout( column_major shared) temp highp float)
|
||||
0:61 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:61 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:61 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:61 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:61 Constant:
|
||||
0:61 1 (const int)
|
||||
0:61 Constant:
|
||||
|
@ -126,8 +126,8 @@ ERROR: node is still EOpNull!
|
|||
0:61 Constant:
|
||||
0:61 4.700000
|
||||
0:62 array length ( temp int)
|
||||
0:62 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:62 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:62 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:62 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:62 Constant:
|
||||
0:62 1 (const int)
|
||||
0:63 Pre-Increment ( temp highp 4-component vector of float)
|
||||
|
@ -280,8 +280,8 @@ ERROR: node is still EOpNull!
|
|||
0:194 move second child to first child ( temp highp float)
|
||||
0:194 'g' ( temp highp float)
|
||||
0:194 direct index (layout( column_major shared) temp highp float)
|
||||
0:194 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:194 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:194 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:194 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:194 Constant:
|
||||
0:194 1 (const int)
|
||||
0:194 Constant:
|
||||
|
@ -290,24 +290,24 @@ ERROR: node is still EOpNull!
|
|||
0:195 move second child to first child ( temp highp float)
|
||||
0:195 'f' ( temp highp float)
|
||||
0:195 direct index (layout( column_major shared) temp highp float)
|
||||
0:195 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:195 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:195 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:195 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:195 Constant:
|
||||
0:195 1 (const int)
|
||||
0:195 Constant:
|
||||
0:195 2 (const int)
|
||||
0:196 Pre-Increment ( temp highp float)
|
||||
0:196 direct index (layout( column_major shared) temp highp float)
|
||||
0:196 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:196 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:196 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:196 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:196 Constant:
|
||||
0:196 1 (const int)
|
||||
0:196 Constant:
|
||||
0:196 2 (const int)
|
||||
0:197 Post-Decrement ( temp highp float)
|
||||
0:197 direct index (layout( column_major shared) temp highp float)
|
||||
0:197 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:197 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:197 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:197 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:197 Constant:
|
||||
0:197 1 (const int)
|
||||
0:197 Constant:
|
||||
|
@ -315,16 +315,16 @@ ERROR: node is still EOpNull!
|
|||
0:198 add ( temp highp float)
|
||||
0:198 'f' ( temp highp float)
|
||||
0:198 direct index (layout( column_major shared) temp highp float)
|
||||
0:198 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:198 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:198 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:198 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:198 Constant:
|
||||
0:198 1 (const int)
|
||||
0:198 Constant:
|
||||
0:198 2 (const int)
|
||||
0:199 subtract ( temp highp float)
|
||||
0:199 direct index (layout( column_major shared) temp highp float)
|
||||
0:199 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:199 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:199 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:199 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:199 Constant:
|
||||
0:199 1 (const int)
|
||||
0:199 Constant:
|
||||
|
@ -337,8 +337,8 @@ ERROR: node is still EOpNull!
|
|||
0:201 'f' ( temp highp float)
|
||||
0:201 false case
|
||||
0:201 direct index (layout( column_major shared) temp highp float)
|
||||
0:201 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:201 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:201 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:201 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:201 Constant:
|
||||
0:201 1 (const int)
|
||||
0:201 Constant:
|
||||
|
@ -348,8 +348,8 @@ ERROR: node is still EOpNull!
|
|||
0:202 'b' ( temp bool)
|
||||
0:202 true case
|
||||
0:202 direct index (layout( column_major shared) temp highp float)
|
||||
0:202 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:202 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:202 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:202 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:202 Constant:
|
||||
0:202 1 (const int)
|
||||
0:202 Constant:
|
||||
|
@ -361,8 +361,8 @@ ERROR: node is still EOpNull!
|
|||
0:203 Compare Equal ( temp bool)
|
||||
0:203 'f' ( temp highp float)
|
||||
0:203 direct index (layout( column_major shared) temp highp float)
|
||||
0:203 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:203 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:203 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:203 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:203 Constant:
|
||||
0:203 1 (const int)
|
||||
0:203 Constant:
|
||||
|
@ -375,8 +375,8 @@ ERROR: node is still EOpNull!
|
|||
0:205 Compare Greater Than or Equal ( temp bool)
|
||||
0:205 'f' ( temp highp float)
|
||||
0:205 direct index (layout( column_major shared) temp highp float)
|
||||
0:205 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:205 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:205 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:205 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:205 Constant:
|
||||
0:205 1 (const int)
|
||||
0:205 Constant:
|
||||
|
@ -389,8 +389,8 @@ ERROR: node is still EOpNull!
|
|||
0:207 direct index ( temp highp float)
|
||||
0:207 Construct vec3 ( temp highp 3-component vector of float)
|
||||
0:207 direct index (layout( column_major shared) temp highp float)
|
||||
0:207 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:207 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:207 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:207 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:207 Constant:
|
||||
0:207 1 (const int)
|
||||
0:207 Constant:
|
||||
|
@ -399,13 +399,13 @@ ERROR: node is still EOpNull!
|
|||
0:207 0 (const int)
|
||||
0:208 Bitwise not ( temp highp int)
|
||||
0:208 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:208 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:208 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:208 Constant:
|
||||
0:208 0 (const int)
|
||||
0:209 move second child to first child ( temp highp float)
|
||||
0:209 direct index (layout( column_major shared) temp highp float)
|
||||
0:209 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:209 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:209 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:209 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:209 Constant:
|
||||
0:209 1 (const int)
|
||||
0:209 Constant:
|
||||
|
@ -418,21 +418,21 @@ ERROR: node is still EOpNull!
|
|||
0:221 move second child to first child ( temp highp float)
|
||||
0:221 'g' ( temp highp float)
|
||||
0:221 direct index (layout( column_major shared) temp highp float)
|
||||
0:221 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:221 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:221 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:221 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:221 Constant:
|
||||
0:221 1 (const int)
|
||||
0:221 Constant:
|
||||
0:221 2 (const int)
|
||||
0:222 Bitwise not ( temp highp int)
|
||||
0:222 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:222 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:222 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:222 Constant:
|
||||
0:222 0 (const int)
|
||||
0:223 move second child to first child ( temp highp float)
|
||||
0:223 direct index (layout( column_major shared) temp highp float)
|
||||
0:223 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:223 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:223 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:223 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:223 Constant:
|
||||
0:223 1 (const int)
|
||||
0:223 Constant:
|
||||
|
@ -441,7 +441,7 @@ ERROR: node is still EOpNull!
|
|||
0:223 3.400000
|
||||
0:224 move second child to first child ( temp highp int)
|
||||
0:224 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:224 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:224 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:224 Constant:
|
||||
0:224 0 (const int)
|
||||
0:224 Constant:
|
||||
|
@ -463,8 +463,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 4096 (const uint)
|
||||
0:? 'total' ( const highp int)
|
||||
0:? 66592 (const int)
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of highp float values, layout( column_major shared) buffer highp int value})
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer runtime-sized array of highp float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer unsized 1-element array of highp float values, layout( column_major shared) buffer highp int value})
|
||||
0:? 'v3' (layout( location=2) in highp 3-component vector of float)
|
||||
0:? 'f' ( in highp float)
|
||||
0:? 'fo' ( out highp float)
|
||||
|
@ -474,7 +474,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'arrX' ( global 2-element array of highp int)
|
||||
0:? 'arrY' ( global 1-element array of highp int)
|
||||
0:? 'arrZ' ( global 4096-element array of highp int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'v' ( buffer highp 4-component vector of float)
|
||||
0:? 'us2dbad' ( uniform mediump usampler2D)
|
||||
0:? 'us2d' ( uniform highp usampler2D)
|
||||
|
@ -513,8 +513,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D)
|
||||
0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D)
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer implicitly-sized array of highp float values})
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 1-element array of highp float values})
|
||||
0:? 'inbi' ( in block{ in highp int a})
|
||||
0:? 'outbi' ( out block{ out highp int a})
|
||||
0:? 't__' ( global highp float)
|
||||
|
@ -540,13 +540,13 @@ ERROR: node is still EOpNull!
|
|||
0:35 GroupMemoryBarrier ( global void)
|
||||
0:36 move second child to first child ( temp highp int)
|
||||
0:36 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer runtime-sized array of highp float values})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 Convert float to int ( temp highp int)
|
||||
0:36 indirect index (layout( column_major shared) temp highp float)
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer runtime-sized array of highp float values})
|
||||
0:36 Constant:
|
||||
0:36 1 (const uint)
|
||||
0:36 'gl_LocalInvocationIndex' ( in highp uint LocalInvocationIndex)
|
||||
|
@ -557,8 +557,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 4096 (const uint)
|
||||
0:? 'total' ( const highp int)
|
||||
0:? 66592 (const int)
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of highp float values, layout( column_major shared) buffer highp int value})
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer runtime-sized array of highp float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer 1-element array of highp float values, layout( column_major shared) buffer highp int value})
|
||||
0:? 'v3' (layout( location=2) in highp 3-component vector of float)
|
||||
0:? 'f' ( in highp float)
|
||||
0:? 'fo' ( out highp float)
|
||||
|
@ -568,7 +568,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'arrX' ( global 2-element array of highp int)
|
||||
0:? 'arrY' ( global 1-element array of highp int)
|
||||
0:? 'arrZ' ( global 4096-element array of highp int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'v' ( buffer highp 4-component vector of float)
|
||||
0:? 'us2dbad' ( uniform mediump usampler2D)
|
||||
0:? 'us2d' ( uniform highp usampler2D)
|
||||
|
@ -607,8 +607,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D)
|
||||
0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D)
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer implicitly-sized array of highp float values})
|
||||
0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer implicitly-sized array of highp float values})
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 1-element array of highp float values})
|
||||
0:? 'inbi' ( in block{ in highp int a})
|
||||
0:? 'outbi' ( out block{ out highp int a})
|
||||
0:? 't__' ( global highp float)
|
||||
|
|
|
@ -569,12 +569,12 @@ ERROR: node is still EOpNull!
|
|||
0:259 move second child to first child ( temp highp int)
|
||||
0:259 'a3' ( temp highp int)
|
||||
0:259 direct index ( flat temp highp int SampleMaskIn)
|
||||
0:259 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:259 'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
|
||||
0:259 Constant:
|
||||
0:259 0 (const int)
|
||||
0:260 move second child to first child ( temp highp int)
|
||||
0:260 direct index ( temp highp int SampleMaskIn)
|
||||
0:260 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:260 'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
|
||||
0:260 Constant:
|
||||
0:260 0 (const int)
|
||||
0:260 'a3' ( temp highp int)
|
||||
|
@ -597,12 +597,12 @@ ERROR: node is still EOpNull!
|
|||
0:272 move second child to first child ( temp highp int)
|
||||
0:272 'a3' ( temp highp int)
|
||||
0:272 direct index ( flat temp highp int SampleMaskIn)
|
||||
0:272 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:272 'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
|
||||
0:272 Constant:
|
||||
0:272 0 (const int)
|
||||
0:273 move second child to first child ( temp highp int)
|
||||
0:273 direct index ( temp highp int SampleMaskIn)
|
||||
0:273 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:273 'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
|
||||
0:273 Constant:
|
||||
0:273 0 (const int)
|
||||
0:273 'a3' ( temp highp int)
|
||||
|
@ -1001,8 +1001,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:? 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:? 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:? 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
|
||||
0:? 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:? 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:? 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
|
|
|
@ -70,8 +70,8 @@ ERROR: node is still EOpNull!
|
|||
0:25 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:25 'p' ( temp highp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 Constant:
|
||||
|
@ -80,8 +80,8 @@ ERROR: node is still EOpNull!
|
|||
0:26 move second child to first child ( temp highp float)
|
||||
0:26 'ps' ( temp highp float)
|
||||
0:26 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 Constant:
|
||||
|
@ -209,8 +209,8 @@ ERROR: node is still EOpNull!
|
|||
0:114 move second child to first child ( temp highp float)
|
||||
0:114 'ps' ( temp highp float)
|
||||
0:114 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:114 Constant:
|
||||
0:114 1 (const int)
|
||||
0:114 Constant:
|
||||
|
@ -357,7 +357,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'inb' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'inc' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'ind' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'implA' ( patch out implicitly-sized array of highp float)
|
||||
0:? 'implA' ( patch out unsized 1-element array of highp float)
|
||||
0:? 'ivla' (layout( location=3) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlb' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlc' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
|
@ -372,7 +372,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'misSized' ( out 5-element array of highp float)
|
||||
0:? 'okaySize' ( out 4-element array of highp float)
|
||||
0:? 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:? 'badpatchIName' ( patch out implicitly-sized array of block{ out highp float f})
|
||||
0:? 'badpatchIName' ( patch out unsized 1-element array of block{ out highp float f})
|
||||
0:? 'patchIName' ( patch out 4-element array of block{ out highp float f})
|
||||
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ ERROR: 0:53: 'noperspective' : not supported for this version or the enabled ext
|
|||
ERROR: 0:53: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:54: 'sample' : Reserved word.
|
||||
ERROR: 0:54: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:58: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
|
||||
ERROR: 0:58: 'gl_PerVertex' : block already declared with size, can't redeclare as unsized
|
||||
ERROR: 0:63: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:68: 'quads' : cannot apply to 'out'
|
||||
ERROR: 0:68: 'cw' : can only apply to 'in'
|
||||
|
@ -77,8 +77,8 @@ ERROR: node is still EOpNull!
|
|||
0:36 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:36 'p' ( temp highp 4-component vector of float)
|
||||
0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
|
@ -87,8 +87,8 @@ ERROR: node is still EOpNull!
|
|||
0:37 move second child to first child ( temp highp float)
|
||||
0:37 'ps' ( temp highp float)
|
||||
0:37 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 Constant:
|
||||
|
|
|
@ -7,12 +7,12 @@ ERROR: 0:48: 'constructor' : constructing non-array constituent from array argum
|
|||
ERROR: 0:49: 'constructor' : array constructor argument not correct type to construct array element
|
||||
ERROR: 0:62: '[' : array index out of range '4'
|
||||
ERROR: 0:78: 'assign' : cannot convert from ' global 4-element array of 7-element array of highp float' to ' global 5-element array of 7-element array of highp float'
|
||||
ERROR: 0:79: 'assign' : cannot convert from ' global 4-element array of 7-element array of highp float' to ' global implicitly-sized array of 7-element array of highp float'
|
||||
ERROR: 0:79: 'assign' : cannot convert from ' global 4-element array of 7-element array of highp float' to ' global unsized 1-element array of 7-element array of highp float'
|
||||
ERROR: 0:81: 'foo' : no matching overloaded function found
|
||||
ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type ' global 4-element array of 7-element array of highp float' and a right operand of type ' global 5-element array of 7-element array of highp float' (or there is no acceptable conversion)
|
||||
ERROR: 0:90: '[' : array index out of range '5'
|
||||
ERROR: 0:94: '[' : index out of range '-1'
|
||||
ERROR: 0:96: 'assign' : cannot convert from ' temp 3-element array of highp 4-component vector of float' to 'layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float'
|
||||
ERROR: 0:96: 'assign' : cannot convert from ' temp 3-element array of highp 4-component vector of float' to 'layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float'
|
||||
ERROR: 0:103: '' : array size required
|
||||
ERROR: 0:104: '' : array size required
|
||||
ERROR: 0:105: '' : array size required
|
||||
|
@ -245,7 +245,7 @@ ERROR: node is still EOpNull!
|
|||
0:77 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of highp float)
|
||||
0:77 'g5' ( global 5-element array of 7-element array of highp float)
|
||||
0:78 'g5' ( global 5-element array of 7-element array of highp float)
|
||||
0:79 'gu' ( global implicitly-sized array of 7-element array of highp float)
|
||||
0:79 'gu' ( global unsized 1-element array of 7-element array of highp float)
|
||||
0:81 Constant:
|
||||
0:81 0.000000
|
||||
0:82 Function Call: bar(f1[5][7]; ( global void)
|
||||
|
@ -275,9 +275,9 @@ ERROR: node is still EOpNull!
|
|||
0:91 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of highp float)
|
||||
0:91 'u' ( temp 5-element array of 7-element array of highp float)
|
||||
0:94 direct index (layout( column_major shared) temp highp 4-component vector of float)
|
||||
0:94 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float)
|
||||
0:94 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:94 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:94 v: direct index for structure (layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float)
|
||||
0:94 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:94 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:94 Constant:
|
||||
0:94 1 (const int)
|
||||
0:94 Constant:
|
||||
|
@ -286,9 +286,9 @@ ERROR: node is still EOpNull!
|
|||
0:94 -1 (const int)
|
||||
0:95 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:95 direct index (layout( column_major shared) temp highp 4-component vector of float)
|
||||
0:95 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float)
|
||||
0:95 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:95 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:95 v: direct index for structure (layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float)
|
||||
0:95 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:95 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:95 Constant:
|
||||
0:95 1 (const int)
|
||||
0:95 Constant:
|
||||
|
@ -300,9 +300,9 @@ ERROR: node is still EOpNull!
|
|||
0:95 4.300000
|
||||
0:95 4.300000
|
||||
0:95 4.300000
|
||||
0:96 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float)
|
||||
0:96 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:96 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:96 v: direct index for structure (layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float)
|
||||
0:96 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:96 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:96 Constant:
|
||||
0:96 1 (const int)
|
||||
0:96 Constant:
|
||||
|
@ -310,9 +310,9 @@ ERROR: node is still EOpNull!
|
|||
0:98 Constant:
|
||||
0:98 7 (const int)
|
||||
0:99 array length ( temp int)
|
||||
0:99 v: direct index for structure (layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
|
||||
0:99 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
0:99 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
0:99 v: direct index for structure (layout( column_major shared) buffer unsized 2-element array of 7-element array of highp 4-component vector of float)
|
||||
0:99 direct index (layout( column_major shared) temp block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer unsized 2-element array of 7-element array of highp 4-component vector of float v})
|
||||
0:99 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer unsized 2-element array of 7-element array of highp 4-component vector of float v})
|
||||
0:99 Constant:
|
||||
0:99 0 (const int)
|
||||
0:99 Constant:
|
||||
|
@ -337,12 +337,12 @@ ERROR: node is still EOpNull!
|
|||
0:120 Constant:
|
||||
0:120 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:? 'uname' (layout( column_major shared) uniform 3-element array of block{layout( column_major shared) uniform highp float u, layout( column_major shared) uniform implicitly-sized array of highp 4-component vector of float v})
|
||||
0:? 'name2' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 1-element array of highp 4-component vector of float v})
|
||||
0:? 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
0:? 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer unsized 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:? 'uname' (layout( column_major shared) uniform 3-element array of block{layout( column_major shared) uniform highp float u, layout( column_major shared) uniform unsized 1-element array of highp 4-component vector of float v})
|
||||
0:? 'name2' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer unsized 1-element array of 1-element array of highp 4-component vector of float v})
|
||||
0:? 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer unsized 2-element array of 7-element array of highp 4-component vector of float v})
|
||||
0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
|
||||
0:? 'gu' ( global implicitly-sized array of 7-element array of highp float)
|
||||
0:? 'gu' ( global unsized 1-element array of 7-element array of highp float)
|
||||
0:? 'g4' ( global 4-element array of 7-element array of highp float)
|
||||
0:? 'g5' ( global 5-element array of 7-element array of highp float)
|
||||
0:? 'inArray' ( in 2-element array of 3-element array of highp float)
|
||||
|
@ -378,10 +378,10 @@ ERROR: node is still EOpNull!
|
|||
0:13 2 (const uint)
|
||||
0:13 'd' ( temp 3-element array of 2-element array of highp int)
|
||||
0:? Linker Objects
|
||||
0:? 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer implicitly-sized array of highp float u, layout( column_major shared) buffer implicitly-sized array of highp 4-component vector of float v})
|
||||
0:? 'name' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer 1-element array of highp float u, layout( column_major shared) buffer unsized 2-element array of highp 4-component vector of float v})
|
||||
0:? 'uname' (layout( column_major shared) uniform 3-element array of block{layout( column_major shared) uniform highp float u, layout( column_major shared) uniform 1-element array of highp 4-component vector of float v})
|
||||
0:? 'name2' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 1-element array of highp 4-component vector of float v})
|
||||
0:? 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
0:? 'name2' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer unsized 1-element array of 1-element array of highp 4-component vector of float v})
|
||||
0:? 'name3' (layout( column_major shared) buffer 3-element array of block{layout( column_major shared) buffer highp float u, layout( column_major shared) buffer unsized 2-element array of 7-element array of highp 4-component vector of float v})
|
||||
0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
|
||||
0:? 'gu' ( global 1-element array of 7-element array of highp float)
|
||||
0:? 'g4' ( global 4-element array of 7-element array of highp float)
|
||||
|
|
|
@ -11,14 +11,14 @@ ERROR: node is still EOpNull!
|
|||
0:7 move second child to first child ( temp highp int)
|
||||
0:7 'o' (layout( location=0) smooth out highp int)
|
||||
0:7 direct index (layout( column_major shared) temp highp int)
|
||||
0:7 a: direct index for structure (layout( column_major shared) uniform implicitly-sized array of highp int)
|
||||
0:7 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a})
|
||||
0:7 a: direct index for structure (layout( column_major shared) uniform unsized 3-element array of highp int)
|
||||
0:7 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform unsized 3-element array of highp int a})
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform implicitly-sized array of highp int a})
|
||||
0:? 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform unsized 3-element array of highp int a})
|
||||
0:? 'o' (layout( location=0) smooth out highp int)
|
||||
0:? 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
|
@ -35,14 +35,14 @@ ERROR: node is still EOpNull!
|
|||
0:7 move second child to first child ( temp highp int)
|
||||
0:7 'o' (layout( location=0) smooth out highp int)
|
||||
0:7 direct index (layout( column_major shared) temp highp int)
|
||||
0:7 a: direct index for structure (layout( column_major shared) uniform 1-element array of highp int)
|
||||
0:7 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a})
|
||||
0:7 a: direct index for structure (layout( column_major shared) uniform 3-element array of highp int)
|
||||
0:7 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform 3-element array of highp int a})
|
||||
0:7 Constant:
|
||||
0:7 0 (const int)
|
||||
0:7 Constant:
|
||||
0:7 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform 1-element array of highp int a})
|
||||
0:? 'uni' (layout( binding=0 column_major shared) uniform block{layout( column_major shared) uniform 3-element array of highp int a})
|
||||
0:? 'o' (layout( location=0) smooth out highp int)
|
||||
0:? 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
|
|
|
@ -211,12 +211,12 @@ ERROR: node is still EOpNull!
|
|||
0:113 move second child to first child ( temp highp int)
|
||||
0:113 'a3' ( temp highp int)
|
||||
0:113 direct index ( flat temp highp int SampleMaskIn)
|
||||
0:113 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:113 'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
|
||||
0:113 Constant:
|
||||
0:113 0 (const int)
|
||||
0:114 move second child to first child ( temp highp int)
|
||||
0:114 direct index ( temp highp int SampleMaskIn)
|
||||
0:114 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:114 'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
|
||||
0:114 Constant:
|
||||
0:114 0 (const int)
|
||||
0:114 'a3' ( temp highp int)
|
||||
|
@ -473,8 +473,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 'CA5' ( uniform highp samplerCubeArrayShadow)
|
||||
0:? 'CA6' ( uniform highp isamplerCubeArray)
|
||||
0:? 'CA7' ( uniform highp usamplerCubeArray)
|
||||
0:? 'gl_SampleMaskIn' ( flat in implicitly-sized array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMask' ( out implicitly-sized array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
|
||||
0:? 'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
|
||||
0:? 'im2Df' (layout( r32f) uniform highp image2D)
|
||||
0:? 'im2Du' (layout( r32ui) uniform highp uimage2D)
|
||||
0:? 'im2Di' (layout( r32i) uniform highp iimage2D)
|
||||
|
|
|
@ -62,8 +62,8 @@ ERROR: node is still EOpNull!
|
|||
0:23 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:23 'p' ( temp highp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
|
@ -72,8 +72,8 @@ ERROR: node is still EOpNull!
|
|||
0:24 move second child to first child ( temp highp float)
|
||||
0:24 'ps' ( temp highp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
|
@ -192,8 +192,8 @@ ERROR: node is still EOpNull!
|
|||
0:104 move second child to first child ( temp highp float)
|
||||
0:104 'ps' ( temp highp float)
|
||||
0:104 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 Constant:
|
||||
0:104 1 (const int)
|
||||
0:104 Constant:
|
||||
|
@ -336,7 +336,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'inb' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'inc' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'ind' ( in 32-element array of highp 2-component vector of float)
|
||||
0:? 'implA' ( patch out implicitly-sized array of highp float)
|
||||
0:? 'implA' ( patch out unsized 1-element array of highp float)
|
||||
0:? 'ivla' (layout( location=3) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlb' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
0:? 'ivlc' (layout( location=4) in 32-element array of highp 4-component vector of float)
|
||||
|
@ -351,7 +351,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'misSized' ( out 5-element array of highp float)
|
||||
0:? 'okaySize' ( out 4-element array of highp float)
|
||||
0:? 'pv3' ( noContraction temp highp 3-component vector of float)
|
||||
0:? 'badpatchIName' ( patch out implicitly-sized array of block{ out highp float f})
|
||||
0:? 'badpatchIName' ( patch out unsized 1-element array of block{ out highp float f})
|
||||
0:? 'patchIName' ( patch out 4-element array of block{ out highp float f})
|
||||
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ ERROR: 0:49: 'noperspective' : Reserved word.
|
|||
ERROR: 0:49: 'noperspective' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as unsized
|
||||
ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:64: 'quads' : cannot apply to 'out'
|
||||
ERROR: 0:64: 'cw' : can only apply to 'in'
|
||||
|
@ -67,8 +67,8 @@ ERROR: node is still EOpNull!
|
|||
0:32 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:32 'p' ( temp highp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
|
@ -77,8 +77,8 @@ ERROR: node is still EOpNull!
|
|||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 'ps' ( temp highp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in implicitly-sized array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
|
|
|
@ -516,7 +516,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'vl' (layout( location=4) smooth in 4-component vector of float)
|
||||
0:? 'vl2' (layout( location=6) smooth in 4-component vector of float)
|
||||
0:? 'uv3' (layout( location=3) uniform 3-component vector of float)
|
||||
0:? 'anon@0' ( in block{ in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
|
||||
0:? 'anon@0' ( in block{ in float FogFragCoord gl_FogFragCoord, in unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
|
||||
0:? 'gl_FragCoord' ( gl_FragCoord 4-component vector of float FragCoord)
|
||||
0:? 'u2drs' ( uniform sampler2DRectShadow)
|
||||
0:? 'patchIn' ( smooth patch in 4-component vector of float)
|
||||
|
|
|
@ -44,8 +44,8 @@ ERROR: node is still EOpNull!
|
|||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 'p' ( temp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:23 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
|
@ -54,8 +54,8 @@ ERROR: node is still EOpNull!
|
|||
0:24 move second child to first child ( temp float)
|
||||
0:24 'ps' ( temp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:24 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
|
@ -64,9 +64,9 @@ ERROR: node is still EOpNull!
|
|||
0:25 move second child to first child ( temp float)
|
||||
0:25 'cd' ( temp float)
|
||||
0:25 direct index ( temp float ClipDistance)
|
||||
0:25 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:25 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:25 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 Constant:
|
||||
|
@ -87,25 +87,25 @@ ERROR: node is still EOpNull!
|
|||
0:29 'gl_InvocationID' ( in int InvocationID)
|
||||
0:31 move second child to first child ( temp 4-component vector of float)
|
||||
0:31 gl_Position: direct index for structure ( out 4-component vector of float Position)
|
||||
0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:31 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:31 'gl_InvocationID' ( in int InvocationID)
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 'p' ( temp 4-component vector of float)
|
||||
0:32 move second child to first child ( temp float)
|
||||
0:32 gl_PointSize: direct index for structure ( out float PointSize)
|
||||
0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_InvocationID' ( in int InvocationID)
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 'ps' ( temp float)
|
||||
0:33 move second child to first child ( temp float)
|
||||
0:33 direct index ( temp float ClipDistance)
|
||||
0:33 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance)
|
||||
0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 gl_ClipDistance: direct index for structure ( out unsized 2-element array of float ClipDistance)
|
||||
0:33 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_InvocationID' ( in int InvocationID)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
|
@ -175,8 +175,8 @@ ERROR: node is still EOpNull!
|
|||
0:67 Function Parameters:
|
||||
0:69 Sequence
|
||||
0:69 gl_PointSize: direct index for structure ( out float PointSize)
|
||||
0:69 direct index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:69 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:69 direct index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:69 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:69 Constant:
|
||||
0:69 4 (const int)
|
||||
0:69 Constant:
|
||||
|
@ -211,7 +211,7 @@ ERROR: node is still EOpNull!
|
|||
0:123 'gl_DeviceIndex' ( in int DeviceIndex)
|
||||
0:124 'gl_ViewIndex' ( in int ViewIndex)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_out' ( out 4-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 2-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'outa' ( global 4-element array of int)
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
|
|
|
@ -11,7 +11,7 @@ ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
|
|||
ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
|
||||
ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
|
||||
ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as unsized
|
||||
ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:64: 'quads' : cannot apply to 'out'
|
||||
ERROR: 0:64: 'cw' : can only apply to 'in'
|
||||
|
@ -57,8 +57,8 @@ ERROR: node is still EOpNull!
|
|||
0:32 move second child to first child ( temp 4-component vector of float)
|
||||
0:32 'p' ( temp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:32 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
|
@ -67,8 +67,8 @@ ERROR: node is still EOpNull!
|
|||
0:33 move second child to first child ( temp float)
|
||||
0:33 'ps' ( temp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:33 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
|
@ -77,9 +77,9 @@ ERROR: node is still EOpNull!
|
|||
0:34 move second child to first child ( temp float)
|
||||
0:34 'cd' ( temp float)
|
||||
0:34 direct index ( temp float ClipDistance)
|
||||
0:34 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:34 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:34 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:34 Constant:
|
||||
0:34 1 (const int)
|
||||
0:34 Constant:
|
||||
|
@ -114,20 +114,20 @@ ERROR: node is still EOpNull!
|
|||
0:40 1 (const int)
|
||||
0:42 move second child to first child ( temp 4-component vector of float)
|
||||
0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 'p' ( temp 4-component vector of float)
|
||||
0:43 move second child to first child ( temp float)
|
||||
0:43 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
|
||||
0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:43 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:43 Constant:
|
||||
0:43 1 (const uint)
|
||||
0:43 'ps' ( temp float)
|
||||
0:44 move second child to first child ( temp float)
|
||||
0:44 direct index ( temp float ClipDistance)
|
||||
0:44 gl_ClipDistance: direct index for structure ( out implicitly-sized array of float ClipDistance)
|
||||
0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:44 gl_ClipDistance: direct index for structure ( out unsized 3-element array of float ClipDistance)
|
||||
0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:44 Constant:
|
||||
0:44 2 (const uint)
|
||||
0:44 Constant:
|
||||
|
@ -146,7 +146,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'badp1' ( smooth patch in 4-component vector of float)
|
||||
0:? 'badp2' ( flat patch in 4-component vector of float)
|
||||
0:? 'badp3' ( noperspective patch in 4-component vector of float)
|
||||
|
|
|
@ -31,7 +31,7 @@ ERROR: node is still EOpNull!
|
|||
0:30 'p' ( temp float)
|
||||
0:30 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:30 direct index ( temp block{ in float PointSize gl_PointSize})
|
||||
0:30 'gl_in' ( in implicitly-sized array of block{ in float PointSize gl_PointSize})
|
||||
0:30 'gl_in' ( in unsized 2-element array of block{ in float PointSize gl_PointSize})
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 Constant:
|
||||
|
@ -53,7 +53,7 @@ ERROR: node is still EOpNull!
|
|||
0:38 Constant:
|
||||
0:38 4.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in implicitly-sized array of block{ in float PointSize gl_PointSize})
|
||||
0:? 'gl_in' ( in unsized 2-element array of block{ in float PointSize gl_PointSize})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, })
|
||||
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ ERROR: node is still EOpNull!
|
|||
0:8 Function Definition: main( ( global void)
|
||||
0:8 Function Parameters:
|
||||
0:? Linker Objects
|
||||
0:? 'gl_out' ( out implicitly-sized array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_out' ( out unsized 1-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'outa' ( global 1-element array of int)
|
||||
0:? 'patchOut' ( patch out 4-component vector of float)
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth)
|
||||
0:? 'depth' ( smooth in float)
|
||||
0:? 'a' (layout( binding=0 offset=0) uniform implicitly-sized array of atomic_uint)
|
||||
0:? 'a' (layout( binding=0 offset=0) uniform unsized 1-element array of atomic_uint)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
|
|
@ -20,15 +20,15 @@ ERROR: node is still EOpNull!
|
|||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:10 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:10 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:10 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:10 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:10 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:10 Constant:
|
||||
0:10 1 (const int)
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:11 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:11 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:11 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:11 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:11 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:11 'i' ( global int)
|
||||
0:11 Constant:
|
||||
0:11 0 (const int)
|
||||
|
@ -38,8 +38,8 @@ ERROR: node is still EOpNull!
|
|||
0:20 Constant:
|
||||
0:20 3 (const int)
|
||||
0:21 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:21 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:21 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:21 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:21 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:21 'i' ( global int)
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
|
@ -121,12 +121,12 @@ ERROR: node is still EOpNull!
|
|||
0:54 'i' ( global int)
|
||||
0:? Linker Objects
|
||||
0:? 'i' ( global int)
|
||||
0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'color3' ( in 3-element array of 4-component vector of float)
|
||||
0:? 's2D' ( uniform sampler2D)
|
||||
0:? 'coord' ( in 3-element array of 2-component vector of float)
|
||||
0:? 'v4' ( uniform 4-component vector of float)
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
|
|
@ -20,8 +20,8 @@ ERROR: node is still EOpNull!
|
|||
0:17 move second child to first child ( temp 4-component vector of float)
|
||||
0:17 'p' ( temp 4-component vector of float)
|
||||
0:17 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:17 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:17 Constant:
|
||||
|
@ -30,8 +30,8 @@ ERROR: node is still EOpNull!
|
|||
0:18 move second child to first child ( temp float)
|
||||
0:18 'ps' ( temp float)
|
||||
0:18 gl_PointSize: direct index for structure ( in float PointSize)
|
||||
0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:18 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:18 Constant:
|
||||
|
@ -40,9 +40,9 @@ ERROR: node is still EOpNull!
|
|||
0:19 move second child to first child ( temp float)
|
||||
0:19 'cd' ( temp float)
|
||||
0:19 direct index ( temp float ClipDistance)
|
||||
0:19 gl_ClipDistance: direct index for structure ( in implicitly-sized array of float ClipDistance)
|
||||
0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:19 gl_ClipDistance: direct index for structure ( in unsized 3-element array of float ClipDistance)
|
||||
0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:19 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:19 Constant:
|
||||
|
|
|
@ -139,7 +139,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'b3' ( global 2-element array of 4-component vector of float)
|
||||
0:? 'b4' ( global 2-element array of 4-component vector of float)
|
||||
0:? 'c3' ( global 4X2 matrix of float)
|
||||
0:? 'd2' ( global implicitly-sized array of structure{ global float s, global float t})
|
||||
0:? 'd2' ( global unsized 1-element array of structure{ global float s, global float t})
|
||||
0:? 'b5' ( global 5-element array of float)
|
||||
0:? 'single1' ( global structure{ global int f})
|
||||
0:? 'single2' ( global structure{ global 2-component vector of uint v})
|
||||
|
|
|
@ -51,7 +51,7 @@ ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found
|
|||
ERROR: 0:157: 'assign' : cannot convert from ' const float' to ' temp int'
|
||||
ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found
|
||||
ERROR: 0:158: 'assign' : cannot convert from ' const float' to ' temp int'
|
||||
WARNING: 0:161: '[]' : assuming array size of one for compile-time checking of binding numbers for implicitly-sized array
|
||||
WARNING: 0:161: '[]' : assuming array size of one for compile-time checking of binding numbers for unsized array
|
||||
ERROR: 51 compilation errors. No code generated.
|
||||
|
||||
|
||||
|
@ -302,7 +302,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'offcheckI' (layout( column_major shared) uniform block{layout( column_major shared offset=16) uniform int foo})
|
||||
0:? 'samp1D' ( uniform sampler1D)
|
||||
0:? 'samp1Ds' ( uniform sampler1DShadow)
|
||||
0:? 'badArray' (layout( binding=0) writeonly uniform implicitly-sized array of image1D)
|
||||
0:? 'badArray' (layout( binding=0) writeonly uniform unsized 1-element array of image1D)
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@ ERROR: node is still EOpNull!
|
|||
0:13 Constant:
|
||||
0:13 3 (const int)
|
||||
0:14 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:14 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:14 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:14 direct index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:14 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 Constant:
|
||||
|
@ -24,8 +24,8 @@ ERROR: node is still EOpNull!
|
|||
0:15 Constant:
|
||||
0:15 3 (const int)
|
||||
0:16 gl_Position: direct index for structure ( in 4-component vector of float Position)
|
||||
0:16 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:16 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 'i' ( global int)
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
|
@ -33,7 +33,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'i' ( global int)
|
||||
0:? 'colorun' ( in 3-element array of 4-component vector of float)
|
||||
0:? 'color3' ( in 3-element array of 4-component vector of float)
|
||||
0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
|
|
@ -33,13 +33,13 @@ ERROR: node is still EOpNull!
|
|||
0:35 GroupMemoryBarrier ( global void)
|
||||
0:36 move second child to first child ( temp int)
|
||||
0:36 value: direct index for structure (layout( column_major shared) buffer int)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 Convert float to int ( temp int)
|
||||
0:36 indirect index (layout( column_major shared) temp float)
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer runtime-sized array of float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
|
||||
0:36 Constant:
|
||||
0:36 1 (const uint)
|
||||
0:36 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex)
|
||||
|
@ -56,8 +56,8 @@ ERROR: node is still EOpNull!
|
|||
0:65 Sequence
|
||||
0:65 move second child to first child ( temp float)
|
||||
0:65 direct index (layout( column_major shared) temp float)
|
||||
0:65 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float)
|
||||
0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:65 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of float)
|
||||
0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:65 Constant:
|
||||
0:65 1 (const int)
|
||||
0:65 Constant:
|
||||
|
@ -65,8 +65,8 @@ ERROR: node is still EOpNull!
|
|||
0:65 Constant:
|
||||
0:65 4.700000
|
||||
0:66 array length ( temp int)
|
||||
0:66 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float)
|
||||
0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:66 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of float)
|
||||
0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:66 Constant:
|
||||
0:66 1 (const int)
|
||||
0:67 Barrier ( global void)
|
||||
|
@ -129,8 +129,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 4096 (const uint)
|
||||
0:? 'total' ( const int)
|
||||
0:? 66592 (const int)
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of float values, layout( column_major shared) buffer int value})
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer unsized 1-element array of float values, layout( column_major shared) buffer int value})
|
||||
0:? 'v3' (layout( location=2) in 3-component vector of float)
|
||||
0:? 'f' ( in float)
|
||||
0:? 'fo' ( out float)
|
||||
|
@ -140,7 +140,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'arrX' ( global 2-element array of int)
|
||||
0:? 'arrY' ( global 1-element array of int)
|
||||
0:? 'arrZ' ( global 4096-element array of int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:? 'roll' ( uniform double)
|
||||
0:? 'destTex' ( writeonly uniform image2D)
|
||||
0:? 'inbi' ( in block{ in int a})
|
||||
|
@ -165,13 +165,13 @@ ERROR: node is still EOpNull!
|
|||
0:35 GroupMemoryBarrier ( global void)
|
||||
0:36 move second child to first child ( temp int)
|
||||
0:36 value: direct index for structure (layout( column_major shared) buffer int)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
|
||||
0:36 Constant:
|
||||
0:36 0 (const uint)
|
||||
0:36 Convert float to int ( temp int)
|
||||
0:36 indirect index (layout( column_major shared) temp float)
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer implicitly-sized array of float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:36 values: direct index for structure (layout( column_major shared) buffer runtime-sized array of float)
|
||||
0:36 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
|
||||
0:36 Constant:
|
||||
0:36 1 (const uint)
|
||||
0:36 'gl_LocalInvocationIndex' ( in uint LocalInvocationIndex)
|
||||
|
@ -190,8 +190,8 @@ ERROR: node is still EOpNull!
|
|||
0:? 4096 (const uint)
|
||||
0:? 'total' ( const int)
|
||||
0:? 66592 (const int)
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer implicitly-sized array of float values, layout( column_major shared) buffer int value})
|
||||
0:? 'anon@0' (layout( column_major shared) buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer runtime-sized array of float values})
|
||||
0:? 'invalid' (layout( column_major shared) buffer block{layout( column_major shared) buffer 1-element array of float values, layout( column_major shared) buffer int value})
|
||||
0:? 'v3' (layout( location=2) in 3-component vector of float)
|
||||
0:? 'f' ( in float)
|
||||
0:? 'fo' ( out float)
|
||||
|
@ -201,7 +201,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'arrX' ( global 2-element array of int)
|
||||
0:? 'arrY' ( global 1-element array of int)
|
||||
0:? 'arrZ' ( global 4096-element array of int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer implicitly-sized array of float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:? 'roll' ( uniform double)
|
||||
0:? 'destTex' ( writeonly uniform image2D)
|
||||
0:? 'inbi' ( in block{ in int a})
|
||||
|
|
|
@ -7,7 +7,7 @@ ERROR: 0:56: 'constructor' : cannot convert parameter 2 from ' const 3-element
|
|||
ERROR: 0:60: 'constructor' : cannot convert parameter 2 from ' const 2-element array of 4-component vector of float' to ' temp 3-element array of 4-component vector of float'
|
||||
ERROR: 0:64: '=' : cannot convert from ' const 3-element array of 2-element array of 4-component vector of float' to ' temp 4-element array of 2-element array of 4-component vector of float'
|
||||
ERROR: 0:70: 'assign' : cannot convert from ' global 4-element array of 7-element array of float' to ' global 5-element array of 7-element array of float'
|
||||
ERROR: 0:71: 'assign' : cannot convert from ' global 4-element array of 7-element array of float' to ' global implicitly-sized array of 7-element array of float'
|
||||
ERROR: 0:71: 'assign' : cannot convert from ' global 4-element array of 7-element array of float' to ' global unsized 1-element array of 7-element array of float'
|
||||
ERROR: 0:73: 'foo' : no matching overloaded function found
|
||||
ERROR: 0:78: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type ' global 4-element array of 7-element array of float' and a right operand of type ' global 5-element array of 7-element array of float' (or there is no acceptable conversion)
|
||||
ERROR: 0:84: '[' : array index out of range '5'
|
||||
|
@ -335,7 +335,7 @@ ERROR: node is still EOpNull!
|
|||
0:69 Function Call: foo(f1[5][7]; ( global 4-element array of 7-element array of float)
|
||||
0:69 'g5' ( global 5-element array of 7-element array of float)
|
||||
0:70 'g5' ( global 5-element array of 7-element array of float)
|
||||
0:71 'gu' ( global implicitly-sized array of 7-element array of float)
|
||||
0:71 'gu' ( global unsized 1-element array of 7-element array of float)
|
||||
0:73 Constant:
|
||||
0:73 0.000000
|
||||
0:74 Function Call: bar(f1[5][7]; ( global void)
|
||||
|
@ -404,8 +404,8 @@ ERROR: node is still EOpNull!
|
|||
0:98 0.000000
|
||||
0:? Linker Objects
|
||||
0:? 'many' ( global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
|
||||
0:? 'gu' ( global implicitly-sized array of 7-element array of float)
|
||||
0:? 'gimp' ( global implicitly-sized array of 1-element array of float)
|
||||
0:? 'gu' ( global unsized 1-element array of 7-element array of float)
|
||||
0:? 'gimp' ( global unsized 1-element array of 1-element array of float)
|
||||
0:? 'g4' ( global 4-element array of 7-element array of float)
|
||||
0:? 'g5' ( global 5-element array of 7-element array of float)
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ ERROR: node is still EOpNull!
|
|||
0:47 3.000000
|
||||
0:49 move second child to first child ( temp 4-component vector of float)
|
||||
0:49 gl_Position: direct index for structure ( invariant gl_Position 4-component vector of float Position)
|
||||
0:49 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:49 'anon@0' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:49 Constant:
|
||||
0:49 0 (const uint)
|
||||
0:49 Construct vec4 ( temp 4-component vector of float)
|
||||
|
|
|
@ -2,7 +2,7 @@ array.frag
|
|||
ERROR: 0:21: '[' : array index out of range '2'
|
||||
ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable
|
||||
ERROR: 0:30: 'assign' : cannot convert from ' global 4-element array of float' to ' global 5-element array of float'
|
||||
ERROR: 0:31: 'assign' : cannot convert from ' global 4-element array of float' to ' global implicitly-sized array of float'
|
||||
ERROR: 0:31: 'assign' : cannot convert from ' global 4-element array of float' to ' global runtime-sized array of float'
|
||||
ERROR: 0:33: 'foo' : no matching overloaded function found
|
||||
ERROR: 0:42: '[' : array index out of range '5'
|
||||
ERROR: 0:45: '[' : array index out of range '1000'
|
||||
|
@ -23,9 +23,11 @@ ERROR: 0:84: 'return' : type does not match, or is not convertible to, the funct
|
|||
ERROR: 0:93: 'length' : array must be declared with a size before using this method
|
||||
ERROR: 0:101: '[' : array index out of range '5'
|
||||
ERROR: 0:104: 'constructor' : array constructor must have at least one argument
|
||||
ERROR: 0:104: '=' : cannot convert from ' const float' to ' global implicitly-sized array of int'
|
||||
ERROR: 0:104: '=' : cannot convert from ' const float' to ' global unsized 1-element array of int'
|
||||
ERROR: 0:106: 'constructor' : array argument must be sized
|
||||
ERROR: 26 compilation errors. No code generated.
|
||||
ERROR: 0:111: '[' : array must be redeclared with a size before being indexed with a variable
|
||||
ERROR: 0:111: 'variable indexing sampler array' : not supported with this profile: none
|
||||
ERROR: 28 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 130
|
||||
|
@ -68,21 +70,21 @@ ERROR: node is still EOpNull!
|
|||
0:21 4.000000
|
||||
0:24 move second child to first child ( temp float)
|
||||
0:24 direct index ( temp float)
|
||||
0:24 'gu' ( global implicitly-sized array of float)
|
||||
0:24 'gu' ( global runtime-sized array of float)
|
||||
0:24 Constant:
|
||||
0:24 2 (const int)
|
||||
0:24 Constant:
|
||||
0:24 4.000000
|
||||
0:26 move second child to first child ( temp float)
|
||||
0:26 direct index ( temp float)
|
||||
0:26 'gu' ( global implicitly-sized array of float)
|
||||
0:26 'gu' ( global runtime-sized array of float)
|
||||
0:26 Constant:
|
||||
0:26 3 (const int)
|
||||
0:26 Constant:
|
||||
0:26 3.000000
|
||||
0:27 move second child to first child ( temp float)
|
||||
0:27 indirect index ( temp float)
|
||||
0:27 'gu' ( global implicitly-sized array of float)
|
||||
0:27 'gu' ( global runtime-sized array of float)
|
||||
0:27 'a' ( uniform int)
|
||||
0:27 Constant:
|
||||
0:27 5.000000
|
||||
|
@ -91,7 +93,7 @@ ERROR: node is still EOpNull!
|
|||
0:29 Function Call: foo(f1[5]; ( global 4-element array of float)
|
||||
0:29 'g5' ( global 5-element array of float)
|
||||
0:30 'g5' ( global 5-element array of float)
|
||||
0:31 'gu' ( global implicitly-sized array of float)
|
||||
0:31 'gu' ( global runtime-sized array of float)
|
||||
0:33 Constant:
|
||||
0:33 0.000000
|
||||
0:34 Function Call: bar(f1[5]; ( global void)
|
||||
|
@ -108,7 +110,7 @@ ERROR: node is still EOpNull!
|
|||
0:36 true case
|
||||
0:37 move second child to first child ( temp float)
|
||||
0:37 direct index ( temp float)
|
||||
0:37 'gu' ( global implicitly-sized array of float)
|
||||
0:37 'gu' ( global runtime-sized array of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 Constant:
|
||||
|
@ -199,21 +201,21 @@ ERROR: node is still EOpNull!
|
|||
0:? Sequence
|
||||
0:71 move second child to first child ( temp int)
|
||||
0:71 direct index ( temp int)
|
||||
0:71 'uns' ( temp implicitly-sized array of int)
|
||||
0:71 'uns' ( temp unsized 4-element array of int)
|
||||
0:71 Constant:
|
||||
0:71 3 (const int)
|
||||
0:71 Constant:
|
||||
0:71 40 (const int)
|
||||
0:72 move second child to first child ( temp int)
|
||||
0:72 direct index ( temp int)
|
||||
0:72 'uns' ( temp implicitly-sized array of int)
|
||||
0:72 'uns' ( temp unsized 4-element array of int)
|
||||
0:72 Constant:
|
||||
0:72 1 (const int)
|
||||
0:72 Constant:
|
||||
0:72 30 (const int)
|
||||
0:73 move second child to first child ( temp 3-component vector of float)
|
||||
0:73 direct index ( temp 3-component vector of float)
|
||||
0:73 'guns' ( global implicitly-sized array of 3-component vector of float)
|
||||
0:73 'guns' ( global unsized 8-element array of 3-component vector of float)
|
||||
0:73 Constant:
|
||||
0:73 2 (const int)
|
||||
0:73 Constant:
|
||||
|
@ -222,11 +224,11 @@ ERROR: node is still EOpNull!
|
|||
0:73 2.400000
|
||||
0:76 Constant:
|
||||
0:76 0.000000
|
||||
0:79 Function Definition: foo2( ( global implicitly-sized array of float)
|
||||
0:79 Function Definition: foo2( ( global unsized 1-element array of float)
|
||||
0:79 Function Parameters:
|
||||
0:? Sequence
|
||||
0:82 Branch: Return with expression
|
||||
0:82 'f' ( temp implicitly-sized array of float)
|
||||
0:82 'f' ( temp unsized 1-element array of float)
|
||||
0:84 Branch: Return with expression
|
||||
0:84 'g' ( temp 9-element array of float)
|
||||
0:89 Function Definition: foo3( ( global void)
|
||||
|
@ -264,17 +266,24 @@ ERROR: node is still EOpNull!
|
|||
0:106 'b' ( global float)
|
||||
0:106 Constant:
|
||||
0:106 0.000000
|
||||
0:109 Function Definition: foo4( ( global void)
|
||||
0:109 Function Parameters:
|
||||
0:111 Sequence
|
||||
0:111 indirect index ( temp sampler2D)
|
||||
0:111 's2d' ( uniform runtime-sized array of sampler2D)
|
||||
0:111 'a' ( uniform int)
|
||||
0:? Linker Objects
|
||||
0:? 'gu' ( global implicitly-sized array of float)
|
||||
0:? 'gu' ( global runtime-sized array of float)
|
||||
0:? 'g4' ( global 4-element array of float)
|
||||
0:? 'g5' ( global 5-element array of float)
|
||||
0:? 'a' ( uniform int)
|
||||
0:? 'guns' ( global implicitly-sized array of 3-component vector of float)
|
||||
0:? 'guns' ( global unsized 8-element array of 3-component vector of float)
|
||||
0:? 'f' ( global float)
|
||||
0:? 'gUnusedUnsized' ( global implicitly-sized array of float)
|
||||
0:? 'i' ( global implicitly-sized array of int)
|
||||
0:? 'emptyA' ( global implicitly-sized array of float)
|
||||
0:? 'gUnusedUnsized' ( global unsized 1-element array of float)
|
||||
0:? 'i' ( global unsized 1-element array of int)
|
||||
0:? 'emptyA' ( global unsized 1-element array of float)
|
||||
0:? 'b' ( global float)
|
||||
0:? 's2d' ( uniform runtime-sized array of sampler2D)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
@ -320,21 +329,21 @@ ERROR: node is still EOpNull!
|
|||
0:21 4.000000
|
||||
0:24 move second child to first child ( temp float)
|
||||
0:24 direct index ( temp float)
|
||||
0:24 'gu' ( global 4-element array of float)
|
||||
0:24 'gu' ( global runtime-sized array of float)
|
||||
0:24 Constant:
|
||||
0:24 2 (const int)
|
||||
0:24 Constant:
|
||||
0:24 4.000000
|
||||
0:26 move second child to first child ( temp float)
|
||||
0:26 direct index ( temp float)
|
||||
0:26 'gu' ( global 4-element array of float)
|
||||
0:26 'gu' ( global runtime-sized array of float)
|
||||
0:26 Constant:
|
||||
0:26 3 (const int)
|
||||
0:26 Constant:
|
||||
0:26 3.000000
|
||||
0:27 move second child to first child ( temp float)
|
||||
0:27 indirect index ( temp float)
|
||||
0:27 'gu' ( global 4-element array of float)
|
||||
0:27 'gu' ( global runtime-sized array of float)
|
||||
0:27 'a' ( uniform int)
|
||||
0:27 Constant:
|
||||
0:27 5.000000
|
||||
|
@ -343,7 +352,7 @@ ERROR: node is still EOpNull!
|
|||
0:29 Function Call: foo(f1[5]; ( global 4-element array of float)
|
||||
0:29 'g5' ( global 5-element array of float)
|
||||
0:30 'g5' ( global 5-element array of float)
|
||||
0:31 'gu' ( global 4-element array of float)
|
||||
0:31 'gu' ( global runtime-sized array of float)
|
||||
0:33 Constant:
|
||||
0:33 0.000000
|
||||
0:34 Function Call: bar(f1[5]; ( global void)
|
||||
|
@ -360,7 +369,7 @@ ERROR: node is still EOpNull!
|
|||
0:36 true case
|
||||
0:37 move second child to first child ( temp float)
|
||||
0:37 direct index ( temp float)
|
||||
0:37 'gu' ( global 4-element array of float)
|
||||
0:37 'gu' ( global runtime-sized array of float)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:37 Constant:
|
||||
|
@ -452,7 +461,7 @@ ERROR: node is still EOpNull!
|
|||
0:106 Constant:
|
||||
0:106 0.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gu' ( global 4-element array of float)
|
||||
0:? 'gu' ( global runtime-sized array of float)
|
||||
0:? 'g4' ( global 4-element array of float)
|
||||
0:? 'g5' ( global 5-element array of float)
|
||||
0:? 'a' ( uniform int)
|
||||
|
@ -462,4 +471,5 @@ ERROR: node is still EOpNull!
|
|||
0:? 'i' ( global 1-element array of int)
|
||||
0:? 'emptyA' ( global 1-element array of float)
|
||||
0:? 'b' ( global float)
|
||||
0:? 's2d' ( uniform runtime-sized array of sampler2D)
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ ERROR: 0:24: 'array assignment' : not supported for this version or the enabled
|
|||
ERROR: 0:25: 'array assignment' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:25: 'assign' : cannot convert from ' global 4-element array of mediump float' to ' global 5-element array of mediump float'
|
||||
ERROR: 0:26: 'array assignment' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:26: 'assign' : cannot convert from ' global 4-element array of mediump float' to ' global implicitly-sized array of mediump float'
|
||||
ERROR: 0:26: 'assign' : cannot convert from ' global 4-element array of mediump float' to ' global unsized 1-element array of mediump float'
|
||||
ERROR: 0:28: 'foo' : no matching overloaded function found
|
||||
ERROR: 0:31: 'arrayed constructor' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:31: 'array comparison' : not supported for this version or the enabled extensions
|
||||
|
@ -67,7 +67,7 @@ ERROR: node is still EOpNull!
|
|||
0:24 Function Call: foo(f1[5]; ( global 4-element array of mediump float)
|
||||
0:24 'g5' ( global 5-element array of mediump float)
|
||||
0:25 'g5' ( global 5-element array of mediump float)
|
||||
0:26 'gu' ( global implicitly-sized array of mediump float)
|
||||
0:26 'gu' ( global unsized 1-element array of mediump float)
|
||||
0:28 Constant:
|
||||
0:28 0.000000
|
||||
0:29 Function Call: bar(f1[5]; ( global void)
|
||||
|
@ -84,7 +84,7 @@ ERROR: node is still EOpNull!
|
|||
0:31 true case
|
||||
0:32 move second child to first child ( temp mediump float)
|
||||
0:32 direct index ( temp mediump float)
|
||||
0:32 'gu' ( global implicitly-sized array of mediump float)
|
||||
0:32 'gu' ( global unsized 1-element array of mediump float)
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:32 Constant:
|
||||
|
@ -152,7 +152,7 @@ ERROR: node is still EOpNull!
|
|||
0:69 'initSb' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
|
||||
0:69 's1' ( temp structure{ global mediump 4-component vector of float v4, global structure{ global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
|
||||
0:? Linker Objects
|
||||
0:? 'gu' ( global implicitly-sized array of mediump float)
|
||||
0:? 'gu' ( global unsized 1-element array of mediump float)
|
||||
0:? 'g4' ( global 4-element array of mediump float)
|
||||
0:? 'g5' ( global 5-element array of mediump float)
|
||||
0:? 'a' ( uniform mediump int)
|
||||
|
|
|
@ -134,7 +134,7 @@ ERROR: node is still EOpNull!
|
|||
0:65 0.050000
|
||||
0:69 move second child to first child ( temp 4-component vector of float)
|
||||
0:69 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:69 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:69 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:69 Constant:
|
||||
0:69 0 (const uint)
|
||||
0:69 Construct vec4 ( temp 4-component vector of float)
|
||||
|
@ -174,7 +174,7 @@ ERROR: node is still EOpNull!
|
|||
12:20033 Sequence
|
||||
12:20033 move second child to first child ( temp 4-component vector of float)
|
||||
12:20033 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
12:20033 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
12:20033 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
12:20033 Constant:
|
||||
12:20033 0 (const uint)
|
||||
12:20033 Constant:
|
||||
|
@ -188,7 +188,7 @@ ERROR: node is still EOpNull!
|
|||
12:9011 'RECURSE' ( global int)
|
||||
0:? Linker Objects
|
||||
0:? 'sum' ( global float)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'linenumber' ( global int)
|
||||
0:? 'filenumber' ( global int)
|
||||
0:? 'version' ( global int)
|
||||
|
|
|
@ -35,8 +35,8 @@ gl_FragCoord origin is upper left
|
|||
0:20 Function Call: @main(vf4; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'attach' ( uniform texture2D)
|
||||
0:? 'ci' ( specialization-constant const int)
|
||||
0:? 11 (const int)
|
||||
|
@ -84,8 +84,8 @@ gl_FragCoord origin is upper left
|
|||
0:20 Function Call: @main(vf4; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 2-component vector of float f} @data})
|
||||
0:? 'attach' ( uniform texture2D)
|
||||
0:? 'ci' ( specialization-constant const int)
|
||||
0:? 11 (const int)
|
||||
|
|
|
@ -13,7 +13,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Sequence
|
||||
0:2 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
@ -29,6 +29,6 @@ ERROR: node is still EOpNull!
|
|||
0:? Sequence
|
||||
0:2 Function Call: @main( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
|
|
|
@ -9,15 +9,15 @@ gl_FragCoord origin is upper left
|
|||
0:36 't2' (layout( set=1 binding=2) uniform texture2D)
|
||||
0:37 't3' (layout( set=2 binding=1) uniform texture3D)
|
||||
0:38 direct index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:38 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:38 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:38 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:38 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:38 Constant:
|
||||
0:38 0 (const uint)
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:39 indirect index (layout( row_major std430) buffer uint)
|
||||
0:39 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:39 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:39 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:39 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:39 Constant:
|
||||
0:39 0 (const uint)
|
||||
0:39 right-shift ( temp int)
|
||||
|
@ -36,8 +36,8 @@ gl_FragCoord origin is upper left
|
|||
0:49 Constant:
|
||||
0:49 0 (const int)
|
||||
0:50 indirect index (layout( row_major std430) buffer uint)
|
||||
0:50 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:50 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:50 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:50 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:50 Constant:
|
||||
0:50 0 (const uint)
|
||||
0:50 right-shift ( temp int)
|
||||
|
@ -46,14 +46,14 @@ gl_FragCoord origin is upper left
|
|||
0:50 Constant:
|
||||
0:50 2 (const int)
|
||||
0:51 direct index (layout( row_major std430) buffer float)
|
||||
0:51 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:51 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:51 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:51 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:51 Constant:
|
||||
0:51 0 (const uint)
|
||||
0:51 Constant:
|
||||
0:51 0 (const int)
|
||||
0:52 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:53 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:52 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:53 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:55 cb1: direct index for structure (layout( row_major std140) uniform int)
|
||||
0:55 'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
|
||||
0:55 Constant:
|
||||
|
@ -80,17 +80,17 @@ gl_FragCoord origin is upper left
|
|||
0:? 't1' (layout( set=1 binding=1) uniform texture1D)
|
||||
0:? 't2' (layout( set=1 binding=2) uniform texture2D)
|
||||
0:? 't3' (layout( set=2 binding=1) uniform texture3D)
|
||||
0:? 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
|
||||
0:? 'u1' (layout( set=1 binding=1 rgba32f) uniform image1D)
|
||||
0:? 'u2' (layout( set=2 binding=2 rgba32f) uniform image2D)
|
||||
0:? 'u3' (layout( set=2 binding=3 rgba32f) uniform image3D)
|
||||
0:? 'u4' (layout( set=1 binding=4 r32f) uniform imageBuffer)
|
||||
0:? 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? 'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
|
||||
0:? 'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
@ -109,15 +109,15 @@ gl_FragCoord origin is upper left
|
|||
0:36 't2' (layout( set=1 binding=2) uniform texture2D)
|
||||
0:37 't3' (layout( set=2 binding=1) uniform texture3D)
|
||||
0:38 direct index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:38 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:38 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:38 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:38 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:38 Constant:
|
||||
0:38 0 (const uint)
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:39 indirect index (layout( row_major std430) buffer uint)
|
||||
0:39 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:39 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:39 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:39 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:39 Constant:
|
||||
0:39 0 (const uint)
|
||||
0:39 right-shift ( temp int)
|
||||
|
@ -136,8 +136,8 @@ gl_FragCoord origin is upper left
|
|||
0:49 Constant:
|
||||
0:49 0 (const int)
|
||||
0:50 indirect index (layout( row_major std430) buffer uint)
|
||||
0:50 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:50 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:50 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:50 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:50 Constant:
|
||||
0:50 0 (const uint)
|
||||
0:50 right-shift ( temp int)
|
||||
|
@ -146,14 +146,14 @@ gl_FragCoord origin is upper left
|
|||
0:50 Constant:
|
||||
0:50 2 (const int)
|
||||
0:51 direct index (layout( row_major std430) buffer float)
|
||||
0:51 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:51 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:51 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:51 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:51 Constant:
|
||||
0:51 0 (const uint)
|
||||
0:51 Constant:
|
||||
0:51 0 (const int)
|
||||
0:52 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:53 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:52 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:53 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:55 cb1: direct index for structure (layout( row_major std140) uniform int)
|
||||
0:55 'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
|
||||
0:55 Constant:
|
||||
|
@ -180,17 +180,17 @@ gl_FragCoord origin is upper left
|
|||
0:? 't1' (layout( set=1 binding=1) uniform texture1D)
|
||||
0:? 't2' (layout( set=1 binding=2) uniform texture2D)
|
||||
0:? 't3' (layout( set=2 binding=1) uniform texture3D)
|
||||
0:? 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
|
||||
0:? 'u1' (layout( set=1 binding=1 rgba32f) uniform image1D)
|
||||
0:? 'u2' (layout( set=2 binding=2 rgba32f) uniform image2D)
|
||||
0:? 'u3' (layout( set=2 binding=3 rgba32f) uniform image3D)
|
||||
0:? 'u4' (layout( set=1 binding=4 r32f) uniform imageBuffer)
|
||||
0:? 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? 'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? 'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? 'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
|
||||
0:? 'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
|
|
@ -26,8 +26,8 @@ local_size = (64, 1, 1)
|
|||
0:7 2 (const int)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 'byteAddrTemp' ( temp int)
|
||||
|
@ -42,7 +42,7 @@ local_size = (64, 1, 1)
|
|||
0:5 Function Call: @main(vu3; ( temp void)
|
||||
0:? 'dispatchThreadID' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
|
||||
|
@ -76,8 +76,8 @@ local_size = (64, 1, 1)
|
|||
0:7 2 (const int)
|
||||
0:7 move second child to first child ( temp uint)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 'byteAddrTemp' ( temp int)
|
||||
|
@ -92,7 +92,7 @@ local_size = (64, 1, 1)
|
|||
0:5 Function Call: @main(vu3; ( temp void)
|
||||
0:? 'dispatchThreadID' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'buffer' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'dispatchThreadID' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
// Module Version 10000
|
||||
|
|
|
@ -4,15 +4,15 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? Sequence
|
||||
0:9 move second child to first child ( temp 4-component vector of float)
|
||||
0:9 indirect index ( buffer 4-component vector of float)
|
||||
0:9 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
|
||||
0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
|
||||
0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 AtomicAdd ( temp uint)
|
||||
|
@ -29,8 +29,8 @@ gl_FragCoord origin is upper left
|
|||
0:? 4.000000
|
||||
0:10 Branch: Return with expression
|
||||
0:10 indirect index ( buffer 4-component vector of float)
|
||||
0:10 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
|
||||
0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
|
||||
0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp uint)
|
||||
|
@ -49,9 +49,9 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:22 Branch: Return with expression
|
||||
0:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
|
||||
0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:19 Function Definition: main( ( temp void)
|
||||
0:19 Function Parameters:
|
||||
|
@ -64,11 +64,11 @@ gl_FragCoord origin is upper left
|
|||
0:19 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -81,15 +81,15 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? Sequence
|
||||
0:9 move second child to first child ( temp 4-component vector of float)
|
||||
0:9 indirect index ( buffer 4-component vector of float)
|
||||
0:9 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
|
||||
0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
|
||||
0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 AtomicAdd ( temp uint)
|
||||
|
@ -106,8 +106,8 @@ gl_FragCoord origin is upper left
|
|||
0:? 4.000000
|
||||
0:10 Branch: Return with expression
|
||||
0:10 indirect index ( buffer 4-component vector of float)
|
||||
0:10 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of float)
|
||||
0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
|
||||
0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp uint)
|
||||
|
@ -126,9 +126,9 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:22 Branch: Return with expression
|
||||
0:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
|
||||
0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:19 Function Definition: main( ( temp void)
|
||||
0:19 Function Parameters:
|
||||
|
@ -141,11 +141,11 @@ gl_FragCoord origin is upper left
|
|||
0:19 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:8 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:8 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 AtomicAdd ( temp uint)
|
||||
|
@ -26,8 +26,8 @@ gl_FragCoord origin is upper left
|
|||
0:? 4.000000
|
||||
0:10 Branch: Return with expression
|
||||
0:10 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:10 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:10 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp uint)
|
||||
|
@ -51,11 +51,11 @@ gl_FragCoord origin is upper left
|
|||
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -72,8 +72,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:8 move second child to first child ( temp 4-component vector of float)
|
||||
0:8 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:8 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:8 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 AtomicAdd ( temp uint)
|
||||
|
@ -90,8 +90,8 @@ gl_FragCoord origin is upper left
|
|||
0:? 4.000000
|
||||
0:10 Branch: Return with expression
|
||||
0:10 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:10 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:10 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp uint)
|
||||
|
@ -115,11 +115,11 @@ gl_FragCoord origin is upper left
|
|||
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:8 AtomicAdd ( temp void)
|
||||
0:8 indirect index (layout( row_major std430) buffer uint)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 right-shift ( temp int)
|
||||
|
@ -23,8 +23,8 @@ gl_FragCoord origin is upper left
|
|||
0:9 'u' ( temp uint)
|
||||
0:9 AtomicAdd ( temp uint)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift ( temp int)
|
||||
|
@ -36,8 +36,8 @@ gl_FragCoord origin is upper left
|
|||
0:9 1 (const int)
|
||||
0:10 AtomicAnd ( temp void)
|
||||
0:10 indirect index (layout( row_major std430) buffer uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 right-shift ( temp int)
|
||||
|
@ -51,8 +51,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 'u' ( temp uint)
|
||||
0:11 AtomicAnd ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 right-shift ( temp int)
|
||||
|
@ -67,8 +67,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Convert int to uint ( temp uint)
|
||||
0:12 AtomicCompSwap ( temp int)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 right-shift ( temp int)
|
||||
|
@ -84,8 +84,8 @@ gl_FragCoord origin is upper left
|
|||
0:14 'u' ( temp uint)
|
||||
0:14 AtomicExchange ( temp uint)
|
||||
0:14 indirect index (layout( row_major std430) buffer uint)
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 right-shift ( temp int)
|
||||
|
@ -97,8 +97,8 @@ gl_FragCoord origin is upper left
|
|||
0:14 1 (const int)
|
||||
0:15 AtomicMax ( temp void)
|
||||
0:15 indirect index (layout( row_major std430) buffer uint)
|
||||
0:15 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 right-shift ( temp int)
|
||||
|
@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
|
|||
0:16 'u' ( temp uint)
|
||||
0:16 AtomicMax ( temp uint)
|
||||
0:16 indirect index (layout( row_major std430) buffer uint)
|
||||
0:16 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:16 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 right-shift ( temp int)
|
||||
|
@ -125,8 +125,8 @@ gl_FragCoord origin is upper left
|
|||
0:16 1 (const int)
|
||||
0:17 AtomicMin ( temp void)
|
||||
0:17 indirect index (layout( row_major std430) buffer uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 right-shift ( temp int)
|
||||
|
@ -140,8 +140,8 @@ gl_FragCoord origin is upper left
|
|||
0:18 'u' ( temp uint)
|
||||
0:18 AtomicMin ( temp uint)
|
||||
0:18 indirect index (layout( row_major std430) buffer uint)
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 right-shift ( temp int)
|
||||
|
@ -153,8 +153,8 @@ gl_FragCoord origin is upper left
|
|||
0:18 1 (const int)
|
||||
0:19 AtomicOr ( temp void)
|
||||
0:19 indirect index (layout( row_major std430) buffer uint)
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 right-shift ( temp int)
|
||||
|
@ -168,8 +168,8 @@ gl_FragCoord origin is upper left
|
|||
0:20 'u' ( temp uint)
|
||||
0:20 AtomicOr ( temp uint)
|
||||
0:20 indirect index (layout( row_major std430) buffer uint)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 right-shift ( temp int)
|
||||
|
@ -181,8 +181,8 @@ gl_FragCoord origin is upper left
|
|||
0:20 1 (const int)
|
||||
0:21 AtomicXor ( temp void)
|
||||
0:21 indirect index (layout( row_major std430) buffer uint)
|
||||
0:21 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:21 Constant:
|
||||
0:21 0 (const uint)
|
||||
0:21 right-shift ( temp int)
|
||||
|
@ -196,8 +196,8 @@ gl_FragCoord origin is upper left
|
|||
0:22 'u' ( temp uint)
|
||||
0:22 AtomicXor ( temp uint)
|
||||
0:22 indirect index (layout( row_major std430) buffer uint)
|
||||
0:22 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:22 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:22 Constant:
|
||||
0:22 0 (const uint)
|
||||
0:22 right-shift ( temp int)
|
||||
|
@ -211,8 +211,8 @@ gl_FragCoord origin is upper left
|
|||
0:24 Construct vec4 ( temp 4-component vector of float)
|
||||
0:24 Convert uint to float ( temp float)
|
||||
0:24 indirect index (layout( row_major std430) buffer uint)
|
||||
0:24 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:24 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:24 Constant:
|
||||
0:24 0 (const uint)
|
||||
0:24 right-shift ( temp int)
|
||||
|
@ -230,7 +230,7 @@ gl_FragCoord origin is upper left
|
|||
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -247,8 +247,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:8 AtomicAdd ( temp void)
|
||||
0:8 indirect index (layout( row_major std430) buffer uint)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:8 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 right-shift ( temp int)
|
||||
|
@ -262,8 +262,8 @@ gl_FragCoord origin is upper left
|
|||
0:9 'u' ( temp uint)
|
||||
0:9 AtomicAdd ( temp uint)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift ( temp int)
|
||||
|
@ -275,8 +275,8 @@ gl_FragCoord origin is upper left
|
|||
0:9 1 (const int)
|
||||
0:10 AtomicAnd ( temp void)
|
||||
0:10 indirect index (layout( row_major std430) buffer uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 right-shift ( temp int)
|
||||
|
@ -290,8 +290,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 'u' ( temp uint)
|
||||
0:11 AtomicAnd ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 right-shift ( temp int)
|
||||
|
@ -306,8 +306,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Convert int to uint ( temp uint)
|
||||
0:12 AtomicCompSwap ( temp int)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 right-shift ( temp int)
|
||||
|
@ -323,8 +323,8 @@ gl_FragCoord origin is upper left
|
|||
0:14 'u' ( temp uint)
|
||||
0:14 AtomicExchange ( temp uint)
|
||||
0:14 indirect index (layout( row_major std430) buffer uint)
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 right-shift ( temp int)
|
||||
|
@ -336,8 +336,8 @@ gl_FragCoord origin is upper left
|
|||
0:14 1 (const int)
|
||||
0:15 AtomicMax ( temp void)
|
||||
0:15 indirect index (layout( row_major std430) buffer uint)
|
||||
0:15 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:15 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:15 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 right-shift ( temp int)
|
||||
|
@ -351,8 +351,8 @@ gl_FragCoord origin is upper left
|
|||
0:16 'u' ( temp uint)
|
||||
0:16 AtomicMax ( temp uint)
|
||||
0:16 indirect index (layout( row_major std430) buffer uint)
|
||||
0:16 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:16 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:16 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 right-shift ( temp int)
|
||||
|
@ -364,8 +364,8 @@ gl_FragCoord origin is upper left
|
|||
0:16 1 (const int)
|
||||
0:17 AtomicMin ( temp void)
|
||||
0:17 indirect index (layout( row_major std430) buffer uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 right-shift ( temp int)
|
||||
|
@ -379,8 +379,8 @@ gl_FragCoord origin is upper left
|
|||
0:18 'u' ( temp uint)
|
||||
0:18 AtomicMin ( temp uint)
|
||||
0:18 indirect index (layout( row_major std430) buffer uint)
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:18 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 right-shift ( temp int)
|
||||
|
@ -392,8 +392,8 @@ gl_FragCoord origin is upper left
|
|||
0:18 1 (const int)
|
||||
0:19 AtomicOr ( temp void)
|
||||
0:19 indirect index (layout( row_major std430) buffer uint)
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 right-shift ( temp int)
|
||||
|
@ -407,8 +407,8 @@ gl_FragCoord origin is upper left
|
|||
0:20 'u' ( temp uint)
|
||||
0:20 AtomicOr ( temp uint)
|
||||
0:20 indirect index (layout( row_major std430) buffer uint)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 right-shift ( temp int)
|
||||
|
@ -420,8 +420,8 @@ gl_FragCoord origin is upper left
|
|||
0:20 1 (const int)
|
||||
0:21 AtomicXor ( temp void)
|
||||
0:21 indirect index (layout( row_major std430) buffer uint)
|
||||
0:21 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:21 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:21 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:21 Constant:
|
||||
0:21 0 (const uint)
|
||||
0:21 right-shift ( temp int)
|
||||
|
@ -435,8 +435,8 @@ gl_FragCoord origin is upper left
|
|||
0:22 'u' ( temp uint)
|
||||
0:22 AtomicXor ( temp uint)
|
||||
0:22 indirect index (layout( row_major std430) buffer uint)
|
||||
0:22 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:22 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:22 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:22 Constant:
|
||||
0:22 0 (const uint)
|
||||
0:22 right-shift ( temp int)
|
||||
|
@ -450,8 +450,8 @@ gl_FragCoord origin is upper left
|
|||
0:24 Construct vec4 ( temp 4-component vector of float)
|
||||
0:24 Convert uint to float ( temp float)
|
||||
0:24 indirect index (layout( row_major std430) buffer uint)
|
||||
0:24 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:24 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:24 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:24 Constant:
|
||||
0:24 0 (const uint)
|
||||
0:24 right-shift ( temp int)
|
||||
|
@ -469,7 +469,7 @@ gl_FragCoord origin is upper left
|
|||
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ gl_FragCoord origin is upper left
|
|||
0:7 move second child to first child ( temp uint)
|
||||
0:7 'size' ( temp uint)
|
||||
0:7 array length ( temp uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:12 Branch: Return with expression
|
||||
|
@ -20,8 +20,8 @@ gl_FragCoord origin is upper left
|
|||
0:9 add ( temp 4-component vector of float)
|
||||
0:9 Convert uint to float ( temp float)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift ( temp int)
|
||||
|
@ -42,14 +42,14 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -74,14 +74,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -89,8 +89,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -112,14 +112,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -127,8 +127,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -136,8 +136,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -155,7 +155,7 @@ gl_FragCoord origin is upper left
|
|||
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -174,8 +174,8 @@ gl_FragCoord origin is upper left
|
|||
0:7 move second child to first child ( temp uint)
|
||||
0:7 'size' ( temp uint)
|
||||
0:7 array length ( temp uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:12 Branch: Return with expression
|
||||
|
@ -184,8 +184,8 @@ gl_FragCoord origin is upper left
|
|||
0:9 add ( temp 4-component vector of float)
|
||||
0:9 Convert uint to float ( temp float)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift ( temp int)
|
||||
|
@ -206,14 +206,14 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -238,14 +238,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -253,8 +253,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -276,14 +276,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -291,8 +291,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -300,8 +300,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -319,7 +319,7 @@ gl_FragCoord origin is upper left
|
|||
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:13 move second child to first child ( temp float)
|
||||
0:13 indirect index (layout( row_major std430) buffer float)
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 add ( temp uint)
|
||||
|
@ -22,8 +22,8 @@ gl_FragCoord origin is upper left
|
|||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'size' ( temp uint)
|
||||
0:17 array length ( temp uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
|
@ -34,8 +34,8 @@ gl_FragCoord origin is upper left
|
|||
0:19 Condition
|
||||
0:19 test: direct index for structure ( temp bool)
|
||||
0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 'pos' ( in uint)
|
||||
|
@ -47,16 +47,16 @@ gl_FragCoord origin is upper left
|
|||
0:20 add ( temp 3-component vector of float)
|
||||
0:20 color: direct index for structure ( temp 3-component vector of float)
|
||||
0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 indirect index (layout( row_major std430) buffer float)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
|
@ -80,8 +80,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -98,8 +98,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:13 move second child to first child ( temp float)
|
||||
0:13 indirect index (layout( row_major std430) buffer float)
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 add ( temp uint)
|
||||
|
@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
|
|||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'size' ( temp uint)
|
||||
0:17 array length ( temp uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
|
@ -124,8 +124,8 @@ gl_FragCoord origin is upper left
|
|||
0:19 Condition
|
||||
0:19 test: direct index for structure ( temp bool)
|
||||
0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 'pos' ( in uint)
|
||||
|
@ -137,16 +137,16 @@ gl_FragCoord origin is upper left
|
|||
0:20 add ( temp 3-component vector of float)
|
||||
0:20 color: direct index for structure ( temp 3-component vector of float)
|
||||
0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 indirect index (layout( row_major std430) buffer float)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
|
@ -170,8 +170,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ local_size = (1, 1, 1)
|
|||
0:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 add ( temp uint)
|
||||
|
@ -53,8 +53,8 @@ local_size = (1, 1, 1)
|
|||
0:16 'storeTemp' ( temp 4-component vector of float)
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Convert float to uint ( temp uint)
|
||||
|
@ -63,8 +63,8 @@ local_size = (1, 1, 1)
|
|||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Convert float to uint ( temp uint)
|
||||
|
@ -82,9 +82,9 @@ local_size = (1, 1, 1)
|
|||
0:? 'nThreadId' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'outtx' (layout( rgba32f) uniform image2D)
|
||||
0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
|
||||
|
@ -102,8 +102,8 @@ local_size = (1, 1, 1)
|
|||
0:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
|
||||
0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 add ( temp uint)
|
||||
|
@ -145,8 +145,8 @@ local_size = (1, 1, 1)
|
|||
0:16 'storeTemp' ( temp 4-component vector of float)
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Convert float to uint ( temp uint)
|
||||
|
@ -155,8 +155,8 @@ local_size = (1, 1, 1)
|
|||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
|
||||
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 Convert float to uint ( temp uint)
|
||||
|
@ -174,9 +174,9 @@ local_size = (1, 1, 1)
|
|||
0:? 'nThreadId' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'outtx' (layout( rgba32f) uniform image2D)
|
||||
0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
|
||||
0:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
|
||||
0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
|
||||
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
// Module Version 10000
|
||||
|
|
|
@ -4,27 +4,27 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
|
||||
0:5 Function Parameters:
|
||||
0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:5 'bufferOffset' ( in uint)
|
||||
0:? Sequence
|
||||
0:6 Branch: Return with expression
|
||||
0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 'bufferOffset' ( in uint)
|
||||
0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void)
|
||||
0:10 Function Parameters:
|
||||
0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:10 'sb@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:10 'bufferOffset' ( in uint)
|
||||
0:10 'data' ( in 4-component vector of uint)
|
||||
0:? Sequence
|
||||
0:11 move second child to first child ( temp 4-component vector of uint)
|
||||
0:11 indirect index ( buffer 4-component vector of uint)
|
||||
0:11 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:11 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'bufferOffset' ( in uint)
|
||||
|
@ -34,12 +34,12 @@ gl_FragCoord origin is upper left
|
|||
0:20 'pos' ( in uint)
|
||||
0:? Sequence
|
||||
0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void)
|
||||
0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:21 Constant:
|
||||
0:21 2 (const uint)
|
||||
0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
|
||||
0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:21 Constant:
|
||||
0:21 3 (const uint)
|
||||
0:23 Branch: Return with expression
|
||||
|
@ -59,10 +59,10 @@ gl_FragCoord origin is upper left
|
|||
0:20 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data})
|
||||
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 3-component vector of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -75,27 +75,27 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:5 Function Definition: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
|
||||
0:5 Function Parameters:
|
||||
0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:5 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:5 'bufferOffset' ( in uint)
|
||||
0:? Sequence
|
||||
0:6 Branch: Return with expression
|
||||
0:6 indirect index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:6 'sb' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 'bufferOffset' ( in uint)
|
||||
0:10 Function Definition: set(block--vu4[0]1;u1;vu4; ( temp void)
|
||||
0:10 Function Parameters:
|
||||
0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:10 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:10 'sb@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:10 'bufferOffset' ( in uint)
|
||||
0:10 'data' ( in 4-component vector of uint)
|
||||
0:? Sequence
|
||||
0:11 move second child to first child ( temp 4-component vector of uint)
|
||||
0:11 indirect index ( buffer 4-component vector of uint)
|
||||
0:11 @data: direct index for structure ( buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:11 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:11 'sb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'bufferOffset' ( in uint)
|
||||
|
@ -105,12 +105,12 @@ gl_FragCoord origin is upper left
|
|||
0:20 'pos' ( in uint)
|
||||
0:? Sequence
|
||||
0:21 Function Call: set(block--vu4[0]1;u1;vu4; ( temp void)
|
||||
0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:21 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:21 'sbuf2@count' ( buffer block{layout( row_major std430) buffer int @count})
|
||||
0:21 Constant:
|
||||
0:21 2 (const uint)
|
||||
0:21 Function Call: get(block--vu4[0]1;u1; ( temp 4-component vector of uint)
|
||||
0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:21 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:21 Constant:
|
||||
0:21 3 (const uint)
|
||||
0:23 Branch: Return with expression
|
||||
|
@ -130,10 +130,10 @@ gl_FragCoord origin is upper left
|
|||
0:20 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf2@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 3-component vector of uint @data})
|
||||
0:? 'sbuf3' (layout( binding=12 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of 3-component vector of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ local_size = (256, 1, 1)
|
|||
0:5 Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
|
||||
0:5 Function Parameters:
|
||||
0:5 'loc' ( in uint)
|
||||
0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? Sequence
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp 2-component vector of uint)
|
||||
|
@ -19,14 +19,14 @@ local_size = (256, 1, 1)
|
|||
0:6 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 'byteAddrTemp' ( temp int)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 add ( temp int)
|
||||
|
@ -44,7 +44,7 @@ local_size = (256, 1, 1)
|
|||
0:13 'result' ( temp 2-component vector of uint)
|
||||
0:13 Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
|
||||
0:13 'dispatchId' ( in uint)
|
||||
0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:14 Sequence
|
||||
0:14 imageStore ( temp void)
|
||||
0:14 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
|
||||
|
@ -60,7 +60,7 @@ local_size = (256, 1, 1)
|
|||
0:12 Function Call: @main(u1; ( temp void)
|
||||
0:? 'dispatchId' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
|
||||
0:? 'dispatchId' ( in uint GlobalInvocationID)
|
||||
|
||||
|
@ -74,7 +74,7 @@ local_size = (256, 1, 1)
|
|||
0:5 Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
|
||||
0:5 Function Parameters:
|
||||
0:5 'loc' ( in uint)
|
||||
0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? Sequence
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child ( temp 2-component vector of uint)
|
||||
|
@ -88,14 +88,14 @@ local_size = (256, 1, 1)
|
|||
0:6 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 'byteAddrTemp' ( temp int)
|
||||
0:6 indirect index ( temp uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 add ( temp int)
|
||||
|
@ -113,7 +113,7 @@ local_size = (256, 1, 1)
|
|||
0:13 'result' ( temp 2-component vector of uint)
|
||||
0:13 Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint)
|
||||
0:13 'dispatchId' ( in uint)
|
||||
0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:14 Sequence
|
||||
0:14 imageStore ( temp void)
|
||||
0:14 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
|
||||
|
@ -129,7 +129,7 @@ local_size = (256, 1, 1)
|
|||
0:12 Function Call: @main(u1; ( temp void)
|
||||
0:? 'dispatchId' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
|
||||
0:? 'dispatchId' ( in uint GlobalInvocationID)
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ gl_FragCoord origin is upper left
|
|||
0:13 move second child to first child ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 'mydata' ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 'pos' ( in uint)
|
||||
|
@ -19,8 +19,8 @@ gl_FragCoord origin is upper left
|
|||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'size' ( temp uint)
|
||||
0:17 array length ( temp uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:17 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:17 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
|
@ -31,8 +31,8 @@ gl_FragCoord origin is upper left
|
|||
0:19 Condition
|
||||
0:19 test: direct index for structure ( temp bool)
|
||||
0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:19 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:19 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 'pos' ( in uint)
|
||||
|
@ -44,16 +44,16 @@ gl_FragCoord origin is upper left
|
|||
0:20 add ( temp 3-component vector of float)
|
||||
0:20 color: direct index for structure ( temp 3-component vector of float)
|
||||
0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:20 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:20 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 indirect index (layout( row_major std430) buffer float)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
|
@ -86,8 +86,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -106,8 +106,8 @@ gl_FragCoord origin is upper left
|
|||
0:13 move second child to first child ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 'mydata' ( temp structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:13 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 'pos' ( in uint)
|
||||
|
@ -115,8 +115,8 @@ gl_FragCoord origin is upper left
|
|||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'size' ( temp uint)
|
||||
0:17 array length ( temp uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:17 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:17 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
|
@ -127,8 +127,8 @@ gl_FragCoord origin is upper left
|
|||
0:19 Condition
|
||||
0:19 test: direct index for structure ( temp bool)
|
||||
0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:19 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:19 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 'pos' ( in uint)
|
||||
|
@ -140,16 +140,16 @@ gl_FragCoord origin is upper left
|
|||
0:20 add ( temp 3-component vector of float)
|
||||
0:20 color: direct index for structure ( temp 3-component vector of float)
|
||||
0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:20 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2})
|
||||
0:20 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 indirect index (layout( row_major std430) buffer float)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
|
@ -182,8 +182,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'sbuf' (layout( binding=10 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test, temp bool test2} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -15,23 +15,23 @@ gl_FragCoord origin is upper left
|
|||
0:8 0 (const uint)
|
||||
0:8 0 (const uint)
|
||||
0:10 direct index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:10 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:10 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 7 (const int)
|
||||
0:11 direct index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:11 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:11 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 Constant:
|
||||
0:11 7 (const int)
|
||||
0:13 move second child to first child ( temp 4-component vector of uint)
|
||||
0:13 direct index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:13 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:13 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
|
@ -91,11 +91,11 @@ gl_FragCoord origin is upper left
|
|||
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -119,23 +119,23 @@ gl_FragCoord origin is upper left
|
|||
0:8 0 (const uint)
|
||||
0:8 0 (const uint)
|
||||
0:10 direct index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:10 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:10 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 7 (const int)
|
||||
0:11 direct index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:11 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:11 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 Constant:
|
||||
0:11 7 (const int)
|
||||
0:13 move second child to first child ( temp 4-component vector of uint)
|
||||
0:13 direct index (layout( row_major std430) buffer 4-component vector of uint)
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint)
|
||||
0:13 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint)
|
||||
0:13 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
|
@ -195,11 +195,11 @@ gl_FragCoord origin is upper left
|
|||
0:7 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer int @count})
|
||||
0:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of uint @data})
|
||||
0:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:13 move second child to first child ( temp float)
|
||||
0:13 indirect index (layout( row_major std430) buffer float)
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 add ( temp uint)
|
||||
|
@ -22,8 +22,8 @@ gl_FragCoord origin is upper left
|
|||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'size' ( temp uint)
|
||||
0:17 array length ( temp uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
|
@ -34,8 +34,8 @@ gl_FragCoord origin is upper left
|
|||
0:19 Condition
|
||||
0:19 test: direct index for structure ( temp bool)
|
||||
0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 'pos' ( in uint)
|
||||
|
@ -47,16 +47,16 @@ gl_FragCoord origin is upper left
|
|||
0:20 add ( temp 3-component vector of float)
|
||||
0:20 color: direct index for structure ( temp 3-component vector of float)
|
||||
0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 indirect index (layout( row_major std430) buffer float)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
|
@ -80,8 +80,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -98,8 +98,8 @@ gl_FragCoord origin is upper left
|
|||
0:? Sequence
|
||||
0:13 move second child to first child ( temp float)
|
||||
0:13 indirect index (layout( row_major std430) buffer float)
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 add ( temp uint)
|
||||
|
@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
|
|||
0:17 move second child to first child ( temp uint)
|
||||
0:17 'size' ( temp uint)
|
||||
0:17 array length ( temp uint)
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 move second child to first child ( temp uint)
|
||||
|
@ -124,8 +124,8 @@ gl_FragCoord origin is upper left
|
|||
0:19 Condition
|
||||
0:19 test: direct index for structure ( temp bool)
|
||||
0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 'pos' ( in uint)
|
||||
|
@ -137,16 +137,16 @@ gl_FragCoord origin is upper left
|
|||
0:20 add ( temp 3-component vector of float)
|
||||
0:20 color: direct index for structure ( temp 3-component vector of float)
|
||||
0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test})
|
||||
0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 indirect index (layout( row_major std430) buffer float)
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:20 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
|
||||
0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 'pos' ( in uint)
|
||||
|
@ -170,8 +170,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color, temp bool test} @data})
|
||||
0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ gl_FragCoord origin is upper left
|
|||
0:7 move second child to first child ( temp uint)
|
||||
0:7 'size' ( temp uint)
|
||||
0:7 array length ( temp uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:? Sequence
|
||||
|
@ -23,14 +23,14 @@ gl_FragCoord origin is upper left
|
|||
0:9 2 (const int)
|
||||
0:9 move second child to first child ( temp uint)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 'byteAddrTemp' ( temp int)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift ( temp int)
|
||||
|
@ -46,8 +46,8 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:10 move second child to first child ( temp uint)
|
||||
0:10 indirect index (layout( row_major std430) buffer uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
|
@ -61,14 +61,14 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -79,8 +79,8 @@ gl_FragCoord origin is upper left
|
|||
0:10 0 (const int)
|
||||
0:10 move second child to first child ( temp uint)
|
||||
0:10 indirect index (layout( row_major std430) buffer uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -97,14 +97,14 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -122,8 +122,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:11 move second child to first child ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
|
@ -137,14 +137,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -152,8 +152,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -164,8 +164,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 0 (const int)
|
||||
0:11 move second child to first child ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -182,14 +182,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -197,8 +197,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -209,8 +209,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 1 (const int)
|
||||
0:11 move second child to first child ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -227,14 +227,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -242,8 +242,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -261,8 +261,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
|
@ -276,14 +276,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -291,8 +291,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -300,8 +300,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -312,8 +312,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 0 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -330,14 +330,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -345,8 +345,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -354,8 +354,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -366,8 +366,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 1 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -384,14 +384,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -399,8 +399,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -408,8 +408,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -420,8 +420,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -438,14 +438,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -453,8 +453,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -462,8 +462,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -476,8 +476,8 @@ gl_FragCoord origin is upper left
|
|||
0:14 Construct vec4 ( temp 4-component vector of float)
|
||||
0:14 Convert uint to float ( temp float)
|
||||
0:14 indirect index (layout( row_major std430) buffer uint)
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 right-shift ( temp int)
|
||||
|
@ -495,7 +495,7 @@ gl_FragCoord origin is upper left
|
|||
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
@ -514,8 +514,8 @@ gl_FragCoord origin is upper left
|
|||
0:7 move second child to first child ( temp uint)
|
||||
0:7 'size' ( temp uint)
|
||||
0:7 array length ( temp uint)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:7 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:? Sequence
|
||||
|
@ -527,14 +527,14 @@ gl_FragCoord origin is upper left
|
|||
0:9 2 (const int)
|
||||
0:9 move second child to first child ( temp uint)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 'byteAddrTemp' ( temp int)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:9 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift ( temp int)
|
||||
|
@ -550,8 +550,8 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:10 move second child to first child ( temp uint)
|
||||
0:10 indirect index (layout( row_major std430) buffer uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
|
@ -565,14 +565,14 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -583,8 +583,8 @@ gl_FragCoord origin is upper left
|
|||
0:10 0 (const int)
|
||||
0:10 move second child to first child ( temp uint)
|
||||
0:10 indirect index (layout( row_major std430) buffer uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -601,14 +601,14 @@ gl_FragCoord origin is upper left
|
|||
0:10 2 (const int)
|
||||
0:? Construct vec2 ( temp 2-component vector of uint)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'byteAddrTemp' ( temp int)
|
||||
0:10 indirect index ( temp uint)
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:10 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 add ( temp int)
|
||||
|
@ -626,8 +626,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:11 move second child to first child ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
|
@ -641,14 +641,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -656,8 +656,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -668,8 +668,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 0 (const int)
|
||||
0:11 move second child to first child ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -686,14 +686,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -701,8 +701,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -713,8 +713,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 1 (const int)
|
||||
0:11 move second child to first child ( temp uint)
|
||||
0:11 indirect index (layout( row_major std430) buffer uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -731,14 +731,14 @@ gl_FragCoord origin is upper left
|
|||
0:11 2 (const int)
|
||||
0:? Construct vec3 ( temp 3-component vector of uint)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 'byteAddrTemp' ( temp int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -746,8 +746,8 @@ gl_FragCoord origin is upper left
|
|||
0:11 Constant:
|
||||
0:11 1 (const int)
|
||||
0:11 indirect index ( temp uint)
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:11 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 add ( temp int)
|
||||
|
@ -765,8 +765,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
|
@ -780,14 +780,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -795,8 +795,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -804,8 +804,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -816,8 +816,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 0 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -834,14 +834,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -849,8 +849,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -858,8 +858,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -870,8 +870,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 1 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -888,14 +888,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -903,8 +903,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -912,8 +912,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -924,8 +924,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:12 move second child to first child ( temp uint)
|
||||
0:12 indirect index (layout( row_major std430) buffer uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -942,14 +942,14 @@ gl_FragCoord origin is upper left
|
|||
0:12 2 (const int)
|
||||
0:? Construct vec4 ( temp 4-component vector of uint)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 'byteAddrTemp' ( temp int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -957,8 +957,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -966,8 +966,8 @@ gl_FragCoord origin is upper left
|
|||
0:12 Constant:
|
||||
0:12 2 (const int)
|
||||
0:12 indirect index ( temp uint)
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:12 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:12 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 add ( temp int)
|
||||
|
@ -980,8 +980,8 @@ gl_FragCoord origin is upper left
|
|||
0:14 Construct vec4 ( temp 4-component vector of float)
|
||||
0:14 Convert uint to float ( temp float)
|
||||
0:14 indirect index (layout( row_major std430) buffer uint)
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:14 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 right-shift ( temp int)
|
||||
|
@ -999,7 +999,7 @@ gl_FragCoord origin is upper left
|
|||
0:5 Function Call: @main(u1; ( temp 4-component vector of float)
|
||||
0:? 'pos' ( temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'pos' (layout( location=0) flat in uint)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -7,8 +7,8 @@ local_size = (32, 16, 1)
|
|||
0:? Sequence
|
||||
0:6 move second child to first child ( temp uint)
|
||||
0:6 indirect index (layout( row_major std430) buffer uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
|
||||
|
@ -25,7 +25,7 @@ local_size = (32, 16, 1)
|
|||
0:? Sequence
|
||||
0:5 Function Call: @CSMain( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
@ -39,8 +39,8 @@ local_size = (32, 16, 1)
|
|||
0:? Sequence
|
||||
0:6 move second child to first child ( temp uint)
|
||||
0:6 indirect index (layout( row_major std430) buffer uint)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
|
||||
|
@ -57,7 +57,7 @@ local_size = (32, 16, 1)
|
|||
0:? Sequence
|
||||
0:5 Function Call: @CSMain( ( temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
|
||||
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80006
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -8,8 +8,8 @@ local_size = (32, 16, 1)
|
|||
0:? Sequence
|
||||
0:6 move second child to first child ( temp uint64_t)
|
||||
0:6 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 direct index ( temp uint)
|
||||
|
@ -29,8 +29,8 @@ local_size = (32, 16, 1)
|
|||
0:6 0 (const uint)
|
||||
0:7 move second child to first child ( temp uint64_t)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:7 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:7 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 direct index ( temp uint)
|
||||
|
@ -50,8 +50,8 @@ local_size = (32, 16, 1)
|
|||
0:7 0 (const uint)
|
||||
0:8 move second child to first child ( temp uint64_t)
|
||||
0:8 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:8 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:8 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 direct index ( temp uint)
|
||||
|
@ -71,8 +71,8 @@ local_size = (32, 16, 1)
|
|||
0:8 0 (const uint)
|
||||
0:9 move second child to first child ( temp uint64_t)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:9 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:9 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 direct index ( temp uint)
|
||||
|
@ -96,7 +96,7 @@ local_size = (32, 16, 1)
|
|||
0:5 Function Call: @CSMain(vu3; ( temp void)
|
||||
0:? 'dti' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
|
||||
|
@ -112,8 +112,8 @@ local_size = (32, 16, 1)
|
|||
0:? Sequence
|
||||
0:6 move second child to first child ( temp uint64_t)
|
||||
0:6 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:6 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 direct index ( temp uint)
|
||||
|
@ -133,8 +133,8 @@ local_size = (32, 16, 1)
|
|||
0:6 0 (const uint)
|
||||
0:7 move second child to first child ( temp uint64_t)
|
||||
0:7 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:7 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:7 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:7 Constant:
|
||||
0:7 0 (const uint)
|
||||
0:7 direct index ( temp uint)
|
||||
|
@ -154,8 +154,8 @@ local_size = (32, 16, 1)
|
|||
0:7 0 (const uint)
|
||||
0:8 move second child to first child ( temp uint64_t)
|
||||
0:8 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:8 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:8 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 direct index ( temp uint)
|
||||
|
@ -175,8 +175,8 @@ local_size = (32, 16, 1)
|
|||
0:8 0 (const uint)
|
||||
0:9 move second child to first child ( temp uint64_t)
|
||||
0:9 indirect index (layout( row_major std430) buffer uint64_t)
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint64_t)
|
||||
0:9 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:9 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint64_t)
|
||||
0:9 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 direct index ( temp uint)
|
||||
|
@ -200,7 +200,7 @@ local_size = (32, 16, 1)
|
|||
0:5 Function Call: @CSMain(vu3; ( temp void)
|
||||
0:? 'dti' ( temp 3-component vector of uint)
|
||||
0:? Linker Objects
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint64_t @data})
|
||||
0:? 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint64_t @data})
|
||||
0:? 'dti' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
// Module Version 10300
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
mixedArrayDecls.frag
|
||||
ERROR: 0:30: '' : syntax error, unexpected LEFT_PAREN, expecting COMMA or SEMICOLON
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
ERROR: node is still EOpNull!
|
||||
0:16 Function Definition: foo(i1[14][15][6]; ( global 14-element array of 15-element array of 6-element array of int)
|
||||
0:16 Function Parameters:
|
||||
0:16 'p' ( in 14-element array of 15-element array of 6-element array of int)
|
||||
0:16 Sequence
|
||||
0:16 Branch: Return with expression
|
||||
0:16 'p' ( in 14-element array of 15-element array of 6-element array of int)
|
||||
0:18 Function Definition: main( ( global void)
|
||||
0:18 Function Parameters:
|
||||
0:20 Sequence
|
||||
0:20 direct index ( temp 14-element array of int)
|
||||
0:20 'g' ( global unsized 4-element array of 14-element array of int)
|
||||
0:20 Constant:
|
||||
0:20 3 (const int)
|
||||
0:21 direct index ( temp 14-element array of int)
|
||||
0:21 'h' ( global unsized 3-element array of 14-element array of int)
|
||||
0:21 Constant:
|
||||
0:21 2 (const int)
|
||||
0:24 Function Definition: bar( ( global 4-element array of 3-element array of 2-element array of float)
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:24 Branch: Return with expression
|
||||
0:24 'a' ( temp 4-element array of 3-element array of 2-element array of float)
|
||||
0:? Linker Objects
|
||||
0:? 's' ( global structure{ global 2-element array of 3-element array of int a, global 5-element array of 3-element array of int b})
|
||||
0:? 'c' ( global 4-element array of 5-element array of int)
|
||||
0:? 'd' ( global 8-element array of 5-element array of int)
|
||||
0:? 'e' ( global 11-element array of 9-element array of int)
|
||||
0:? 'f' ( global 13-element array of 9-element array of int)
|
||||
0:? 'g' ( global unsized 4-element array of 14-element array of int)
|
||||
0:? 'h' ( global unsized 3-element array of 14-element array of int)
|
||||
0:? 'inbinst' ( in 4-element array of 5-element array of 6-element array of block{ in 8-element array of 9-element array of 7-element array of float f})
|
||||
0:? 'barm' ( global 4-element array of 3-element array of 2-element array of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
ERROR: node is still EOpNull!
|
||||
0:18 Function Definition: main( ( global void)
|
||||
0:18 Function Parameters:
|
||||
0:20 Sequence
|
||||
0:20 direct index ( temp 14-element array of int)
|
||||
0:20 'g' ( global 4-element array of 14-element array of int)
|
||||
0:20 Constant:
|
||||
0:20 3 (const int)
|
||||
0:21 direct index ( temp 14-element array of int)
|
||||
0:21 'h' ( global 3-element array of 14-element array of int)
|
||||
0:21 Constant:
|
||||
0:21 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 's' ( global structure{ global 2-element array of 3-element array of int a, global 5-element array of 3-element array of int b})
|
||||
0:? 'c' ( global 4-element array of 5-element array of int)
|
||||
0:? 'd' ( global 8-element array of 5-element array of int)
|
||||
0:? 'e' ( global 11-element array of 9-element array of int)
|
||||
0:? 'f' ( global 13-element array of 9-element array of int)
|
||||
0:? 'g' ( global 4-element array of 14-element array of int)
|
||||
0:? 'h' ( global 3-element array of 14-element array of int)
|
||||
0:? 'inbinst' ( in 4-element array of 5-element array of 6-element array of block{ in 8-element array of 9-element array of 7-element array of float f})
|
||||
0:? 'barm' ( global 4-element array of 3-element array of 2-element array of float)
|
||||
|
|
@ -320,7 +320,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'factor' (layout( location=3 index=1) out 4-component vector of float)
|
||||
0:? 'colors' (layout( location=2) out 3-element array of 4-component vector of float)
|
||||
0:? 'gl_FragDepth' ( gl_FragDepth float FragDepth)
|
||||
0:? 'anon@2' ( in block{ in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
|
||||
0:? 'anon@2' ( in block{ in float FogFragCoord gl_FogFragCoord, in unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
|
|
@ -276,7 +276,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'Coords' ( out block{ out 4-component vector of float Position, out 2-component vector of float Texture})
|
||||
0:? 'anon@0' ( out block{ out 4-component vector of float Color})
|
||||
0:? 'transforms' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform 4X4 matrix of float ModelViewMatrix, layout( column_major shared) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout( column_major shared) uniform implicitly-sized array of 4-component vector of float a, layout( column_major shared) uniform float Deformation})
|
||||
0:? 'transforms' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform 4X4 matrix of float ModelViewMatrix, layout( column_major shared) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout( column_major shared) uniform unsized 1-element array of 4-component vector of float a, layout( column_major shared) uniform float Deformation})
|
||||
0:? 'normal' (layout( location=3) in 4-component vector of float)
|
||||
0:? 'colors' (layout( location=6) in 3-element array of 4-component vector of float)
|
||||
0:? 'transforms2' (layout( location=9) in 2-element array of 4X4 matrix of float)
|
||||
|
@ -295,7 +295,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'b2' (layout( binding=2) uniform atomic_uint)
|
||||
0:? 'c2' (layout( binding=3) uniform atomic_uint)
|
||||
0:? 'd2' (layout( binding=2) uniform atomic_uint)
|
||||
0:? 'anon@5' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'anon@5' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'ColorInv' ( smooth out 3-component vector of float)
|
||||
0:? 'Color4' ( invariant centroid smooth out 3-component vector of float)
|
||||
0:? 'position' ( noContraction smooth out 4-component vector of float)
|
||||
|
|
|
@ -277,7 +277,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'Coords' ( out block{ out 4-component vector of float Position, out 2-component vector of float Texture})
|
||||
0:? 'anon@0' ( out block{ out 4-component vector of float Color})
|
||||
0:? 'transforms' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform 4X4 matrix of float ModelViewMatrix, layout( column_major shared) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout( column_major shared) uniform implicitly-sized array of 4-component vector of float a, layout( column_major shared) uniform float Deformation})
|
||||
0:? 'transforms' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform 4X4 matrix of float ModelViewMatrix, layout( column_major shared) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout( column_major shared) uniform unsized 1-element array of 4-component vector of float a, layout( column_major shared) uniform float Deformation})
|
||||
0:? 'normal' (layout( location=3) in 4-component vector of float)
|
||||
0:? 'colors' (layout( location=6) in 3-element array of 4-component vector of float)
|
||||
0:? 'transforms2' (layout( location=9) in 2-element array of 4X4 matrix of float)
|
||||
|
@ -296,7 +296,7 @@ ERROR: node is still EOpNull!
|
|||
0:? 'b2' (layout( binding=2) uniform atomic_uint)
|
||||
0:? 'c2' (layout( binding=3) uniform atomic_uint)
|
||||
0:? 'd2' (layout( binding=2) uniform atomic_uint)
|
||||
0:? 'anon@5' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'anon@5' ( out block{ invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'ColorInv' ( smooth out 3-component vector of float)
|
||||
0:? 'Color4' ( invariant centroid smooth out 3-component vector of float)
|
||||
0:? 'position' ( noContraction smooth out 4-component vector of float)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -11,7 +11,7 @@ spv.specConstant.vert
|
|||
Source GLSL 400
|
||||
Name 4 "main"
|
||||
Name 9 "arraySize"
|
||||
Name 14 "foo(vf4[s2148];"
|
||||
Name 14 "foo(vf4[s2468];"
|
||||
Name 13 "p"
|
||||
Name 17 "builtin_spec_constant("
|
||||
Name 20 "color"
|
||||
|
@ -102,10 +102,10 @@ spv.specConstant.vert
|
|||
Store 20(color) 46
|
||||
48: 10 Load 22(ucol)
|
||||
Store 47(param) 48
|
||||
49: 2 FunctionCall 14(foo(vf4[s2148];) 47(param)
|
||||
49: 2 FunctionCall 14(foo(vf4[s2468];) 47(param)
|
||||
Return
|
||||
FunctionEnd
|
||||
14(foo(vf4[s2148];): 2 Function None 12
|
||||
14(foo(vf4[s2468];): 2 Function None 12
|
||||
13(p): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
54: 24(ptr) AccessChain 53(dupUcol) 23
|
||||
|
|
File diff suppressed because it is too large
Load Diff
326
3rdparty/glslang/Test/baseResults/spv.vulkan100.subgroupPartitioned.comp.out
vendored
Executable file
326
3rdparty/glslang/Test/baseResults/spv.vulkan100.subgroupPartitioned.comp.out
vendored
Executable file
|
@ -0,0 +1,326 @@
|
|||
spv.vulkan100.subgroupPartitioned.comp
|
||||
ERROR: 0:19: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:21: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:22: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:23: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:24: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:26: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:27: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:28: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:29: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:31: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:32: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:33: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:34: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:36: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:37: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:38: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:39: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:41: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:42: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:43: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:44: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:46: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:47: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:48: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:49: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:51: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:52: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:53: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:54: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:56: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:57: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:58: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:59: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:61: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:62: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:63: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:64: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:66: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:67: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:68: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:69: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:71: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:72: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:73: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:74: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:76: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:77: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:78: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:79: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:81: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:82: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:83: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:84: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:86: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:87: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:88: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:89: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:91: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:92: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:93: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:94: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:96: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:97: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:98: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:99: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:101: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:102: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:103: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:104: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:106: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:107: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:108: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:109: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:111: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:112: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:113: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:114: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:116: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:117: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:118: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:119: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:121: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:122: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:123: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:124: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:126: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:127: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:128: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:129: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:131: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:132: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:133: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:134: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:136: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:137: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:138: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:139: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:141: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:142: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:143: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:144: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:146: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:147: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:148: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:149: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:151: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:152: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:153: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:154: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:156: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:157: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:158: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:159: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:161: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:162: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:163: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:164: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:166: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:167: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:168: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:169: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:171: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:172: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:173: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:174: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:176: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:177: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:178: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:179: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:181: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:182: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:183: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:184: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:186: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:187: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:188: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:189: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:191: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:192: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:193: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:194: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:196: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:197: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:198: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:199: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:201: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:202: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:203: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:204: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:206: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:207: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:208: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:209: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:211: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:212: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:213: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:214: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:216: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:217: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:218: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:219: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:221: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:222: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:223: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:224: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:226: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:227: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:228: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:229: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:231: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:232: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:233: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:234: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:236: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:237: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:238: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:239: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:241: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:242: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:243: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:244: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:246: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:247: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:248: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:249: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:251: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:252: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:253: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:254: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:256: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:257: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:258: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:259: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:261: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:262: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:263: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:264: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:266: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:267: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:268: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:269: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:271: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:272: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:273: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:274: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:276: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:277: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:278: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:279: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:281: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:282: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:283: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:284: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:286: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:287: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:288: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:289: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:291: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:292: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:293: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:294: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:296: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:297: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:298: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:299: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:301: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:302: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:303: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:304: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:306: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:307: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:308: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:309: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:311: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:312: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:313: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:314: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:316: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:317: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:318: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:319: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:321: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:322: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:323: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:324: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:326: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:327: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:328: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:329: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:331: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:332: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:333: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:334: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:336: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:337: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:338: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:339: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:341: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:342: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:343: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:344: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:346: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:347: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:348: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:349: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:351: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:352: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:353: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:354: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:356: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:357: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:358: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:359: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:361: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:362: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:363: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:364: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:366: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:367: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:368: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:369: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:371: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:372: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:373: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:374: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:376: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:377: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:378: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:379: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:381: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:382: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:383: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:384: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:386: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:387: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:388: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:389: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:391: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:392: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:393: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:394: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:396: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:397: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:398: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:399: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:401: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:402: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:403: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:404: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:406: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:407: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:408: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:409: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:411: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:412: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:413: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:414: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:416: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:417: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:418: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 0:419: 'subgroup op' : requires SPIR-V 1.3
|
||||
ERROR: 321 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
|
@ -6,7 +6,7 @@ Shader version: 420
|
|||
0:42 Sequence
|
||||
0:42 move second child to first child ( temp 4-component vector of float)
|
||||
0:42 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:42 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:42 Constant:
|
||||
0:42 0 (const uint)
|
||||
0:42 Construct vec4 ( temp 4-component vector of float)
|
||||
|
@ -16,7 +16,7 @@ Shader version: 420
|
|||
0:? Linker Objects
|
||||
0:? 'color' ( in 3-component vector of float)
|
||||
0:? 'foo' ( uniform sampler2DRect)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ ERROR: node is still EOpNull!
|
|||
0:44 Sequence
|
||||
0:44 move second child to first child ( temp 4-component vector of float)
|
||||
0:44 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
|
||||
0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:44 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:44 Constant:
|
||||
0:44 0 (const uint)
|
||||
0:44 Construct vec4 ( temp 4-component vector of float)
|
||||
|
@ -24,7 +24,7 @@ ERROR: node is still EOpNull!
|
|||
0:? Linker Objects
|
||||
0:? 'color' ( in 3-component vector of float)
|
||||
0:? 'foo' ( uniform sampler2DRect)
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out unsized 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
#version 450
|
||||
|
||||
struct S {
|
||||
int[3] a[2], b[5];
|
||||
};
|
||||
|
||||
S s;
|
||||
|
||||
int[5] c[4], d[8];
|
||||
int[9] e[], f[];
|
||||
int e[11][9];
|
||||
int f[13][9];
|
||||
|
||||
int[14] g[], h[];
|
||||
|
||||
int [14][15][6] foo(int[6] p[14][15]) { return p; }
|
||||
|
||||
void main()
|
||||
{
|
||||
g[3];
|
||||
h[2];
|
||||
}
|
||||
|
||||
float[4][3][2] bar() { float[3][2] a[4]; return a; }
|
||||
|
||||
in inbname {
|
||||
float[7] f[8][9];
|
||||
} inbinst[4][5][6];
|
||||
|
||||
float[3][2] barm[4]() { float[3][2] a[4]; return a; } // ERROR
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#extension GL_ARB_gpu_shader_int64: enable
|
||||
#extension GL_AMD_gpu_shader_half_float: enable
|
||||
#extension GL_AMD_gpu_shader_int16: enable
|
||||
#extension GL_AMD_shader_ballot: enable
|
||||
|
||||
layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
|
||||
|
@ -15,17 +16,21 @@ layout(binding = 0) buffer Buffers
|
|||
int64_t i64;
|
||||
u64vec2 u64v;
|
||||
f16vec3 f16v;
|
||||
i16vec4 i16v;
|
||||
uint16_t u16;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
i = minInvocationsAMD(i);
|
||||
i = minInvocationsAMD(i);
|
||||
uv = minInvocationsAMD(uv);
|
||||
fv = minInvocationsAMD(fv);
|
||||
dv = minInvocationsAMD(dv);
|
||||
i64 = minInvocationsAMD(i64);
|
||||
u64v = minInvocationsAMD(u64v);
|
||||
f16v = minInvocationsAMD(f16v);
|
||||
i16v = minInvocationsAMD(i16v);
|
||||
u16 = minInvocationsAMD(u16);
|
||||
|
||||
i = maxInvocationsAMD(i);
|
||||
uv = maxInvocationsAMD(uv);
|
||||
|
@ -34,6 +39,8 @@ void main()
|
|||
i64 = maxInvocationsAMD(i64);
|
||||
u64v = maxInvocationsAMD(u64v);
|
||||
f16v = maxInvocationsAMD(f16v);
|
||||
i16v = maxInvocationsAMD(i16v);
|
||||
u16 = maxInvocationsAMD(u16);
|
||||
|
||||
i = addInvocationsAMD(i);
|
||||
uv = addInvocationsAMD(uv);
|
||||
|
@ -42,6 +49,8 @@ void main()
|
|||
i64 = addInvocationsAMD(i64);
|
||||
u64v = addInvocationsAMD(u64v);
|
||||
f16v = addInvocationsAMD(f16v);
|
||||
i16v = addInvocationsAMD(i16v);
|
||||
u16 = addInvocationsAMD(u16);
|
||||
|
||||
i = minInvocationsNonUniformAMD(i);
|
||||
uv = minInvocationsNonUniformAMD(uv);
|
||||
|
@ -50,6 +59,8 @@ void main()
|
|||
i64 = minInvocationsNonUniformAMD(i64);
|
||||
u64v = minInvocationsNonUniformAMD(u64v);
|
||||
f16v = minInvocationsNonUniformAMD(f16v);
|
||||
i16v = minInvocationsNonUniformAMD(i16v);
|
||||
u16 = minInvocationsNonUniformAMD(u16);
|
||||
|
||||
i = maxInvocationsNonUniformAMD(i);
|
||||
uv = maxInvocationsNonUniformAMD(uv);
|
||||
|
@ -58,6 +69,8 @@ void main()
|
|||
i64 = maxInvocationsNonUniformAMD(i64);
|
||||
u64v = maxInvocationsNonUniformAMD(u64v);
|
||||
f16v = maxInvocationsNonUniformAMD(f16v);
|
||||
i16v = maxInvocationsNonUniformAMD(i16v);
|
||||
u16 = maxInvocationsNonUniformAMD(u16);
|
||||
|
||||
i = addInvocationsNonUniformAMD(i);
|
||||
uv = addInvocationsNonUniformAMD(uv);
|
||||
|
@ -66,6 +79,8 @@ void main()
|
|||
i64 = addInvocationsNonUniformAMD(i64);
|
||||
u64v = addInvocationsNonUniformAMD(u64v);
|
||||
f16v = addInvocationsNonUniformAMD(f16v);
|
||||
i16v = addInvocationsNonUniformAMD(i16v);
|
||||
u16 = addInvocationsNonUniformAMD(u16);
|
||||
|
||||
i = minInvocationsInclusiveScanAMD(i);
|
||||
uv = minInvocationsInclusiveScanAMD(uv);
|
||||
|
@ -74,6 +89,8 @@ void main()
|
|||
i64 = minInvocationsInclusiveScanAMD(i64);
|
||||
u64v = minInvocationsInclusiveScanAMD(u64v);
|
||||
f16v = minInvocationsInclusiveScanAMD(f16v);
|
||||
i16v = minInvocationsInclusiveScanAMD(i16v);
|
||||
u16 = minInvocationsInclusiveScanAMD(u16);
|
||||
|
||||
i = maxInvocationsInclusiveScanAMD(i);
|
||||
uv = maxInvocationsInclusiveScanAMD(uv);
|
||||
|
@ -82,6 +99,8 @@ void main()
|
|||
i64 = maxInvocationsInclusiveScanAMD(i64);
|
||||
u64v = maxInvocationsInclusiveScanAMD(u64v);
|
||||
f16v = maxInvocationsInclusiveScanAMD(f16v);
|
||||
i16v = maxInvocationsInclusiveScanAMD(i16v);
|
||||
u16 = maxInvocationsInclusiveScanAMD(u16);
|
||||
|
||||
i = addInvocationsInclusiveScanAMD(i);
|
||||
uv = addInvocationsInclusiveScanAMD(uv);
|
||||
|
@ -90,6 +109,8 @@ void main()
|
|||
i64 = addInvocationsInclusiveScanAMD(i64);
|
||||
u64v = addInvocationsInclusiveScanAMD(u64v);
|
||||
f16v = addInvocationsInclusiveScanAMD(f16v);
|
||||
i16v = addInvocationsInclusiveScanAMD(i16v);
|
||||
u16 = addInvocationsInclusiveScanAMD(u16);
|
||||
|
||||
i = minInvocationsExclusiveScanAMD(i);
|
||||
uv = minInvocationsExclusiveScanAMD(uv);
|
||||
|
@ -98,6 +119,8 @@ void main()
|
|||
i64 = minInvocationsExclusiveScanAMD(i64);
|
||||
u64v = minInvocationsExclusiveScanAMD(u64v);
|
||||
f16v = minInvocationsExclusiveScanAMD(f16v);
|
||||
i16v = minInvocationsExclusiveScanAMD(i16v);
|
||||
u16 = minInvocationsExclusiveScanAMD(u16);
|
||||
|
||||
i = maxInvocationsExclusiveScanAMD(i);
|
||||
uv = maxInvocationsExclusiveScanAMD(uv);
|
||||
|
@ -106,6 +129,8 @@ void main()
|
|||
i64 = maxInvocationsExclusiveScanAMD(i64);
|
||||
u64v = maxInvocationsExclusiveScanAMD(u64v);
|
||||
f16v = maxInvocationsExclusiveScanAMD(f16v);
|
||||
i16v = maxInvocationsExclusiveScanAMD(i16v);
|
||||
u16 = maxInvocationsExclusiveScanAMD(u16);
|
||||
|
||||
i = addInvocationsExclusiveScanAMD(i);
|
||||
uv = addInvocationsExclusiveScanAMD(uv);
|
||||
|
@ -114,6 +139,8 @@ void main()
|
|||
i64 = addInvocationsExclusiveScanAMD(i64);
|
||||
u64v = addInvocationsExclusiveScanAMD(u64v);
|
||||
f16v = addInvocationsExclusiveScanAMD(f16v);
|
||||
i16v = addInvocationsExclusiveScanAMD(i16v);
|
||||
u16 = addInvocationsExclusiveScanAMD(u16);
|
||||
|
||||
i = minInvocationsInclusiveScanNonUniformAMD(i);
|
||||
uv = minInvocationsInclusiveScanNonUniformAMD(uv);
|
||||
|
@ -122,6 +149,8 @@ void main()
|
|||
i64 = minInvocationsInclusiveScanNonUniformAMD(i64);
|
||||
u64v = minInvocationsInclusiveScanNonUniformAMD(u64v);
|
||||
f16v = minInvocationsInclusiveScanNonUniformAMD(f16v);
|
||||
i16v = minInvocationsInclusiveScanNonUniformAMD(i16v);
|
||||
u16 = minInvocationsInclusiveScanNonUniformAMD(u16);
|
||||
|
||||
i = maxInvocationsInclusiveScanNonUniformAMD(i);
|
||||
uv = maxInvocationsInclusiveScanNonUniformAMD(uv);
|
||||
|
@ -130,6 +159,8 @@ void main()
|
|||
i64 = maxInvocationsInclusiveScanNonUniformAMD(i64);
|
||||
u64v = maxInvocationsInclusiveScanNonUniformAMD(u64v);
|
||||
f16v = maxInvocationsInclusiveScanNonUniformAMD(f16v);
|
||||
i16v = maxInvocationsInclusiveScanNonUniformAMD(i16v);
|
||||
u16 = maxInvocationsInclusiveScanNonUniformAMD(u16);
|
||||
|
||||
i = addInvocationsInclusiveScanNonUniformAMD(i);
|
||||
uv = addInvocationsInclusiveScanNonUniformAMD(uv);
|
||||
|
@ -138,6 +169,8 @@ void main()
|
|||
i64 = addInvocationsInclusiveScanNonUniformAMD(i64);
|
||||
u64v = addInvocationsInclusiveScanNonUniformAMD(u64v);
|
||||
f16v = addInvocationsInclusiveScanNonUniformAMD(f16v);
|
||||
i16v = addInvocationsInclusiveScanNonUniformAMD(i16v);
|
||||
u16 = addInvocationsInclusiveScanNonUniformAMD(u16);
|
||||
|
||||
i = minInvocationsExclusiveScanNonUniformAMD(i);
|
||||
uv = minInvocationsExclusiveScanNonUniformAMD(uv);
|
||||
|
@ -146,6 +179,8 @@ void main()
|
|||
i64 = minInvocationsExclusiveScanNonUniformAMD(i64);
|
||||
u64v = minInvocationsExclusiveScanNonUniformAMD(u64v);
|
||||
f16v = minInvocationsExclusiveScanNonUniformAMD(f16v);
|
||||
i16v = minInvocationsExclusiveScanNonUniformAMD(i16v);
|
||||
u16 = minInvocationsExclusiveScanNonUniformAMD(u16);
|
||||
|
||||
i = maxInvocationsExclusiveScanNonUniformAMD(i);
|
||||
uv = maxInvocationsExclusiveScanNonUniformAMD(uv);
|
||||
|
@ -154,6 +189,8 @@ void main()
|
|||
i64 = maxInvocationsExclusiveScanNonUniformAMD(i64);
|
||||
u64v = maxInvocationsExclusiveScanNonUniformAMD(u64v);
|
||||
f16v = maxInvocationsExclusiveScanNonUniformAMD(f16v);
|
||||
i16v = maxInvocationsExclusiveScanNonUniformAMD(i16v);
|
||||
u16 = maxInvocationsExclusiveScanNonUniformAMD(u16);
|
||||
|
||||
i = addInvocationsExclusiveScanNonUniformAMD(i);
|
||||
uv = addInvocationsExclusiveScanNonUniformAMD(uv);
|
||||
|
@ -162,4 +199,6 @@ void main()
|
|||
i64 = addInvocationsExclusiveScanNonUniformAMD(i64);
|
||||
u64v = addInvocationsExclusiveScanNonUniformAMD(u64v);
|
||||
f16v = addInvocationsExclusiveScanNonUniformAMD(f16v);
|
||||
i16v = addInvocationsExclusiveScanNonUniformAMD(i16v);
|
||||
u16 = addInvocationsExclusiveScanNonUniformAMD(u16);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,420 @@
|
|||
#version 450
|
||||
|
||||
#extension GL_NV_shader_subgroup_partitioned: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
vec4 f4;
|
||||
ivec4 i4;
|
||||
uvec4 u4;
|
||||
dvec4 d4;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
uvec4 ballot = subgroupPartitionNV(invocation);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(bool(data[0].i4.x));
|
||||
data[invocation].u4 = subgroupPartitionNV(bvec2(data[0].i4.xy));
|
||||
data[invocation].u4 = subgroupPartitionNV(bvec3(data[0].i4.xyz));
|
||||
data[invocation].u4 = subgroupPartitionNV(bvec4(data[0].i4));
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedAddNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedAddNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedAddNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedAddNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedAddNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedAddNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedAddNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedAddNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedAddNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedAddNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedAddNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedAddNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedAddNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedAddNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedAddNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedAddNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedMulNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedMulNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedMulNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedMulNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedMulNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedMulNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedMulNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedMulNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedMulNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedMulNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedMulNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedMulNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedMulNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedMulNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedMulNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedMulNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedMinNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedMinNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedMinNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedMinNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedMinNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedMinNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedMinNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedMinNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedMinNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedMinNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedMinNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedMinNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedMinNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedMinNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedMinNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedMinNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedMaxNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedMaxNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedMaxNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedMaxNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedMaxNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedMaxNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedMaxNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedMaxNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedMaxNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedMaxNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedMaxNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedMaxNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedMaxNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedMaxNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedMaxNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedMaxNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedAndNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedAndNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedAndNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedAndNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedAndNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedAndNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedAndNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedAndNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedAndNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedAndNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedOrNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedOrNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedOrNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedOrNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedOrNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedOrNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedOrNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedOrNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedOrNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedOrNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedXorNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedXorNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedXorNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedXorNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedXorNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedXorNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedXorNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedXorNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedXorNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedXorNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveAddNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveAddNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveAddNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveAddNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveAddNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveAddNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveAddNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveAddNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveAddNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveAddNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveAddNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveAddNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveAddNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveAddNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveAddNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveAddNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveMulNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveMulNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveMulNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveMulNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveMulNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveMulNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveMulNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveMulNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveMulNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveMulNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveMulNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveMulNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveMulNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveMulNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveMulNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveMulNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveMinNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveMinNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveMinNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveMinNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveMinNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveMinNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveMinNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveMinNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveMinNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveMinNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveMinNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveMinNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveMinNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveMinNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveMinNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveMinNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveMaxNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveMaxNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveMaxNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveMaxNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveMaxNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveMaxNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveMaxNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveMaxNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveMaxNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveMaxNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveMaxNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveMaxNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveAndNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveAndNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveAndNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveAndNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveAndNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveAndNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveAndNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveAndNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedInclusiveAndNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveOrNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveOrNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveOrNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveOrNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveOrNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveOrNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveOrNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveOrNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedInclusiveOrNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveXorNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveXorNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveXorNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveXorNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveXorNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveXorNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveXorNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveXorNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedInclusiveXorNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveAddNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveAddNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveAddNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveAddNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveAddNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveAddNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveAddNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveAddNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveAddNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveAddNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveAddNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveAddNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveAddNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveAddNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveAddNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveAddNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveMulNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveMulNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveMulNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveMulNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveMulNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveMulNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveMulNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveMulNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveMulNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveMulNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveMulNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveMulNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveMulNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveMulNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveMulNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveMulNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveMinNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveMinNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveMinNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveMinNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveMinNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveMinNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveMinNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveMinNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveMinNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveMinNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveMinNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveMinNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveMinNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveMinNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveMinNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveMinNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveMaxNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveMaxNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveMaxNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveMaxNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveMaxNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveMaxNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveMaxNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveMaxNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveMaxNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveMaxNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveMaxNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveMaxNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveAndNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveAndNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveAndNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveAndNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveAndNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveAndNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveAndNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveAndNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedExclusiveAndNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveOrNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveOrNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveOrNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveOrNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveOrNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveOrNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveOrNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveOrNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedExclusiveOrNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveXorNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveXorNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveXorNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveXorNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveXorNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveXorNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveXorNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveXorNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedExclusiveXorNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
}
|
|
@ -0,0 +1,420 @@
|
|||
#version 450
|
||||
|
||||
#extension GL_NV_shader_subgroup_partitioned: enable
|
||||
|
||||
layout (local_size_x = 8) in;
|
||||
|
||||
layout(binding = 0) buffer Buffers
|
||||
{
|
||||
vec4 f4;
|
||||
ivec4 i4;
|
||||
uvec4 u4;
|
||||
dvec4 d4;
|
||||
} data[4];
|
||||
|
||||
void main()
|
||||
{
|
||||
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
|
||||
|
||||
uvec4 ballot = subgroupPartitionNV(invocation);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].f4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].i4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].u4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4.x);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4.xy);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4.xyz);
|
||||
data[invocation].u4 = subgroupPartitionNV(data[0].d4);
|
||||
|
||||
data[invocation].u4 = subgroupPartitionNV(bool(data[0].i4.x));
|
||||
data[invocation].u4 = subgroupPartitionNV(bvec2(data[0].i4.xy));
|
||||
data[invocation].u4 = subgroupPartitionNV(bvec3(data[0].i4.xyz));
|
||||
data[invocation].u4 = subgroupPartitionNV(bvec4(data[0].i4));
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedAddNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedAddNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedAddNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedAddNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedAddNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedAddNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedAddNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedAddNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedAddNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedAddNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedAddNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedAddNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedAddNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedAddNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedAddNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedAddNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedMulNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedMulNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedMulNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedMulNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedMulNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedMulNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedMulNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedMulNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedMulNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedMulNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedMulNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedMulNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedMulNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedMulNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedMulNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedMulNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedMinNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedMinNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedMinNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedMinNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedMinNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedMinNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedMinNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedMinNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedMinNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedMinNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedMinNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedMinNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedMinNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedMinNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedMinNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedMinNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedMaxNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedMaxNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedMaxNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedMaxNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedMaxNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedMaxNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedMaxNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedMaxNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedMaxNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedMaxNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedMaxNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedMaxNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedMaxNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedMaxNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedMaxNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedMaxNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedAndNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedAndNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedAndNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedAndNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedAndNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedAndNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedAndNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedAndNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedAndNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedAndNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedOrNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedOrNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedOrNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedOrNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedOrNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedOrNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedOrNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedOrNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedOrNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedOrNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedXorNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedXorNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedXorNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedXorNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedXorNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedXorNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedXorNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedXorNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedXorNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedXorNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveAddNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveAddNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveAddNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveAddNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveAddNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveAddNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveAddNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveAddNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveAddNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveAddNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveAddNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveAddNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveAddNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveAddNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveAddNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveAddNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveMulNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveMulNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveMulNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveMulNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveMulNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveMulNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveMulNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveMulNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveMulNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveMulNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveMulNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveMulNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveMulNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveMulNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveMulNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveMulNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveMinNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveMinNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveMinNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveMinNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveMinNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveMinNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveMinNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveMinNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveMinNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveMinNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveMinNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveMinNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveMinNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveMinNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveMinNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveMinNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedInclusiveMaxNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedInclusiveMaxNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedInclusiveMaxNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveMaxNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveMaxNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveMaxNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveMaxNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveMaxNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveMaxNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedInclusiveMaxNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedInclusiveMaxNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedInclusiveMaxNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedInclusiveMaxNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveAndNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveAndNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveAndNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveAndNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveAndNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveAndNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveAndNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveAndNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedInclusiveAndNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedInclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveOrNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveOrNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveOrNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveOrNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveOrNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveOrNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveOrNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveOrNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedInclusiveOrNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedInclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedInclusiveXorNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedInclusiveXorNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedInclusiveXorNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedInclusiveXorNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedInclusiveXorNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedInclusiveXorNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedInclusiveXorNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedInclusiveXorNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedInclusiveXorNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedInclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveAddNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveAddNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveAddNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveAddNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveAddNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveAddNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveAddNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveAddNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveAddNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveAddNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveAddNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveAddNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveAddNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveAddNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveAddNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveAddNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveMulNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveMulNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveMulNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveMulNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveMulNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveMulNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveMulNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveMulNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveMulNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveMulNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveMulNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveMulNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveMulNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveMulNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveMulNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveMulNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveMinNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveMinNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveMinNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveMinNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveMinNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveMinNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveMinNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveMinNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveMinNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveMinNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveMinNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveMinNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveMinNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveMinNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveMinNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveMinNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].f4.x = subgroupPartitionedExclusiveMaxNV(data[0].f4.x, ballot);
|
||||
data[invocation].f4.xy = subgroupPartitionedExclusiveMaxNV(data[1].f4.xy, ballot);
|
||||
data[invocation].f4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].f4.xyz, ballot);
|
||||
data[invocation].f4 = subgroupPartitionedExclusiveMaxNV(data[3].f4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveMaxNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveMaxNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveMaxNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveMaxNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveMaxNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveMaxNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].d4.x = subgroupPartitionedExclusiveMaxNV(data[0].d4.x, ballot);
|
||||
data[invocation].d4.xy = subgroupPartitionedExclusiveMaxNV(data[1].d4.xy, ballot);
|
||||
data[invocation].d4.xyz = subgroupPartitionedExclusiveMaxNV(data[2].d4.xyz, ballot);
|
||||
data[invocation].d4 = subgroupPartitionedExclusiveMaxNV(data[3].d4, ballot);
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveAndNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveAndNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveAndNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveAndNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveAndNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveAndNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveAndNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveAndNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedExclusiveAndNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedExclusiveAndNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveOrNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveOrNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveOrNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveOrNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveOrNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveOrNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveOrNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveOrNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedExclusiveOrNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedExclusiveOrNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
|
||||
data[invocation].i4.x = subgroupPartitionedExclusiveXorNV(data[0].i4.x, ballot);
|
||||
data[invocation].i4.xy = subgroupPartitionedExclusiveXorNV(data[1].i4.xy, ballot);
|
||||
data[invocation].i4.xyz = subgroupPartitionedExclusiveXorNV(data[2].i4.xyz, ballot);
|
||||
data[invocation].i4 = subgroupPartitionedExclusiveXorNV(data[3].i4, ballot);
|
||||
|
||||
data[invocation].u4.x = subgroupPartitionedExclusiveXorNV(data[0].u4.x, ballot);
|
||||
data[invocation].u4.xy = subgroupPartitionedExclusiveXorNV(data[1].u4.xy, ballot);
|
||||
data[invocation].u4.xyz = subgroupPartitionedExclusiveXorNV(data[2].u4.xyz, ballot);
|
||||
data[invocation].u4 = subgroupPartitionedExclusiveXorNV(data[3].u4, ballot);
|
||||
|
||||
data[invocation].i4.x = int(subgroupPartitionedExclusiveXorNV(data[0].i4.x < 0, ballot));
|
||||
data[invocation].i4.xy = ivec2(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xy, ivec2(0)), ballot));
|
||||
data[invocation].i4.xyz = ivec3(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4.xyz, ivec3(0)), ballot));
|
||||
data[invocation].i4 = ivec4(subgroupPartitionedExclusiveXorNV(lessThan(data[1].i4, ivec4(0)), ballot));
|
||||
}
|
|
@ -470,7 +470,7 @@ public:
|
|||
// Drop just the storage qualification, which perhaps should
|
||||
// never be done, as it is fundamentally inconsistent, but need to
|
||||
// explore what downstream consumers need.
|
||||
// E.g., in a deference, it is an inconsistency between:
|
||||
// E.g., in a dereference, it is an inconsistency between:
|
||||
// A) partially dereferenced resource is still in the storage class it started in
|
||||
// B) partially dereferenced resource is a new temporary object
|
||||
// If A, then nothing should change, if B, then everything should change, but this is half way.
|
||||
|
@ -1315,31 +1315,9 @@ public:
|
|||
|
||||
void makeVector() { vector1 = true; }
|
||||
|
||||
// Merge type from parent, where a parentType is at the beginning of a declaration,
|
||||
// establishing some characteristics for all subsequent names, while this type
|
||||
// is on the individual names.
|
||||
void mergeType(const TPublicType& parentType)
|
||||
{
|
||||
// arrayness is currently the only child aspect that has to be preserved
|
||||
basicType = parentType.basicType;
|
||||
vectorSize = parentType.vectorSize;
|
||||
matrixCols = parentType.matrixCols;
|
||||
matrixRows = parentType.matrixRows;
|
||||
vector1 = false; // TPublicType is only GLSL which so far has no vec1
|
||||
qualifier = parentType.qualifier;
|
||||
sampler = parentType.sampler;
|
||||
if (parentType.arraySizes)
|
||||
newArraySizes(*parentType.arraySizes);
|
||||
if (parentType.userDef) {
|
||||
structure = parentType.userDef->getWritableStruct();
|
||||
setTypeName(parentType.userDef->getTypeName());
|
||||
}
|
||||
}
|
||||
|
||||
virtual void hideMember() { basicType = EbtVoid; vectorSize = 1; }
|
||||
virtual bool hiddenMember() const { return basicType == EbtVoid; }
|
||||
|
||||
virtual void setTypeName(const TString& n) { typeName = NewPoolTString(n.c_str()); }
|
||||
virtual void setFieldName(const TString& n) { fieldName = NewPoolTString(n.c_str()); }
|
||||
virtual const TString& getTypeName() const
|
||||
{
|
||||
|
@ -1369,16 +1347,18 @@ public:
|
|||
virtual bool isArrayOfArrays() const { return arraySizes != nullptr && arraySizes->getNumDims() > 1; }
|
||||
virtual int getImplicitArraySize() const { return arraySizes->getImplicitSize(); }
|
||||
virtual const TArraySizes* getArraySizes() const { return arraySizes; }
|
||||
virtual TArraySizes& getArraySizes() { assert(arraySizes != nullptr); return *arraySizes; }
|
||||
virtual TArraySizes* getArraySizes() { return arraySizes; }
|
||||
|
||||
virtual bool isScalar() const { return ! isVector() && ! isMatrix() && ! isStruct() && ! isArray(); }
|
||||
virtual bool isScalarOrVec1() const { return isScalar() || vector1; }
|
||||
virtual bool isVector() const { return vectorSize > 1 || vector1; }
|
||||
virtual bool isMatrix() const { return matrixCols ? true : false; }
|
||||
virtual bool isArray() const { return arraySizes != nullptr; }
|
||||
virtual bool isExplicitlySizedArray() const { return isArray() && getOuterArraySize() != UnsizedArraySize; }
|
||||
virtual bool isImplicitlySizedArray() const { return isArray() && getOuterArraySize() == UnsizedArraySize && qualifier.storage != EvqBuffer; }
|
||||
virtual bool isRuntimeSizedArray() const { return isArray() && getOuterArraySize() == UnsizedArraySize && qualifier.storage == EvqBuffer; }
|
||||
virtual bool isSizedArray() const { return isArray() && arraySizes->isSized(); }
|
||||
virtual bool isUnsizedArray() const { return isArray() && !arraySizes->isSized(); }
|
||||
virtual bool isArrayVariablyIndexed() const { assert(isArray()); return arraySizes->isVariablyIndexed(); }
|
||||
virtual void setArrayVariablyIndexed() { assert(isArray()); arraySizes->setVariablyIndexed(); }
|
||||
virtual void updateImplicitArraySize(int size) { assert(isArray()); arraySizes->updateImplicitSize(size); }
|
||||
virtual bool isStruct() const { return structure != nullptr; }
|
||||
virtual bool isFloatingDomain() const { return basicType == EbtFloat || basicType == EbtDouble || basicType == EbtFloat16; }
|
||||
virtual bool isIntegerDomain() const
|
||||
|
@ -1436,10 +1416,10 @@ public:
|
|||
return contains([this](const TType* t) { return t != this && t->isStruct(); } );
|
||||
}
|
||||
|
||||
// Recursively check the structure for any implicitly-sized arrays, needed for triggering a copyUp().
|
||||
virtual bool containsImplicitlySizedArray() const
|
||||
// Recursively check the structure for any unsized arrays, needed for triggering a copyUp().
|
||||
virtual bool containsUnsizedArray() const
|
||||
{
|
||||
return contains([](const TType* t) { return t->isImplicitlySizedArray(); } );
|
||||
return contains([](const TType* t) { return t->isUnsizedArray(); } );
|
||||
}
|
||||
|
||||
virtual bool containsOpaque() const
|
||||
|
@ -1503,34 +1483,51 @@ public:
|
|||
assert(type.arraySizes != nullptr);
|
||||
*arraySizes = *type.arraySizes;
|
||||
}
|
||||
void newArraySizes(const TArraySizes& s)
|
||||
void copyArraySizes(const TArraySizes& s)
|
||||
{
|
||||
// For setting a fresh new set of array sizes, not yet worrying about sharing.
|
||||
arraySizes = new TArraySizes;
|
||||
*arraySizes = s;
|
||||
}
|
||||
void transferArraySizes(TArraySizes* s)
|
||||
{
|
||||
// For setting an already allocated set of sizes that this type can use
|
||||
// (no copy made).
|
||||
arraySizes = s;
|
||||
}
|
||||
void clearArraySizes()
|
||||
{
|
||||
arraySizes = 0;
|
||||
arraySizes = nullptr;
|
||||
}
|
||||
void addArrayOuterSizes(const TArraySizes& s)
|
||||
|
||||
// Add inner array sizes, to any existing sizes, via copy; the
|
||||
// sizes passed in can still be reused for other purposes.
|
||||
void copyArrayInnerSizes(const TArraySizes* s)
|
||||
{
|
||||
if (arraySizes == nullptr)
|
||||
newArraySizes(s);
|
||||
else
|
||||
arraySizes->addOuterSizes(s);
|
||||
if (s != nullptr) {
|
||||
if (arraySizes == nullptr)
|
||||
copyArraySizes(*s);
|
||||
else
|
||||
arraySizes->addInnerSizes(*s);
|
||||
}
|
||||
}
|
||||
void changeOuterArraySize(int s) { arraySizes->changeOuterSize(s); }
|
||||
void setImplicitArraySize(int s) { arraySizes->setImplicitSize(s); }
|
||||
|
||||
// Recursively make the implicit array size the explicit array size, through the type tree.
|
||||
void adoptImplicitArraySizes()
|
||||
// Recursively make the implicit array size the explicit array size.
|
||||
// Expicit arrays are compile-time or link-time sized, never run-time sized.
|
||||
// Sometimes, policy calls for an array to be run-time sized even if it was
|
||||
// never variably indexed: Don't turn a 'skipNonvariablyIndexed' array into
|
||||
// an explicit array.
|
||||
void adoptImplicitArraySizes(bool skipNonvariablyIndexed)
|
||||
{
|
||||
if (isImplicitlySizedArray())
|
||||
if (isUnsizedArray() && !(skipNonvariablyIndexed || isArrayVariablyIndexed()))
|
||||
changeOuterArraySize(getImplicitArraySize());
|
||||
if (isStruct()) {
|
||||
for (int i = 0; i < (int)structure->size(); ++i)
|
||||
(*structure)[i].type->adoptImplicitArraySizes();
|
||||
if (isStruct() && structure->size() > 0) {
|
||||
int lastMember = (int)structure->size() - 1;
|
||||
for (int i = 0; i < lastMember; ++i)
|
||||
(*structure)[i].type->adoptImplicitArraySizes(false);
|
||||
// implement the "last member of an SSBO" policy
|
||||
(*structure)[lastMember].type->adoptImplicitArraySizes(getQualifier().storage == EvqBuffer);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1697,11 +1694,19 @@ public:
|
|||
if (isArray()) {
|
||||
for(int i = 0; i < (int)arraySizes->getNumDims(); ++i) {
|
||||
int size = arraySizes->getDimSize(i);
|
||||
if (size == 0)
|
||||
appendStr(" implicitly-sized array of");
|
||||
if (size == UnsizedArraySize && i == 0 && arraySizes->isVariablyIndexed())
|
||||
appendStr(" runtime-sized array of");
|
||||
else {
|
||||
appendStr(" ");
|
||||
appendInt(arraySizes->getDimSize(i));
|
||||
if (size == UnsizedArraySize) {
|
||||
appendStr(" unsized");
|
||||
if (i == 0) {
|
||||
appendStr(" ");
|
||||
appendInt(arraySizes->getImplicitSize());
|
||||
}
|
||||
} else {
|
||||
appendStr(" ");
|
||||
appendInt(arraySizes->getDimSize(i));
|
||||
}
|
||||
appendStr("-element array of");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
#ifndef _ARRAYS_INCLUDED
|
||||
#define _ARRAYS_INCLUDED
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace glslang {
|
||||
|
||||
// This is used to mean there is no size yet (unsized), it is waiting to get a size from somewhere else.
|
||||
|
@ -130,10 +132,10 @@ struct TSmallArrayVector {
|
|||
sizes->push_back(pair);
|
||||
}
|
||||
|
||||
void push_front(const TSmallArrayVector& newDims)
|
||||
void push_back(const TSmallArrayVector& newDims)
|
||||
{
|
||||
alloc();
|
||||
sizes->insert(sizes->begin(), newDims.sizes->begin(), newDims.sizes->end());
|
||||
sizes->insert(sizes->end(), newDims.sizes->begin(), newDims.sizes->end());
|
||||
}
|
||||
|
||||
void pop_front()
|
||||
|
@ -220,12 +222,13 @@ protected:
|
|||
struct TArraySizes {
|
||||
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
|
||||
|
||||
TArraySizes() : implicitArraySize(1) { }
|
||||
TArraySizes() : implicitArraySize(1), variablyIndexed(false) { }
|
||||
|
||||
// For breaking into two non-shared copies, independently modifiable.
|
||||
TArraySizes& operator=(const TArraySizes& from)
|
||||
{
|
||||
implicitArraySize = from.implicitArraySize;
|
||||
variablyIndexed = from.variablyIndexed;
|
||||
sizes = from.sizes;
|
||||
|
||||
return *this;
|
||||
|
@ -252,10 +255,11 @@ struct TArraySizes {
|
|||
void addInnerSize(int s) { addInnerSize((unsigned)s, nullptr); }
|
||||
void addInnerSize(int s, TIntermTyped* n) { sizes.push_back((unsigned)s, n); }
|
||||
void addInnerSize(TArraySize pair) { sizes.push_back(pair.size, pair.node); }
|
||||
void addInnerSizes(const TArraySizes& s) { sizes.push_back(s.sizes); }
|
||||
void changeOuterSize(int s) { sizes.changeFront((unsigned)s); }
|
||||
int getImplicitSize() const { return (int)implicitArraySize; }
|
||||
void setImplicitSize(int s) { implicitArraySize = s; }
|
||||
bool isInnerImplicit() const
|
||||
int getImplicitSize() const { return implicitArraySize; }
|
||||
void updateImplicitSize(int s) { implicitArraySize = std::max(implicitArraySize, s); }
|
||||
bool isInnerUnsized() const
|
||||
{
|
||||
for (int d = 1; d < sizes.size(); ++d) {
|
||||
if (sizes.getDimSize(d) == (unsigned)UnsizedArraySize)
|
||||
|
@ -264,7 +268,7 @@ struct TArraySizes {
|
|||
|
||||
return false;
|
||||
}
|
||||
bool clearInnerImplicit()
|
||||
bool clearInnerUnsized()
|
||||
{
|
||||
for (int d = 1; d < sizes.size(); ++d) {
|
||||
if (sizes.getDimSize(d) == (unsigned)UnsizedArraySize)
|
||||
|
@ -287,8 +291,8 @@ struct TArraySizes {
|
|||
return sizes.getDimNode(0) != nullptr;
|
||||
}
|
||||
|
||||
bool isImplicit() const { return getOuterSize() == UnsizedArraySize || isInnerImplicit(); }
|
||||
void addOuterSizes(const TArraySizes& s) { sizes.push_front(s.sizes); }
|
||||
bool hasUnsized() const { return getOuterSize() == UnsizedArraySize || isInnerUnsized(); }
|
||||
bool isSized() const { return getOuterSize() != UnsizedArraySize; }
|
||||
void dereference() { sizes.pop_front(); }
|
||||
void copyDereferenced(const TArraySizes& rhs)
|
||||
{
|
||||
|
@ -311,6 +315,9 @@ struct TArraySizes {
|
|||
return true;
|
||||
}
|
||||
|
||||
void setVariablyIndexed() { variablyIndexed = true; }
|
||||
bool isVariablyIndexed() const { return variablyIndexed; }
|
||||
|
||||
bool operator==(const TArraySizes& rhs) { return sizes == rhs.sizes; }
|
||||
bool operator!=(const TArraySizes& rhs) { return sizes != rhs.sizes; }
|
||||
|
||||
|
@ -319,9 +326,12 @@ protected:
|
|||
|
||||
TArraySizes(const TArraySizes&);
|
||||
|
||||
// for tracking maximum referenced index, before an explicit size is given
|
||||
// applies only to the outer-most dimension
|
||||
// For tracking maximum referenced compile-time constant index.
|
||||
// Applies only to the outer-most dimension. Potentially becomes
|
||||
// the implicit size of the array, if not variably indexed and
|
||||
// otherwise legal.
|
||||
int implicitArraySize;
|
||||
bool variablyIndexed; // true if array is indexed with a non compile-time constant
|
||||
};
|
||||
|
||||
} // end namespace glslang
|
||||
|
|
|
@ -527,6 +527,32 @@ enum TOperator {
|
|||
EOpSubgroupQuadSwapHorizontal,
|
||||
EOpSubgroupQuadSwapVertical,
|
||||
EOpSubgroupQuadSwapDiagonal,
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
EOpSubgroupPartition,
|
||||
EOpSubgroupPartitionedAdd,
|
||||
EOpSubgroupPartitionedMul,
|
||||
EOpSubgroupPartitionedMin,
|
||||
EOpSubgroupPartitionedMax,
|
||||
EOpSubgroupPartitionedAnd,
|
||||
EOpSubgroupPartitionedOr,
|
||||
EOpSubgroupPartitionedXor,
|
||||
EOpSubgroupPartitionedInclusiveAdd,
|
||||
EOpSubgroupPartitionedInclusiveMul,
|
||||
EOpSubgroupPartitionedInclusiveMin,
|
||||
EOpSubgroupPartitionedInclusiveMax,
|
||||
EOpSubgroupPartitionedInclusiveAnd,
|
||||
EOpSubgroupPartitionedInclusiveOr,
|
||||
EOpSubgroupPartitionedInclusiveXor,
|
||||
EOpSubgroupPartitionedExclusiveAdd,
|
||||
EOpSubgroupPartitionedExclusiveMul,
|
||||
EOpSubgroupPartitionedExclusiveMin,
|
||||
EOpSubgroupPartitionedExclusiveMax,
|
||||
EOpSubgroupPartitionedExclusiveAnd,
|
||||
EOpSubgroupPartitionedExclusiveOr,
|
||||
EOpSubgroupPartitionedExclusiveXor,
|
||||
#endif
|
||||
|
||||
EOpSubgroupGuardStop,
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
|
@ -729,7 +755,11 @@ enum TOperator {
|
|||
// Array operators
|
||||
//
|
||||
|
||||
EOpArrayLength, // "Array" distinguishes from length(v) built-in function, but it applies to vectors and matrices as well.
|
||||
// Can apply to arrays, vectors, or matrices.
|
||||
// Can be decomposed to a constant at compile time, but this does not always happen,
|
||||
// due to link-time effects. So, consumer can expect either a link-time sized or
|
||||
// run-time sized array.
|
||||
EOpArrayLength,
|
||||
|
||||
//
|
||||
// Image operations
|
||||
|
|
627
3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp
vendored
Normal file → Executable file
627
3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp
vendored
Normal file → Executable file
|
@ -895,6 +895,36 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 mid3(f16vec3, f16vec3, f16vec3);"
|
||||
"f16vec4 mid3(f16vec4, f16vec4, f16vec4);"
|
||||
|
||||
"int16_t min3(int16_t, int16_t, int16_t);"
|
||||
"i16vec2 min3(i16vec2, i16vec2, i16vec2);"
|
||||
"i16vec3 min3(i16vec3, i16vec3, i16vec3);"
|
||||
"i16vec4 min3(i16vec4, i16vec4, i16vec4);"
|
||||
|
||||
"int16_t max3(int16_t, int16_t, int16_t);"
|
||||
"i16vec2 max3(i16vec2, i16vec2, i16vec2);"
|
||||
"i16vec3 max3(i16vec3, i16vec3, i16vec3);"
|
||||
"i16vec4 max3(i16vec4, i16vec4, i16vec4);"
|
||||
|
||||
"int16_t mid3(int16_t, int16_t, int16_t);"
|
||||
"i16vec2 mid3(i16vec2, i16vec2, i16vec2);"
|
||||
"i16vec3 mid3(i16vec3, i16vec3, i16vec3);"
|
||||
"i16vec4 mid3(i16vec4, i16vec4, i16vec4);"
|
||||
|
||||
"uint16_t min3(uint16_t, uint16_t, uint16_t);"
|
||||
"u16vec2 min3(u16vec2, u16vec2, u16vec2);"
|
||||
"u16vec3 min3(u16vec3, u16vec3, u16vec3);"
|
||||
"u16vec4 min3(u16vec4, u16vec4, u16vec4);"
|
||||
|
||||
"uint16_t max3(uint16_t, uint16_t, uint16_t);"
|
||||
"u16vec2 max3(u16vec2, u16vec2, u16vec2);"
|
||||
"u16vec3 max3(u16vec3, u16vec3, u16vec3);"
|
||||
"u16vec4 max3(u16vec4, u16vec4, u16vec4);"
|
||||
|
||||
"uint16_t mid3(uint16_t, uint16_t, uint16_t);"
|
||||
"u16vec2 mid3(u16vec2, u16vec2, u16vec2);"
|
||||
"u16vec3 mid3(u16vec3, u16vec3, u16vec3);"
|
||||
"u16vec4 mid3(u16vec4, u16vec4, u16vec4);"
|
||||
|
||||
"\n"
|
||||
);
|
||||
}
|
||||
|
@ -2206,6 +2236,298 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"bvec3 subgroupQuadSwapDiagonal(bvec3);\n"
|
||||
"bvec4 subgroupQuadSwapDiagonal(bvec4);\n"
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
"uvec4 subgroupPartitionNV(float);\n"
|
||||
"uvec4 subgroupPartitionNV(vec2);\n"
|
||||
"uvec4 subgroupPartitionNV(vec3);\n"
|
||||
"uvec4 subgroupPartitionNV(vec4);\n"
|
||||
"uvec4 subgroupPartitionNV(int);\n"
|
||||
"uvec4 subgroupPartitionNV(ivec2);\n"
|
||||
"uvec4 subgroupPartitionNV(ivec3);\n"
|
||||
"uvec4 subgroupPartitionNV(ivec4);\n"
|
||||
"uvec4 subgroupPartitionNV(uint);\n"
|
||||
"uvec4 subgroupPartitionNV(uvec2);\n"
|
||||
"uvec4 subgroupPartitionNV(uvec3);\n"
|
||||
"uvec4 subgroupPartitionNV(uvec4);\n"
|
||||
"uvec4 subgroupPartitionNV(bool);\n"
|
||||
"uvec4 subgroupPartitionNV(bvec2);\n"
|
||||
"uvec4 subgroupPartitionNV(bvec3);\n"
|
||||
"uvec4 subgroupPartitionNV(bvec4);\n"
|
||||
|
||||
"float subgroupPartitionedAddNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedAddNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedAddNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedAddNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedAddNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedAddNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedAddNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedAddNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedAddNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedAddNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedAddNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedAddNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedMulNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedMulNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedMulNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedMulNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedMulNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedMulNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedMulNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedMulNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedMulNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedMulNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedMulNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedMulNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedMinNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedMinNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedMinNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedMinNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedMinNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedMinNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedMinNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedMinNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedMinNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedMinNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedMinNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedMinNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedMaxNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedMaxNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedMaxNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedMaxNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedMaxNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedMaxNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedMaxNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedMaxNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedMaxNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedMaxNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedMaxNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedMaxNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedAndNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedAndNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedAndNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedAndNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedAndNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedAndNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedAndNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedAndNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedAndNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedAndNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedAndNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedAndNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedOrNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedOrNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedOrNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedOrNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedOrNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedOrNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedOrNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedOrNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedOrNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedOrNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedOrNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedOrNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedXorNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedXorNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedXorNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedXorNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedXorNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedXorNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedXorNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedXorNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedXorNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedXorNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedXorNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedXorNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedInclusiveAddNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedInclusiveAddNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedInclusiveAddNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedInclusiveAddNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedInclusiveAddNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveAddNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveAddNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveAddNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveAddNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveAddNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveAddNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveAddNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedInclusiveMulNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedInclusiveMulNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedInclusiveMulNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedInclusiveMulNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedInclusiveMulNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveMulNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveMulNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveMulNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveMulNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveMulNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveMulNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveMulNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedInclusiveMinNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedInclusiveMinNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedInclusiveMinNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedInclusiveMinNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedInclusiveMinNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveMinNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveMinNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveMinNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveMinNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveMinNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveMinNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveMinNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedInclusiveMaxNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedInclusiveMaxNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedInclusiveMaxNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedInclusiveMaxNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedInclusiveMaxNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveMaxNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveMaxNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveMaxNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveMaxNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveMaxNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveMaxNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveMaxNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedInclusiveAndNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveAndNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveAndNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveAndNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveAndNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveAndNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveAndNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveAndNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedInclusiveAndNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedInclusiveAndNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedInclusiveAndNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedInclusiveAndNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedInclusiveOrNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveOrNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveOrNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveOrNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveOrNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveOrNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveOrNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveOrNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedInclusiveOrNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedInclusiveOrNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedInclusiveOrNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedInclusiveOrNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedInclusiveXorNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedInclusiveXorNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedInclusiveXorNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedInclusiveXorNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedInclusiveXorNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedInclusiveXorNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedInclusiveXorNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedInclusiveXorNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedInclusiveXorNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedInclusiveXorNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedInclusiveXorNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedInclusiveXorNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedExclusiveAddNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedExclusiveAddNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedExclusiveAddNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedExclusiveAddNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedExclusiveAddNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveAddNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveAddNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveAddNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveAddNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveAddNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveAddNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveAddNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedExclusiveMulNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedExclusiveMulNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedExclusiveMulNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedExclusiveMulNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedExclusiveMulNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveMulNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveMulNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveMulNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveMulNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveMulNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveMulNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveMulNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedExclusiveMinNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedExclusiveMinNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedExclusiveMinNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedExclusiveMinNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedExclusiveMinNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveMinNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveMinNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveMinNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveMinNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveMinNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveMinNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveMinNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"float subgroupPartitionedExclusiveMaxNV(float, uvec4 ballot);\n"
|
||||
"vec2 subgroupPartitionedExclusiveMaxNV(vec2, uvec4 ballot);\n"
|
||||
"vec3 subgroupPartitionedExclusiveMaxNV(vec3, uvec4 ballot);\n"
|
||||
"vec4 subgroupPartitionedExclusiveMaxNV(vec4, uvec4 ballot);\n"
|
||||
"int subgroupPartitionedExclusiveMaxNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveMaxNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveMaxNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveMaxNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveMaxNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveMaxNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveMaxNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveMaxNV(uvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedExclusiveAndNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveAndNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveAndNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveAndNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveAndNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveAndNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveAndNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveAndNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedExclusiveAndNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedExclusiveAndNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedExclusiveAndNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedExclusiveAndNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedExclusiveOrNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveOrNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveOrNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveOrNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveOrNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveOrNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveOrNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveOrNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedExclusiveOrNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedExclusiveOrNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedExclusiveOrNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedExclusiveOrNV(bvec4, uvec4 ballot);\n"
|
||||
|
||||
"int subgroupPartitionedExclusiveXorNV(int, uvec4 ballot);\n"
|
||||
"ivec2 subgroupPartitionedExclusiveXorNV(ivec2, uvec4 ballot);\n"
|
||||
"ivec3 subgroupPartitionedExclusiveXorNV(ivec3, uvec4 ballot);\n"
|
||||
"ivec4 subgroupPartitionedExclusiveXorNV(ivec4, uvec4 ballot);\n"
|
||||
"uint subgroupPartitionedExclusiveXorNV(uint, uvec4 ballot);\n"
|
||||
"uvec2 subgroupPartitionedExclusiveXorNV(uvec2, uvec4 ballot);\n"
|
||||
"uvec3 subgroupPartitionedExclusiveXorNV(uvec3, uvec4 ballot);\n"
|
||||
"uvec4 subgroupPartitionedExclusiveXorNV(uvec4, uvec4 ballot);\n"
|
||||
"bool subgroupPartitionedExclusiveXorNV(bool, uvec4 ballot);\n"
|
||||
"bvec2 subgroupPartitionedExclusiveXorNV(bvec2, uvec4 ballot);\n"
|
||||
"bvec3 subgroupPartitionedExclusiveXorNV(bvec3, uvec4 ballot);\n"
|
||||
"bvec4 subgroupPartitionedExclusiveXorNV(bvec4, uvec4 ballot);\n"
|
||||
#endif
|
||||
|
||||
"\n");
|
||||
|
||||
if (profile != EEsProfile && version >= 400) {
|
||||
|
@ -2345,6 +2667,74 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"dvec3 subgroupQuadSwapDiagonal(dvec3);\n"
|
||||
"dvec4 subgroupQuadSwapDiagonal(dvec4);\n"
|
||||
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
"uvec4 subgroupPartitionNV(double);\n"
|
||||
"uvec4 subgroupPartitionNV(dvec2);\n"
|
||||
"uvec4 subgroupPartitionNV(dvec3);\n"
|
||||
"uvec4 subgroupPartitionNV(dvec4);\n"
|
||||
|
||||
"double subgroupPartitionedAddNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedAddNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedAddNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedAddNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedMulNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedMulNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedMulNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedMulNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedMinNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedMinNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedMinNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedMinNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedMaxNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedMaxNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedMaxNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedMaxNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedInclusiveAddNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedInclusiveAddNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedInclusiveAddNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedInclusiveAddNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedInclusiveMulNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedInclusiveMulNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedInclusiveMulNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedInclusiveMulNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedInclusiveMinNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedInclusiveMinNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedInclusiveMinNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedInclusiveMinNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedInclusiveMaxNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedInclusiveMaxNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedInclusiveMaxNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedInclusiveMaxNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedExclusiveAddNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedExclusiveAddNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedExclusiveAddNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedExclusiveAddNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedExclusiveMulNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedExclusiveMulNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedExclusiveMulNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedExclusiveMulNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedExclusiveMinNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedExclusiveMinNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedExclusiveMinNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedExclusiveMinNV(dvec4, uvec4 ballot);\n"
|
||||
|
||||
"double subgroupPartitionedExclusiveMaxNV(double, uvec4 ballot);\n"
|
||||
"dvec2 subgroupPartitionedExclusiveMaxNV(dvec2, uvec4 ballot);\n"
|
||||
"dvec3 subgroupPartitionedExclusiveMaxNV(dvec3, uvec4 ballot);\n"
|
||||
"dvec4 subgroupPartitionedExclusiveMaxNV(dvec4, uvec4 ballot);\n"
|
||||
#endif
|
||||
|
||||
"\n");
|
||||
}
|
||||
|
||||
|
@ -2403,6 +2793,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 minInvocationsAMD(f16vec3);"
|
||||
"f16vec4 minInvocationsAMD(f16vec4);"
|
||||
|
||||
"int16_t minInvocationsAMD(int16_t);"
|
||||
"i16vec2 minInvocationsAMD(i16vec2);"
|
||||
"i16vec3 minInvocationsAMD(i16vec3);"
|
||||
"i16vec4 minInvocationsAMD(i16vec4);"
|
||||
|
||||
"uint16_t minInvocationsAMD(uint16_t);"
|
||||
"u16vec2 minInvocationsAMD(u16vec2);"
|
||||
"u16vec3 minInvocationsAMD(u16vec3);"
|
||||
"u16vec4 minInvocationsAMD(u16vec4);"
|
||||
|
||||
"float minInvocationsInclusiveScanAMD(float);"
|
||||
"vec2 minInvocationsInclusiveScanAMD(vec2);"
|
||||
"vec3 minInvocationsInclusiveScanAMD(vec3);"
|
||||
|
@ -2438,6 +2838,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 minInvocationsInclusiveScanAMD(f16vec3);"
|
||||
"f16vec4 minInvocationsInclusiveScanAMD(f16vec4);"
|
||||
|
||||
"int16_t minInvocationsInclusiveScanAMD(int16_t);"
|
||||
"i16vec2 minInvocationsInclusiveScanAMD(i16vec2);"
|
||||
"i16vec3 minInvocationsInclusiveScanAMD(i16vec3);"
|
||||
"i16vec4 minInvocationsInclusiveScanAMD(i16vec4);"
|
||||
|
||||
"uint16_t minInvocationsInclusiveScanAMD(uint16_t);"
|
||||
"u16vec2 minInvocationsInclusiveScanAMD(u16vec2);"
|
||||
"u16vec3 minInvocationsInclusiveScanAMD(u16vec3);"
|
||||
"u16vec4 minInvocationsInclusiveScanAMD(u16vec4);"
|
||||
|
||||
"float minInvocationsExclusiveScanAMD(float);"
|
||||
"vec2 minInvocationsExclusiveScanAMD(vec2);"
|
||||
"vec3 minInvocationsExclusiveScanAMD(vec3);"
|
||||
|
@ -2473,6 +2883,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 minInvocationsExclusiveScanAMD(f16vec3);"
|
||||
"f16vec4 minInvocationsExclusiveScanAMD(f16vec4);"
|
||||
|
||||
"int16_t minInvocationsExclusiveScanAMD(int16_t);"
|
||||
"i16vec2 minInvocationsExclusiveScanAMD(i16vec2);"
|
||||
"i16vec3 minInvocationsExclusiveScanAMD(i16vec3);"
|
||||
"i16vec4 minInvocationsExclusiveScanAMD(i16vec4);"
|
||||
|
||||
"uint16_t minInvocationsExclusiveScanAMD(uint16_t);"
|
||||
"u16vec2 minInvocationsExclusiveScanAMD(u16vec2);"
|
||||
"u16vec3 minInvocationsExclusiveScanAMD(u16vec3);"
|
||||
"u16vec4 minInvocationsExclusiveScanAMD(u16vec4);"
|
||||
|
||||
"float maxInvocationsAMD(float);"
|
||||
"vec2 maxInvocationsAMD(vec2);"
|
||||
"vec3 maxInvocationsAMD(vec3);"
|
||||
|
@ -2508,6 +2928,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 maxInvocationsAMD(f16vec3);"
|
||||
"f16vec4 maxInvocationsAMD(f16vec4);"
|
||||
|
||||
"int16_t maxInvocationsAMD(int16_t);"
|
||||
"i16vec2 maxInvocationsAMD(i16vec2);"
|
||||
"i16vec3 maxInvocationsAMD(i16vec3);"
|
||||
"i16vec4 maxInvocationsAMD(i16vec4);"
|
||||
|
||||
"uint16_t maxInvocationsAMD(uint16_t);"
|
||||
"u16vec2 maxInvocationsAMD(u16vec2);"
|
||||
"u16vec3 maxInvocationsAMD(u16vec3);"
|
||||
"u16vec4 maxInvocationsAMD(u16vec4);"
|
||||
|
||||
"float maxInvocationsInclusiveScanAMD(float);"
|
||||
"vec2 maxInvocationsInclusiveScanAMD(vec2);"
|
||||
"vec3 maxInvocationsInclusiveScanAMD(vec3);"
|
||||
|
@ -2543,6 +2973,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 maxInvocationsInclusiveScanAMD(f16vec3);"
|
||||
"f16vec4 maxInvocationsInclusiveScanAMD(f16vec4);"
|
||||
|
||||
"int16_t maxInvocationsInclusiveScanAMD(int16_t);"
|
||||
"i16vec2 maxInvocationsInclusiveScanAMD(i16vec2);"
|
||||
"i16vec3 maxInvocationsInclusiveScanAMD(i16vec3);"
|
||||
"i16vec4 maxInvocationsInclusiveScanAMD(i16vec4);"
|
||||
|
||||
"uint16_t maxInvocationsInclusiveScanAMD(uint16_t);"
|
||||
"u16vec2 maxInvocationsInclusiveScanAMD(u16vec2);"
|
||||
"u16vec3 maxInvocationsInclusiveScanAMD(u16vec3);"
|
||||
"u16vec4 maxInvocationsInclusiveScanAMD(u16vec4);"
|
||||
|
||||
"float maxInvocationsExclusiveScanAMD(float);"
|
||||
"vec2 maxInvocationsExclusiveScanAMD(vec2);"
|
||||
"vec3 maxInvocationsExclusiveScanAMD(vec3);"
|
||||
|
@ -2578,6 +3018,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 maxInvocationsExclusiveScanAMD(f16vec3);"
|
||||
"f16vec4 maxInvocationsExclusiveScanAMD(f16vec4);"
|
||||
|
||||
"int16_t maxInvocationsExclusiveScanAMD(int16_t);"
|
||||
"i16vec2 maxInvocationsExclusiveScanAMD(i16vec2);"
|
||||
"i16vec3 maxInvocationsExclusiveScanAMD(i16vec3);"
|
||||
"i16vec4 maxInvocationsExclusiveScanAMD(i16vec4);"
|
||||
|
||||
"uint16_t maxInvocationsExclusiveScanAMD(uint16_t);"
|
||||
"u16vec2 maxInvocationsExclusiveScanAMD(u16vec2);"
|
||||
"u16vec3 maxInvocationsExclusiveScanAMD(u16vec3);"
|
||||
"u16vec4 maxInvocationsExclusiveScanAMD(u16vec4);"
|
||||
|
||||
"float addInvocationsAMD(float);"
|
||||
"vec2 addInvocationsAMD(vec2);"
|
||||
"vec3 addInvocationsAMD(vec3);"
|
||||
|
@ -2613,6 +3063,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 addInvocationsAMD(f16vec3);"
|
||||
"f16vec4 addInvocationsAMD(f16vec4);"
|
||||
|
||||
"int16_t addInvocationsAMD(int16_t);"
|
||||
"i16vec2 addInvocationsAMD(i16vec2);"
|
||||
"i16vec3 addInvocationsAMD(i16vec3);"
|
||||
"i16vec4 addInvocationsAMD(i16vec4);"
|
||||
|
||||
"uint16_t addInvocationsAMD(uint16_t);"
|
||||
"u16vec2 addInvocationsAMD(u16vec2);"
|
||||
"u16vec3 addInvocationsAMD(u16vec3);"
|
||||
"u16vec4 addInvocationsAMD(u16vec4);"
|
||||
|
||||
"float addInvocationsInclusiveScanAMD(float);"
|
||||
"vec2 addInvocationsInclusiveScanAMD(vec2);"
|
||||
"vec3 addInvocationsInclusiveScanAMD(vec3);"
|
||||
|
@ -2648,6 +3108,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 addInvocationsInclusiveScanAMD(f16vec3);"
|
||||
"f16vec4 addInvocationsInclusiveScanAMD(f16vec4);"
|
||||
|
||||
"int16_t addInvocationsInclusiveScanAMD(int16_t);"
|
||||
"i16vec2 addInvocationsInclusiveScanAMD(i16vec2);"
|
||||
"i16vec3 addInvocationsInclusiveScanAMD(i16vec3);"
|
||||
"i16vec4 addInvocationsInclusiveScanAMD(i16vec4);"
|
||||
|
||||
"uint16_t addInvocationsInclusiveScanAMD(uint16_t);"
|
||||
"u16vec2 addInvocationsInclusiveScanAMD(u16vec2);"
|
||||
"u16vec3 addInvocationsInclusiveScanAMD(u16vec3);"
|
||||
"u16vec4 addInvocationsInclusiveScanAMD(u16vec4);"
|
||||
|
||||
"float addInvocationsExclusiveScanAMD(float);"
|
||||
"vec2 addInvocationsExclusiveScanAMD(vec2);"
|
||||
"vec3 addInvocationsExclusiveScanAMD(vec3);"
|
||||
|
@ -2683,6 +3153,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 addInvocationsExclusiveScanAMD(f16vec3);"
|
||||
"f16vec4 addInvocationsExclusiveScanAMD(f16vec4);"
|
||||
|
||||
"int16_t addInvocationsExclusiveScanAMD(int16_t);"
|
||||
"i16vec2 addInvocationsExclusiveScanAMD(i16vec2);"
|
||||
"i16vec3 addInvocationsExclusiveScanAMD(i16vec3);"
|
||||
"i16vec4 addInvocationsExclusiveScanAMD(i16vec4);"
|
||||
|
||||
"uint16_t addInvocationsExclusiveScanAMD(uint16_t);"
|
||||
"u16vec2 addInvocationsExclusiveScanAMD(u16vec2);"
|
||||
"u16vec3 addInvocationsExclusiveScanAMD(u16vec3);"
|
||||
"u16vec4 addInvocationsExclusiveScanAMD(u16vec4);"
|
||||
|
||||
"float minInvocationsNonUniformAMD(float);"
|
||||
"vec2 minInvocationsNonUniformAMD(vec2);"
|
||||
"vec3 minInvocationsNonUniformAMD(vec3);"
|
||||
|
@ -2718,6 +3198,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 minInvocationsNonUniformAMD(f16vec3);"
|
||||
"f16vec4 minInvocationsNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t minInvocationsNonUniformAMD(int16_t);"
|
||||
"i16vec2 minInvocationsNonUniformAMD(i16vec2);"
|
||||
"i16vec3 minInvocationsNonUniformAMD(i16vec3);"
|
||||
"i16vec4 minInvocationsNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t minInvocationsNonUniformAMD(uint16_t);"
|
||||
"u16vec2 minInvocationsNonUniformAMD(u16vec2);"
|
||||
"u16vec3 minInvocationsNonUniformAMD(u16vec3);"
|
||||
"u16vec4 minInvocationsNonUniformAMD(u16vec4);"
|
||||
|
||||
"float minInvocationsInclusiveScanNonUniformAMD(float);"
|
||||
"vec2 minInvocationsInclusiveScanNonUniformAMD(vec2);"
|
||||
"vec3 minInvocationsInclusiveScanNonUniformAMD(vec3);"
|
||||
|
@ -2753,6 +3243,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 minInvocationsInclusiveScanNonUniformAMD(f16vec3);"
|
||||
"f16vec4 minInvocationsInclusiveScanNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t minInvocationsInclusiveScanNonUniformAMD(int16_t);"
|
||||
"i16vec2 minInvocationsInclusiveScanNonUniformAMD(i16vec2);"
|
||||
"i16vec3 minInvocationsInclusiveScanNonUniformAMD(i16vec3);"
|
||||
"i16vec4 minInvocationsInclusiveScanNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t minInvocationsInclusiveScanNonUniformAMD(uint16_t);"
|
||||
"u16vec2 minInvocationsInclusiveScanNonUniformAMD(u16vec2);"
|
||||
"u16vec3 minInvocationsInclusiveScanNonUniformAMD(u16vec3);"
|
||||
"u16vec4 minInvocationsInclusiveScanNonUniformAMD(u16vec4);"
|
||||
|
||||
"float minInvocationsExclusiveScanNonUniformAMD(float);"
|
||||
"vec2 minInvocationsExclusiveScanNonUniformAMD(vec2);"
|
||||
"vec3 minInvocationsExclusiveScanNonUniformAMD(vec3);"
|
||||
|
@ -2788,6 +3288,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 minInvocationsExclusiveScanNonUniformAMD(f16vec3);"
|
||||
"f16vec4 minInvocationsExclusiveScanNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t minInvocationsExclusiveScanNonUniformAMD(int16_t);"
|
||||
"i16vec2 minInvocationsExclusiveScanNonUniformAMD(i16vec2);"
|
||||
"i16vec3 minInvocationsExclusiveScanNonUniformAMD(i16vec3);"
|
||||
"i16vec4 minInvocationsExclusiveScanNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t minInvocationsExclusiveScanNonUniformAMD(uint16_t);"
|
||||
"u16vec2 minInvocationsExclusiveScanNonUniformAMD(u16vec2);"
|
||||
"u16vec3 minInvocationsExclusiveScanNonUniformAMD(u16vec3);"
|
||||
"u16vec4 minInvocationsExclusiveScanNonUniformAMD(u16vec4);"
|
||||
|
||||
"float maxInvocationsNonUniformAMD(float);"
|
||||
"vec2 maxInvocationsNonUniformAMD(vec2);"
|
||||
"vec3 maxInvocationsNonUniformAMD(vec3);"
|
||||
|
@ -2823,6 +3333,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 maxInvocationsNonUniformAMD(f16vec3);"
|
||||
"f16vec4 maxInvocationsNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t maxInvocationsNonUniformAMD(int16_t);"
|
||||
"i16vec2 maxInvocationsNonUniformAMD(i16vec2);"
|
||||
"i16vec3 maxInvocationsNonUniformAMD(i16vec3);"
|
||||
"i16vec4 maxInvocationsNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t maxInvocationsNonUniformAMD(uint16_t);"
|
||||
"u16vec2 maxInvocationsNonUniformAMD(u16vec2);"
|
||||
"u16vec3 maxInvocationsNonUniformAMD(u16vec3);"
|
||||
"u16vec4 maxInvocationsNonUniformAMD(u16vec4);"
|
||||
|
||||
"float maxInvocationsInclusiveScanNonUniformAMD(float);"
|
||||
"vec2 maxInvocationsInclusiveScanNonUniformAMD(vec2);"
|
||||
"vec3 maxInvocationsInclusiveScanNonUniformAMD(vec3);"
|
||||
|
@ -2858,6 +3378,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 maxInvocationsInclusiveScanNonUniformAMD(f16vec3);"
|
||||
"f16vec4 maxInvocationsInclusiveScanNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t maxInvocationsInclusiveScanNonUniformAMD(int16_t);"
|
||||
"i16vec2 maxInvocationsInclusiveScanNonUniformAMD(i16vec2);"
|
||||
"i16vec3 maxInvocationsInclusiveScanNonUniformAMD(i16vec3);"
|
||||
"i16vec4 maxInvocationsInclusiveScanNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t maxInvocationsInclusiveScanNonUniformAMD(uint16_t);"
|
||||
"u16vec2 maxInvocationsInclusiveScanNonUniformAMD(u16vec2);"
|
||||
"u16vec3 maxInvocationsInclusiveScanNonUniformAMD(u16vec3);"
|
||||
"u16vec4 maxInvocationsInclusiveScanNonUniformAMD(u16vec4);"
|
||||
|
||||
"float maxInvocationsExclusiveScanNonUniformAMD(float);"
|
||||
"vec2 maxInvocationsExclusiveScanNonUniformAMD(vec2);"
|
||||
"vec3 maxInvocationsExclusiveScanNonUniformAMD(vec3);"
|
||||
|
@ -2893,6 +3423,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 maxInvocationsExclusiveScanNonUniformAMD(f16vec3);"
|
||||
"f16vec4 maxInvocationsExclusiveScanNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t maxInvocationsExclusiveScanNonUniformAMD(int16_t);"
|
||||
"i16vec2 maxInvocationsExclusiveScanNonUniformAMD(i16vec2);"
|
||||
"i16vec3 maxInvocationsExclusiveScanNonUniformAMD(i16vec3);"
|
||||
"i16vec4 maxInvocationsExclusiveScanNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t maxInvocationsExclusiveScanNonUniformAMD(uint16_t);"
|
||||
"u16vec2 maxInvocationsExclusiveScanNonUniformAMD(u16vec2);"
|
||||
"u16vec3 maxInvocationsExclusiveScanNonUniformAMD(u16vec3);"
|
||||
"u16vec4 maxInvocationsExclusiveScanNonUniformAMD(u16vec4);"
|
||||
|
||||
"float addInvocationsNonUniformAMD(float);"
|
||||
"vec2 addInvocationsNonUniformAMD(vec2);"
|
||||
"vec3 addInvocationsNonUniformAMD(vec3);"
|
||||
|
@ -2928,6 +3468,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 addInvocationsNonUniformAMD(f16vec3);"
|
||||
"f16vec4 addInvocationsNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t addInvocationsNonUniformAMD(int16_t);"
|
||||
"i16vec2 addInvocationsNonUniformAMD(i16vec2);"
|
||||
"i16vec3 addInvocationsNonUniformAMD(i16vec3);"
|
||||
"i16vec4 addInvocationsNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t addInvocationsNonUniformAMD(uint16_t);"
|
||||
"u16vec2 addInvocationsNonUniformAMD(u16vec2);"
|
||||
"u16vec3 addInvocationsNonUniformAMD(u16vec3);"
|
||||
"u16vec4 addInvocationsNonUniformAMD(u16vec4);"
|
||||
|
||||
"float addInvocationsInclusiveScanNonUniformAMD(float);"
|
||||
"vec2 addInvocationsInclusiveScanNonUniformAMD(vec2);"
|
||||
"vec3 addInvocationsInclusiveScanNonUniformAMD(vec3);"
|
||||
|
@ -2963,6 +3513,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 addInvocationsInclusiveScanNonUniformAMD(f16vec3);"
|
||||
"f16vec4 addInvocationsInclusiveScanNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t addInvocationsInclusiveScanNonUniformAMD(int16_t);"
|
||||
"i16vec2 addInvocationsInclusiveScanNonUniformAMD(i16vec2);"
|
||||
"i16vec3 addInvocationsInclusiveScanNonUniformAMD(i16vec3);"
|
||||
"i16vec4 addInvocationsInclusiveScanNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t addInvocationsInclusiveScanNonUniformAMD(uint16_t);"
|
||||
"u16vec2 addInvocationsInclusiveScanNonUniformAMD(u16vec2);"
|
||||
"u16vec3 addInvocationsInclusiveScanNonUniformAMD(u16vec3);"
|
||||
"u16vec4 addInvocationsInclusiveScanNonUniformAMD(u16vec4);"
|
||||
|
||||
"float addInvocationsExclusiveScanNonUniformAMD(float);"
|
||||
"vec2 addInvocationsExclusiveScanNonUniformAMD(vec2);"
|
||||
"vec3 addInvocationsExclusiveScanNonUniformAMD(vec3);"
|
||||
|
@ -2998,6 +3558,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||
"f16vec3 addInvocationsExclusiveScanNonUniformAMD(f16vec3);"
|
||||
"f16vec4 addInvocationsExclusiveScanNonUniformAMD(f16vec4);"
|
||||
|
||||
"int16_t addInvocationsExclusiveScanNonUniformAMD(int16_t);"
|
||||
"i16vec2 addInvocationsExclusiveScanNonUniformAMD(i16vec2);"
|
||||
"i16vec3 addInvocationsExclusiveScanNonUniformAMD(i16vec3);"
|
||||
"i16vec4 addInvocationsExclusiveScanNonUniformAMD(i16vec4);"
|
||||
|
||||
"uint16_t addInvocationsExclusiveScanNonUniformAMD(uint16_t);"
|
||||
"u16vec2 addInvocationsExclusiveScanNonUniformAMD(u16vec2);"
|
||||
"u16vec3 addInvocationsExclusiveScanNonUniformAMD(u16vec3);"
|
||||
"u16vec4 addInvocationsExclusiveScanNonUniformAMD(u16vec4);"
|
||||
|
||||
"float swizzleInvocationsAMD(float, uvec4);"
|
||||
"vec2 swizzleInvocationsAMD(vec2, uvec4);"
|
||||
"vec3 swizzleInvocationsAMD(vec3, uvec4);"
|
||||
|
@ -7361,6 +7931,32 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||
symbolTable.setFunctionExtensions("subgroupQuadSwapHorizontal", 1, &E_GL_KHR_shader_subgroup_quad);
|
||||
symbolTable.setFunctionExtensions("subgroupQuadSwapVertical", 1, &E_GL_KHR_shader_subgroup_quad);
|
||||
symbolTable.setFunctionExtensions("subgroupQuadSwapDiagonal", 1, &E_GL_KHR_shader_subgroup_quad);
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedAddNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedMulNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedMinNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedMaxNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedAndNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedOrNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedXorNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveAddNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveMulNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveMinNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveMaxNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveAndNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveOrNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedInclusiveXorNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveAddNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveMulNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveMinNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveMaxNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveAndNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveOrNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
symbolTable.setFunctionExtensions("subgroupPartitionedExclusiveXorNV", 1, &E_GL_NV_shader_subgroup_partitioned);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
if (profile == EEsProfile) {
|
||||
|
@ -7897,6 +8493,31 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||
symbolTable.relateToOperator("subgroupQuadSwapHorizontal", EOpSubgroupQuadSwapHorizontal);
|
||||
symbolTable.relateToOperator("subgroupQuadSwapVertical", EOpSubgroupQuadSwapVertical);
|
||||
symbolTable.relateToOperator("subgroupQuadSwapDiagonal", EOpSubgroupQuadSwapDiagonal);
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
symbolTable.relateToOperator("subgroupPartitionNV", EOpSubgroupPartition);
|
||||
symbolTable.relateToOperator("subgroupPartitionedAddNV", EOpSubgroupPartitionedAdd);
|
||||
symbolTable.relateToOperator("subgroupPartitionedMulNV", EOpSubgroupPartitionedMul);
|
||||
symbolTable.relateToOperator("subgroupPartitionedMinNV", EOpSubgroupPartitionedMin);
|
||||
symbolTable.relateToOperator("subgroupPartitionedMaxNV", EOpSubgroupPartitionedMax);
|
||||
symbolTable.relateToOperator("subgroupPartitionedAndNV", EOpSubgroupPartitionedAnd);
|
||||
symbolTable.relateToOperator("subgroupPartitionedOrNV", EOpSubgroupPartitionedOr);
|
||||
symbolTable.relateToOperator("subgroupPartitionedXorNV", EOpSubgroupPartitionedXor);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveAddNV", EOpSubgroupPartitionedInclusiveAdd);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveMulNV", EOpSubgroupPartitionedInclusiveMul);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveMinNV", EOpSubgroupPartitionedInclusiveMin);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveMaxNV", EOpSubgroupPartitionedInclusiveMax);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveAndNV", EOpSubgroupPartitionedInclusiveAnd);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveOrNV", EOpSubgroupPartitionedInclusiveOr);
|
||||
symbolTable.relateToOperator("subgroupPartitionedInclusiveXorNV", EOpSubgroupPartitionedInclusiveXor);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveAddNV", EOpSubgroupPartitionedExclusiveAdd);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveMulNV", EOpSubgroupPartitionedExclusiveMul);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveMinNV", EOpSubgroupPartitionedExclusiveMin);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveMaxNV", EOpSubgroupPartitionedExclusiveMax);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveAndNV", EOpSubgroupPartitionedExclusiveAnd);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveOrNV", EOpSubgroupPartitionedExclusiveOr);
|
||||
symbolTable.relateToOperator("subgroupPartitionedExclusiveXorNV", EOpSubgroupPartitionedExclusiveXor);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (profile == EEsProfile) {
|
||||
|
@ -7981,9 +8602,9 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||
if (version == 100 || IncludeLegacy(version, profile, spvVersion) || (! ForwardCompatibility && profile != EEsProfile && version < 420)) {
|
||||
TPrecisionQualifier pq = profile == EEsProfile ? EpqMedium : EpqNone;
|
||||
TType fragData(EbtFloat, EvqFragColor, pq, 4);
|
||||
TArraySizes& arraySizes = *new TArraySizes;
|
||||
arraySizes.addInnerSize(resources.maxDrawBuffers);
|
||||
fragData.newArraySizes(arraySizes);
|
||||
TArraySizes* arraySizes = new TArraySizes;
|
||||
arraySizes->addInnerSize(resources.maxDrawBuffers);
|
||||
fragData.transferArraySizes(arraySizes);
|
||||
symbolTable.insert(*new TVariable(NewPoolTString("gl_FragData"), fragData));
|
||||
SpecialQualifier("gl_FragData", EvqFragColor, EbvFragData, symbolTable);
|
||||
}
|
||||
|
|
|
@ -701,12 +701,6 @@ TIntermUnary* TIntermediate::createConversion(TBasicType convertTo, TIntermTyped
|
|||
|
||||
// TODO: it seems that some unary folding operations should occur here, but are not
|
||||
|
||||
// Propagate specialization-constant-ness, if allowed
|
||||
if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode))
|
||||
newNode->getWritableType().getQualifier().makeSpecConstant();
|
||||
|
||||
// TODO: it seems that some unary folding operations should occur here, but are not
|
||||
|
||||
// Propagate specialization-constant-ness, if allowed
|
||||
if (node->getType().getQualifier().isSpecConstant() && isSpecializationOperation(*newNode))
|
||||
newNode->getWritableType().getQualifier().makeSpecConstant();
|
||||
|
@ -1425,7 +1419,7 @@ bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperat
|
|||
extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_float32) ||
|
||||
extensionRequested(E_GL_KHX_shader_explicit_arithmetic_types_float64);
|
||||
|
||||
if(explicitTypesEnabled) {
|
||||
if (explicitTypesEnabled) {
|
||||
// integral promotions
|
||||
if (isIntegralPromotion(from, to)) {
|
||||
return true;
|
||||
|
|
|
@ -243,7 +243,7 @@ void TParseContextBase::checkIndex(const TSourceLoc& loc, const TType& type, int
|
|||
error(loc, "", "[", "index out of range '%d'", index);
|
||||
index = 0;
|
||||
} else if (type.isArray()) {
|
||||
if (type.isExplicitlySizedArray() && index >= type.getOuterArraySize()) {
|
||||
if (type.isSizedArray() && index >= type.getOuterArraySize()) {
|
||||
error(loc, "", "[", "array index out of range '%d'", index);
|
||||
index = type.getOuterArraySize() - 1;
|
||||
}
|
||||
|
|
|
@ -284,17 +284,17 @@ TIntermTyped* TParseContext::handleVariable(const TSourceLoc& loc, TSymbol* symb
|
|||
requireExtensions(loc, symbol->getNumExtensions(), symbol->getExtensions(), symbol->getName().c_str());
|
||||
|
||||
if (symbol && symbol->isReadOnly()) {
|
||||
// All shared things containing an implicitly sized array must be copied up
|
||||
// All shared things containing an unsized array must be copied up
|
||||
// on first use, so that all future references will share its array structure,
|
||||
// so that editing the implicit size will effect all nodes consuming it,
|
||||
// and so that editing the implicit size won't change the shared one.
|
||||
//
|
||||
// If this is a variable or a block, check it and all it contains, but if this
|
||||
// is a member of an anonymous block, check the whole block, as the whole block
|
||||
// will need to be copied up if it contains an implicitly-sized array.
|
||||
if (symbol->getType().containsImplicitlySizedArray() ||
|
||||
// will need to be copied up if it contains an unsized array.
|
||||
if (symbol->getType().containsUnsizedArray() ||
|
||||
(symbol->getAsAnonMember() &&
|
||||
symbol->getAsAnonMember()->getAnonContainer().getType().containsImplicitlySizedArray()))
|
||||
symbol->getAsAnonMember()->getAnonContainer().getType().containsUnsizedArray()))
|
||||
makeEditable(symbol);
|
||||
}
|
||||
|
||||
|
@ -372,21 +372,28 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
|
|||
} else {
|
||||
// at least one of base and index is not a front-end constant variable...
|
||||
|
||||
if (index->getQualifier().isFrontEndConstant())
|
||||
checkIndex(loc, base->getType(), indexValue);
|
||||
|
||||
if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
|
||||
handleIoResizeArrayAccess(loc, base);
|
||||
|
||||
if (index->getQualifier().isFrontEndConstant()) {
|
||||
if (base->getType().isImplicitlySizedArray())
|
||||
updateImplicitArraySize(loc, base, indexValue);
|
||||
else
|
||||
checkIndex(loc, base->getType(), indexValue);
|
||||
if (base->getType().isUnsizedArray())
|
||||
base->getWritableType().updateImplicitArraySize(indexValue + 1);
|
||||
result = intermediate.addIndex(EOpIndexDirect, base, index, loc);
|
||||
} else {
|
||||
if (base->getType().isImplicitlySizedArray()) {
|
||||
if (base->getType().isUnsizedArray()) {
|
||||
// we have a variable index into an unsized array, which is okay,
|
||||
// depending on the situation
|
||||
if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
|
||||
error(loc, "", "[", "array must be sized by a redeclaration or layout qualifier before being indexed with a variable");
|
||||
else
|
||||
error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable");
|
||||
else {
|
||||
// it is okay for a run-time sized array
|
||||
if (base->getType().getQualifier().storage != EvqBuffer)
|
||||
error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable");
|
||||
}
|
||||
base->getWritableType().setArrayVariablyIndexed();
|
||||
}
|
||||
if (base->getBasicType() == EbtBlock) {
|
||||
if (base->getQualifier().storage == EvqBuffer)
|
||||
|
@ -485,7 +492,7 @@ void TParseContext::fixIoArraySize(const TSourceLoc& loc, TType& type)
|
|||
|
||||
if (language == EShLangTessControl || language == EShLangTessEvaluation) {
|
||||
if (type.getOuterArraySize() != resources.maxPatchVertices) {
|
||||
if (type.isExplicitlySizedArray())
|
||||
if (type.isSizedArray())
|
||||
error(loc, "tessellation input array size must be gl_MaxPatchVertices or implicitly sized", "[]", "");
|
||||
type.changeOuterArraySize(resources.maxPatchVertices);
|
||||
}
|
||||
|
@ -518,7 +525,7 @@ void TParseContext::handleIoResizeArrayAccess(const TSourceLoc& /*loc*/, TInterm
|
|||
return;
|
||||
|
||||
// fix array size, if it can be fixed and needs to be fixed (will allow variable indexing)
|
||||
if (symbolNode->getType().isImplicitlySizedArray()) {
|
||||
if (symbolNode->getType().isUnsizedArray()) {
|
||||
int newSize = getIoArrayImplicitSize();
|
||||
if (newSize > 0)
|
||||
symbolNode->getWritableType().changeOuterArraySize(newSize);
|
||||
|
@ -568,7 +575,7 @@ int TParseContext::getIoArrayImplicitSize() const
|
|||
|
||||
void TParseContext::checkIoArrayConsistency(const TSourceLoc& loc, int requiredSize, const char* feature, TType& type, const TString& name)
|
||||
{
|
||||
if (type.isImplicitlySizedArray())
|
||||
if (type.isUnsizedArray())
|
||||
type.changeOuterArraySize(requiredSize);
|
||||
else if (type.getOuterArraySize() != requiredSize) {
|
||||
if (language == EShLangGeometry)
|
||||
|
@ -1215,10 +1222,7 @@ TIntermTyped* TParseContext::handleLengthMethod(const TSourceLoc& loc, TFunction
|
|||
else {
|
||||
const TType& type = intermNode->getAsTyped()->getType();
|
||||
if (type.isArray()) {
|
||||
if (type.isRuntimeSizedArray()) {
|
||||
// Create a unary op and let the back end handle it
|
||||
return intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, intermNode, TType(EbtInt));
|
||||
} else if (type.isImplicitlySizedArray()) {
|
||||
if (type.isUnsizedArray()) {
|
||||
if (intermNode->getAsSymbolNode() && isIoResizeArray(type)) {
|
||||
// We could be between a layout declaration that gives a built-in io array implicit size and
|
||||
// a user redeclaration of that array, meaning we have to substitute its implicit size here
|
||||
|
@ -1231,7 +1235,10 @@ TIntermTyped* TParseContext::handleLengthMethod(const TSourceLoc& loc, TFunction
|
|||
if (length == 0) {
|
||||
if (intermNode->getAsSymbolNode() && isIoResizeArray(type))
|
||||
error(loc, "", function->getName().c_str(), "array must first be sized by a redeclaration or layout qualifier");
|
||||
else
|
||||
else if (type.getQualifier().isUniformOrBuffer()) {
|
||||
// Create a unary op and let the back end handle it
|
||||
return intermediate.addBuiltInFunctionCall(loc, EOpArrayLength, true, intermNode, TType(EbtInt));
|
||||
} else
|
||||
error(loc, "", function->getName().c_str(), "array must be declared with a size before using this method");
|
||||
}
|
||||
} else if (type.getOuterArrayNode()) {
|
||||
|
@ -2283,7 +2290,7 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
|||
bool floatArgument = false;
|
||||
for (int arg = 0; arg < function.getParamCount(); ++arg) {
|
||||
if (function[arg].type->isArray()) {
|
||||
if (! function[arg].type->isExplicitlySizedArray()) {
|
||||
if (function[arg].type->isUnsizedArray()) {
|
||||
// Can't construct from an unsized array.
|
||||
error(loc, "array argument must be sized", "constructor", "");
|
||||
return true;
|
||||
|
@ -2381,7 +2388,7 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
|||
return true;
|
||||
}
|
||||
|
||||
if (type.isImplicitlySizedArray()) {
|
||||
if (type.isUnsizedArray()) {
|
||||
// auto adapt the constructor type to the number of arguments
|
||||
type.changeOuterArraySize(function.getParamCount());
|
||||
} else if (type.getOuterArraySize() != function.getParamCount()) {
|
||||
|
@ -2393,20 +2400,21 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
|||
// Types have to match, but we're still making the type.
|
||||
// Finish making the type, and the comparison is done later
|
||||
// when checking for conversion.
|
||||
TArraySizes& arraySizes = type.getArraySizes();
|
||||
TArraySizes& arraySizes = *type.getArraySizes();
|
||||
|
||||
// At least the dimensionalities have to match.
|
||||
if (! function[0].type->isArray() || arraySizes.getNumDims() != function[0].type->getArraySizes().getNumDims() + 1) {
|
||||
if (! function[0].type->isArray() ||
|
||||
arraySizes.getNumDims() != function[0].type->getArraySizes()->getNumDims() + 1) {
|
||||
error(loc, "array constructor argument not correct type to construct array element", "constructor", "");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arraySizes.isInnerImplicit()) {
|
||||
if (arraySizes.isInnerUnsized()) {
|
||||
// "Arrays of arrays ..., and the size for any dimension is optional"
|
||||
// That means we need to adopt (from the first argument) the other array sizes into the type.
|
||||
for (int d = 1; d < arraySizes.getNumDims(); ++d) {
|
||||
if (arraySizes.getDimSize(d) == UnsizedArraySize) {
|
||||
arraySizes.setDimSize(d, function[0].type->getArraySizes().getDimSize(d - 1));
|
||||
arraySizes.setDimSize(d, function[0].type->getArraySizes()->getDimSize(d - 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2607,6 +2615,15 @@ void TParseContext::transparentOpaqueCheck(const TSourceLoc& loc, const TType& t
|
|||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Qualifier checks knowing the qualifier and that it is a member of a struct/block.
|
||||
//
|
||||
void TParseContext::memberQualifierCheck(glslang::TPublicType& publicType)
|
||||
{
|
||||
globalQualifierFixCheck(publicType.loc, publicType.qualifier);
|
||||
checkNoShaderLayouts(publicType.loc, publicType.shaderQualifiers);
|
||||
}
|
||||
|
||||
//
|
||||
// Check/fix just a full qualifier (no variables or types yet, but qualifier is complete) at global level.
|
||||
//
|
||||
|
@ -3080,7 +3097,7 @@ bool TParseContext::arrayError(const TSourceLoc& loc, const TType& type)
|
|||
//
|
||||
void TParseContext::arraySizeRequiredCheck(const TSourceLoc& loc, const TArraySizes& arraySizes)
|
||||
{
|
||||
if (arraySizes.isImplicit())
|
||||
if (arraySizes.hasUnsized())
|
||||
error(loc, "array size required", "", "");
|
||||
}
|
||||
|
||||
|
@ -3107,9 +3124,9 @@ void TParseContext::arraySizesCheck(const TSourceLoc& loc, const TQualifier& qua
|
|||
return;
|
||||
|
||||
// No environment allows any non-outer-dimension to be implicitly sized
|
||||
if (arraySizes->isInnerImplicit()) {
|
||||
if (arraySizes->isInnerUnsized()) {
|
||||
error(loc, "only outermost dimension of an array of arrays can be implicitly sized", "[]", "");
|
||||
arraySizes->clearInnerImplicit();
|
||||
arraySizes->clearInnerUnsized();
|
||||
}
|
||||
|
||||
if (arraySizes->isInnerSpecialization())
|
||||
|
@ -3155,8 +3172,11 @@ void TParseContext::arraySizesCheck(const TSourceLoc& loc, const TQualifier& qua
|
|||
arraySizeRequiredCheck(loc, *arraySizes);
|
||||
}
|
||||
|
||||
void TParseContext::arrayOfArrayVersionCheck(const TSourceLoc& loc)
|
||||
void TParseContext::arrayOfArrayVersionCheck(const TSourceLoc& loc, const TArraySizes* sizes)
|
||||
{
|
||||
if (sizes == nullptr || sizes->getNumDims() == 1)
|
||||
return;
|
||||
|
||||
const char* feature = "arrays of arrays";
|
||||
|
||||
requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, feature);
|
||||
|
@ -3164,36 +3184,6 @@ void TParseContext::arrayOfArrayVersionCheck(const TSourceLoc& loc)
|
|||
profileRequires(loc, ECoreProfile | ECompatibilityProfile, 430, nullptr, feature);
|
||||
}
|
||||
|
||||
void TParseContext::arrayDimCheck(const TSourceLoc& loc, const TArraySizes* sizes1, const TArraySizes* sizes2)
|
||||
{
|
||||
if ((sizes1 && sizes2) ||
|
||||
(sizes1 && sizes1->getNumDims() > 1) ||
|
||||
(sizes2 && sizes2->getNumDims() > 1))
|
||||
arrayOfArrayVersionCheck(loc);
|
||||
}
|
||||
|
||||
void TParseContext::arrayDimCheck(const TSourceLoc& loc, const TType* type, const TArraySizes* sizes2)
|
||||
{
|
||||
// skip checking for multiple dimensions on the type; it was caught earlier
|
||||
if ((type && type->isArray() && sizes2) ||
|
||||
(sizes2 && sizes2->getNumDims() > 1))
|
||||
arrayOfArrayVersionCheck(loc);
|
||||
}
|
||||
|
||||
// Merge array dimensions listed in 'sizes' onto the type's array dimensions.
|
||||
//
|
||||
// From the spec: "vec4[2] a[3]; // size-3 array of size-2 array of vec4"
|
||||
//
|
||||
// That means, the 'sizes' go in front of the 'type' as outermost sizes.
|
||||
// 'type' is the type part of the declaration (to the left)
|
||||
// 'sizes' is the arrayness tagged on the identifier (to the right)
|
||||
//
|
||||
void TParseContext::arrayDimMerge(TType& type, const TArraySizes* sizes)
|
||||
{
|
||||
if (sizes != nullptr)
|
||||
type.addArrayOuterSizes(*sizes);
|
||||
}
|
||||
|
||||
//
|
||||
// Do all the semantic checking for declaring or redeclaring an array, with and
|
||||
// without a size, and make the right changes to the symbol table.
|
||||
|
@ -3263,7 +3253,7 @@ void TParseContext::declareArray(const TSourceLoc& loc, const TString& identifie
|
|||
return;
|
||||
}
|
||||
|
||||
if (existingType.isExplicitlySizedArray()) {
|
||||
if (existingType.isSizedArray()) {
|
||||
// be more leniant for input arrays to geometry shaders and tessellation control outputs, where the redeclaration is the same size
|
||||
if (! (isIoResizeArray(type) && existingType.getOuterArraySize() == type.getOuterArraySize()))
|
||||
error(loc, "redeclaration of array with size", identifier.c_str(), "");
|
||||
|
@ -3278,66 +3268,6 @@ void TParseContext::declareArray(const TSourceLoc& loc, const TString& identifie
|
|||
checkIoArraysConsistency(loc);
|
||||
}
|
||||
|
||||
void TParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNode *node, int index)
|
||||
{
|
||||
// maybe there is nothing to do...
|
||||
TIntermTyped* typedNode = node->getAsTyped();
|
||||
if (typedNode->getType().getImplicitArraySize() > index)
|
||||
return;
|
||||
|
||||
// something to do...
|
||||
|
||||
// Figure out what symbol to lookup, as we will use its type to edit for the size change,
|
||||
// as that type will be shared through shallow copies for future references.
|
||||
TSymbol* symbol = nullptr;
|
||||
int blockIndex = -1;
|
||||
const TString* lookupName = nullptr;
|
||||
if (node->getAsSymbolNode())
|
||||
lookupName = &node->getAsSymbolNode()->getName();
|
||||
else if (node->getAsBinaryNode()) {
|
||||
const TIntermBinary* deref = node->getAsBinaryNode();
|
||||
// This has to be the result of a block dereference, unless it's bad shader code
|
||||
// If it's a uniform block, then an error will be issued elsewhere, but
|
||||
// return early now to avoid crashing later in this function.
|
||||
if (deref->getLeft()->getBasicType() != EbtBlock ||
|
||||
deref->getLeft()->getType().getQualifier().storage == EvqUniform ||
|
||||
deref->getRight()->getAsConstantUnion() == nullptr)
|
||||
return;
|
||||
|
||||
const TIntermTyped* left = deref->getLeft();
|
||||
const TIntermTyped* right = deref->getRight();
|
||||
|
||||
if (left->getAsBinaryNode()) {
|
||||
left = left->getAsBinaryNode()->getLeft(); // Block array access
|
||||
assert(left->isArray());
|
||||
}
|
||||
|
||||
if (! left->getAsSymbolNode())
|
||||
return;
|
||||
|
||||
blockIndex = right->getAsConstantUnion()->getConstArray()[0].getIConst();
|
||||
|
||||
lookupName = &left->getAsSymbolNode()->getName();
|
||||
if (IsAnonymous(*lookupName))
|
||||
lookupName = &(*left->getType().getStruct())[blockIndex].type->getFieldName();
|
||||
}
|
||||
|
||||
// Lookup the symbol, should only fail if shader code is incorrect
|
||||
symbol = symbolTable.find(*lookupName);
|
||||
if (symbol == nullptr)
|
||||
return;
|
||||
|
||||
if (symbol->getAsFunction()) {
|
||||
error(loc, "array variable name expected", symbol->getName().c_str(), "");
|
||||
return;
|
||||
}
|
||||
|
||||
if (symbol->getType().isStruct() && blockIndex != -1)
|
||||
(*symbol->getWritableType().getStruct())[blockIndex].type->setImplicitArraySize(index + 1);
|
||||
else
|
||||
symbol->getWritableType().setImplicitArraySize(index + 1);
|
||||
}
|
||||
|
||||
// Returns true if the first argument to the #line directive is the line number for the next line.
|
||||
//
|
||||
// Desktop, pre-version 3.30: "After processing this directive
|
||||
|
@ -3623,7 +3553,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT
|
|||
error(memberLoc, "cannot redeclare block member with a different type", member->type->getFieldName().c_str(), "");
|
||||
if (oldType.isArray() != newType.isArray())
|
||||
error(memberLoc, "cannot change arrayness of redeclared block member", member->type->getFieldName().c_str(), "");
|
||||
else if (! oldType.sameArrayness(newType) && oldType.isExplicitlySizedArray())
|
||||
else if (! oldType.sameArrayness(newType) && oldType.isSizedArray())
|
||||
error(memberLoc, "cannot change array size of redeclared block member", member->type->getFieldName().c_str(), "");
|
||||
else if (newType.isArray())
|
||||
arrayLimitCheck(loc, member->type->getFieldName(), newType.getOuterArraySize());
|
||||
|
@ -3652,7 +3582,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT
|
|||
type.getQualifier().layoutXfbBuffer = currentBlockQualifier.layoutXfbBuffer;
|
||||
oldType.getQualifier().layoutXfbBuffer = currentBlockQualifier.layoutXfbBuffer;
|
||||
}
|
||||
if (oldType.isImplicitlySizedArray() && newType.isExplicitlySizedArray())
|
||||
if (oldType.isUnsizedArray() && newType.isSizedArray())
|
||||
oldType.changeOuterArraySize(newType.getOuterArraySize());
|
||||
|
||||
// check and process the member's type, which will include managing xfb information
|
||||
|
@ -3678,11 +3608,11 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT
|
|||
if (type.isArray() != (arraySizes != nullptr))
|
||||
error(loc, "cannot change arrayness of redeclared block", blockName.c_str(), "");
|
||||
else if (type.isArray()) {
|
||||
if (type.isExplicitlySizedArray() && arraySizes->getOuterSize() == UnsizedArraySize)
|
||||
error(loc, "block already declared with size, can't redeclare as implicitly-sized", blockName.c_str(), "");
|
||||
else if (type.isExplicitlySizedArray() && type.getArraySizes() != *arraySizes)
|
||||
if (type.isSizedArray() && !arraySizes->isSized())
|
||||
error(loc, "block already declared with size, can't redeclare as unsized", blockName.c_str(), "");
|
||||
else if (type.isSizedArray() && *type.getArraySizes() != *arraySizes)
|
||||
error(loc, "cannot change array size of redeclared block", blockName.c_str(), "");
|
||||
else if (type.isImplicitlySizedArray() && arraySizes->getOuterSize() != UnsizedArraySize)
|
||||
else if (!type.isSizedArray() && arraySizes->isSized())
|
||||
type.changeOuterArraySize(arraySizes->getOuterSize());
|
||||
}
|
||||
|
||||
|
@ -3702,7 +3632,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT
|
|||
trackLinkage(*block);
|
||||
}
|
||||
|
||||
void TParseContext::paramCheckFix(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type)
|
||||
void TParseContext::paramCheckFixStorage(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type)
|
||||
{
|
||||
switch (qualifier) {
|
||||
case EvqConst:
|
||||
|
@ -3749,7 +3679,7 @@ void TParseContext::paramCheckFix(const TSourceLoc& loc, const TQualifier& quali
|
|||
warn(loc, "qualifier has no effect on non-output parameters", "precise", "");
|
||||
}
|
||||
|
||||
paramCheckFix(loc, qualifier.storage, type);
|
||||
paramCheckFixStorage(loc, qualifier.storage, type);
|
||||
}
|
||||
|
||||
void TParseContext::nestedBlockCheck(const TSourceLoc& loc)
|
||||
|
@ -4621,7 +4551,8 @@ void TParseContext::layoutObjectCheck(const TSourceLoc& loc, const TSymbol& symb
|
|||
// they are not allowed on block members. For arrayed interfaces (those generally having an
|
||||
// extra level of arrayness due to interface expansion), the outer array is stripped before
|
||||
// applying this rule."
|
||||
void TParseContext::layoutMemberLocationArrayCheck(const TSourceLoc& loc, bool memberWithLocation, TArraySizes* arraySizes)
|
||||
void TParseContext::layoutMemberLocationArrayCheck(const TSourceLoc& loc, bool memberWithLocation,
|
||||
TArraySizes* arraySizes)
|
||||
{
|
||||
if (memberWithLocation && arraySizes != nullptr) {
|
||||
if (arraySizes->getNumDims() > (currentBlockQualifier.isArrayedIo(language) ? 1 : 0))
|
||||
|
@ -4724,11 +4655,12 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
|
|||
if (type.getBasicType() == EbtSampler) {
|
||||
int lastBinding = qualifier.layoutBinding;
|
||||
if (type.isArray()) {
|
||||
if (type.isImplicitlySizedArray()) {
|
||||
lastBinding += 1;
|
||||
warn(loc, "assuming array size of one for compile-time checking of binding numbers for implicitly-sized array", "[]", "");
|
||||
} else
|
||||
if (type.isSizedArray())
|
||||
lastBinding += type.getCumulativeArraySize();
|
||||
else {
|
||||
lastBinding += 1;
|
||||
warn(loc, "assuming array size of one for compile-time checking of binding numbers for unsized array", "[]", "");
|
||||
}
|
||||
}
|
||||
if (spvVersion.vulkan == 0 && lastBinding >= resources.maxCombinedTextureImageUnits)
|
||||
error(loc, "sampler binding not less than gl_MaxCombinedTextureImageUnits", "binding", type.isArray() ? "(using array)" : "");
|
||||
|
@ -4988,7 +4920,7 @@ void TParseContext::fixOffset(const TSourceLoc& loc, TSymbol& symbol)
|
|||
// Check for overlap
|
||||
int numOffsets = 4;
|
||||
if (symbol.getType().isArray()) {
|
||||
if (symbol.getType().isExplicitlySizedArray() && ! symbol.getType().getArraySizes()->isInnerImplicit())
|
||||
if (symbol.getType().isSizedArray() && !symbol.getType().getArraySizes()->isInnerUnsized())
|
||||
numOffsets *= symbol.getType().getCumulativeArraySize();
|
||||
else {
|
||||
// "It is a compile-time error to declare an unsized array of atomic_uint."
|
||||
|
@ -5325,15 +5257,15 @@ void TParseContext::declareTypeDefaults(const TSourceLoc& loc, const TPublicType
|
|||
// 'publicType' is the type part of the declaration (to the left)
|
||||
// 'arraySizes' is the arrayness tagged on the identifier (to the right)
|
||||
//
|
||||
TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& identifier, const TPublicType& publicType, TArraySizes* arraySizes, TIntermTyped* initializer)
|
||||
TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& identifier, const TPublicType& publicType,
|
||||
TArraySizes* arraySizes, TIntermTyped* initializer)
|
||||
{
|
||||
TType type(publicType); // shallow copy; 'type' shares the arrayness and structure definition with 'publicType'
|
||||
if (type.isImplicitlySizedArray()) {
|
||||
// Because "int[] a = int[2](...), b = int[3](...)" makes two arrays a and b
|
||||
// of different sizes, for this case sharing the shallow copy of arrayness
|
||||
// with the publicType oversubscribes it, so get a deep copy of the arrayness.
|
||||
type.newArraySizes(*publicType.arraySizes);
|
||||
}
|
||||
// Make a fresh type that combines the characteristics from the individual
|
||||
// identifier syntax and the declaration-type syntax.
|
||||
TType type(publicType);
|
||||
type.transferArraySizes(arraySizes);
|
||||
type.copyArrayInnerSizes(publicType.arraySizes);
|
||||
arrayOfArrayVersionCheck(loc, type.getArraySizes());
|
||||
|
||||
if (voidErrorCheck(loc, identifier, type.getBasicType()))
|
||||
return nullptr;
|
||||
|
@ -5360,15 +5292,9 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
|
|||
inheritGlobalDefaults(type.getQualifier());
|
||||
|
||||
// Declare the variable
|
||||
if (arraySizes || type.isArray()) {
|
||||
// Arrayness is potentially coming both from the type and from the
|
||||
// variable: "int[] a[];" or just one or the other.
|
||||
// Merge it all to the type, so all arrayness is part of the type.
|
||||
arrayDimCheck(loc, &type, arraySizes);
|
||||
arrayDimMerge(type, arraySizes);
|
||||
|
||||
if (type.isArray()) {
|
||||
// Check that implicit sizing is only where allowed.
|
||||
arraySizesCheck(loc, type.getQualifier(), &type.getArraySizes(), initializer != nullptr, false);
|
||||
arraySizesCheck(loc, type.getQualifier(), type.getArraySizes(), initializer != nullptr, false);
|
||||
|
||||
if (! arrayQualifierError(loc, type.getQualifier()) && ! arrayError(loc, type))
|
||||
declareArray(loc, identifier, type, symbol);
|
||||
|
@ -5499,8 +5425,7 @@ TIntermNode* TParseContext::executeInitializer(const TSourceLoc& loc, TIntermTyp
|
|||
}
|
||||
|
||||
// Fix outer arrayness if variable is unsized, getting size from the initializer
|
||||
if (initializer->getType().isExplicitlySizedArray() &&
|
||||
variable->getType().isImplicitlySizedArray())
|
||||
if (initializer->getType().isSizedArray() && variable->getType().isUnsizedArray())
|
||||
variable->getWritableType().changeOuterArraySize(initializer->getType().getOuterArraySize());
|
||||
|
||||
// Inner arrayness can also get set by an initializer
|
||||
|
@ -5509,8 +5434,10 @@ TIntermNode* TParseContext::executeInitializer(const TSourceLoc& loc, TIntermTyp
|
|||
variable->getType().getArraySizes()->getNumDims()) {
|
||||
// adopt unsized sizes from the initializer's sizes
|
||||
for (int d = 1; d < variable->getType().getArraySizes()->getNumDims(); ++d) {
|
||||
if (variable->getType().getArraySizes()->getDimSize(d) == UnsizedArraySize)
|
||||
variable->getWritableType().getArraySizes().setDimSize(d, initializer->getType().getArraySizes()->getDimSize(d));
|
||||
if (variable->getType().getArraySizes()->getDimSize(d) == UnsizedArraySize) {
|
||||
variable->getWritableType().getArraySizes()->setDimSize(d,
|
||||
initializer->getType().getArraySizes()->getDimSize(d));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5621,16 +5548,16 @@ TIntermTyped* TParseContext::convertInitializerList(const TSourceLoc& loc, const
|
|||
// Later on, initializer execution code will deal with array size logic.
|
||||
TType arrayType;
|
||||
arrayType.shallowCopy(type); // sharing struct stuff is fine
|
||||
arrayType.newArraySizes(*type.getArraySizes()); // but get a fresh copy of the array information, to edit below
|
||||
arrayType.copyArraySizes(*type.getArraySizes()); // but get a fresh copy of the array information, to edit below
|
||||
|
||||
// edit array sizes to fill in unsized dimensions
|
||||
arrayType.changeOuterArraySize((int)initList->getSequence().size());
|
||||
TIntermTyped* firstInit = initList->getSequence()[0]->getAsTyped();
|
||||
if (arrayType.isArrayOfArrays() && firstInit->getType().isArray() &&
|
||||
arrayType.getArraySizes().getNumDims() == firstInit->getType().getArraySizes()->getNumDims() + 1) {
|
||||
for (int d = 1; d < arrayType.getArraySizes().getNumDims(); ++d) {
|
||||
if (arrayType.getArraySizes().getDimSize(d) == UnsizedArraySize)
|
||||
arrayType.getArraySizes().setDimSize(d, firstInit->getType().getArraySizes()->getDimSize(d - 1));
|
||||
arrayType.getArraySizes()->getNumDims() == firstInit->getType().getArraySizes()->getNumDims() + 1) {
|
||||
for (int d = 1; d < arrayType.getArraySizes()->getNumDims(); ++d) {
|
||||
if (arrayType.getArraySizes()->getDimSize(d) == UnsizedArraySize)
|
||||
arrayType.getArraySizes()->setDimSize(d, firstInit->getType().getArraySizes()->getDimSize(d - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5944,13 +5871,14 @@ TIntermTyped* TParseContext::constructAggregate(TIntermNode* node, const TType&
|
|||
//
|
||||
// Do everything needed to add an interface block.
|
||||
//
|
||||
void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, const TString* instanceName, TArraySizes* arraySizes)
|
||||
void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, const TString* instanceName,
|
||||
TArraySizes* arraySizes)
|
||||
{
|
||||
blockStageIoCheck(loc, currentBlockQualifier);
|
||||
blockQualifierCheck(loc, currentBlockQualifier, instanceName != nullptr);
|
||||
if (arraySizes) {
|
||||
if (arraySizes != nullptr) {
|
||||
arraySizesCheck(loc, currentBlockQualifier, arraySizes, false, false);
|
||||
arrayDimCheck(loc, arraySizes, 0);
|
||||
arrayOfArrayVersionCheck(loc, arraySizes);
|
||||
if (arraySizes->getNumDims() > 1)
|
||||
requireProfile(loc, ~EEsProfile, "array-of-array of block");
|
||||
}
|
||||
|
@ -5967,7 +5895,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
|
|||
if ((currentBlockQualifier.storage == EvqUniform || currentBlockQualifier.storage == EvqBuffer) && (memberQualifier.isInterpolation() || memberQualifier.isAuxiliary()))
|
||||
error(memberLoc, "member of uniform or buffer block cannot have an auxiliary or interpolation qualifier", memberType.getFieldName().c_str(), "");
|
||||
if (memberType.isArray())
|
||||
arraySizesCheck(memberLoc, currentBlockQualifier, &memberType.getArraySizes(), false, member == typeList.size() - 1);
|
||||
arraySizesCheck(memberLoc, currentBlockQualifier, memberType.getArraySizes(), false, member == typeList.size() - 1);
|
||||
if (memberQualifier.hasOffset()) {
|
||||
if (spvVersion.spv == 0) {
|
||||
requireProfile(memberLoc, ~EEsProfile, "offset on block member");
|
||||
|
@ -6089,8 +6017,8 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con
|
|||
//
|
||||
|
||||
TType blockType(&typeList, *blockName, currentBlockQualifier);
|
||||
if (arraySizes)
|
||||
blockType.newArraySizes(*arraySizes);
|
||||
if (arraySizes != nullptr)
|
||||
blockType.transferArraySizes(arraySizes);
|
||||
else
|
||||
ioArrayCheck(loc, blockType, instanceName ? *instanceName : *blockName);
|
||||
|
||||
|
|
|
@ -341,16 +341,14 @@ public:
|
|||
void arraySizeRequiredCheck(const TSourceLoc&, const TArraySizes&);
|
||||
void structArrayCheck(const TSourceLoc&, const TType& structure);
|
||||
void arraySizesCheck(const TSourceLoc&, const TQualifier&, TArraySizes*, bool initializer, bool lastMember);
|
||||
void arrayOfArrayVersionCheck(const TSourceLoc&);
|
||||
void arrayDimCheck(const TSourceLoc&, const TArraySizes* sizes1, const TArraySizes* sizes2);
|
||||
void arrayDimCheck(const TSourceLoc&, const TType*, const TArraySizes*);
|
||||
void arrayDimMerge(TType& type, const TArraySizes* sizes);
|
||||
void arrayOfArrayVersionCheck(const TSourceLoc&, const TArraySizes*);
|
||||
bool voidErrorCheck(const TSourceLoc&, const TString&, TBasicType);
|
||||
void boolCheck(const TSourceLoc&, const TIntermTyped*);
|
||||
void boolCheck(const TSourceLoc&, const TPublicType&);
|
||||
void samplerCheck(const TSourceLoc&, const TType&, const TString& identifier, TIntermTyped* initializer);
|
||||
void atomicUintCheck(const TSourceLoc&, const TType&, const TString& identifier);
|
||||
void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier);
|
||||
void memberQualifierCheck(glslang::TPublicType&);
|
||||
void globalQualifierFixCheck(const TSourceLoc&, TQualifier&);
|
||||
void globalQualifierTypeCheck(const TSourceLoc&, const TQualifier&, const TPublicType&);
|
||||
bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType);
|
||||
|
@ -363,7 +361,7 @@ public:
|
|||
bool containsFieldWithBasicType(const TType& type ,TBasicType basicType);
|
||||
TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&);
|
||||
void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
|
||||
void paramCheckFix(const TSourceLoc&, const TStorageQualifier&, TType& type);
|
||||
void paramCheckFixStorage(const TSourceLoc&, const TStorageQualifier&, TType& type);
|
||||
void paramCheckFix(const TSourceLoc&, const TQualifier&, TType& type);
|
||||
void nestedBlockCheck(const TSourceLoc&);
|
||||
void nestedStructCheck(const TSourceLoc&);
|
||||
|
@ -411,7 +409,6 @@ public:
|
|||
void wrapupSwitchSubsequence(TIntermAggregate* statements, TIntermNode* branchNode);
|
||||
TIntermNode* addSwitch(const TSourceLoc&, TIntermTyped* expression, TIntermAggregate* body);
|
||||
|
||||
void updateImplicitArraySize(const TSourceLoc&, TIntermNode*, int index);
|
||||
TAttributeType attributeFromName(const TString& name) const;
|
||||
TAttributes* makeAttributes(const TString& identifier) const;
|
||||
TAttributes* makeAttributes(const TString& identifier, TIntermNode* node) const;
|
||||
|
|
|
@ -1925,6 +1925,7 @@ const char* TProgram::getUniformBlockName(int index) const { return reflection
|
|||
int TProgram::getUniformBlockSize(int index) const { return reflection->getUniformBlock(index).size; }
|
||||
int TProgram::getUniformIndex(const char* name) const { return reflection->getIndex(name); }
|
||||
int TProgram::getUniformBinding(int index) const { return reflection->getUniform(index).getBinding(); }
|
||||
int TProgram::getUniformBlockBinding(int index) const { return reflection->getUniformBlock(index).getBinding(); }
|
||||
int TProgram::getUniformBlockIndex(int index) const { return reflection->getUniform(index).index; }
|
||||
int TProgram::getUniformBlockCounterIndex(int index) const { return reflection->getUniformBlock(index).counterIndex; }
|
||||
int TProgram::getUniformType(int index) const { return reflection->getUniform(index).glDefineType; }
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue