Merge remote-tracking branch 'refs/remotes/KhronosGroup/master'

This commit is contained in:
chaoc 2016-12-19 16:21:14 -08:00
commit 7583ed73ef
535 changed files with 62428 additions and 29565 deletions

2
.gitignore vendored
View File

@ -8,4 +8,6 @@ build/
Test/localResults/
Test/multiThread.out
Test/singleThread.out
Test/vert.spv
Test/frag.spv
External/googletest

View File

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 2.8.11)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
option(ENABLE_AMD_EXTENSIONS "Enables support of AMD-specific extensions" OFF)
option(ENABLE_AMD_EXTENSIONS "Enables support of AMD-specific extensions" ON)
enable_testing()

View File

@ -61,7 +61,10 @@ Building
```bash
cd <parent of where you want glslang to be>
# If using SSH
git clone git@github.com:KhronosGroup/glslang.git
# Or if using HTTPS
git clone https://github.com/KhronosGroup/glslang.git
```
#### 2) Check-Out External Projects

View File

@ -11,9 +11,12 @@ set(SPVREMAP_SOURCES
doc.cpp)
set(HEADERS
bitutils.h
spirv.hpp
GLSL.std.450.h
GLSL.ext.KHR.h
GlslangToSpv.h
hex_float.h
Logger.h
SpvBuilder.h
spvIR.h
@ -25,8 +28,9 @@ set(SPVREMAP_HEADERS
doc.h)
if(ENABLE_AMD_EXTENSIONS)
set(HEADERS
GLSL.ext.AMD.h)
list(APPEND
HEADERS
GLSL.ext.AMD.h)
endif(ENABLE_AMD_EXTENSIONS)
add_library(SPIRV STATIC ${SOURCES} ${HEADERS})

View File

@ -32,7 +32,7 @@ enum Decoration;
enum Op;
static const int GLSLextAMDVersion = 100;
static const int GLSLextAMDRevision = 1;
static const int GLSLextAMDRevision = 2;
// SPV_AMD_shader_ballot
static const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot";
@ -110,4 +110,7 @@ enum GcnShaderAMD {
GcnShaderCountAMD
};
// SPV_AMD_gpu_shader_half_float
static const char* const E_SPV_AMD_gpu_shader_half_float = "SPV_AMD_gpu_shader_half_float";
#endif // #ifndef GLSLextAMD_H

36
SPIRV/GLSL.ext.KHR.h Normal file
View File

@ -0,0 +1,36 @@
/*
** Copyright (c) 2014-2016 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a copy
** of this software and/or associated documentation files (the "Materials"),
** to deal in the Materials without restriction, including without limitation
** the rights to use, copy, modify, merge, publish, distribute, sublicense,
** and/or sell copies of the Materials, and to permit persons to whom the
** Materials are furnished to do so, subject to the following conditions:
**
** The above copyright notice and this permission notice shall be included in
** all copies or substantial portions of the Materials.
**
** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
** IN THE MATERIALS.
*/
#ifndef GLSLextKHR_H
#define GLSLextKHR_H
// SPV_KHR_shader_ballot
static const char* const E_SPV_KHR_shader_ballot = "SPV_KHR_shader_ballot";
// SPV_KHR_shader_draw_parameters
static const char* const E_SPV_KHR_shader_draw_parameters = "SPV_KHR_shader_draw_parameters";
#endif // #ifndef GLSLextKHR_H

View File

@ -42,9 +42,10 @@
#include "GlslangToSpv.h"
#include "SpvBuilder.h"
namespace spv {
#include "GLSL.std.450.h"
#include "GLSL.std.450.h"
#include "GLSL.ext.KHR.h"
#ifdef AMD_EXTENSIONS
#include "GLSL.ext.AMD.h"
#include "GLSL.ext.AMD.h"
#endif
}
@ -98,7 +99,7 @@ private:
class TGlslangToSpvTraverser : public glslang::TIntermTraverser {
public:
TGlslangToSpvTraverser(const glslang::TIntermediate*, spv::SpvBuildLogger* logger);
virtual ~TGlslangToSpvTraverser();
virtual ~TGlslangToSpvTraverser() { }
bool visitAggregate(glslang::TVisit, glslang::TIntermAggregate*);
bool visitBinary(glslang::TVisit, glslang::TIntermBinary*);
@ -110,9 +111,11 @@ public:
bool visitLoop(glslang::TVisit, glslang::TIntermLoop*);
bool visitBranch(glslang::TVisit visit, glslang::TIntermBranch*);
void finishSpv();
void dumpSpv(std::vector<unsigned int>& out);
protected:
spv::Decoration TranslateInterpolationDecoration(const glslang::TQualifier& qualifier);
spv::Decoration TranslateAuxiliaryStorageDecoration(const glslang::TQualifier& qualifier);
spv::BuiltIn TranslateBuiltInDecoration(glslang::TBuiltInVariable, bool memberDeclaration);
spv::ImageFormat TranslateImageFormat(const glslang::TType& type);
@ -154,10 +157,8 @@ protected:
spv::Id createConversion(glslang::TOperator op, spv::Decoration precision, spv::Decoration noContraction, spv::Id destTypeId, spv::Id operand, glslang::TBasicType typeProxy);
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);
spv::Id createInvocationsOperation(glslang::TOperator op, spv::Id typeId, spv::Id operand, glslang::TBasicType typeProxy);
#ifdef AMD_EXTENSIONS
spv::Id CreateInvocationsVectorOperation(spv::Op op, spv::Id typeId, spv::Id operand);
#endif
spv::Id createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
spv::Id CreateInvocationsVectorOperation(spv::Op op, spv::Id typeId, std::vector<spv::Id>& operands);
spv::Id createMiscOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
spv::Id createNoArgOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId);
spv::Id getSymbolId(const glslang::TIntermSymbol* node);
@ -173,6 +174,7 @@ protected:
spv::Id getExtBuiltins(const char* name);
spv::Function* shaderEntry;
spv::Function* currentFunction;
spv::Instruction* entryPoint;
int sequenceDepth;
@ -180,8 +182,8 @@ protected:
// There is a 1:1 mapping between a spv builder and a module; this is thread safe
spv::Builder builder;
bool inMain;
bool mainTerminated;
bool inEntryPoint;
bool entryPointTerminated;
bool linkageOnly; // true when visiting the set of objects in the AST present only for establishing interface, whether or not they were statically used
std::set<spv::Id> iOSet; // all input/output variables from either static use or declaration of interface
const glslang::TIntermediate* glslangIntermediate;
@ -381,7 +383,7 @@ spv::Decoration TranslateLayoutDecoration(const glslang::TType& type, glslang::T
// Translate glslang type to SPIR-V interpolation decorations.
// Returns spv::DecorationMax when no decoration
// should be applied.
spv::Decoration TranslateInterpolationDecoration(const glslang::TQualifier& qualifier)
spv::Decoration TGlslangToSpvTraverser::TranslateInterpolationDecoration(const glslang::TQualifier& qualifier)
{
if (qualifier.smooth)
// Smooth decoration doesn't exist in SPIR-V 1.0
@ -391,8 +393,10 @@ spv::Decoration TranslateInterpolationDecoration(const glslang::TQualifier& qual
else if (qualifier.flat)
return spv::DecorationFlat;
#ifdef AMD_EXTENSIONS
else if (qualifier.explicitInterp)
else if (qualifier.explicitInterp) {
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::DecorationExplicitInterpAMD;
}
#endif
else
return spv::DecorationMax;
@ -498,13 +502,27 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
case glslang::EbvInstanceId: return spv::BuiltInInstanceId;
case glslang::EbvVertexIndex: return spv::BuiltInVertexIndex;
case glslang::EbvInstanceIndex: return spv::BuiltInInstanceIndex;
case glslang::EbvBaseVertex:
builder.addExtension(spv::E_SPV_KHR_shader_draw_parameters);
builder.addCapability(spv::CapabilityDrawParameters);
return spv::BuiltInBaseVertex;
case glslang::EbvBaseInstance:
builder.addExtension(spv::E_SPV_KHR_shader_draw_parameters);
builder.addCapability(spv::CapabilityDrawParameters);
return spv::BuiltInBaseInstance;
case glslang::EbvDrawId:
// TODO: Add SPIR-V builtin ID.
logger->missingFunctionality("shader draw parameters");
return spv::BuiltInMax;
case glslang::EbvPrimitiveId: return spv::BuiltInPrimitiveId;
builder.addExtension(spv::E_SPV_KHR_shader_draw_parameters);
builder.addCapability(spv::CapabilityDrawParameters);
return spv::BuiltInDrawIndex;
case glslang::EbvPrimitiveId:
if (glslangIntermediate->getStage() == EShLangFragment)
builder.addCapability(spv::CapabilityGeometry);
return spv::BuiltInPrimitiveId;
case glslang::EbvInvocationId: return spv::BuiltInInvocationId;
case glslang::EbvTessLevelInner: return spv::BuiltInTessLevelInner;
case glslang::EbvTessLevelOuter: return spv::BuiltInTessLevelOuter;
@ -521,24 +539,70 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
case glslang::EbvLocalInvocationId: return spv::BuiltInLocalInvocationId;
case glslang::EbvLocalInvocationIndex: return spv::BuiltInLocalInvocationIndex;
case glslang::EbvGlobalInvocationId: return spv::BuiltInGlobalInvocationId;
case glslang::EbvSubGroupSize:
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupSize;
case glslang::EbvSubGroupInvocation:
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupLocalInvocationId;
case glslang::EbvSubGroupEqMask:
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupEqMaskKHR;
case glslang::EbvSubGroupGeMask:
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupGeMaskKHR;
case glslang::EbvSubGroupGtMask:
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupGtMaskKHR;
case glslang::EbvSubGroupLeMask:
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupLeMaskKHR;
case glslang::EbvSubGroupLtMask:
// TODO: Add SPIR-V builtin ID.
logger->missingFunctionality("shader ballot");
return spv::BuiltInMax;
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
return spv::BuiltInSubgroupLtMaskKHR;
#ifdef AMD_EXTENSIONS
case glslang::EbvBaryCoordNoPersp: return spv::BuiltInBaryCoordNoPerspAMD;
case glslang::EbvBaryCoordNoPerspCentroid: return spv::BuiltInBaryCoordNoPerspCentroidAMD;
case glslang::EbvBaryCoordNoPerspSample: return spv::BuiltInBaryCoordNoPerspSampleAMD;
case glslang::EbvBaryCoordSmooth: return spv::BuiltInBaryCoordSmoothAMD;
case glslang::EbvBaryCoordSmoothCentroid: return spv::BuiltInBaryCoordSmoothCentroidAMD;
case glslang::EbvBaryCoordSmoothSample: return spv::BuiltInBaryCoordSmoothSampleAMD;
case glslang::EbvBaryCoordPullModel: return spv::BuiltInBaryCoordPullModelAMD;
case glslang::EbvBaryCoordNoPersp:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordNoPerspAMD;
case glslang::EbvBaryCoordNoPerspCentroid:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordNoPerspCentroidAMD;
case glslang::EbvBaryCoordNoPerspSample:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordNoPerspSampleAMD;
case glslang::EbvBaryCoordSmooth:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordSmoothAMD;
case glslang::EbvBaryCoordSmoothCentroid:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordSmoothCentroidAMD;
case glslang::EbvBaryCoordSmoothSample:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordSmoothSampleAMD;
case glslang::EbvBaryCoordPullModel:
builder.addExtension(spv::E_SPV_AMD_shader_explicit_vertex_parameter);
return spv::BuiltInBaryCoordPullModelAMD;
#endif
default: return spv::BuiltInMax;
}
@ -702,9 +766,10 @@ bool HasNonLayoutQualifiers(const glslang::TType& type, const glslang::TQualifie
//
TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* glslangIntermediate, spv::SpvBuildLogger* buildLogger)
: TIntermTraverser(true, false, true), shaderEntry(0), sequenceDepth(0), logger(buildLogger),
: TIntermTraverser(true, false, true), shaderEntry(nullptr), currentFunction(nullptr),
sequenceDepth(0), logger(buildLogger),
builder((glslang::GetKhronosToolId() << 16) | GeneratorVersion, logger),
inMain(false), mainTerminated(false), linkageOnly(false),
inEntryPoint(false), entryPointTerminated(false), linkageOnly(false),
glslangIntermediate(glslangIntermediate)
{
spv::ExecutionModel executionModel = TranslateExecutionModel(glslangIntermediate->getStage());
@ -832,27 +897,27 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* gls
default:
break;
}
}
// Finish everything and dump
void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out)
// Finish creating SPV, after the traversal is complete.
void TGlslangToSpvTraverser::finishSpv()
{
if (! entryPointTerminated) {
builder.setBuildPoint(shaderEntry->getLastBlock());
builder.leaveFunction();
}
// finish off the entry-point SPV instruction by adding the Input/Output <id>
for (auto it = iOSet.cbegin(); it != iOSet.cend(); ++it)
entryPoint->addIdOperand(*it);
builder.eliminateDeadDecorations();
builder.dump(out);
}
TGlslangToSpvTraverser::~TGlslangToSpvTraverser()
// Write the SPV into 'out'.
void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out)
{
if (! mainTerminated) {
spv::Block* lastMainBlock = shaderEntry->getLastBlock();
builder.setBuildPoint(lastMainBlock);
builder.leaveFunction();
}
builder.dump(out);
}
//
@ -1190,6 +1255,10 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
one = builder.makeFloatConstant(1.0F);
else if (node->getBasicType() == glslang::EbtDouble)
one = builder.makeDoubleConstant(1.0);
#ifdef AMD_EXTENSIONS
else if (node->getBasicType() == glslang::EbtFloat16)
one = builder.makeFloat16Constant(1.0F);
#endif
else if (node->getBasicType() == glslang::EbtInt64 || node->getBasicType() == glslang::EbtUint64)
one = builder.makeInt64Constant(1);
else
@ -1283,7 +1352,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
// anything else gets there, so visit out of order, doing them all now.
makeGlobalInitializers(node->getAsAggregate()->getSequence());
// Initializers are done, don't want to visit again, but functions link objects need to be processed,
// Initializers are done, don't want to visit again, but functions and link objects need to be processed,
// so do them manually.
visitFunctions(node->getAsAggregate()->getSequence());
@ -1314,16 +1383,17 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
case glslang::EOpFunction:
if (visit == glslang::EvPreVisit) {
if (isShaderEntryPoint(node)) {
inMain = true;
inEntryPoint = true;
builder.setBuildPoint(shaderEntry->getLastBlock());
currentFunction = shaderEntry;
} else {
handleFunctionEntry(node);
}
} else {
if (inMain)
mainTerminated = true;
if (inEntryPoint)
entryPointTerminated = true;
builder.leaveFunction();
inMain = false;
inEntryPoint = false;
}
return true;
@ -1363,6 +1433,17 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
case glslang::EOpConstructDMat4x2:
case glslang::EOpConstructDMat4x3:
case glslang::EOpConstructDMat4x4:
#ifdef AMD_EXTENSIONS
case glslang::EOpConstructF16Mat2x2:
case glslang::EOpConstructF16Mat2x3:
case glslang::EOpConstructF16Mat2x4:
case glslang::EOpConstructF16Mat3x2:
case glslang::EOpConstructF16Mat3x3:
case glslang::EOpConstructF16Mat3x4:
case glslang::EOpConstructF16Mat4x2:
case glslang::EOpConstructF16Mat4x3:
case glslang::EOpConstructF16Mat4x4:
#endif
isMatrix = true;
// fall through
case glslang::EOpConstructFloat:
@ -1373,6 +1454,12 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
case glslang::EOpConstructDVec2:
case glslang::EOpConstructDVec3:
case glslang::EOpConstructDVec4:
#ifdef AMD_EXTENSIONS
case glslang::EOpConstructFloat16:
case glslang::EOpConstructF16Vec2:
case glslang::EOpConstructF16Vec3:
case glslang::EOpConstructF16Vec4:
#endif
case glslang::EOpConstructBool:
case glslang::EOpConstructBVec2:
case glslang::EOpConstructBVec3:
@ -1806,9 +1893,18 @@ bool TGlslangToSpvTraverser::visitBranch(glslang::TVisit /* visit */, glslang::T
builder.createLoopContinue();
break;
case glslang::EOpReturn:
if (node->getExpression())
builder.makeReturn(false, accessChainLoad(node->getExpression()->getType()));
else
if (node->getExpression()) {
const glslang::TType& glslangReturnType = node->getExpression()->getType();
spv::Id returnId = accessChainLoad(glslangReturnType);
if (builder.getTypeId(returnId) != currentFunction->getReturnType()) {
builder.clearAccessChain();
spv::Id copyId = builder.createVariable(spv::StorageClassFunction, currentFunction->getReturnType());
builder.setAccessChainLValue(copyId);
multiTypeStore(glslangReturnType, returnId);
returnId = builder.createLoad(copyId);
}
builder.makeReturn(false, returnId);
} else
builder.makeReturn(false);
builder.clearAccessChain();
@ -1876,7 +1972,6 @@ spv::Id TGlslangToSpvTraverser::createInvertedSwizzle(spv::Decoration precision,
return builder.createRvalueSwizzle(precision, convertGlslangToSpvType(node.getType()), parentResult, swizzle);
}
// Convert a glslang AST swizzle node to a swizzle vector for building SPIR-V.
void TGlslangToSpvTraverser::convertSwizzle(const glslang::TIntermAggregate& node, std::vector<unsigned>& swizzle)
{
@ -1911,6 +2006,13 @@ spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& ty
case glslang::EbtDouble:
spvType = builder.makeFloatType(64);
break;
#ifdef AMD_EXTENSIONS
case glslang::EbtFloat16:
builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
builder.addCapability(spv::CapabilityFloat16);
spvType = builder.makeFloatType(16);
break;
#endif
case glslang::EbtBool:
// "transparent" bool doesn't exist in SPIR-V. The GLSL convention is
// a 32-bit int where non-0 means true.
@ -2274,7 +2376,7 @@ void TGlslangToSpvTraverser::accessChainStore(const glslang::TType& type, spv::I
// SPIR-V level.
//
// This especially happens when a single glslang type expands to multiple
// SPIR-V types, like a struct that is used in an member-undecorated way as well
// SPIR-V types, like a struct that is used in a member-undecorated way as well
// as in a member-decorated way.
//
// NOTE: This function can handle any store request; if it's not special it
@ -2532,7 +2634,7 @@ void TGlslangToSpvTraverser::visitFunctions(const glslang::TIntermSequence& glsl
{
for (int f = 0; f < (int)glslFunctions.size(); ++f) {
glslang::TIntermAggregate* node = glslFunctions[f]->getAsAggregate();
if (node && (node->getOp() == glslang::EOpFunction || node->getOp() == glslang ::EOpLinkerObjects))
if (node && (node->getOp() == glslang::EOpFunction || node->getOp() == glslang::EOpLinkerObjects))
node->traverse(this);
}
}
@ -2541,8 +2643,8 @@ void TGlslangToSpvTraverser::handleFunctionEntry(const glslang::TIntermAggregate
{
// SPIR-V functions should already be in the functionMap from the prepass
// that called makeFunctions().
spv::Function* function = functionMap[node->getName().c_str()];
spv::Block* functionBlock = function->getEntryBlock();
currentFunction = functionMap[node->getName().c_str()];
spv::Block* functionBlock = currentFunction->getEntryBlock();
builder.setBuildPoint(functionBlock);
}
@ -2667,9 +2769,10 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
// Check for queries
if (cracked.query) {
// a sampled image needs to have the image extracted first
if (builder.isSampledImage(params.sampler))
// OpImageQueryLod works on a sampled image, for other queries the image has to be extracted first
if (node->getOp() != glslang::EOpTextureQueryLod && builder.isSampledImage(params.sampler))
params.sampler = builder.createUnaryOp(spv::OpImage, builder.getImageType(params.sampler), params.sampler);
switch (node->getOp()) {
case glslang::EOpImageQuerySize:
case glslang::EOpTextureQuerySize:
@ -3015,7 +3118,11 @@ spv::Id TGlslangToSpvTraverser::createBinaryOperation(glslang::TOperator op, spv
glslang::TBasicType typeProxy, bool reduceComparison)
{
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
#ifdef AMD_EXTENSIONS
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
#else
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
#endif
bool isBool = typeProxy == glslang::EbtBool;
spv::Op binOp = spv::OpNop;
@ -3341,7 +3448,11 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
int extBuiltins = -1;
int libCall = -1;
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
#ifdef AMD_EXTENSIONS
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
#else
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
#endif
switch (op) {
case glslang::EOpNegative:
@ -3525,6 +3636,13 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
unaryOp = spv::OpBitcast;
break;
#ifdef AMD_EXTENSIONS
case glslang::EOpPackFloat2x16:
case glslang::EOpUnpackFloat2x16:
unaryOp = spv::OpBitcast;
break;
#endif
case glslang::EOpDPdx:
unaryOp = spv::OpDPdx;
break;
@ -3610,10 +3728,6 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
case glslang::EOpBallot:
case glslang::EOpReadFirstInvocation:
logger->missingFunctionality("shader ballot");
libCall = spv::GLSLstd450Bad;
break;
case glslang::EOpAnyInvocation:
case glslang::EOpAllInvocations:
case glslang::EOpAllInvocationsEqual:
@ -3625,7 +3739,11 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, spv:
case glslang::EOpMaxInvocationsNonUniform:
case glslang::EOpAddInvocationsNonUniform:
#endif
return createInvocationsOperation(op, typeId, operand, typeProxy);
{
std::vector<spv::Id> operands;
operands.push_back(operand);
return createInvocationsOperation(op, typeId, operands, typeProxy);
}
#ifdef AMD_EXTENSIONS
case glslang::EOpMbcnt:
@ -3721,22 +3839,40 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
zero = makeSmearedConstant(zero, vectorSize);
return builder.createBinOp(spv::OpFOrdNotEqual, destType, operand, zero);
#ifdef AMD_EXTENSIONS
case glslang::EOpConvFloat16ToBool:
zero = builder.makeFloat16Constant(0.0F);
zero = makeSmearedConstant(zero, vectorSize);
return builder.createBinOp(spv::OpFOrdNotEqual, destType, operand, zero);
#endif
case glslang::EOpConvBoolToFloat:
convOp = spv::OpSelect;
zero = builder.makeFloatConstant(0.0);
one = builder.makeFloatConstant(1.0);
zero = builder.makeFloatConstant(0.0F);
one = builder.makeFloatConstant(1.0F);
break;
case glslang::EOpConvBoolToDouble:
convOp = spv::OpSelect;
zero = builder.makeDoubleConstant(0.0);
one = builder.makeDoubleConstant(1.0);
break;
#ifdef AMD_EXTENSIONS
case glslang::EOpConvBoolToFloat16:
convOp = spv::OpSelect;
zero = builder.makeFloat16Constant(0.0F);
one = builder.makeFloat16Constant(1.0F);
break;
#endif
case glslang::EOpConvBoolToInt:
case glslang::EOpConvBoolToInt64:
zero = (op == glslang::EOpConvBoolToInt64) ? builder.makeInt64Constant(0) : builder.makeIntConstant(0);
one = (op == glslang::EOpConvBoolToInt64) ? builder.makeInt64Constant(1) : builder.makeIntConstant(1);
convOp = spv::OpSelect;
break;
case glslang::EOpConvBoolToUint:
case glslang::EOpConvBoolToUint64:
zero = (op == glslang::EOpConvBoolToUint64) ? builder.makeUint64Constant(0) : builder.makeUintConstant(0);
@ -3748,6 +3884,10 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
case glslang::EOpConvIntToDouble:
case glslang::EOpConvInt64ToFloat:
case glslang::EOpConvInt64ToDouble:
#ifdef AMD_EXTENSIONS
case glslang::EOpConvIntToFloat16:
case glslang::EOpConvInt64ToFloat16:
#endif
convOp = spv::OpConvertSToF;
break;
@ -3755,11 +3895,21 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
case glslang::EOpConvUintToDouble:
case glslang::EOpConvUint64ToFloat:
case glslang::EOpConvUint64ToDouble:
#ifdef AMD_EXTENSIONS
case glslang::EOpConvUintToFloat16:
case glslang::EOpConvUint64ToFloat16:
#endif
convOp = spv::OpConvertUToF;
break;
case glslang::EOpConvDoubleToFloat:
case glslang::EOpConvFloatToDouble:
#ifdef AMD_EXTENSIONS
case glslang::EOpConvDoubleToFloat16:
case glslang::EOpConvFloat16ToDouble:
case glslang::EOpConvFloatToFloat16:
case glslang::EOpConvFloat16ToFloat:
#endif
convOp = spv::OpFConvert;
if (builder.isMatrixType(destType))
return createUnaryMatrixOperation(convOp, precision, noContraction, destType, operand, typeProxy);
@ -3769,6 +3919,10 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
case glslang::EOpConvDoubleToInt:
case glslang::EOpConvFloatToInt64:
case glslang::EOpConvDoubleToInt64:
#ifdef AMD_EXTENSIONS
case glslang::EOpConvFloat16ToInt:
case glslang::EOpConvFloat16ToInt64:
#endif
convOp = spv::OpConvertFToS;
break;
@ -3793,6 +3947,10 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
case glslang::EOpConvDoubleToUint:
case glslang::EOpConvFloatToUint64:
case glslang::EOpConvDoubleToUint64:
#ifdef AMD_EXTENSIONS
case glslang::EOpConvFloat16ToUint:
case glslang::EOpConvFloat16ToUint64:
#endif
convOp = spv::OpConvertFToU;
break;
@ -3959,125 +4117,176 @@ spv::Id TGlslangToSpvTraverser::createAtomicOperation(glslang::TOperator op, spv
}
// Create group invocation operations.
spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, spv::Id operand, glslang::TBasicType typeProxy)
spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
{
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
builder.addCapability(spv::CapabilityGroups);
std::vector<spv::Id> operands;
operands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
#ifdef AMD_EXTENSIONS
if (op == glslang::EOpMinInvocations || op == glslang::EOpMaxInvocations || op == glslang::EOpAddInvocations ||
op == glslang::EOpMinInvocationsNonUniform || op == glslang::EOpMaxInvocationsNonUniform || op == glslang::EOpAddInvocationsNonUniform)
operands.push_back(spv::GroupOperationReduce);
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
#endif
operands.push_back(operand);
spv::Op opCode = spv::OpNop;
std::vector<spv::Id> spvGroupOperands;
if (op == glslang::EOpBallot || op == glslang::EOpReadFirstInvocation) {
builder.addExtension(spv::E_SPV_KHR_shader_ballot);
builder.addCapability(spv::CapabilitySubgroupBallotKHR);
} else {
builder.addCapability(spv::CapabilityGroups);
#ifdef AMD_EXTENSIONS
if (op == glslang::EOpMinInvocationsNonUniform ||
op == glslang::EOpMaxInvocationsNonUniform ||
op == glslang::EOpAddInvocationsNonUniform)
builder.addExtension(spv::E_SPV_AMD_shader_ballot);
#endif
spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
#ifdef AMD_EXTENSIONS
if (op == glslang::EOpMinInvocations || op == glslang::EOpMaxInvocations || op == glslang::EOpAddInvocations ||
op == glslang::EOpMinInvocationsNonUniform || op == glslang::EOpMaxInvocationsNonUniform || op == glslang::EOpAddInvocationsNonUniform)
spvGroupOperands.push_back(spv::GroupOperationReduce);
#endif
}
for (auto opIt = operands.begin(); opIt != operands.end(); ++opIt)
spvGroupOperands.push_back(*opIt);
switch (op) {
case glslang::EOpAnyInvocation:
opCode = spv::OpGroupAny;
break;
case glslang::EOpAllInvocations:
return builder.createOp(op == glslang::EOpAnyInvocation ? spv::OpGroupAny : spv::OpGroupAll, typeId, operands);
opCode = spv::OpGroupAll;
break;
case glslang::EOpAllInvocationsEqual:
{
spv::Id groupAll = builder.createOp(spv::OpGroupAll, typeId, operands);
spv::Id groupAny = builder.createOp(spv::OpGroupAny, typeId, operands);
spv::Id groupAll = builder.createOp(spv::OpGroupAll, typeId, spvGroupOperands);
spv::Id groupAny = builder.createOp(spv::OpGroupAny, typeId, spvGroupOperands);
return builder.createBinOp(spv::OpLogicalOr, typeId, groupAll,
builder.createUnaryOp(spv::OpLogicalNot, typeId, groupAny));
}
case glslang::EOpReadInvocation:
opCode = spv::OpGroupBroadcast;
if (builder.isVectorType(typeId))
return CreateInvocationsVectorOperation(opCode, typeId, operands);
break;
case glslang::EOpReadFirstInvocation:
opCode = spv::OpSubgroupFirstInvocationKHR;
break;
case glslang::EOpBallot:
{
// NOTE: According to the spec, the result type of "OpSubgroupBallotKHR" must be a 4 component vector of 32
// bit integer types. The GLSL built-in function "ballotARB()" assumes the maximum number of invocations in
// a subgroup is 64. Thus, we have to convert uvec4.xy to uint64_t as follow:
//
// result = Bitcast(SubgroupBallotKHR(Predicate).xy)
//
spv::Id uintType = builder.makeUintType(32);
spv::Id uvec4Type = builder.makeVectorType(uintType, 4);
spv::Id result = builder.createOp(spv::OpSubgroupBallotKHR, uvec4Type, spvGroupOperands);
std::vector<spv::Id> components;
components.push_back(builder.createCompositeExtract(result, uintType, 0));
components.push_back(builder.createCompositeExtract(result, uintType, 1));
spv::Id uvec2Type = builder.makeVectorType(uintType, 2);
return builder.createUnaryOp(spv::OpBitcast, typeId,
builder.createCompositeConstruct(uvec2Type, components));
}
#ifdef AMD_EXTENSIONS
case glslang::EOpMinInvocations:
case glslang::EOpMaxInvocations:
case glslang::EOpAddInvocations:
{
spv::Op spvOp = spv::OpNop;
if (op == glslang::EOpMinInvocations) {
if (isFloat)
spvOp = spv::OpGroupFMin;
opCode = spv::OpGroupFMin;
else {
if (isUnsigned)
spvOp = spv::OpGroupUMin;
opCode = spv::OpGroupUMin;
else
spvOp = spv::OpGroupSMin;
opCode = spv::OpGroupSMin;
}
} else if (op == glslang::EOpMaxInvocations) {
if (isFloat)
spvOp = spv::OpGroupFMax;
opCode = spv::OpGroupFMax;
else {
if (isUnsigned)
spvOp = spv::OpGroupUMax;
opCode = spv::OpGroupUMax;
else
spvOp = spv::OpGroupSMax;
opCode = spv::OpGroupSMax;
}
} else {
if (isFloat)
spvOp = spv::OpGroupFAdd;
opCode = spv::OpGroupFAdd;
else
spvOp = spv::OpGroupIAdd;
opCode = spv::OpGroupIAdd;
}
if (builder.isVectorType(typeId))
return CreateInvocationsVectorOperation(spvOp, typeId, operand);
else
return builder.createOp(spvOp, typeId, operands);
}
return CreateInvocationsVectorOperation(opCode, typeId, operands);
break;
case glslang::EOpMinInvocationsNonUniform:
case glslang::EOpMaxInvocationsNonUniform:
case glslang::EOpAddInvocationsNonUniform:
{
spv::Op spvOp = spv::OpNop;
if (op == glslang::EOpMinInvocationsNonUniform) {
if (isFloat)
spvOp = spv::OpGroupFMinNonUniformAMD;
opCode = spv::OpGroupFMinNonUniformAMD;
else {
if (isUnsigned)
spvOp = spv::OpGroupUMinNonUniformAMD;
opCode = spv::OpGroupUMinNonUniformAMD;
else
spvOp = spv::OpGroupSMinNonUniformAMD;
opCode = spv::OpGroupSMinNonUniformAMD;
}
}
else if (op == glslang::EOpMaxInvocationsNonUniform) {
if (isFloat)
spvOp = spv::OpGroupFMaxNonUniformAMD;
opCode = spv::OpGroupFMaxNonUniformAMD;
else {
if (isUnsigned)
spvOp = spv::OpGroupUMaxNonUniformAMD;
opCode = spv::OpGroupUMaxNonUniformAMD;
else
spvOp = spv::OpGroupSMaxNonUniformAMD;
opCode = spv::OpGroupSMaxNonUniformAMD;
}
}
else {
if (isFloat)
spvOp = spv::OpGroupFAddNonUniformAMD;
opCode = spv::OpGroupFAddNonUniformAMD;
else
spvOp = spv::OpGroupIAddNonUniformAMD;
opCode = spv::OpGroupIAddNonUniformAMD;
}
if (builder.isVectorType(typeId))
return CreateInvocationsVectorOperation(spvOp, typeId, operand);
else
return builder.createOp(spvOp, typeId, operands);
}
return CreateInvocationsVectorOperation(opCode, typeId, operands);
break;
#endif
default:
logger->missingFunctionality("invocation operation");
return spv::NoResult;
}
assert(opCode != spv::OpNop);
return builder.createOp(opCode, typeId, spvGroupOperands);
}
#ifdef AMD_EXTENSIONS
// Create group invocation operations on a vector
spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv::Id typeId, spv::Id operand)
spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv::Id typeId, std::vector<spv::Id>& operands)
{
#ifdef AMD_EXTENSIONS
assert(op == spv::OpGroupFMin || op == spv::OpGroupUMin || op == spv::OpGroupSMin ||
op == spv::OpGroupFMax || op == spv::OpGroupUMax || op == spv::OpGroupSMax ||
op == spv::OpGroupFAdd || op == spv::OpGroupIAdd ||
op == spv::OpGroupFAdd || op == spv::OpGroupIAdd || op == spv::OpGroupBroadcast ||
op == spv::OpGroupFMinNonUniformAMD || op == spv::OpGroupUMinNonUniformAMD || op == spv::OpGroupSMinNonUniformAMD ||
op == spv::OpGroupFMaxNonUniformAMD || op == spv::OpGroupUMaxNonUniformAMD || op == spv::OpGroupSMaxNonUniformAMD ||
op == spv::OpGroupFAddNonUniformAMD || op == spv::OpGroupIAddNonUniformAMD);
#else
assert(op == spv::OpGroupFMin || op == spv::OpGroupUMin || op == spv::OpGroupSMin ||
op == spv::OpGroupFMax || op == spv::OpGroupUMax || op == spv::OpGroupSMax ||
op == spv::OpGroupFAdd || op == spv::OpGroupIAdd || op == spv::OpGroupBroadcast);
#endif
// Handle group invocation operations scalar by scalar.
// The result type is the same type as the original type.
@ -4087,33 +4296,41 @@ spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv
// - make a vector out the scalar results
// get the types sorted out
int numComponents = builder.getNumComponents(operand);
spv::Id scalarType = builder.getScalarTypeId(builder.getTypeId(operand));
int numComponents = builder.getNumComponents(operands[0]);
spv::Id scalarType = builder.getScalarTypeId(builder.getTypeId(operands[0]));
std::vector<spv::Id> results;
// do each scalar op
for (int comp = 0; comp < numComponents; ++comp) {
std::vector<unsigned int> indexes;
indexes.push_back(comp);
spv::Id scalar = builder.createCompositeExtract(operand, scalarType, indexes);
spv::Id scalar = builder.createCompositeExtract(operands[0], scalarType, indexes);
std::vector<spv::Id> operands;
operands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
operands.push_back(spv::GroupOperationReduce);
operands.push_back(scalar);
std::vector<spv::Id> spvGroupOperands;
spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
if (op == spv::OpGroupBroadcast) {
spvGroupOperands.push_back(scalar);
spvGroupOperands.push_back(operands[1]);
} else {
spvGroupOperands.push_back(spv::GroupOperationReduce);
spvGroupOperands.push_back(scalar);
}
results.push_back(builder.createOp(op, scalarType, operands));
results.push_back(builder.createOp(op, scalarType, spvGroupOperands));
}
// put the pieces together
return builder.createCompositeConstruct(typeId, results);
}
#endif
spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
{
bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
#ifdef AMD_EXTENSIONS
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
#else
bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
#endif
spv::Op opCode = spv::OpNop;
int extBuiltins = -1;
@ -4256,9 +4473,7 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
break;
case glslang::EOpReadInvocation:
logger->missingFunctionality("shader ballot");
libCall = spv::GLSLstd450Bad;
break;
return createInvocationsOperation(op, typeId, operands, typeProxy);
#ifdef AMD_EXTENSIONS
case glslang::EOpSwizzleInvocations:
@ -4383,7 +4598,7 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv:
builder.createNoResultOp(spv::OpEndPrimitive);
return 0;
case glslang::EOpBarrier:
builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
return 0;
case glslang::EOpMemoryBarrier:
builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory);
@ -4645,6 +4860,11 @@ spv::Id TGlslangToSpvTraverser::createSpvConstantFromConstUnionArray(const glsla
case glslang::EbtDouble:
spvConsts.push_back(builder.makeDoubleConstant(zero ? 0.0 : consts[nextConst].getDConst()));
break;
#ifdef AMD_EXTENSIONS
case glslang::EbtFloat16:
spvConsts.push_back(builder.makeFloat16Constant(zero ? 0.0F : (float)consts[nextConst].getDConst()));
break;
#endif
case glslang::EbtBool:
spvConsts.push_back(builder.makeBoolConstant(zero ? false : consts[nextConst].getBConst()));
break;
@ -4677,6 +4897,11 @@ spv::Id TGlslangToSpvTraverser::createSpvConstantFromConstUnionArray(const glsla
case glslang::EbtDouble:
scalar = builder.makeDoubleConstant(zero ? 0.0 : consts[nextConst].getDConst(), specConstant);
break;
#ifdef AMD_EXTENSIONS
case glslang::EbtFloat16:
scalar = builder.makeFloat16Constant(zero ? 0.0F : (float)consts[nextConst].getDConst(), specConstant);
break;
#endif
case glslang::EbtBool:
scalar = builder.makeBoolConstant(zero ? false : consts[nextConst].getBConst(), specConstant);
break;
@ -4825,7 +5050,7 @@ spv::Id TGlslangToSpvTraverser::getExtBuiltins(const char* name)
if (extBuiltinMap.find(name) != extBuiltinMap.end())
return extBuiltinMap[name];
else {
builder.addExtensions(name);
builder.addExtension(name);
spv::Id extBuiltins = builder.import(name);
extBuiltinMap[name] = extBuiltins;
return extBuiltins;
@ -4896,9 +5121,8 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
glslang::GetThreadPoolAllocator().push();
TGlslangToSpvTraverser it(&intermediate, logger);
root->traverse(&it);
it.finishSpv();
it.dumpSpv(spirv);
glslang::GetThreadPoolAllocator().pop();

View File

@ -32,6 +32,10 @@
//ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//POSSIBILITY OF SUCH DAMAGE.
#if _MSC_VER >= 1900
#pragma warning(disable : 4464) // relative include path contains '..'
#endif
#include "../glslang/Include/intermediate.h"
#include <string>

View File

@ -327,12 +327,10 @@ namespace spv {
bound(maxBound); // reset header ID bound to as big as it now needs to be
}
// Mark debug instructions for stripping
void spirvbin_t::stripDebug()
{
if ((options & STRIP) == 0)
return;
// build local Id and name maps
// Strip instructions in the stripOp set: debug info.
process(
[&](spv::Op opCode, unsigned start) {
// remember opcodes we want to strip later
@ -343,6 +341,32 @@ namespace spv {
op_fn_nop);
}
// Mark instructions that refer to now-removed IDs for stripping
void spirvbin_t::stripDeadRefs()
{
process(
[&](spv::Op opCode, unsigned start) {
// strip opcodes pointing to removed data
switch (opCode) {
case spv::OpName:
case spv::OpMemberName:
case spv::OpDecorate:
case spv::OpMemberDecorate:
if (idPosR.find(asId(start+1)) == idPosR.end())
stripInst(start);
break;
default:
break; // leave it alone
}
return true;
},
op_fn_nop);
strip();
}
// Update local maps of ID, type, etc positions
void spirvbin_t::buildLocalMaps()
{
msg(2, 2, std::string("build local maps: "));
@ -351,7 +375,6 @@ namespace spv {
idMapL.clear();
// preserve nameMap, so we don't clear that.
fnPos.clear();
fnPosDCE.clear();
fnCalls.clear();
typeConstPos.clear();
idPosR.clear();
@ -366,10 +389,6 @@ namespace spv {
// build local Id and name maps
process(
[&](spv::Op opCode, unsigned start) {
// remember opcodes we want to strip later
if ((options & STRIP) && isStripOp(opCode))
stripInst(start);
unsigned word = start+1;
spv::Id typeId = spv::NoResult;
@ -957,7 +976,6 @@ namespace spv {
if (call_it == fnCalls.end() || call_it->second == 0) {
changed = true;
stripRange.push_back(fn->second);
fnPosDCE.insert(*fn);
// decrease counts of called functions
process(
@ -1011,11 +1029,15 @@ namespace spv {
// Remove single-use function variables + associated decorations and names
process(
[&](spv::Op opCode, unsigned start) {
if ((opCode == spv::OpVariable && varUseCount[asId(start+2)] == 1) ||
(opCode == spv::OpDecorate && varUseCount[asId(start+1)] == 1) ||
(opCode == spv::OpName && varUseCount[asId(start+1)] == 1)) {
stripInst(start);
}
spv::Id id = spv::NoResult;
if (opCode == spv::OpVariable)
id = asId(start+2);
if (opCode == spv::OpDecorate || opCode == spv::OpName)
id = asId(start+1);
if (id != spv::NoResult && varUseCount[id] == 1)
stripInst(start);
return true;
},
op_fn_nop);
@ -1276,25 +1298,31 @@ namespace spv {
// Set up opcode tables from SpvDoc
spv::Parameterize();
validate(); // validate header
buildLocalMaps();
validate(); // validate header
buildLocalMaps(); // build ID maps
msg(3, 4, std::string("ID bound: ") + std::to_string(bound()));
if (options & STRIP) stripDebug();
strip(); // strip out data we decided to eliminate
if (options & OPT_LOADSTORE) optLoadStore();
if (options & OPT_FWD_LS) forwardLoadStores();
if (options & DCE_FUNCS) dceFuncs();
if (options & DCE_VARS) dceVars();
if (options & DCE_TYPES) dceTypes();
strip(); // strip out data we decided to eliminate
strip(); // strip out data we decided to eliminate
stripDeadRefs(); // remove references to things we DCEed
// after the last strip, we must clean any debug info referring to now-deleted data
if (options & MAP_TYPES) mapTypeConst();
if (options & MAP_NAMES) mapNames();
if (options & MAP_FUNCS) mapFnBodies();
mapRemainder(); // map any unmapped IDs
applyMap(); // Now remap each shader to the new IDs we've come up with
if (options & MAP_ALL) {
mapRemainder(); // map any unmapped IDs
applyMap(); // Now remap each shader to the new IDs we've come up with
}
}
// remap from a memory image

View File

@ -75,6 +75,7 @@ public:
#if !defined (use_cpp11)
#include <cstdio>
#include <cstdint>
namespace spv {
class spirvbin_t : public spirvbin_base_t
@ -238,7 +239,8 @@ private:
void applyMap(); // remap per local name map
void mapRemainder(); // map any IDs we haven't touched yet
void stripDebug(); // strip debug info
void stripDebug(); // strip all debug info
void stripDeadRefs(); // strips debug info for now-dead references after DCE
void strip(); // remove debug symbols
std::vector<spirword_t> spv; // SPIR words
@ -263,7 +265,6 @@ private:
// Function start and end. use unordered_map because we'll have
// many fewer functions than IDs.
std::unordered_map<spv::Id, range_t> fnPos;
std::unordered_map<spv::Id, range_t> fnPosDCE; // deleted functions
// Which functions are called, anywhere in the module, with a call count
std::unordered_map<spv::Id, int> fnCalls;

View File

@ -46,6 +46,10 @@
#include "SpvBuilder.h"
#ifdef AMD_EXTENSIONS
#include "hex_float.h"
#endif
#ifndef _WIN32
#include <cstdio>
#endif
@ -60,7 +64,7 @@ Builder::Builder(unsigned int magicNumber, SpvBuildLogger* buildLogger) :
builderNumber(magicNumber),
buildPoint(0),
uniqueId(0),
mainFunction(0),
entryPointFunction(0),
generatingOpCodeForSpecConst(false),
logger(buildLogger)
{
@ -785,6 +789,36 @@ Id Builder::makeDoubleConstant(double d, bool specConstant)
return c->getResultId();
}
#ifdef AMD_EXTENSIONS
Id Builder::makeFloat16Constant(float f16, bool specConstant)
{
Op opcode = specConstant ? OpSpecConstant : OpConstant;
Id typeId = makeFloatType(16);
spvutils::HexFloat<spvutils::FloatProxy<float>> fVal(f16);
spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>> f16Val(0);
fVal.castTo(f16Val, spvutils::kRoundToZero);
unsigned value = f16Val.value().getAsFloat().get_value();
// See if we already made it. Applies only to regular constants, because specialization constants
// must remain distinct for the purpose of applying a SpecId decoration.
if (!specConstant) {
Id existing = findScalarConstant(OpTypeFloat, opcode, typeId, value);
if (existing)
return existing;
}
Instruction* c = new Instruction(getUniqueId(), typeId, opcode);
c->addImmediateOperand(value);
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(c));
groupedConstants[OpTypeFloat].push_back(c);
module.mapInstruction(c);
return c->getResultId();
}
#endif
Id Builder::findCompositeConstant(Op typeClass, std::vector<Id>& comps) const
{
Instruction* constant = 0;
@ -933,15 +967,15 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat
// Comments in header
Function* Builder::makeEntryPoint(const char* entryPoint)
{
assert(! mainFunction);
assert(! entryPointFunction);
Block* entry;
std::vector<Id> params;
std::vector<Decoration> precisions;
mainFunction = makeFunctionEntry(NoPrecision, makeVoidType(), entryPoint, params, precisions, &entry);
entryPointFunction = makeFunctionEntry(NoPrecision, makeVoidType(), entryPoint, params, precisions, &entry);
return mainFunction;
return entryPointFunction;
}
// Comments in header
@ -2110,6 +2144,7 @@ void Builder::accessChainPushSwizzle(std::vector<unsigned>& swizzle, Id preSwizz
std::vector<unsigned> oldSwizzle = accessChain.swizzle;
accessChain.swizzle.resize(0);
for (unsigned int i = 0; i < swizzle.size(); ++i) {
assert(swizzle[i] < oldSwizzle.size());
accessChain.swizzle.push_back(oldSwizzle[swizzle[i]]);
}
} else
@ -2318,9 +2353,9 @@ void Builder::dump(std::vector<unsigned int>& out) const
capInst.dump(out);
}
for (int e = 0; e < (int)extensions.size(); ++e) {
for (auto it = extensions.cbegin(); it != extensions.cend(); ++it) {
Instruction extInst(0, 0, OpExtension);
extInst.addStringOperand(extensions[e]);
extInst.addStringOperand(*it);
extInst.dump(out);
}

View File

@ -71,7 +71,7 @@ public:
sourceVersion = version;
}
void addSourceExtension(const char* ext) { sourceExtensions.push_back(ext); }
void addExtensions(const char* ext) { extensions.push_back(ext); }
void addExtension(const char* ext) { extensions.insert(ext); }
Id import(const char*);
void setMemoryModel(spv::AddressingModel addr, spv::MemoryModel mem)
{
@ -191,6 +191,9 @@ public:
Id makeUint64Constant(unsigned long long u, bool specConstant = false) { return makeInt64Constant(makeUintType(64), u, specConstant); }
Id makeFloatConstant(float f, bool specConstant = false);
Id makeDoubleConstant(double d, bool specConstant = false);
#ifdef AMD_EXTENSIONS
Id makeFloat16Constant(float f16, bool specConstant = false);
#endif
// Turn the array of constants into a proper spv constant of the requested type.
Id makeCompositeConstant(Id type, std::vector<Id>& comps, bool specConst = false);
@ -552,7 +555,7 @@ public:
SourceLanguage source;
int sourceVersion;
std::vector<const char*> extensions;
std::set<const char*> extensions;
std::vector<const char*> sourceExtensions;
AddressingModel addressModel;
MemoryModel memoryModel;
@ -561,7 +564,7 @@ public:
Module module;
Block* buildPoint;
Id uniqueId;
Function* mainFunction;
Function* entryPointFunction;
bool generatingOpCodeForSpecConst;
AccessChain accessChain;

81
SPIRV/bitutils.h Normal file
View File

@ -0,0 +1,81 @@
// Copyright (c) 2015-2016 The Khronos Group Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef LIBSPIRV_UTIL_BITUTILS_H_
#define LIBSPIRV_UTIL_BITUTILS_H_
#include <cstdint>
#include <cstring>
namespace spvutils {
// Performs a bitwise copy of source to the destination type Dest.
template <typename Dest, typename Src>
Dest BitwiseCast(Src source) {
Dest dest;
static_assert(sizeof(source) == sizeof(dest),
"BitwiseCast: Source and destination must have the same size");
std::memcpy(&dest, &source, sizeof(dest));
return dest;
}
// SetBits<T, First, Num> returns an integer of type <T> with bits set
// for position <First> through <First + Num - 1>, counting from the least
// significant bit. In particular when Num == 0, no positions are set to 1.
// A static assert will be triggered if First + Num > sizeof(T) * 8, that is,
// a bit that will not fit in the underlying type is set.
template <typename T, size_t First = 0, size_t Num = 0>
struct SetBits {
static_assert(First < sizeof(T) * 8,
"Tried to set a bit that is shifted too far.");
const static T get = (T(1) << First) | SetBits<T, First + 1, Num - 1>::get;
};
template <typename T, size_t Last>
struct SetBits<T, Last, 0> {
const static T get = T(0);
};
// This is all compile-time so we can put our tests right here.
static_assert(SetBits<uint32_t, 0, 0>::get == uint32_t(0x00000000),
"SetBits failed");
static_assert(SetBits<uint32_t, 0, 1>::get == uint32_t(0x00000001),
"SetBits failed");
static_assert(SetBits<uint32_t, 31, 1>::get == uint32_t(0x80000000),
"SetBits failed");
static_assert(SetBits<uint32_t, 1, 2>::get == uint32_t(0x00000006),
"SetBits failed");
static_assert(SetBits<uint32_t, 30, 2>::get == uint32_t(0xc0000000),
"SetBits failed");
static_assert(SetBits<uint32_t, 0, 31>::get == uint32_t(0x7FFFFFFF),
"SetBits failed");
static_assert(SetBits<uint32_t, 0, 32>::get == uint32_t(0xFFFFFFFF),
"SetBits failed");
static_assert(SetBits<uint32_t, 16, 16>::get == uint32_t(0xFFFF0000),
"SetBits failed");
static_assert(SetBits<uint64_t, 0, 1>::get == uint64_t(0x0000000000000001LL),
"SetBits failed");
static_assert(SetBits<uint64_t, 63, 1>::get == uint64_t(0x8000000000000000LL),
"SetBits failed");
static_assert(SetBits<uint64_t, 62, 2>::get == uint64_t(0xc000000000000000LL),
"SetBits failed");
static_assert(SetBits<uint64_t, 31, 1>::get == uint64_t(0x0000000080000000LL),
"SetBits failed");
static_assert(SetBits<uint64_t, 16, 16>::get == uint64_t(0x00000000FFFF0000LL),
"SetBits failed");
} // namespace spvutils
#endif // LIBSPIRV_UTIL_BITUTILS_H_

View File

@ -45,14 +45,14 @@
#include <cstring>
#include <algorithm>
#ifdef AMD_EXTENSIONS
namespace spv {
extern "C" {
// Include C-based headers that don't have a namespace
#ifdef AMD_EXTENSIONS
#include "GLSL.ext.AMD.h"
#endif
}
}
#endif
namespace spv {
@ -312,6 +312,16 @@ const char* BuiltInString(int builtIn)
case BuiltInCeiling:
default: return "Bad";
case 4416: return "SubgroupEqMaskKHR";
case 4417: return "SubgroupGeMaskKHR";
case 4418: return "SubgroupGtMaskKHR";
case 4419: return "SubgroupLeMaskKHR";
case 4420: return "SubgroupLtMaskKHR";
case 4424: return "BaseVertex";
case 4425: return "BaseInstance";
case 4426: return "DrawIndex";
#ifdef AMD_EXTENSIONS
case 4992: return "BaryCoordNoPerspAMD";
case 4993: return "BaryCoordNoPerspCentroidAMD";
@ -799,6 +809,9 @@ const char* CapabilityString(int info)
case CapabilityCeiling:
default: return "Bad";
case 4423: return "SubgroupBallotKHR";
case 4427: return "DrawParameters";
}
}
@ -1131,6 +1144,9 @@ const char* OpcodeString(int op)
default:
return "Bad";
case 4421: return "OpSubgroupBallotKHR";
case 4422: return "OpSubgroupFirstInvocationKHR";
#ifdef AMD_EXTENSIONS
case 5000: return "OpGroupIAddNonUniformAMD";
case 5001: return "OpGroupFAddNonUniformAMD";
@ -1146,11 +1162,7 @@ const char* OpcodeString(int op)
// The set of objects that hold all the instruction/operand
// parameterization information.
#ifdef AMD_EXTENSIONS
InstructionParameters InstructionDesc[OpCodeMask + 1];
#else
InstructionParameters InstructionDesc[OpcodeCeiling];
#endif
OperandParameters ExecutionModeOperands[ExecutionModeCeiling];
OperandParameters DecorationOperands[DecorationCeiling];
@ -2742,6 +2754,10 @@ void Parameterize()
InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Wait Events'");
InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Ret Event'");
InstructionDesc[OpSubgroupBallotKHR].operands.push(OperandId, "'Predicate'");
InstructionDesc[OpSubgroupFirstInvocationKHR].operands.push(OperandId, "'Value'");
#ifdef AMD_EXTENSIONS
InstructionDesc[OpGroupIAddNonUniformAMD].capabilities.push_back(CapabilityGroups);
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandScope, "'Execution'");

1078
SPIRV/hex_float.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -47,11 +47,11 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10000
#define SPV_REVISION 6
#define SPV_REVISION 8
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010000;
static const unsigned int Revision = 6;
static const unsigned int Revision = 8;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@ -420,6 +420,14 @@ enum BuiltIn {
BuiltInSubgroupLocalInvocationId = 41,
BuiltInVertexIndex = 42,
BuiltInInstanceIndex = 43,
BuiltInSubgroupEqMaskKHR = 4416,
BuiltInSubgroupGeMaskKHR = 4417,
BuiltInSubgroupGtMaskKHR = 4418,
BuiltInSubgroupLeMaskKHR = 4419,
BuiltInSubgroupLtMaskKHR = 4420,
BuiltInBaseVertex = 4424,
BuiltInBaseInstance = 4425,
BuiltInDrawIndex = 4426,
BuiltInMax = 0x7fffffff,
};
@ -595,6 +603,8 @@ enum Capability {
CapabilityStorageImageReadWithoutFormat = 55,
CapabilityStorageImageWriteWithoutFormat = 56,
CapabilityMultiViewport = 57,
CapabilitySubgroupBallotKHR = 4423,
CapabilityDrawParameters = 4427,
CapabilityMax = 0x7fffffff,
};
@ -893,6 +903,8 @@ enum Op {
OpAtomicFlagTestAndSet = 318,
OpAtomicFlagClear = 319,
OpImageSparseRead = 320,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpMax = 0x7fffffff,
};

View File

@ -35,6 +35,7 @@
#include <cstdlib>
#include <cstring>
#include <sstream>
#include <cctype>
#include "ResourceLimits.h"
@ -240,208 +241,217 @@ std::string GetDefaultTBuiltInResourceString()
void DecodeResourceLimits(TBuiltInResource* resources, char* config)
{
const char* delims = " \t\n\r";
#pragma warning(suppress: 4996)
const char* token = strtok(config, delims);
while (token) {
#pragma warning(suppress: 4996)
const char* valueStr = strtok(0, delims);
if (valueStr == 0 || ! (valueStr[0] == '-' || (valueStr[0] >= '0' && valueStr[0] <= '9'))) {
printf("Error: '%s' bad .conf file. Each name must be followed by one number.\n", valueStr ? valueStr : "");
static const char* delims = " \t\n\r";
size_t pos = 0;
std::string configStr(config);
while ((pos = configStr.find_first_not_of(delims, pos)) != std::string::npos) {
const size_t token_s = pos;
const size_t token_e = configStr.find_first_of(delims, token_s);
const size_t value_s = configStr.find_first_not_of(delims, token_e);
const size_t value_e = configStr.find_first_of(delims, value_s);
pos = value_e;
// Faster to use compare(), but prefering readability.
const std::string tokenStr = configStr.substr(token_s, token_e-token_s);
const std::string valueStr = configStr.substr(value_s, value_e-value_s);
if (value_s == std::string::npos || ! (valueStr[0] == '-' || isdigit(valueStr[0]))) {
printf("Error: '%s' bad .conf file. Each name must be followed by one number.\n",
valueStr.c_str());
return;
}
int value = atoi(valueStr);
if (strcmp(token, "MaxLights") == 0)
const int value = std::atoi(valueStr.c_str());
if (tokenStr == "MaxLights")
resources->maxLights = value;
else if (strcmp(token, "MaxClipPlanes") == 0)
else if (tokenStr == "MaxClipPlanes")
resources->maxClipPlanes = value;
else if (strcmp(token, "MaxTextureUnits") == 0)
else if (tokenStr == "MaxTextureUnits")
resources->maxTextureUnits = value;
else if (strcmp(token, "MaxTextureCoords") == 0)
else if (tokenStr == "MaxTextureCoords")
resources->maxTextureCoords = value;
else if (strcmp(token, "MaxVertexAttribs") == 0)
else if (tokenStr == "MaxVertexAttribs")
resources->maxVertexAttribs = value;
else if (strcmp(token, "MaxVertexUniformComponents") == 0)
else if (tokenStr == "MaxVertexUniformComponents")
resources->maxVertexUniformComponents = value;
else if (strcmp(token, "MaxVaryingFloats") == 0)
else if (tokenStr == "MaxVaryingFloats")
resources->maxVaryingFloats = value;
else if (strcmp(token, "MaxVertexTextureImageUnits") == 0)
else if (tokenStr == "MaxVertexTextureImageUnits")
resources->maxVertexTextureImageUnits = value;
else if (strcmp(token, "MaxCombinedTextureImageUnits") == 0)
else if (tokenStr == "MaxCombinedTextureImageUnits")
resources->maxCombinedTextureImageUnits = value;
else if (strcmp(token, "MaxTextureImageUnits") == 0)
else if (tokenStr == "MaxTextureImageUnits")
resources->maxTextureImageUnits = value;
else if (strcmp(token, "MaxFragmentUniformComponents") == 0)
else if (tokenStr == "MaxFragmentUniformComponents")
resources->maxFragmentUniformComponents = value;
else if (strcmp(token, "MaxDrawBuffers") == 0)
else if (tokenStr == "MaxDrawBuffers")
resources->maxDrawBuffers = value;
else if (strcmp(token, "MaxVertexUniformVectors") == 0)
else if (tokenStr == "MaxVertexUniformVectors")
resources->maxVertexUniformVectors = value;
else if (strcmp(token, "MaxVaryingVectors") == 0)
else if (tokenStr == "MaxVaryingVectors")
resources->maxVaryingVectors = value;
else if (strcmp(token, "MaxFragmentUniformVectors") == 0)
else if (tokenStr == "MaxFragmentUniformVectors")
resources->maxFragmentUniformVectors = value;
else if (strcmp(token, "MaxVertexOutputVectors") == 0)
else if (tokenStr == "MaxVertexOutputVectors")
resources->maxVertexOutputVectors = value;
else if (strcmp(token, "MaxFragmentInputVectors") == 0)
else if (tokenStr == "MaxFragmentInputVectors")
resources->maxFragmentInputVectors = value;
else if (strcmp(token, "MinProgramTexelOffset") == 0)
else if (tokenStr == "MinProgramTexelOffset")
resources->minProgramTexelOffset = value;
else if (strcmp(token, "MaxProgramTexelOffset") == 0)
else if (tokenStr == "MaxProgramTexelOffset")
resources->maxProgramTexelOffset = value;
else if (strcmp(token, "MaxClipDistances") == 0)
else if (tokenStr == "MaxClipDistances")
resources->maxClipDistances = value;
else if (strcmp(token, "MaxComputeWorkGroupCountX") == 0)
else if (tokenStr == "MaxComputeWorkGroupCountX")
resources->maxComputeWorkGroupCountX = value;
else if (strcmp(token, "MaxComputeWorkGroupCountY") == 0)
else if (tokenStr == "MaxComputeWorkGroupCountY")
resources->maxComputeWorkGroupCountY = value;
else if (strcmp(token, "MaxComputeWorkGroupCountZ") == 0)
else if (tokenStr == "MaxComputeWorkGroupCountZ")
resources->maxComputeWorkGroupCountZ = value;
else if (strcmp(token, "MaxComputeWorkGroupSizeX") == 0)
else if (tokenStr == "MaxComputeWorkGroupSizeX")
resources->maxComputeWorkGroupSizeX = value;
else if (strcmp(token, "MaxComputeWorkGroupSizeY") == 0)
else if (tokenStr == "MaxComputeWorkGroupSizeY")
resources->maxComputeWorkGroupSizeY = value;
else if (strcmp(token, "MaxComputeWorkGroupSizeZ") == 0)
else if (tokenStr == "MaxComputeWorkGroupSizeZ")
resources->maxComputeWorkGroupSizeZ = value;
else if (strcmp(token, "MaxComputeUniformComponents") == 0)
else if (tokenStr == "MaxComputeUniformComponents")
resources->maxComputeUniformComponents = value;
else if (strcmp(token, "MaxComputeTextureImageUnits") == 0)
else if (tokenStr == "MaxComputeTextureImageUnits")
resources->maxComputeTextureImageUnits = value;
else if (strcmp(token, "MaxComputeImageUniforms") == 0)
else if (tokenStr == "MaxComputeImageUniforms")
resources->maxComputeImageUniforms = value;
else if (strcmp(token, "MaxComputeAtomicCounters") == 0)
else if (tokenStr == "MaxComputeAtomicCounters")
resources->maxComputeAtomicCounters = value;
else if (strcmp(token, "MaxComputeAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxComputeAtomicCounterBuffers")
resources->maxComputeAtomicCounterBuffers = value;
else if (strcmp(token, "MaxVaryingComponents") == 0)
else if (tokenStr == "MaxVaryingComponents")
resources->maxVaryingComponents = value;
else if (strcmp(token, "MaxVertexOutputComponents") == 0)
else if (tokenStr == "MaxVertexOutputComponents")
resources->maxVertexOutputComponents = value;
else if (strcmp(token, "MaxGeometryInputComponents") == 0)
else if (tokenStr == "MaxGeometryInputComponents")
resources->maxGeometryInputComponents = value;
else if (strcmp(token, "MaxGeometryOutputComponents") == 0)
else if (tokenStr == "MaxGeometryOutputComponents")
resources->maxGeometryOutputComponents = value;
else if (strcmp(token, "MaxFragmentInputComponents") == 0)
else if (tokenStr == "MaxFragmentInputComponents")
resources->maxFragmentInputComponents = value;
else if (strcmp(token, "MaxImageUnits") == 0)
else if (tokenStr == "MaxImageUnits")
resources->maxImageUnits = value;
else if (strcmp(token, "MaxCombinedImageUnitsAndFragmentOutputs") == 0)
else if (tokenStr == "MaxCombinedImageUnitsAndFragmentOutputs")
resources->maxCombinedImageUnitsAndFragmentOutputs = value;
else if (strcmp(token, "MaxCombinedShaderOutputResources") == 0)
else if (tokenStr == "MaxCombinedShaderOutputResources")
resources->maxCombinedShaderOutputResources = value;
else if (strcmp(token, "MaxImageSamples") == 0)
else if (tokenStr == "MaxImageSamples")
resources->maxImageSamples = value;
else if (strcmp(token, "MaxVertexImageUniforms") == 0)
else if (tokenStr == "MaxVertexImageUniforms")
resources->maxVertexImageUniforms = value;
else if (strcmp(token, "MaxTessControlImageUniforms") == 0)
else if (tokenStr == "MaxTessControlImageUniforms")
resources->maxTessControlImageUniforms = value;
else if (strcmp(token, "MaxTessEvaluationImageUniforms") == 0)
else if (tokenStr == "MaxTessEvaluationImageUniforms")
resources->maxTessEvaluationImageUniforms = value;
else if (strcmp(token, "MaxGeometryImageUniforms") == 0)
else if (tokenStr == "MaxGeometryImageUniforms")
resources->maxGeometryImageUniforms = value;
else if (strcmp(token, "MaxFragmentImageUniforms") == 0)
else if (tokenStr == "MaxFragmentImageUniforms")
resources->maxFragmentImageUniforms = value;
else if (strcmp(token, "MaxCombinedImageUniforms") == 0)
else if (tokenStr == "MaxCombinedImageUniforms")
resources->maxCombinedImageUniforms = value;
else if (strcmp(token, "MaxGeometryTextureImageUnits") == 0)
else if (tokenStr == "MaxGeometryTextureImageUnits")
resources->maxGeometryTextureImageUnits = value;
else if (strcmp(token, "MaxGeometryOutputVertices") == 0)
else if (tokenStr == "MaxGeometryOutputVertices")
resources->maxGeometryOutputVertices = value;
else if (strcmp(token, "MaxGeometryTotalOutputComponents") == 0)
else if (tokenStr == "MaxGeometryTotalOutputComponents")
resources->maxGeometryTotalOutputComponents = value;
else if (strcmp(token, "MaxGeometryUniformComponents") == 0)
else if (tokenStr == "MaxGeometryUniformComponents")
resources->maxGeometryUniformComponents = value;
else if (strcmp(token, "MaxGeometryVaryingComponents") == 0)
else if (tokenStr == "MaxGeometryVaryingComponents")
resources->maxGeometryVaryingComponents = value;
else if (strcmp(token, "MaxTessControlInputComponents") == 0)
else if (tokenStr == "MaxTessControlInputComponents")
resources->maxTessControlInputComponents = value;
else if (strcmp(token, "MaxTessControlOutputComponents") == 0)
else if (tokenStr == "MaxTessControlOutputComponents")
resources->maxTessControlOutputComponents = value;
else if (strcmp(token, "MaxTessControlTextureImageUnits") == 0)
else if (tokenStr == "MaxTessControlTextureImageUnits")
resources->maxTessControlTextureImageUnits = value;
else if (strcmp(token, "MaxTessControlUniformComponents") == 0)
else if (tokenStr == "MaxTessControlUniformComponents")
resources->maxTessControlUniformComponents = value;
else if (strcmp(token, "MaxTessControlTotalOutputComponents") == 0)
else if (tokenStr == "MaxTessControlTotalOutputComponents")
resources->maxTessControlTotalOutputComponents = value;
else if (strcmp(token, "MaxTessEvaluationInputComponents") == 0)
else if (tokenStr == "MaxTessEvaluationInputComponents")
resources->maxTessEvaluationInputComponents = value;
else if (strcmp(token, "MaxTessEvaluationOutputComponents") == 0)
else if (tokenStr == "MaxTessEvaluationOutputComponents")
resources->maxTessEvaluationOutputComponents = value;
else if (strcmp(token, "MaxTessEvaluationTextureImageUnits") == 0)
else if (tokenStr == "MaxTessEvaluationTextureImageUnits")
resources->maxTessEvaluationTextureImageUnits = value;
else if (strcmp(token, "MaxTessEvaluationUniformComponents") == 0)
else if (tokenStr == "MaxTessEvaluationUniformComponents")
resources->maxTessEvaluationUniformComponents = value;
else if (strcmp(token, "MaxTessPatchComponents") == 0)
else if (tokenStr == "MaxTessPatchComponents")
resources->maxTessPatchComponents = value;
else if (strcmp(token, "MaxPatchVertices") == 0)
else if (tokenStr == "MaxPatchVertices")
resources->maxPatchVertices = value;
else if (strcmp(token, "MaxTessGenLevel") == 0)
else if (tokenStr == "MaxTessGenLevel")
resources->maxTessGenLevel = value;
else if (strcmp(token, "MaxViewports") == 0)
else if (tokenStr == "MaxViewports")
resources->maxViewports = value;
else if (strcmp(token, "MaxVertexAtomicCounters") == 0)
else if (tokenStr == "MaxVertexAtomicCounters")
resources->maxVertexAtomicCounters = value;
else if (strcmp(token, "MaxTessControlAtomicCounters") == 0)
else if (tokenStr == "MaxTessControlAtomicCounters")
resources->maxTessControlAtomicCounters = value;
else if (strcmp(token, "MaxTessEvaluationAtomicCounters") == 0)
else if (tokenStr == "MaxTessEvaluationAtomicCounters")
resources->maxTessEvaluationAtomicCounters = value;
else if (strcmp(token, "MaxGeometryAtomicCounters") == 0)
else if (tokenStr == "MaxGeometryAtomicCounters")
resources->maxGeometryAtomicCounters = value;
else if (strcmp(token, "MaxFragmentAtomicCounters") == 0)
else if (tokenStr == "MaxFragmentAtomicCounters")
resources->maxFragmentAtomicCounters = value;
else if (strcmp(token, "MaxCombinedAtomicCounters") == 0)
else if (tokenStr == "MaxCombinedAtomicCounters")
resources->maxCombinedAtomicCounters = value;
else if (strcmp(token, "MaxAtomicCounterBindings") == 0)
else if (tokenStr == "MaxAtomicCounterBindings")
resources->maxAtomicCounterBindings = value;
else if (strcmp(token, "MaxVertexAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxVertexAtomicCounterBuffers")
resources->maxVertexAtomicCounterBuffers = value;
else if (strcmp(token, "MaxTessControlAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxTessControlAtomicCounterBuffers")
resources->maxTessControlAtomicCounterBuffers = value;
else if (strcmp(token, "MaxTessEvaluationAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxTessEvaluationAtomicCounterBuffers")
resources->maxTessEvaluationAtomicCounterBuffers = value;
else if (strcmp(token, "MaxGeometryAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxGeometryAtomicCounterBuffers")
resources->maxGeometryAtomicCounterBuffers = value;
else if (strcmp(token, "MaxFragmentAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxFragmentAtomicCounterBuffers")
resources->maxFragmentAtomicCounterBuffers = value;
else if (strcmp(token, "MaxCombinedAtomicCounterBuffers") == 0)
else if (tokenStr == "MaxCombinedAtomicCounterBuffers")
resources->maxCombinedAtomicCounterBuffers = value;
else if (strcmp(token, "MaxAtomicCounterBufferSize") == 0)
else if (tokenStr == "MaxAtomicCounterBufferSize")
resources->maxAtomicCounterBufferSize = value;
else if (strcmp(token, "MaxTransformFeedbackBuffers") == 0)
else if (tokenStr == "MaxTransformFeedbackBuffers")
resources->maxTransformFeedbackBuffers = value;
else if (strcmp(token, "MaxTransformFeedbackInterleavedComponents") == 0)
else if (tokenStr == "MaxTransformFeedbackInterleavedComponents")
resources->maxTransformFeedbackInterleavedComponents = value;
else if (strcmp(token, "MaxCullDistances") == 0)
else if (tokenStr == "MaxCullDistances")
resources->maxCullDistances = value;
else if (strcmp(token, "MaxCombinedClipAndCullDistances") == 0)
else if (tokenStr == "MaxCombinedClipAndCullDistances")
resources->maxCombinedClipAndCullDistances = value;
else if (strcmp(token, "MaxSamples") == 0)
else if (tokenStr == "MaxSamples")
resources->maxSamples = value;
else if (strcmp(token, "nonInductiveForLoops") == 0)
else if (tokenStr == "nonInductiveForLoops")
resources->limits.nonInductiveForLoops = (value != 0);
else if (strcmp(token, "whileLoops") == 0)
else if (tokenStr == "whileLoops")
resources->limits.whileLoops = (value != 0);
else if (strcmp(token, "doWhileLoops") == 0)
else if (tokenStr == "doWhileLoops")
resources->limits.doWhileLoops = (value != 0);
else if (strcmp(token, "generalUniformIndexing") == 0)
else if (tokenStr == "generalUniformIndexing")
resources->limits.generalUniformIndexing = (value != 0);
else if (strcmp(token, "generalAttributeMatrixVectorIndexing") == 0)
else if (tokenStr == "generalAttributeMatrixVectorIndexing")
resources->limits.generalAttributeMatrixVectorIndexing = (value != 0);
else if (strcmp(token, "generalVaryingIndexing") == 0)
else if (tokenStr == "generalVaryingIndexing")
resources->limits.generalVaryingIndexing = (value != 0);
else if (strcmp(token, "generalSamplerIndexing") == 0)
else if (tokenStr == "generalSamplerIndexing")
resources->limits.generalSamplerIndexing = (value != 0);
else if (strcmp(token, "generalVariableIndexing") == 0)
else if (tokenStr == "generalVariableIndexing")
resources->limits.generalVariableIndexing = (value != 0);
else if (strcmp(token, "generalConstantMatrixVectorIndexing") == 0)
else if (tokenStr == "generalConstantMatrixVectorIndexing")
resources->limits.generalConstantMatrixVectorIndexing = (value != 0);
else
printf("Warning: unrecognized limit (%s) in configuration file.\n", token);
printf("Warning: unrecognized limit (%s) in configuration file.\n", tokenStr.c_str());
#pragma warning(suppress: 4996)
token = strtok(0, delims);
}
}

View File

@ -1,6 +1,6 @@
//
//Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
//Copyright (C) 2013 LunarG, Inc.
//Copyright (C) 2013-2016 LunarG, Inc.
//
//All rights reserved.
//
@ -48,7 +48,9 @@
#include "../SPIRV/disassemble.h"
#include <cstring>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <array>
#include "../glslang/OSDependent/osinclude.h"
@ -58,26 +60,30 @@ extern "C" {
// Command-line options
enum TOptions {
EOptionNone = 0,
EOptionIntermediate = (1 << 0),
EOptionSuppressInfolog = (1 << 1),
EOptionMemoryLeakMode = (1 << 2),
EOptionRelaxedErrors = (1 << 3),
EOptionGiveWarnings = (1 << 4),
EOptionLinkProgram = (1 << 5),
EOptionMultiThreaded = (1 << 6),
EOptionDumpConfig = (1 << 7),
EOptionDumpReflection = (1 << 8),
EOptionSuppressWarnings = (1 << 9),
EOptionDumpVersions = (1 << 10),
EOptionSpv = (1 << 11),
EOptionHumanReadableSpv = (1 << 12),
EOptionVulkanRules = (1 << 13),
EOptionDefaultDesktop = (1 << 14),
EOptionOutputPreprocessed = (1 << 15),
EOptionOutputHexadecimal = (1 << 16),
EOptionReadHlsl = (1 << 17),
EOptionCascadingErrors = (1 << 18),
EOptionNone = 0,
EOptionIntermediate = (1 << 0),
EOptionSuppressInfolog = (1 << 1),
EOptionMemoryLeakMode = (1 << 2),
EOptionRelaxedErrors = (1 << 3),
EOptionGiveWarnings = (1 << 4),
EOptionLinkProgram = (1 << 5),
EOptionMultiThreaded = (1 << 6),
EOptionDumpConfig = (1 << 7),
EOptionDumpReflection = (1 << 8),
EOptionSuppressWarnings = (1 << 9),
EOptionDumpVersions = (1 << 10),
EOptionSpv = (1 << 11),
EOptionHumanReadableSpv = (1 << 12),
EOptionVulkanRules = (1 << 13),
EOptionDefaultDesktop = (1 << 14),
EOptionOutputPreprocessed = (1 << 15),
EOptionOutputHexadecimal = (1 << 16),
EOptionReadHlsl = (1 << 17),
EOptionCascadingErrors = (1 << 18),
EOptionAutoMapBindings = (1 << 19),
EOptionFlattenUniformArrays = (1 << 20),
EOptionNoStorageFormat = (1 << 21),
EOptionKeepUncalled = (1 << 22),
};
//
@ -96,7 +102,7 @@ enum TFailCode {
//
// Forward declarations.
//
EShLanguage FindLanguage(const std::string& name);
EShLanguage FindLanguage(const std::string& name, bool parseSuffix=true);
void CompileFile(const char* fileName, ShHandle);
void usage();
void FreeFileData(char** data);
@ -155,8 +161,14 @@ int Options = 0;
const char* ExecutableName = nullptr;
const char* binaryFileName = nullptr;
const char* entryPointName = nullptr;
const char* sourceEntryPointName = nullptr;
const char* shaderStageName = nullptr;
std::array<unsigned int, EShLangCount> baseSamplerBinding;
std::array<unsigned int, EShLangCount> baseTextureBinding;
std::array<unsigned int, EShLangCount> baseImageBinding;
std::array<unsigned int, EShLangCount> baseUboBinding;
//
// Create the default name for saving a binary if -o is not provided.
//
@ -204,6 +216,35 @@ void Error(const char* message)
exit(EFailUsage);
}
//
// Process an optional binding base of the form:
// --argname [stage] base
// Where stage is one of the forms accepted by FindLanguage, and base is an integer
//
void ProcessBindingBase(int& argc, char**& argv, std::array<unsigned int, EShLangCount>& base)
{
if (argc < 2)
usage();
if (!isdigit(argv[1][0])) {
if (argc < 3) // this form needs one more argument
usage();
// Parse form: --argname stage base
const EShLanguage lang = FindLanguage(argv[1], false);
base[lang] = atoi(argv[2]);
argc-= 2;
argv+= 2;
} else {
// Parse form: --argname base
for (int lang=0; lang<EShLangCount; ++lang)
base[lang] = atoi(argv[1]);
argc--;
argv++;
}
}
//
// Do all command-line argument parsing. This includes building up the work-items
// to be processed later, and saving all the command-line options.
@ -212,6 +253,11 @@ void Error(const char* message)
//
void ProcessArguments(int argc, char* argv[])
{
baseSamplerBinding.fill(0);
baseTextureBinding.fill(0);
baseImageBinding.fill(0);
baseUboBinding.fill(0);
ExecutableName = argv[0];
NumWorkItems = argc; // will include some empties where the '-' options were, but it doesn't matter, they'll be 0
Work = new glslang::TWorkItem*[NumWorkItems];
@ -223,6 +269,56 @@ void ProcessArguments(int argc, char* argv[])
for (; argc >= 1; argc--, argv++) {
if (argv[0][0] == '-') {
switch (argv[0][1]) {
case '-':
{
std::string lowerword(argv[0]+2);
std::transform(lowerword.begin(), lowerword.end(), lowerword.begin(), ::tolower);
// handle --word style options
if (lowerword == "shift-sampler-bindings" || // synonyms
lowerword == "shift-sampler-binding" ||
lowerword == "ssb") {
ProcessBindingBase(argc, argv, baseSamplerBinding);
} else if (lowerword == "shift-texture-bindings" || // synonyms
lowerword == "shift-texture-binding" ||
lowerword == "stb") {
ProcessBindingBase(argc, argv, baseTextureBinding);
} else if (lowerword == "shift-image-bindings" || // synonyms
lowerword == "shift-image-binding" ||
lowerword == "sib") {
ProcessBindingBase(argc, argv, baseImageBinding);
} else if (lowerword == "shift-ubo-bindings" || // synonyms
lowerword == "shift-ubo-binding" ||
lowerword == "sub") {
ProcessBindingBase(argc, argv, baseUboBinding);
} else if (lowerword == "auto-map-bindings" || // synonyms
lowerword == "auto-map-binding" ||
lowerword == "amb") {
Options |= EOptionAutoMapBindings;
} else if (lowerword == "flatten-uniform-arrays" || // synonyms
lowerword == "flatten-uniform-array" ||
lowerword == "fua") {
Options |= EOptionFlattenUniformArrays;
} else if (lowerword == "no-storage-format" || // synonyms
lowerword == "nsf") {
Options |= EOptionNoStorageFormat;
} else if (lowerword == "source-entrypoint" || // synonyms
lowerword == "sep") {
sourceEntryPointName = argv[1];
if (argc > 0) {
argc--;
argv++;
} else
Error("no <entry-point> provided for --source-entrypoint");
break;
} else if (lowerword == "keep-uncalled" || // synonyms
lowerword == "ku") {
Options |= EOptionKeepUncalled;
} else {
usage();
}
}
break;
case 'H':
Options |= EOptionHumanReadableSpv;
if ((Options & EOptionSpv) == 0) {
@ -340,6 +436,10 @@ void ProcessArguments(int argc, char* argv[])
// -o or -x makes no sense if there is no target binary
if (binaryFileName && (Options & EOptionSpv) == 0)
Error("no binary generation requested (e.g., -V)");
if ((Options & EOptionFlattenUniformArrays) != 0 &&
(Options & EOptionReadHlsl) == 0)
Error("uniform array flattening only valid when compiling HLSL source.");
}
//
@ -363,6 +463,8 @@ void SetMessageOptions(EShMessages& messages)
messages = (EShMessages)(messages | EShMsgReadHlsl);
if (Options & EOptionCascadingErrors)
messages = (EShMessages)(messages | EShMsgCascadingErrors);
if (Options & EOptionKeepUncalled)
messages = (EShMessages)(messages | EShMsgKeepUncalled);
}
//
@ -461,6 +563,19 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, 1);
if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
shader->setEntryPoint(entryPointName);
if (sourceEntryPointName)
shader->setSourceEntryPoint(sourceEntryPointName);
shader->setShiftSamplerBinding(baseSamplerBinding[compUnit.stage]);
shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]);
shader->setShiftImageBinding(baseImageBinding[compUnit.stage]);
shader->setShiftUboBinding(baseUboBinding[compUnit.stage]);
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
if (Options & EOptionAutoMapBindings)
shader->setAutoMapBindings(true);
shaders.push_back(shader);
const int defaultVersion = Options & EOptionDefaultDesktop? 110: 100;
@ -499,6 +614,12 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
if (! (Options & EOptionOutputPreprocessed) && ! program.link(messages))
LinkFailed = true;
// Map IO
if (Options & EOptionSpv) {
if (!program.mapIO())
LinkFailed = true;
}
// Report
if (! (Options & EOptionSuppressInfolog) &&
! (Options & EOptionMemoryLeakMode)) {
@ -577,11 +698,11 @@ void CompileAndLinkShaderFiles()
// they are all getting linked together.)
glslang::TWorkItem* workItem;
while (Worklist.remove(workItem)) {
ShaderCompUnit compUnit = {
ShaderCompUnit compUnit(
FindLanguage(workItem->name),
workItem->name,
ReadFileData(workItem->name.c_str())
};
);
if (! compUnit.text) {
usage();
@ -705,15 +826,22 @@ int C_DECL main(int argc, char* argv[])
// .frag = fragment
// .comp = compute
//
EShLanguage FindLanguage(const std::string& name)
EShLanguage FindLanguage(const std::string& name, bool parseSuffix)
{
size_t ext = name.rfind('.');
if (ext == std::string::npos) {
usage();
return EShLangVertex;
size_t ext = 0;
// Search for a suffix on a filename: e.g, "myfile.frag". If given
// the suffix directly, we skip looking the '.'
if (parseSuffix) {
ext = name.rfind('.');
if (ext == std::string::npos) {
usage();
return EShLangVertex;
}
++ext;
}
std::string suffix = name.substr(ext + 1, std::string::npos);
std::string suffix = name.substr(ext, std::string::npos);
if (shaderStageName)
suffix = shaderStageName;
@ -831,6 +959,34 @@ void usage()
" -v print version strings\n"
" -w suppress warnings (except as required by #extension : warn)\n"
" -x save 32-bit hexadecimal numbers as text, requires a binary option (e.g., -V)\n"
"\n"
" --shift-sampler-binding [stage] num set base binding number for samplers\n"
" --ssb [stage] num synonym for --shift-sampler-binding\n"
"\n"
" --shift-texture-binding [stage] num set base binding number for textures\n"
" --stb [stage] num synonym for --shift-texture-binding\n"
"\n"
" --shift-image-binding [stage] num set base binding number for images (uav)\n"
" --sib [stage] num synonym for --shift-image-binding\n"
"\n"
" --shift-UBO-binding [stage] num set base binding number for UBOs\n"
" --sub [stage] num synonym for --shift-UBO-binding\n"
"\n"
" --auto-map-bindings automatically bind uniform variables without\n"
" explicit bindings.\n"
" --amb synonym for --auto-map-bindings\n"
"\n"
" --flatten-uniform-arrays flatten uniform texture & sampler arrays to scalars\n"
" --fua synonym for --flatten-uniform-arrays\n"
"\n"
" --no-storage-format use Unknown image format\n"
" --nsf synonym for --no-storage-format\n"
"\n"
" --source-entrypoint name the given shader source function is renamed to be the entry point given in -e\n"
" --sep synonym for --source-entrypoint\n"
"\n"
" --keep-uncalled don't eliminate uncalled functions when linking\n"
" --ku synonym for --keep-uncalled\n"
);
exit(EFailUsage);

View File

@ -393,13 +393,13 @@ ERROR: node is still EOpNull!
0:? 'a' (global 3-element array of mediump int)
0:? 'uint' (global mediump int)
0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:? 'f' (global mediump 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:? 'f13' (global mediump float)
0:? 'f13' (invariant global mediump float)
0:? 'fi' (invariant temp mediump float)
0:? 'av' (smooth in mediump 4-component vector of float)
0:? 'uv2' (uniform mediump 2-component vector of float)
0:? 'av' (invariant smooth in mediump 4-component vector of float)
0:? 'uv2' (invariant uniform mediump 2-component vector of float)
0:? 'uv3' (invariant uniform mediump 3-component vector of float)
0:? 'glob2D' (global lowp sampler2D)
0:? 'vary2D' (smooth in lowp sampler2D)
@ -507,123 +507,6 @@ ERROR: node is still EOpNull!
0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
0:38 true case is null
0:40 'b' (temp mediump int)
0:54 Function Definition: foo10( (global void)
0:54 Function Parameters:
0:67 Function Definition: f11(s21; (global void)
0:67 Function Parameters:
0:67 'p2d' (in lowp sampler2D)
0:87 Function Definition: foo234( (global void)
0:87 Function Parameters:
0:89 Sequence
0:89 texture (global highp 4-component vector of float)
0:89 's3D2' (uniform highp sampler3D)
0:89 Constant:
0:89 0.200000
0:89 0.200000
0:89 0.200000
0:89 Constant:
0:89 0.200000
0:90 textureProj (global highp 4-component vector of float)
0:90 's3D2' (uniform highp sampler3D)
0:90 direct index (smooth temp mediump 4-component vector of float)
0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:90 Constant:
0:90 1 (const int)
0:90 Constant:
0:90 0.400000
0:91 dPdx (global mediump 4-component vector of float)
0:91 direct index (smooth temp mediump 4-component vector of float)
0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:91 Constant:
0:91 0 (const int)
0:92 Constant:
0:92 0.000000
0:93 fwidth (global mediump float)
0:93 'f13' (invariant global mediump float)
0:98 Function Definition: foo236( (global void)
0:98 Function Parameters:
0:100 Sequence
0:100 dPdx (global mediump 4-component vector of float)
0:100 direct index (smooth temp mediump 4-component vector of float)
0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:100 Constant:
0:100 0 (const int)
0:101 Constant:
0:101 0.000000
0:102 fwidth (global mediump float)
0:102 'f13' (invariant global mediump float)
0:103 move second child to first child (temp mediump float)
0:103 'gl_FragDepth' (temp mediump float)
0:103 'f13' (invariant global mediump float)
0:104 move second child to first child (temp highp float)
0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
0:104 'f13' (invariant global mediump float)
0:109 Function Definition: foo239( (global void)
0:109 Function Parameters:
0:111 Sequence
0:111 move second child to first child (temp mediump float)
0:111 'gl_FragDepth' (temp mediump float)
0:111 'f13' (invariant global mediump float)
0:112 move second child to first child (temp highp float)
0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
0:112 'f13' (invariant global mediump float)
0:119 Function Definition: foo245( (global void)
0:119 Function Parameters:
0:121 Sequence
0:121 texture (global lowp 4-component vector of float)
0:121 'sExt' (uniform lowp samplerExternalOES)
0:121 Constant:
0:121 0.200000
0:121 0.200000
0:122 textureProj (global lowp 4-component vector of float)
0:122 'sExt' (uniform lowp samplerExternalOES)
0:122 Construct vec3 (temp lowp 3-component vector of float)
0:122 'f13' (invariant global mediump float)
0:123 textureProj (global lowp 4-component vector of float, operation at mediump)
0:123 'sExt' (uniform lowp samplerExternalOES)
0:123 direct index (smooth temp mediump 4-component vector of float)
0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:123 Constant:
0:123 2 (const int)
0:130 Function Definition: foo246( (global void)
0:130 Function Parameters:
0:132 Sequence
0:132 texture (global mediump 4-component vector of float)
0:132 'mediumExt' (uniform mediump samplerExternalOES)
0:132 Constant:
0:132 0.200000
0:132 0.200000
0:133 textureProj (global highp 4-component vector of float)
0:133 'highExt' (uniform highp samplerExternalOES)
0:133 direct index (smooth temp mediump 4-component vector of float)
0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:133 Constant:
0:133 2 (const int)
0:134 Constant:
0:134 0.000000
0:135 Constant:
0:135 0.000000
0:137 Bitwise not (temp mediump int)
0:137 'a' (temp mediump int)
0:138 inclusive-or (temp mediump int)
0:138 'a' (temp mediump int)
0:138 'a' (temp mediump int)
0:139 bitwise and (temp mediump int)
0:139 'a' (temp mediump int)
0:139 'a' (temp mediump int)
0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
0:145 Function Parameters:
0:145 'a' (in mediump int)
0:145 'b' (in mediump float)
0:147 Sequence
0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
0:147 's2Dg' (uniform lowp sampler2D)
0:147 Construct vec3 (temp mediump 3-component vector of float)
0:147 'f13' (invariant global mediump float)
0:147 'uv2' (invariant uniform mediump 2-component vector of float)
0:147 'uv2' (invariant uniform mediump 2-component vector of float)
0:148 Branch: Return with expression
0:148 'a' (in mediump int)
0:151 Sequence
0:151 move second child to first child (temp mediump float)
0:151 'f123' (global mediump float)
@ -634,75 +517,6 @@ ERROR: node is still EOpNull!
0:152 'f124' (global mediump float)
0:152 Constant:
0:152 50000000000.000000
0:158 Function Definition: foo323433( (global void)
0:158 Function Parameters:
0:160 Sequence
0:160 textureLod (global lowp 4-component vector of float, operation at mediump)
0:160 's2Dg' (uniform lowp sampler2D)
0:160 'uv2' (invariant uniform mediump 2-component vector of float)
0:160 'f13' (invariant global mediump float)
0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
0:161 's2Dg' (uniform lowp sampler2D)
0:161 Construct vec3 (temp mediump 3-component vector of float)
0:161 'f13' (invariant global mediump float)
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
0:162 textureGrad (global lowp 4-component vector of float, operation at mediump)
0:162 's2Dg' (uniform lowp sampler2D)
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
0:163 textureGrad (global lowp 4-component vector of float)
0:163 'sCube' (uniform lowp samplerCube)
0:163 Construct vec3 (temp lowp 3-component vector of float)
0:163 'f13' (invariant global mediump float)
0:163 Construct vec3 (temp lowp 3-component vector of float)
0:163 'f13' (invariant global mediump float)
0:163 Construct vec3 (temp lowp 3-component vector of float)
0:163 'f13' (invariant global mediump float)
0:167 Function Definition: fgfg(f1;i1; (global mediump int)
0:167 Function Parameters:
0:167 'f' (in mediump float)
0:167 'i' (in highp int)
0:167 Sequence
0:167 Branch: Return with expression
0:167 Constant:
0:167 2 (const int)
0:173 Function Definition: gggf(f1; (global mediump int)
0:173 Function Parameters:
0:173 'f' (in mediump float)
0:173 Sequence
0:173 Branch: Return with expression
0:173 Constant:
0:173 2 (const int)
0:175 Function Definition: agggf(f1; (global mediump int)
0:175 Function Parameters:
0:175 'f' (in mediump float)
0:175 Sequence
0:175 Branch: Return with expression
0:175 Constant:
0:175 2 (const int)
0:187 Function Definition: badswizzle( (global void)
0:187 Function Parameters:
0:? Sequence
0:190 'a' (temp 5-element array of mediump 3-component vector of float)
0:191 'a' (temp 5-element array of mediump 3-component vector of float)
0:192 'a' (temp 5-element array of mediump 3-component vector of float)
0:193 Constant:
0:193 5 (const int)
0:194 Constant:
0:194 0.000000
0:199 Function Definition: fooinittest( (global mediump float)
0:199 Function Parameters:
0:201 Sequence
0:201 Branch: Return with expression
0:201 Function Call: fooinit( (global mediump float)
0:209 Function Definition: fooinit( (global mediump float)
0:209 Function Parameters:
0:211 Sequence
0:211 Branch: Return with expression
0:211 Constant:
0:211 12.000000
0:214 Sequence
0:214 move second child to first child (temp mediump int)
0:214 'init1' (global mediump int)
@ -731,13 +545,13 @@ ERROR: node is still EOpNull!
0:? 'a' (global 3-element array of mediump int)
0:? 'uint' (global mediump int)
0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:? 'f' (global mediump 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 1-element array of mediump float)
0:? 'f13' (global mediump float)
0:? 'f13' (invariant global mediump float)
0:? 'fi' (invariant temp mediump float)
0:? 'av' (smooth in mediump 4-component vector of float)
0:? 'uv2' (uniform mediump 2-component vector of float)
0:? 'av' (invariant smooth in mediump 4-component vector of float)
0:? 'uv2' (invariant uniform mediump 2-component vector of float)
0:? 'uv3' (invariant uniform mediump 3-component vector of float)
0:? 'glob2D' (global lowp sampler2D)
0:? 'vary2D' (smooth in lowp sampler2D)

View File

@ -22,7 +22,3 @@ ERROR: 0:65: 'limitations' : Non-constant-index-expression
ERROR: 20 compilation errors. No code generated.
Linked vertex stage:

View File

@ -128,6 +128,8 @@ ERROR: node is still EOpNull!
Linked vertex stage:
ERROR: Linking vertex stage: No function definition (body) found:
g(
Shader version: 100
ERROR: node is still EOpNull!
@ -148,20 +150,6 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in highp int)
0:25 Function Definition: cos(f1; (global highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:36 Function Definition: main( (global void)
0:36 Function Parameters:
0:? Sequence

View File

@ -1,9 +1,8 @@
110scope.vert
ERROR: 0:5: 'a' : redefinition
ERROR: 0:34: 'f' : can't call user function from global scope
ERROR: 0:57: 'z' : undeclared identifier
ERROR: 0:57: 'z' : redefinition
ERROR: 4 compilation errors. No code generated.
ERROR: 3 compilation errors. No code generated.
Shader version: 110
@ -131,6 +130,10 @@ ERROR: node is still EOpNull!
Linked vertex stage:
ERROR: Linking vertex stage: No function definition (body) found:
sin(f1;
ERROR: Linking vertex stage: No function definition (body) found:
g(
Shader version: 110
ERROR: node is still EOpNull!
@ -151,20 +154,6 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in int)
0:25 Function Definition: cos(f1; (global float)
0:25 Function Parameters:
0:25 'x' (in float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:34 Sequence
0:34 move second child to first child (temp int)
0:34 'gi' (global int)

View File

@ -630,537 +630,9 @@ Shader version: 120
Requested GL_ARB_shader_texture_lod
Requested GL_ARB_texture_rectangle
ERROR: node is still EOpNull!
0:21 Function Definition: main( (global void)
0:21 Function Parameters:
0:23 Sequence
0:23 Sequence
0:23 move second child to first child (temp 2X3 matrix of float)
0:23 'm23' (temp 2X3 matrix of float)
0:23 Construct mat2x3 (temp 2X3 matrix of float)
0:23 'm' (uniform 4X2 matrix of float)
0:27 Sequence
0:27 move second child to first child (temp structure{global float f})
0:27 'sv' (temp structure{global float f})
0:27 Construct structure (temp structure{global float f})
0:27 Convert int to float (temp float)
0:27 'a' (temp int)
0:28 Sequence
0:28 move second child to first child (temp 2-element array of float)
0:28 'ia' (temp 2-element array of float)
0:28 Construct float (temp 2-element array of float)
0:28 Constant:
0:28 3.000000
0:28 direct index (temp float)
0:28 'i' (smooth in 4-component vector of float)
0:28 Constant:
0:28 1 (const int)
0:29 Sequence
0:29 move second child to first child (temp float)
0:29 'f1' (temp float)
0:29 Constant:
0:29 1.000000
0:30 Sequence
0:30 move second child to first child (temp float)
0:30 'f' (temp float)
0:30 Convert int to float (temp float)
0:30 'a' (temp int)
0:31 move second child to first child (temp float)
0:31 'f' (temp float)
0:31 Convert int to float (temp float)
0:31 'a' (temp int)
0:33 Sequence
0:33 move second child to first child (temp 3-component vector of float)
0:33 'v3' (temp 3-component vector of float)
0:33 Convert int to float (temp 3-component vector of float)
0:33 'iv3' (temp 3-component vector of int)
0:34 move second child to first child (temp float)
0:34 'f' (temp float)
0:34 add (temp float)
0:34 'f' (temp float)
0:34 Convert int to float (temp float)
0:34 'a' (temp int)
0:35 move second child to first child (temp float)
0:35 'f' (temp float)
0:35 subtract (temp float)
0:35 Convert int to float (temp float)
0:35 'a' (temp int)
0:35 'f' (temp float)
0:36 add second child into first child (temp float)
0:36 'f' (temp float)
0:36 Convert int to float (temp float)
0:36 'a' (temp int)
0:37 move second child to first child (temp float)
0:37 'f' (temp float)
0:37 subtract (temp float)
0:37 Convert int to float (temp float)
0:37 'a' (temp int)
0:37 'f' (temp float)
0:38 multiply second child into first child (temp 3-component vector of float)
0:38 'v3' (temp 3-component vector of float)
0:38 Convert int to float (temp 3-component vector of float)
0:38 'iv3' (temp 3-component vector of int)
0:39 move second child to first child (temp 3-component vector of float)
0:39 'v3' (temp 3-component vector of float)
0:39 divide (temp 3-component vector of float)
0:39 Convert int to float (temp 3-component vector of float)
0:39 'iv3' (temp 3-component vector of int)
0:39 Constant:
0:39 2.000000
0:40 move second child to first child (temp 3-component vector of float)
0:40 'v3' (temp 3-component vector of float)
0:40 vector-scale (temp 3-component vector of float)
0:40 Constant:
0:40 3.000000
0:40 Convert int to float (temp 3-component vector of float)
0:40 'iv3' (temp 3-component vector of int)
0:41 move second child to first child (temp 3-component vector of float)
0:41 'v3' (temp 3-component vector of float)
0:41 vector-scale (temp 3-component vector of float)
0:41 Constant:
0:41 2.000000
0:41 'v3' (temp 3-component vector of float)
0:42 move second child to first child (temp 3-component vector of float)
0:42 'v3' (temp 3-component vector of float)
0:42 subtract (temp 3-component vector of float)
0:42 'v3' (temp 3-component vector of float)
0:42 Constant:
0:42 2.000000
0:43 Test condition and select (temp void)
0:43 Condition
0:47 logical-or (temp bool)
0:46 logical-or (temp bool)
0:45 logical-or (temp bool)
0:44 logical-or (temp bool)
0:43 logical-or (temp bool)
0:43 Compare Less Than (temp bool)
0:43 'f' (temp float)
0:43 Convert int to float (temp float)
0:43 'a' (temp int)
0:44 Compare Less Than or Equal (temp bool)
0:44 Convert int to float (temp float)
0:44 'a' (temp int)
0:44 'f' (temp float)
0:45 Compare Greater Than (temp bool)
0:45 'f' (temp float)
0:45 Convert int to float (temp float)
0:45 'a' (temp int)
0:46 Compare Greater Than or Equal (temp bool)
0:46 'f' (temp float)
0:46 Convert int to float (temp float)
0:46 'a' (temp int)
0:47 Compare Equal (temp bool)
0:47 Convert int to float (temp float)
0:47 'a' (temp int)
0:47 'f' (temp float)
0:48 Compare Not Equal (temp bool)
0:48 'f' (temp float)
0:48 Convert int to float (temp float)
0:48 'a' (temp int)
0:43 true case is null
0:49 move second child to first child (temp float)
0:49 'f' (temp float)
0:49 Test condition and select (temp float)
0:49 Condition
0:49 'b' (temp bool)
0:49 true case
0:49 Convert int to float (temp float)
0:49 'a' (temp int)
0:49 false case
0:49 'f' (temp float)
0:50 move second child to first child (temp float)
0:50 'f' (temp float)
0:50 Test condition and select (temp float)
0:50 Condition
0:50 'b' (temp bool)
0:50 true case
0:50 'f' (temp float)
0:50 false case
0:50 Convert int to float (temp float)
0:50 'a' (temp int)
0:51 move second child to first child (temp float)
0:51 'f' (temp float)
0:51 Convert int to float (temp float)
0:51 Test condition and select (temp int)
0:51 Condition
0:51 'b' (temp bool)
0:51 true case
0:51 'a' (temp int)
0:51 false case
0:51 'a' (temp int)
0:52 Sequence
0:52 move second child to first child (temp structure{global float f})
0:52 'news' (temp structure{global float f})
0:52 'sv' (temp structure{global float f})
0:54 vector swizzle (temp 2-component vector of float)
0:54 'i' (smooth in 4-component vector of float)
0:54 Sequence
0:54 Constant:
0:54 0 (const int)
0:54 Constant:
0:54 1 (const int)
0:55 'm' (uniform 4X2 matrix of float)
0:56 'm' (uniform 4X2 matrix of float)
0:58 'f' (temp float)
0:59 move second child to first child (temp float)
0:59 'f' (temp float)
0:59 Convert int to float (temp float)
0:59 'a' (temp int)
0:60 'f' (temp float)
0:61 'b' (temp bool)
0:62 move second child to first child (temp bool)
0:62 'b' (temp bool)
0:62 'b' (temp bool)
0:63 'f' (temp float)
0:65 move second child to first child (temp 4-component vector of float)
0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:65 texture (global 4-component vector of float)
0:65 's2D' (uniform sampler2D)
0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
0:? Sequence
0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:82 direct index (temp float)
0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:82 Constant:
0:82 0 (const int)
0:83 direct index (temp float)
0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:83 Constant:
0:83 0 (const int)
0:84 direct index (temp float)
0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
0:84 Constant:
0:84 0 (const int)
0:85 move second child to first child (temp bool)
0:85 Comma (temp bool)
0:85 'a' (temp int)
0:85 'b' (temp bool)
0:85 Constant:
0:85 true (const bool)
0:91 Function Definition: main( (global int)
0:91 Function Parameters:
0:92 Function Definition: main(i1; (global void)
0:92 Function Parameters:
0:92 'a' (in int)
0:97 Function Definition: foo(f1; (global int)
0:97 Function Parameters:
0:97 'a' (out float)
0:99 Sequence
0:99 Branch: Return with expression
0:99 Constant:
0:99 3.200000
0:100 Function Call: foo(f1; (global int)
0:100 'a' (out float)
0:103 Function Definition: gen(vf3; (global bool)
0:103 Function Parameters:
0:103 'v' (in 3-component vector of float)
0:105 Sequence
0:105 Test condition and select (temp void)
0:105 Condition
0:105 logical-and (temp bool)
0:105 Compare Less Than (temp bool)
0:105 Absolute value (global float)
0:105 direct index (temp float)
0:105 'v' (in 3-component vector of float)
0:105 Constant:
0:105 0 (const int)
0:105 Constant:
0:105 0.000100
0:105 Compare Less Than (temp bool)
0:105 Absolute value (global float)
0:105 direct index (temp float)
0:105 'v' (in 3-component vector of float)
0:105 Constant:
0:105 1 (const int)
0:105 Constant:
0:105 0.000100
0:105 true case
0:106 Branch: Return with expression
0:106 Constant:
0:106 true (const bool)
0:109 Function Definition: v1( (global void)
0:109 Function Parameters:
0:113 Function Definition: v2( (global void)
0:113 Function Parameters:
0:115 Sequence
0:115 Branch: Return
0:118 Function Definition: atest( (global void)
0:118 Function Parameters:
0:120 Sequence
0:120 Sequence
0:120 move second child to first child (temp 4-component vector of float)
0:120 'v' (temp 4-component vector of float)
0:120 direct index (smooth temp 4-component vector of float TexCoord)
0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
0:120 Constant:
0:120 1 (const int)
0:121 add second child into first child (temp 4-component vector of float)
0:121 'v' (temp 4-component vector of float)
0:121 direct index (smooth temp 4-component vector of float TexCoord)
0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
0:121 Constant:
0:121 3 (const int)
0:139 Function Definition: foo123( (global void)
0:139 Function Parameters:
0:141 Sequence
0:141 Sequence
0:141 move second child to first child (temp 2X2 matrix of float)
0:141 'r2' (temp 2X2 matrix of float)
0:141 component-wise multiply (global 2X2 matrix of float)
0:141 'm22' (global 2X2 matrix of float)
0:141 'm22' (global 2X2 matrix of float)
0:142 Sequence
0:142 move second child to first child (temp 3X3 matrix of float)
0:142 'r3' (temp 3X3 matrix of float)
0:142 component-wise multiply (global 3X3 matrix of float)
0:142 'm33' (global 3X3 matrix of float)
0:142 'm33' (global 3X3 matrix of float)
0:143 Sequence
0:143 move second child to first child (temp 4X4 matrix of float)
0:143 'r4' (temp 4X4 matrix of float)
0:143 component-wise multiply (global 4X4 matrix of float)
0:143 'm44' (global 4X4 matrix of float)
0:143 'm44' (global 4X4 matrix of float)
0:145 Sequence
0:145 move second child to first child (temp 2X3 matrix of float)
0:145 'r23' (temp 2X3 matrix of float)
0:145 component-wise multiply (global 2X3 matrix of float)
0:145 'm23' (global 2X3 matrix of float)
0:145 'm23' (global 2X3 matrix of float)
0:146 Sequence
0:146 move second child to first child (temp 2X4 matrix of float)
0:146 'r24' (temp 2X4 matrix of float)
0:146 component-wise multiply (global 2X4 matrix of float)
0:146 'm24' (global 2X4 matrix of float)
0:146 'm24' (global 2X4 matrix of float)
0:147 Sequence
0:147 move second child to first child (temp 3X2 matrix of float)
0:147 'r32' (temp 3X2 matrix of float)
0:147 component-wise multiply (global 3X2 matrix of float)
0:147 'm32' (global 3X2 matrix of float)
0:147 'm32' (global 3X2 matrix of float)
0:148 Sequence
0:148 move second child to first child (temp 3X4 matrix of float)
0:148 'r34' (temp 3X4 matrix of float)
0:148 component-wise multiply (global 3X4 matrix of float)
0:148 'm34' (global 3X4 matrix of float)
0:148 'm34' (global 3X4 matrix of float)
0:149 Sequence
0:149 move second child to first child (temp 4X2 matrix of float)
0:149 'r42' (temp 4X2 matrix of float)
0:149 component-wise multiply (global 4X2 matrix of float)
0:149 'm42' (global 4X2 matrix of float)
0:149 'm42' (global 4X2 matrix of float)
0:150 Sequence
0:150 move second child to first child (temp 4X3 matrix of float)
0:150 'r43' (temp 4X3 matrix of float)
0:150 component-wise multiply (global 4X3 matrix of float)
0:150 'm43' (global 4X3 matrix of float)
0:150 'm43' (global 4X3 matrix of float)
0:156 Function Definition: matConst( (global void)
0:156 Function Parameters:
0:? Sequence
0:162 Sequence
0:162 move second child to first child (temp 4X4 matrix of float)
0:162 'm4g' (temp 4X4 matrix of float)
0:162 Construct mat4 (temp 4X4 matrix of float)
0:162 'v2' (temp 2-component vector of float)
0:162 'v3' (temp 3-component vector of float)
0:162 'v3' (temp 3-component vector of float)
0:162 'v3' (temp 3-component vector of float)
0:162 'v3' (temp 3-component vector of float)
0:162 'v3' (temp 3-component vector of float)
0:163 Sequence
0:163 move second child to first child (temp 4X4 matrix of float)
0:163 'm4' (temp 4X4 matrix of float)
0:163 Construct mat4 (temp 4X4 matrix of float)
0:163 'v2' (temp 2-component vector of float)
0:163 'v3' (temp 3-component vector of float)
0:163 'v3' (temp 3-component vector of float)
0:163 'v3' (temp 3-component vector of float)
0:163 'v3' (temp 3-component vector of float)
0:163 'v2' (temp 2-component vector of float)
0:164 Sequence
0:164 move second child to first child (temp 3X3 matrix of float)
0:164 'm3' (temp 3X3 matrix of float)
0:164 Construct mat3 (temp 3X3 matrix of float)
0:164 'm4' (temp 4X4 matrix of float)
0:165 Sequence
0:165 move second child to first child (temp 3X3 matrix of float)
0:165 'm3b1' (temp 3X3 matrix of float)
0:165 Construct mat3 (temp 3X3 matrix of float)
0:165 'm4' (temp 4X4 matrix of float)
0:165 'v2' (temp 2-component vector of float)
0:166 Sequence
0:166 move second child to first child (temp 3X3 matrix of float)
0:166 'm3b2' (temp 3X3 matrix of float)
0:166 Construct mat3 (temp 3X3 matrix of float)
0:166 'm4' (temp 4X4 matrix of float)
0:166 'm4' (temp 4X4 matrix of float)
0:167 Sequence
0:167 move second child to first child (temp 3X2 matrix of float)
0:167 'm32' (temp 3X2 matrix of float)
0:167 Construct mat3x2 (temp 3X2 matrix of float)
0:167 'm4' (temp 4X4 matrix of float)
0:168 Sequence
0:168 move second child to first child (temp 4X4 matrix of float)
0:168 'm4c' (temp 4X4 matrix of float)
0:168 Construct mat4 (temp 4X4 matrix of float)
0:168 'm32' (temp 3X2 matrix of float)
0:169 Sequence
0:169 move second child to first child (temp 3X3 matrix of float)
0:169 'm3s' (temp 3X3 matrix of float)
0:169 Construct mat3 (temp 3X3 matrix of float)
0:169 direct index (temp float)
0:169 'v2' (temp 2-component vector of float)
0:169 Constant:
0:169 0 (const int)
0:171 Sequence
0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
0:171 'm3s' (temp 3X3 matrix of float)
0:171 'm3s' (temp 3X3 matrix of float)
0:179 Function Definition: foo2323( (global void)
0:179 Function Parameters:
0:? Sequence
0:184 move second child to first child (temp 4-component vector of float)
0:184 'v' (temp 4-component vector of float)
0:184 textureLod (global 4-component vector of float)
0:184 's2D' (uniform sampler2D)
0:184 'v2' (temp 2-component vector of float)
0:184 'f' (temp float)
0:185 move second child to first child (temp 4-component vector of float)
0:185 'v' (temp 4-component vector of float)
0:185 textureProjLod (global 4-component vector of float)
0:185 's3D' (uniform sampler3D)
0:185 'v' (temp 4-component vector of float)
0:185 'f' (temp float)
0:186 move second child to first child (temp 4-component vector of float)
0:186 'v' (temp 4-component vector of float)
0:186 textureProjLod (global 4-component vector of float)
0:186 's1D' (uniform sampler1D)
0:186 'v' (temp 4-component vector of float)
0:186 'f' (temp float)
0:187 move second child to first child (temp 4-component vector of float)
0:187 'v' (temp 4-component vector of float)
0:187 textureProjLod (global 4-component vector of float)
0:187 's2DS' (uniform sampler2DShadow)
0:187 'v' (temp 4-component vector of float)
0:187 'f' (temp float)
0:189 move second child to first child (temp 4-component vector of float)
0:189 'v' (temp 4-component vector of float)
0:189 textureGrad (global 4-component vector of float)
0:189 's1D' (uniform sampler1D)
0:189 'f' (temp float)
0:189 'f' (temp float)
0:189 'f' (temp float)
0:190 move second child to first child (temp 4-component vector of float)
0:190 'v' (temp 4-component vector of float)
0:190 textureProjGrad (global 4-component vector of float)
0:190 's2D' (uniform sampler2D)
0:190 'v' (temp 4-component vector of float)
0:190 'v2' (temp 2-component vector of float)
0:190 'v2' (temp 2-component vector of float)
0:191 move second child to first child (temp 4-component vector of float)
0:191 'v' (temp 4-component vector of float)
0:191 textureProjGrad (global 4-component vector of float)
0:191 's2DS' (uniform sampler2DShadow)
0:191 'v' (temp 4-component vector of float)
0:191 'v2' (temp 2-component vector of float)
0:191 'v2' (temp 2-component vector of float)
0:196 Function Definition: foo2324( (global void)
0:196 Function Parameters:
0:? Sequence
0:201 move second child to first child (temp 4-component vector of float)
0:201 'v' (temp 4-component vector of float)
0:201 textureLod (global 4-component vector of float)
0:201 's2D' (uniform sampler2D)
0:201 'v2' (temp 2-component vector of float)
0:201 'f' (temp float)
0:202 move second child to first child (temp 4-component vector of float)
0:202 'v' (temp 4-component vector of float)
0:202 textureProjLod (global 4-component vector of float)
0:202 's3D' (uniform sampler3D)
0:202 'v' (temp 4-component vector of float)
0:202 'f' (temp float)
0:203 move second child to first child (temp 4-component vector of float)
0:203 'v' (temp 4-component vector of float)
0:203 textureProjLod (global 4-component vector of float)
0:203 's1D' (uniform sampler1D)
0:203 'v' (temp 4-component vector of float)
0:203 'f' (temp float)
0:204 move second child to first child (temp 4-component vector of float)
0:204 'v' (temp 4-component vector of float)
0:204 textureProjLod (global 4-component vector of float)
0:204 's2DS' (uniform sampler2DShadow)
0:204 'v' (temp 4-component vector of float)
0:204 'f' (temp float)
0:206 move second child to first child (temp 4-component vector of float)
0:206 'v' (temp 4-component vector of float)
0:206 textureGrad (global 4-component vector of float)
0:206 's1D' (uniform sampler1D)
0:206 'f' (temp float)
0:206 'f' (temp float)
0:206 'f' (temp float)
0:207 move second child to first child (temp 4-component vector of float)
0:207 'v' (temp 4-component vector of float)
0:207 textureProjGrad (global 4-component vector of float)
0:207 's2D' (uniform sampler2D)
0:207 'v' (temp 4-component vector of float)
0:207 'v2' (temp 2-component vector of float)
0:207 'v2' (temp 2-component vector of float)
0:208 move second child to first child (temp 4-component vector of float)
0:208 'v' (temp 4-component vector of float)
0:208 textureProjGrad (global 4-component vector of float)
0:208 's2DS' (uniform sampler2DShadow)
0:208 'v' (temp 4-component vector of float)
0:208 'v2' (temp 2-component vector of float)
0:208 'v2' (temp 2-component vector of float)
0:209 'v' (temp 4-component vector of float)
0:214 Function Definition: foo121111( (global void)
0:214 Function Parameters:
0:? Sequence
0:217 Sequence
0:217 move second child to first child (temp 4-component vector of float)
0:217 'v' (temp 4-component vector of float)
0:217 texture (global 4-component vector of float)
0:217 's2DRbad' (uniform sampler2DRect)
0:217 'v2' (temp 2-component vector of float)
0:225 Function Definition: foo12111( (global void)
0:225 Function Parameters:
0:? Sequence
0:231 move second child to first child (temp 4-component vector of float)
0:231 'v' (temp 4-component vector of float)
0:231 texture (global 4-component vector of float)
0:231 's2DR' (uniform sampler2DRect)
0:231 'v2' (temp 2-component vector of float)
0:232 move second child to first child (temp 4-component vector of float)
0:232 'v' (temp 4-component vector of float)
0:232 textureProj (global 4-component vector of float)
0:232 's2DR' (uniform sampler2DRect)
0:232 'v3' (temp 3-component vector of float)
0:233 move second child to first child (temp 4-component vector of float)
0:233 'v' (temp 4-component vector of float)
0:233 textureProj (global 4-component vector of float)
0:233 's2DR' (uniform sampler2DRect)
0:233 'v4' (temp 4-component vector of float)
0:234 move second child to first child (temp 4-component vector of float)
0:234 'v' (temp 4-component vector of float)
0:234 texture (global 4-component vector of float)
0:234 's2DRS' (uniform sampler2DRectShadow)
0:234 'v3' (temp 3-component vector of float)
0:235 move second child to first child (temp 4-component vector of float)
0:235 'v' (temp 4-component vector of float)
0:235 textureProj (global 4-component vector of float)
0:235 's2DRS' (uniform sampler2DRectShadow)
0:235 'v4' (temp 4-component vector of float)
0:237 move second child to first child (temp 4-component vector of float)
0:237 'v' (temp 4-component vector of float)
0:237 textureProjGrad (global 4-component vector of float)
0:237 's2DRS' (uniform sampler2DRectShadow)
0:237 'v' (temp 4-component vector of float)
0:237 'v2' (temp 2-component vector of float)
0:237 'v2' (temp 2-component vector of float)
0:? Linker Objects
0:? 'lowp' (global float)
0:? 'mediump' (global float)

View File

@ -77,9 +77,8 @@ ERROR: 0:192: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or
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:200: '##' : token pasting not implemented (internal error)
ERROR: 0:200: '' : syntax error
ERROR: 80 compilation errors. No code generated.
ERROR: 0:203: 'token pasting (##)' : not supported for this version or the enabled extensions
ERROR: 79 compilation errors. No code generated.
Shader version: 120
@ -420,7 +419,6 @@ ERROR: node is still EOpNull!
0:? 'concall' (const float)
0:? 0.295520
0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
0:? 'c' (uniform int)
0:? 'x' (in 2-component vector of int)
0:? 'v2a' (in 2-component vector of float)
@ -428,7 +426,8 @@ ERROR: node is still EOpNull!
0:? 'c2D' (in 2-component vector of float)
0:? 'c3D' (in 3-component vector of float)
0:? 'v4' (uniform 4-component vector of float)
0:? 'abc' (global int)
0:? 'abcdef' (global int)
0:? 'qrstuv' (global int)
Linked vertex stage:
@ -481,285 +480,6 @@ ERROR: node is still EOpNull!
0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
0:43 Constant:
0:43 3.800000
0:61 Function Definition: overloadB(f1;f1; (global void)
0:61 Function Parameters:
0:61 '' (in float)
0:61 '' (const (read only) float)
0:78 Function Definition: foo( (global void)
0:78 Function Parameters:
0:? Sequence
0:83 Function Call: overloadB(f1;f1; (global void)
0:83 'f' (temp float)
0:83 'f' (temp float)
0:84 Function Call: overloadB(f1;f1; (global void)
0:84 'f' (temp float)
0:84 Constant:
0:84 2.000000
0:85 Function Call: overloadB(f1;f1; (global void)
0:85 Constant:
0:85 1.000000
0:85 Convert int to float (temp float)
0:85 'i' (temp int)
0:87 Constant:
0:87 0.000000
0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
0:88 Constant:
0:88 1 (const int)
0:88 'i' (temp int)
0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
0:89 Constant:
0:89 1.000000
0:89 1.000000
0:89 Constant:
0:89 2.000000
0:89 2.000000
0:90 Constant:
0:90 0.000000
0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
0:91 Constant:
0:91 1.000000
0:91 1.000000
0:91 Constant:
0:91 2.000000
0:91 2.000000
0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
0:93 'i' (temp int)
0:93 'f' (temp float)
0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
0:94 'f' (temp float)
0:94 'i' (temp int)
0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
0:95 Convert int to float (temp float)
0:95 'i' (temp int)
0:95 'i' (temp int)
0:98 Constant:
0:98 0.000000
0:100 Constant:
0:100 0.841471
0:101 texture (global 4-component vector of float)
0:101 's2D' (uniform sampler2D)
0:101 Constant:
0:101 0.000000
0:101 0.000000
0:102 clamp (global 4-component vector of float)
0:102 'attv4' (in 4-component vector of float)
0:102 Constant:
0:102 0.000000
0:102 Constant:
0:102 1.000000
0:103 clamp (global 4-component vector of float)
0:103 Convert int to float (temp 4-component vector of float)
0:103 Convert float to int (temp 4-component vector of int)
0:103 'attv4' (in 4-component vector of float)
0:103 Constant:
0:103 0.000000
0:103 Constant:
0:103 1.000000
0:106 Constant:
0:106 0.000000
0:107 Constant:
0:107 0.000000
0:108 Constant:
0:108 0.000000
0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
0:109 Constant:
0:109 3.300000
0:109 3.300000
0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
0:110 Constant:
0:110 0.500000
0:110 0.000000
0:110 0.000000
0:110 0.500000
0:111 Constant:
0:111 0.000000
0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
0:112 Constant:
0:112 1.000000
0:112 1.000000
0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
0:115 'b' (temp 2-element array of float)
0:117 Constant:
0:117 0.000000
0:118 Function Call: overloadF(i1; (global 3-component vector of float)
0:118 Constant:
0:118 1 (const int)
0:128 Function Definition: foo2( (global void)
0:128 Function Parameters:
0:? Sequence
0:135 Comma (global void)
0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
0:135 Convert int to float (temp float)
0:135 'i' (temp int)
0:135 'tempArg' (temp 2-component vector of int)
0:135 'i' (temp int)
0:135 'f' (temp float)
0:135 move second child to first child (temp 2-component vector of float)
0:135 'v2' (temp 2-component vector of float)
0:135 Convert int to float (temp 2-component vector of float)
0:135 'tempArg' (temp 2-component vector of int)
0:136 Comma (global int)
0:136 move second child to first child (temp int)
0:136 'tempReturn' (global int)
0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
0:136 Convert int to float (temp float)
0:136 'i' (temp int)
0:136 'tempArg' (temp int)
0:136 'i' (temp int)
0:136 'tempArg' (temp 4-component vector of int)
0:136 move second child to first child (temp float)
0:136 'f' (temp float)
0:136 Convert int to float (temp float)
0:136 'tempArg' (temp int)
0:136 move second child to first child (temp 4-component vector of float)
0:136 'v4' (temp 4-component vector of float)
0:136 Convert int to float (temp 4-component vector of float)
0:136 'tempArg' (temp 4-component vector of int)
0:136 'tempReturn' (global int)
0:137 Sequence
0:137 move second child to first child (temp float)
0:137 'ret' (temp float)
0:137 Convert int to float (temp float)
0:137 Comma (global int)
0:137 move second child to first child (temp int)
0:137 'tempReturn' (global int)
0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
0:137 Convert int to float (temp float)
0:137 'i' (temp int)
0:137 'tempArg' (temp int)
0:137 'i' (temp int)
0:137 'tempArg' (temp 4-component vector of int)
0:137 move second child to first child (temp float)
0:137 'f' (temp float)
0:137 Convert int to float (temp float)
0:137 'tempArg' (temp int)
0:137 move second child to first child (temp 4-component vector of float)
0:137 'v4' (temp 4-component vector of float)
0:137 Convert int to float (temp 4-component vector of float)
0:137 'tempArg' (temp 4-component vector of int)
0:137 'tempReturn' (global int)
0:138 Sequence
0:138 move second child to first child (temp 2-component vector of float)
0:138 'ret2' (temp 2-component vector of float)
0:138 Convert int to float (temp 2-component vector of float)
0:138 Comma (global 2-component vector of int)
0:138 move second child to first child (temp 2-component vector of int)
0:138 'tempReturn' (global 2-component vector of int)
0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
0:138 Convert int to float (temp float)
0:138 'i' (temp int)
0:138 'tempArg' (temp 4-component vector of int)
0:138 'i' (temp int)
0:138 'tempArg' (temp 4-component vector of int)
0:138 move second child to first child (temp 4-component vector of float)
0:138 'v4' (temp 4-component vector of float)
0:138 Convert int to float (temp 4-component vector of float)
0:138 'tempArg' (temp 4-component vector of int)
0:138 move second child to first child (temp 4-component vector of float)
0:138 'v4' (temp 4-component vector of float)
0:138 Convert int to float (temp 4-component vector of float)
0:138 'tempArg' (temp 4-component vector of int)
0:138 'tempReturn' (global 2-component vector of int)
0:139 Sequence
0:139 move second child to first child (temp bool)
0:139 'b' (temp bool)
0:139 any (global bool)
0:139 Compare Less Than (global 4-component vector of bool)
0:139 'v4' (temp 4-component vector of float)
0:139 'attv4' (in 4-component vector of float)
0:142 Function Definition: noise( (global void)
0:142 Function Parameters:
0:144 Sequence
0:144 Sequence
0:144 move second child to first child (temp float)
0:144 'f1' (temp float)
0:144 noise (global float)
0:144 Constant:
0:144 1.000000
0:145 Sequence
0:145 move second child to first child (temp 2-component vector of float)
0:145 'f2' (temp 2-component vector of float)
0:145 noise (global 2-component vector of float)
0:145 Constant:
0:145 1.000000
0:145 1.000000
0:146 Sequence
0:146 move second child to first child (temp 3-component vector of float)
0:146 'f3' (temp 3-component vector of float)
0:146 noise (global 3-component vector of float)
0:146 Constant:
0:146 1.000000
0:146 1.000000
0:146 1.000000
0:147 Sequence
0:147 move second child to first child (temp 4-component vector of float)
0:147 'f4' (temp 4-component vector of float)
0:147 noise (global 4-component vector of float)
0:147 Constant:
0:147 1.000000
0:147 1.000000
0:147 1.000000
0:147 1.000000
0:162 Function Definition: foo213( (global void)
0:162 Function Parameters:
0:164 Sequence
0:164 Sequence
0:164 move second child to first child (temp float)
0:164 'f' (temp float)
0:164 Constant:
0:164 3.000000
0:165 switch
0:165 condition
0:165 'c' (uniform int)
0:165 body
0:165 Sequence
0:166 case: with expression
0:166 Constant:
0:166 1 (const int)
0:? Sequence
0:167 move second child to first child (temp float)
0:167 'f' (temp float)
0:167 sine (global float)
0:167 'f' (temp float)
0:168 Branch: Break
0:169 case: with expression
0:169 Constant:
0:169 2 (const int)
0:? Sequence
0:170 move second child to first child (temp float)
0:170 'f' (temp float)
0:170 component-wise multiply (temp float)
0:170 'f' (temp float)
0:170 'f' (temp float)
0:171 default:
0:? Sequence
0:172 move second child to first child (temp float)
0:172 'f' (temp float)
0:172 Constant:
0:172 3.000000
0:176 inclusive-or (temp int)
0:176 left-shift (temp int)
0:176 'i' (temp int)
0:176 Constant:
0:176 3 (const int)
0:176 Constant:
0:176 69 (const int)
0:180 Sequence
0:180 move second child to first child (temp float)
0:180 't' (temp float)
0:180 Constant:
0:180 0.000000
0:186 Constant:
0:186 0.000000
0:188 Constant:
0:188 0.000000
0:189 Constant:
0:189 0.000000
0:192 move second child to first child (temp float)
0:192 Constant:
0:192 0.000000
0:192 Constant:
0:192 0.300000
0:? Linker Objects
0:? 'i' (in 4-component vector of float)
0:? 'o' (smooth out 4-component vector of float)
@ -772,7 +492,6 @@ ERROR: node is still EOpNull!
0:? 'concall' (const float)
0:? 0.295520
0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
0:? 'c' (uniform int)
0:? 'x' (in 2-component vector of int)
0:? 'v2a' (in 2-component vector of float)
@ -780,5 +499,6 @@ ERROR: node is still EOpNull!
0:? 'c2D' (in 2-component vector of float)
0:? 'c3D' (in 3-component vector of float)
0:? 'v4' (uniform 4-component vector of float)
0:? 'abc' (global int)
0:? 'abcdef' (global int)
0:? 'qrstuv' (global int)

View File

@ -383,8 +383,7 @@ ERROR: node is still EOpNull!
0:? 'fnop' (noperspective in float)
0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
0:? 'sampC' (uniform samplerCube)
0:? 'gl_Color' (smooth in 4-component vector of float Color)
0:? 'gl_Color' (flat in 4-component vector of float Color)
0:? 'gl_Color' (in 4-component vector of float Color)
0:? 'samp2D' (uniform sampler2D)
0:? 'samp2DS' (uniform sampler2DShadow)
0:? 'samp2DR' (uniform sampler2DRect)
@ -428,326 +427,6 @@ ERROR: node is still EOpNull!
0:18 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
0:18 Constant:
0:18 3 (const int)
0:23 Function Definition: foo( (global void)
0:23 Function Parameters:
0:25 Sequence
0:25 Sequence
0:25 move second child to first child (temp 4-component vector of float)
0:25 's' (temp 4-component vector of float)
0:25 textureGather (global 4-component vector of float)
0:25 'sampC' (uniform samplerCube)
0:25 Constant:
0:25 0.200000
0:25 0.200000
0:25 0.200000
0:30 Function Definition: bar( (global void)
0:30 Function Parameters:
0:32 Sequence
0:32 Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:32 's' (temp 4-component vector of float)
0:32 textureGather (global 4-component vector of float)
0:32 'sampC' (uniform samplerCube)
0:32 Constant:
0:32 0.200000
0:32 0.200000
0:32 0.200000
0:43 Function Definition: bar2( (global void)
0:43 Function Parameters:
0:45 Sequence
0:45 Sequence
0:45 move second child to first child (temp 4-component vector of float)
0:45 's' (temp 4-component vector of float)
0:45 textureGather (global 4-component vector of float)
0:45 'sampC' (uniform samplerCube)
0:45 Constant:
0:45 0.200000
0:45 0.200000
0:45 0.200000
0:49 move second child to first child (temp 3-component vector of bool)
0:49 'b3' (temp 3-component vector of bool)
0:49 Compare Less Than (global 3-component vector of bool)
0:49 'uv3' (temp 3-component vector of uint)
0:49 'uv3' (temp 3-component vector of uint)
0:50 move second child to first child (temp 3-component vector of bool)
0:50 'b3' (temp 3-component vector of bool)
0:50 Equal (global 3-component vector of bool)
0:50 'uv3' (temp 3-component vector of uint)
0:50 'uv3' (temp 3-component vector of uint)
0:56 direct index (temp int)
0:56 'a1' (temp 1-element array of int)
0:56 Constant:
0:56 0 (const int)
0:57 direct index (temp int)
0:57 'a2' (temp 1-element array of int)
0:57 Constant:
0:57 0 (const int)
0:60 direct index (temp int)
0:60 'a3' (temp 4-element array of int)
0:60 Constant:
0:60 3 (const int)
0:61 Compare Not Equal (temp bool)
0:61 'b3' (temp 3-component vector of bool)
0:61 'b3' (temp 3-component vector of bool)
0:62 Constant:
0:62 false (const bool)
0:63 Constant:
0:63 false (const bool)
0:64 Constant:
0:64 false (const bool)
0:65 Constant:
0:65 true (const bool)
0:66 Constant:
0:66 false (const bool)
0:77 Function Definition: bar23( (global void)
0:77 Function Parameters:
0:? Sequence
0:80 's' (temp 4-component vector of float)
0:81 move second child to first child (temp 4-component vector of float)
0:81 's' (temp 4-component vector of float)
0:81 textureGatherOffset (global 4-component vector of float)
0:81 'samp2DR' (uniform sampler2DRect)
0:81 Constant:
0:81 0.300000
0:81 0.300000
0:81 Constant:
0:81 1 (const int)
0:81 1 (const int)
0:82 move second child to first child (temp 4-component vector of float)
0:82 's' (temp 4-component vector of float)
0:82 textureGatherOffset (global 4-component vector of float)
0:82 'samp2D' (uniform sampler2D)
0:82 Constant:
0:82 0.300000
0:82 0.300000
0:82 Constant:
0:82 1 (const int)
0:82 1 (const int)
0:83 move second child to first child (temp 4-component vector of float)
0:83 's' (temp 4-component vector of float)
0:83 textureGatherOffset (global 4-component vector of float)
0:83 'samp2DA' (uniform sampler2DArray)
0:83 Constant:
0:83 0.300000
0:83 0.300000
0:83 0.300000
0:83 Constant:
0:83 1 (const int)
0:83 1 (const int)
0:84 move second child to first child (temp 4-component vector of float)
0:84 's' (temp 4-component vector of float)
0:84 textureGatherOffset (global 4-component vector of float)
0:84 'samp2DS' (uniform sampler2DShadow)
0:84 Constant:
0:84 0.300000
0:84 0.300000
0:84 Constant:
0:84 1.300000
0:84 Constant:
0:84 1 (const int)
0:84 1 (const int)
0:85 move second child to first child (temp 4-component vector of float)
0:85 's' (temp 4-component vector of float)
0:85 textureGatherOffset (global 4-component vector of float)
0:85 'samp2D' (uniform sampler2D)
0:85 Constant:
0:85 0.300000
0:85 0.300000
0:85 Constant:
0:85 1 (const int)
0:85 1 (const int)
0:85 Constant:
0:85 2 (const int)
0:90 Function Definition: bar234( (global void)
0:90 Function Parameters:
0:? Sequence
0:93 move second child to first child (temp 4-component vector of float)
0:93 's' (temp 4-component vector of float)
0:93 textureGatherOffset (global 4-component vector of float)
0:93 'samp2D' (uniform sampler2D)
0:93 Constant:
0:93 0.300000
0:93 0.300000
0:93 Constant:
0:93 1 (const int)
0:93 1 (const int)
0:94 move second child to first child (temp 4-component vector of float)
0:94 's' (temp 4-component vector of float)
0:94 textureGatherOffset (global 4-component vector of float)
0:94 'samp2DA' (uniform sampler2DArray)
0:94 Constant:
0:94 0.300000
0:94 0.300000
0:94 0.300000
0:94 Constant:
0:94 1 (const int)
0:94 1 (const int)
0:95 move second child to first child (temp 4-component vector of float)
0:95 's' (temp 4-component vector of float)
0:95 textureGatherOffset (global 4-component vector of float)
0:95 'samp2DR' (uniform sampler2DRect)
0:95 Constant:
0:95 0.300000
0:95 0.300000
0:95 Constant:
0:95 1 (const int)
0:95 1 (const int)
0:96 move second child to first child (temp 4-component vector of float)
0:96 's' (temp 4-component vector of float)
0:96 textureGatherOffset (global 4-component vector of float)
0:96 'samp2DS' (uniform sampler2DShadow)
0:96 Constant:
0:96 0.300000
0:96 0.300000
0:96 Constant:
0:96 1.300000
0:96 Constant:
0:96 1 (const int)
0:96 1 (const int)
0:97 move second child to first child (temp 4-component vector of float)
0:97 's' (temp 4-component vector of float)
0:97 textureGatherOffset (global 4-component vector of float)
0:97 'samp2D' (uniform sampler2D)
0:97 Constant:
0:97 0.300000
0:97 0.300000
0:97 Constant:
0:97 1 (const int)
0:97 1 (const int)
0:97 Constant:
0:97 2 (const int)
0:107 Function Definition: bar235( (global void)
0:107 Function Parameters:
0:109 Sequence
0:109 Sequence
0:109 move second child to first child (temp 3-component vector of int)
0:109 'a' (temp 3-component vector of int)
0:109 textureSize (global 3-component vector of int)
0:109 'Sca' (uniform samplerCubeArray)
0:109 Constant:
0:109 3 (const int)
0:110 Sequence
0:110 move second child to first child (temp 4-component vector of float)
0:110 'b' (temp 4-component vector of float)
0:110 texture (global 4-component vector of float)
0:110 'Sca' (uniform samplerCubeArray)
0:110 'i' (smooth in 4-component vector of float)
0:111 Sequence
0:111 move second child to first child (temp 4-component vector of int)
0:111 'c' (temp 4-component vector of int)
0:111 texture (global 4-component vector of int)
0:111 'Isca' (uniform isamplerCubeArray)
0:111 'i' (smooth in 4-component vector of float)
0:111 Constant:
0:111 0.700000
0:112 Sequence
0:112 move second child to first child (temp 4-component vector of uint)
0:112 'd' (temp 4-component vector of uint)
0:112 texture (global 4-component vector of uint)
0:112 'Usca' (uniform usamplerCubeArray)
0:112 'i' (smooth in 4-component vector of float)
0:114 move second child to first child (temp 4-component vector of float)
0:114 'b' (temp 4-component vector of float)
0:114 textureLod (global 4-component vector of float)
0:114 'Sca' (uniform samplerCubeArray)
0:114 'i' (smooth in 4-component vector of float)
0:114 Constant:
0:114 1.700000
0:115 move second child to first child (temp 3-component vector of int)
0:115 'a' (temp 3-component vector of int)
0:115 textureSize (global 3-component vector of int)
0:115 'Scas' (uniform samplerCubeArrayShadow)
0:115 direct index (temp int)
0:115 'a' (temp 3-component vector of int)
0:115 Constant:
0:115 0 (const int)
0:116 Sequence
0:116 move second child to first child (temp float)
0:116 'f' (temp float)
0:116 texture (global float)
0:116 'Scas' (uniform samplerCubeArrayShadow)
0:116 'i' (smooth in 4-component vector of float)
0:116 direct index (temp float)
0:116 'b' (temp 4-component vector of float)
0:116 Constant:
0:116 1 (const int)
0:117 move second child to first child (temp 4-component vector of int)
0:117 'c' (temp 4-component vector of int)
0:117 textureGrad (global 4-component vector of int)
0:117 'Isca' (uniform isamplerCubeArray)
0:117 'i' (smooth in 4-component vector of float)
0:117 Constant:
0:117 0.100000
0:117 0.100000
0:117 0.100000
0:117 Constant:
0:117 0.200000
0:117 0.200000
0:117 0.200000
0:129 Function Definition: bar23444( (global void)
0:129 Function Parameters:
0:? Sequence
0:132 Sequence
0:132 move second child to first child (temp float)
0:132 'a1' (temp float)
0:132 direct index (temp float)
0:132 direct index (temp 3-component vector of float)
0:132 'm43' (temp 4X3 matrix of float)
0:132 Constant:
0:132 3 (const int)
0:132 Constant:
0:132 1 (const int)
0:134 Sequence
0:134 move second child to first child (temp int)
0:134 'a2' (temp int)
0:134 Constant:
0:134 4 (const int)
0:135 add second child into first child (temp int)
0:135 'a2' (temp int)
0:135 Constant:
0:135 3 (const int)
0:136 add second child into first child (temp int)
0:136 'a2' (temp int)
0:136 Constant:
0:136 3 (const int)
0:137 Sequence
0:137 move second child to first child (temp float)
0:137 'b' (const (read only) float)
0:137 component-wise multiply (temp float)
0:137 Constant:
0:137 2.000000
0:137 'a1' (temp float)
0:138 move second child to first child (temp float)
0:138 direct index (temp float)
0:138 'a' (global 3-component vector of float)
0:138 Constant:
0:138 0 (const int)
0:138 Constant:
0:138 -1.000000
0:140 Constant:
0:140 0.000000
0:141 Constant:
0:141 0.000000
0:143 Constant:
0:143 1 (const int)
0:162 Function Definition: qux2( (global void)
0:162 Function Parameters:
0:? Sequence
0:165 imageAtomicCompSwap (global int)
0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
0:165 Construct ivec2 (temp 2-component vector of int)
0:165 'i' (temp int)
0:165 'i' (temp int)
0:165 'i' (temp int)
0:165 'i' (temp int)
0:166 Sequence
0:166 move second child to first child (temp 4-component vector of int)
0:166 'pos' (temp 4-component vector of int)
0:166 imageLoad (global 4-component vector of int)
0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
0:166 Construct ivec2 (temp 2-component vector of int)
0:166 'i' (temp int)
0:166 'i' (temp int)
0:? Linker Objects
0:? 'a' (global 3-component vector of float)
0:? 'b' (global float)
@ -759,8 +438,7 @@ ERROR: node is still EOpNull!
0:? 'fnop' (noperspective in float)
0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
0:? 'sampC' (uniform samplerCube)
0:? 'gl_Color' (smooth in 4-component vector of float Color)
0:? 'gl_Color' (flat in 4-component vector of float Color)
0:? 'gl_Color' (in 4-component vector of float Color)
0:? 'samp2D' (uniform sampler2D)
0:? 'samp2DS' (uniform sampler2DShadow)
0:? 'samp2DR' (uniform sampler2DRect)

View File

@ -3,9 +3,7 @@ ERROR: 0:59: 'gl_InstanceID' : undeclared identifier
ERROR: 0:59: '=' : cannot convert from 'temp float' to 'temp int'
ERROR: 0:61: 'texelFetch' : no matching overloaded function found
ERROR: 0:61: 'assign' : cannot convert from 'const float' to 'temp int'
ERROR: 0:75: '##' : token pasting not implemented (internal error)
ERROR: 0:75: '' : syntax error
ERROR: 6 compilation errors. No code generated.
ERROR: 4 compilation errors. No code generated.
Shader version: 130
@ -149,7 +147,8 @@ ERROR: node is still EOpNull!
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:? 'abc' (global int)
0:? 'abcdef' (global int)
0:? 'qrstuv' (global int)
0:? 'gl_VertexID' (gl_VertexId int VertexId)
@ -269,23 +268,6 @@ ERROR: node is still EOpNull!
0:46 1 (const int)
0:46 Constant:
0:46 0.300000
0:57 Function Definition: foo88( (global void)
0:57 Function Parameters:
0:? Sequence
0:61 'id' (temp int)
0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:64 'gl_Color' (in 4-component vector of float Color)
0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
0:65 Constant:
0:65 0 (const int)
0:66 far: direct index for structure (global float)
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 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
0:? 'c' (uniform int)
0:? 'us2D' (uniform usampler2D)
@ -298,6 +280,7 @@ ERROR: node is still EOpNull!
0:? 'v4' (uniform 4-component vector of float)
0:? 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
0:? 'abc' (global int)
0:? 'abcdef' (global int)
0:? 'qrstuv' (global int)
0:? 'gl_VertexID' (gl_VertexId int VertexId)

View File

@ -104,7 +104,6 @@ ERROR: node is still EOpNull!
0:? 'i' (smooth in 4-component vector of float)
0:? 'o' (out 4-component vector of float)
0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
@ -137,51 +136,6 @@ ERROR: node is still EOpNull!
0:22 'patch' (global float)
0:22 Constant:
0:22 3.100000
0:38 Function Definition: foo( (global void)
0:38 Function Parameters:
0:40 Sequence
0:40 Sequence
0:40 move second child to first child (temp 2-component vector of float)
0:40 'r1' (temp 2-component vector of float)
0:40 modf (global 2-component vector of float)
0:40 vector swizzle (temp 2-component vector of float)
0:40 'v' (smooth in 4-component vector of float)
0:40 Sequence
0:40 Constant:
0:40 0 (const int)
0:40 Constant:
0:40 1 (const int)
0:40 vector swizzle (temp 2-component vector of float)
0:40 'v' (smooth in 4-component vector of float)
0:40 Sequence
0:40 Constant:
0:40 2 (const int)
0:40 Constant:
0:40 3 (const int)
0:41 Sequence
0:41 move second child to first child (temp 2-component vector of float)
0:41 'r2' (temp 2-component vector of float)
0:41 modf (global 2-component vector of float)
0:41 vector swizzle (temp 2-component vector of float)
0:41 'o' (out 4-component vector of float)
0:41 Sequence
0:41 Constant:
0:41 0 (const int)
0:41 Constant:
0:41 1 (const int)
0:41 vector swizzle (temp 2-component vector of float)
0:41 'o' (out 4-component vector of float)
0:41 Sequence
0:41 Constant:
0:41 2 (const int)
0:41 Constant:
0:41 3 (const int)
0:42 move second child to first child (temp float)
0:42 direct index (temp float)
0:42 'o' (out 4-component vector of float)
0:42 Constant:
0:42 2 (const int)
0:42 Function Call: fooi( (global float)
0:47 Sequence
0:47 move second child to first child (temp float)
0:47 'i1' (global float)
@ -199,19 +153,11 @@ ERROR: node is still EOpNull!
0:48 'i2' (global float)
0:48 Constant:
0:48 102.000000
0:50 Function Definition: fooi( (global float)
0:50 Function Parameters:
0:52 Sequence
0:52 Branch: Return with expression
0:52 add (temp float)
0:52 'i1' (global float)
0:52 'i2' (global float)
0:? Linker Objects
0:? 'v' (smooth in 4-component vector of float)
0:? 'i' (smooth in 4-component vector of float)
0:? 'o' (out 4-component vector of float)
0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)

View File

@ -124,10 +124,7 @@ ERROR: node is still EOpNull!
0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
0:? 'loc' (layout(location=9 ) in 4-component vector of float)
0:? 'gl_PointSize' (gl_PointSize float PointSize)
0:? 'gl_PointSize' (gl_PointSize float PointSize)
0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:? 's2dr' (uniform sampler2DRect)
0:? 's2drs' (uniform sampler2DRectShadow)
@ -181,71 +178,6 @@ ERROR: node is still EOpNull!
0:18 'gl_TexCoord' (smooth out 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)
0:48 Function Parameters:
0:50 Sequence
0:50 Sequence
0:50 move second child to first child (temp 4-component vector of float)
0:50 'v' (temp 4-component vector of float)
0:50 textureFetch (global 4-component vector of float)
0:50 's2dr' (uniform sampler2DRect)
0:50 'itloc2' (in 2-component vector of int)
0:51 add second child into first child (temp 4-component vector of float)
0:51 'v' (temp 4-component vector of float)
0:51 Constant:
0:51 0.000000
0:52 add second child into first child (temp 4-component vector of float)
0:52 'v' (temp 4-component vector of float)
0:52 texture (global 4-component vector of float)
0:52 's2dr' (uniform sampler2DRect)
0:52 'tloc2' (in 2-component vector of float)
0:53 add second child into first child (temp 4-component vector of float)
0:53 'v' (temp 4-component vector of float)
0:53 Constant:
0:53 0.000000
0:54 add second child into first child (temp 4-component vector of float)
0:54 'v' (temp 4-component vector of float)
0:54 texture (global float)
0:54 's2drs' (uniform sampler2DRectShadow)
0:54 'tloc3' (in 3-component vector of float)
0:55 add second child into first child (temp 4-component vector of float)
0:55 'v' (temp 4-component vector of float)
0:55 textureProj (global 4-component vector of float)
0:55 's2dr' (uniform sampler2DRect)
0:55 'tloc3' (in 3-component vector of float)
0:56 add second child into first child (temp 4-component vector of float)
0:56 'v' (temp 4-component vector of float)
0:56 textureProj (global 4-component vector of float)
0:56 's2dr' (uniform sampler2DRect)
0:56 'tloc4' (in 4-component vector of float)
0:57 add second child into first child (temp 4-component vector of float)
0:57 'v' (temp 4-component vector of float)
0:57 textureProjGradOffset (global 4-component vector of float)
0:57 's2dr' (uniform sampler2DRect)
0:57 'tloc4' (in 4-component vector of float)
0:57 Constant:
0:57 0.000000
0:57 0.000000
0:57 Constant:
0:57 0.000000
0:57 0.000000
0:57 Constant:
0:57 1 (const int)
0:57 2 (const int)
0:58 add second child into first child (temp 4-component vector of float)
0:58 'v' (temp 4-component vector of float)
0:58 textureProjGradOffset (global float)
0:58 's2drs' (uniform sampler2DRectShadow)
0:58 'tloc4' (in 4-component vector of float)
0:58 Constant:
0:58 0.000000
0:58 0.000000
0:58 Constant:
0:58 0.000000
0:58 0.000000
0:58 Constant:
0:58 1 (const int)
0:58 2 (const int)
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})
@ -254,10 +186,7 @@ ERROR: node is still EOpNull!
0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
0:? 'loc' (layout(location=9 ) in 4-component vector of float)
0:? 'gl_PointSize' (gl_PointSize float PointSize)
0:? 'gl_PointSize' (gl_PointSize float PointSize)
0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
0:? 's2dr' (uniform sampler2DRect)
0:? 's2drs' (uniform sampler2DRectShadow)

View File

@ -108,7 +108,6 @@ ERROR: node is still EOpNull!
0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
0:? Linker Objects
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'foo' (smooth in 4-component vector of float)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)
@ -142,93 +141,8 @@ ERROR: node is still EOpNull!
0:18 'patch' (global float)
0:18 Constant:
0:18 3.100000
0:31 Function Definition: barWxyz( (global void)
0:31 Function Parameters:
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp 2-component vector of int)
0:33 't11' (temp 2-component vector of int)
0:33 textureSize (global 2-component vector of int)
0:33 'sms' (uniform sampler2DMS)
0:34 Sequence
0:34 move second child to first child (temp 2-component vector of int)
0:34 't12' (temp 2-component vector of int)
0:34 textureSize (global 2-component vector of int)
0:34 'isms' (uniform isampler2DMS)
0:35 Sequence
0:35 move second child to first child (temp 2-component vector of int)
0:35 't13' (temp 2-component vector of int)
0:35 textureSize (global 2-component vector of int)
0:35 'usms' (uniform usampler2DMS)
0:36 Sequence
0:36 move second child to first child (temp 3-component vector of int)
0:36 't21' (temp 3-component vector of int)
0:36 textureSize (global 3-component vector of int)
0:36 'smsa' (uniform sampler2DMSArray)
0:37 Sequence
0:37 move second child to first child (temp 3-component vector of int)
0:37 't22' (temp 3-component vector of int)
0:37 textureSize (global 3-component vector of int)
0:37 'ismsa' (uniform isampler2DMSArray)
0:38 Sequence
0:38 move second child to first child (temp 3-component vector of int)
0:38 't23' (temp 3-component vector of int)
0:38 textureSize (global 3-component vector of int)
0:38 'usmsa' (uniform usampler2DMSArray)
0:39 Sequence
0:39 move second child to first child (temp 4-component vector of float)
0:39 't31' (temp 4-component vector of float)
0:39 textureFetch (global 4-component vector of float)
0:39 'sms' (uniform sampler2DMS)
0:39 'p2' (flat in 2-component vector of int)
0:39 'samp' (flat in int)
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of int)
0:40 't32' (temp 4-component vector of int)
0:40 textureFetch (global 4-component vector of int)
0:40 'isms' (uniform isampler2DMS)
0:40 'p2' (flat in 2-component vector of int)
0:40 'samp' (flat in int)
0:41 Sequence
0:41 move second child to first child (temp 4-component vector of uint)
0:41 't33' (temp 4-component vector of uint)
0:41 textureFetch (global 4-component vector of uint)
0:41 'usms' (uniform usampler2DMS)
0:41 'p2' (flat in 2-component vector of int)
0:41 Constant:
0:41 3 (const int)
0:42 Sequence
0:42 move second child to first child (temp 4-component vector of float)
0:42 't41' (temp 4-component vector of float)
0:42 textureFetch (global 4-component vector of float)
0:42 'smsa' (uniform sampler2DMSArray)
0:42 'p3' (flat in 3-component vector of int)
0:42 'samp' (flat in int)
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of int)
0:43 't42' (temp 4-component vector of int)
0:43 textureFetch (global 4-component vector of int)
0:43 'ismsa' (uniform isampler2DMSArray)
0:43 Constant:
0:43 2 (const int)
0:43 2 (const int)
0:43 2 (const int)
0:43 'samp' (flat in int)
0:44 Sequence
0:44 move second child to first child (temp 4-component vector of uint)
0:44 't43' (temp 4-component vector of uint)
0:44 textureFetch (global 4-component vector of uint)
0:44 'usmsa' (uniform usampler2DMSArray)
0:44 'p3' (flat in 3-component vector of int)
0:44 'samp' (flat in int)
0:47 Function Definition: primitiveID( (global int)
0:47 Function Parameters:
0:49 Sequence
0:49 Branch: Return with expression
0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
0:? Linker Objects
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'foo' (smooth in 4-component vector of float)
0:? 's' (smooth in structure{global float f})
0:? 'patch' (global float)

View File

@ -255,39 +255,11 @@ ERROR: node is still EOpNull!
0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
0:37 Constant:
0:37 2 (const int)
0:67 Function Definition: foo(i1; (global void)
0:67 Function Parameters:
0:67 'a' (in int)
0:69 Sequence
0:69 move second child to first child (temp 4-component vector of float)
0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
0:69 Constant:
0:69 0 (const int)
0:69 Constant:
0:69 1.000000
0:69 1.000000
0:69 1.000000
0:69 1.000000
0:107 Sequence
0:107 move second child to first child (temp float)
0:107 'summ' (global float)
0:107 Constant:
0:107 11332.000000
0:127 Function Definition: fooe1( (global void)
0:127 Function Parameters:
0:129 Sequence
0:129 move second child to first child (temp int)
0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:129 Constant:
0:129 15 (const int)
0:134 Function Definition: fooe2( (global void)
0:134 Function Parameters:
0:136 Sequence
0:136 move second child to first child (temp int)
0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:136 Constant:
0:136 15 (const int)
0:? Linker Objects
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})

View File

@ -910,8 +910,10 @@ ERROR: node is still EOpNull!
Linked tessellation control stage:
ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
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: can't handle multiple entry points per stage
ERROR: Linking tessellation control stage: Contradictory layout vertices values
ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
main(
@ -921,6 +923,7 @@ 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}"
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
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: Multiple function bodies in multiple compilation units for the same signature in the same stage:
@ -934,8 +937,10 @@ ERROR: Linking tessellation control stage: Types must match:
Linked tessellation evaluation stage:
ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
main(
ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
@ -1184,35 +1189,6 @@ vertices = 4
0:56 Barrier (global void)
0:59 Branch: Return
0:61 Barrier (global void)
0:67 Function Definition: foo( (global void)
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 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 2-element array of float ClipDistance gl_ClipDistance})
0:69 Constant:
0:69 4 (const int)
0:69 Constant:
0:69 1 (const int)
0:71 Barrier (global void)
0:91 Function Definition: foop( (global void)
0:91 Function Parameters:
0:? Sequence
0:95 multiply second child into first child (temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:96 move second child to first child (temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 fma (global 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:97 move second child to first child (temp double)
0:97 'd' (noContraction temp double)
0:97 fma (global double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:8 Function Definition: main( (global void)
0:8 Function Parameters:
0:15 Function Definition: main( (global void)
@ -1274,41 +1250,6 @@ vertices = 4
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
0:26 'gl_InvocationID' (in int InvocationID)
0:34 Function Definition: foo( (global void)
0:34 Function Parameters:
0:36 Sequence
0:36 Test condition and select (temp void)
0:36 Condition
0:36 logical-or (temp bool)
0:36 Compare Not Equal (temp bool)
0:36 Constant:
0:36 -0.625000
0:36 -0.500000
0:36 -0.375000
0:36 -0.250000
0:36 -0.375000
0:36 -0.250000
0:36 -0.125000
0:36 0.000000
0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
0:36 Constant:
0:36 0 (const int)
0:37 Compare Not Equal (temp bool)
0:37 Constant:
0:37 0.375000
0:37 0.500000
0:37 0.625000
0:37 0.750000
0:37 0.625000
0:37 0.750000
0:37 0.875000
0:37 -0.625000
0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
0:37 Constant:
0:37 0 (const int)
0:36 true case is null
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 2-element array of float ClipDistance gl_ClipDistance})
0:? 'outa' (global 4-element array of int)

View File

@ -28,7 +28,7 @@ ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled
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 ouput array' : not supported with this profile: es
ERROR: 0:111: 'variable indexing fragment shader output array' : not supported with this profile: es
ERROR: 0:119: '==' : can't use with samplers or structs containing samplers
ERROR: 0:120: '!=' : can't use with samplers or structs containing samplers
ERROR: 0:121: '==' : can't use with samplers or structs containing samplers
@ -592,131 +592,6 @@ ERROR: node is still EOpNull!
0:96 'c4D' (smooth temp lowp 4-component vector of float)
0:97 arc hyp. tangent (global lowp 3-component vector of float)
0:97 'c3D' (smooth in lowp 3-component vector of float)
0:108 Function Definition: foo( (global void)
0:108 Function Parameters:
0:110 Sequence
0:110 move second child to first child (temp lowp 4-component vector of float)
0:110 direct index (temp lowp 4-component vector of float)
0:110 'colors' (out 4-element array of lowp 4-component vector of float)
0:110 Constant:
0:110 2 (const int)
0:110 'c4D' (smooth temp lowp 4-component vector of float)
0:111 move second child to first child (temp lowp 4-component vector of float)
0:111 indirect index (temp lowp 4-component vector of float)
0:111 'colors' (out 4-element array of lowp 4-component vector of float)
0:111 'ic1D' (flat in mediump int)
0:111 'c4D' (smooth temp lowp 4-component vector of float)
0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
0:117 Function Parameters:
0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:119 Sequence
0:119 Test condition and select (temp void)
0:119 Condition
0:119 Compare Equal (temp bool)
0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
0:119 true case is null
0:120 Test condition and select (temp void)
0:120 Condition
0:120 Compare Not Equal (temp bool)
0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
0:120 true case is null
0:121 Constant:
0:121 false (const bool)
0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:123 Compare Equal (temp bool)
0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:126 Function Definition: foo23( (global void)
0:126 Function Parameters:
0:128 Sequence
0:128 textureOffset (global lowp float)
0:128 's2DShadow' (uniform lowp sampler2DShadow)
0:128 'c3D' (smooth in lowp 3-component vector of float)
0:128 Constant:
0:128 -8 (const int)
0:128 7 (const int)
0:128 'c1D' (smooth in lowp float)
0:129 textureOffset (global lowp float)
0:129 's2DShadow' (uniform lowp sampler2DShadow)
0:129 'c3D' (smooth in lowp 3-component vector of float)
0:129 Constant:
0:129 -9 (const int)
0:129 8 (const int)
0:129 'c1D' (smooth in lowp float)
0:132 Function Definition: foo324( (global void)
0:132 Function Parameters:
0:134 Sequence
0:134 Sequence
0:134 move second child to first child (temp lowp float)
0:134 'p' (temp lowp float)
0:134 Constant:
0:134 210.712306
0:135 add second child into first child (temp lowp float)
0:135 'p' (temp lowp float)
0:135 Constant:
0:135 0.389418
0:136 add second child into first child (temp lowp float)
0:136 'p' (temp lowp float)
0:136 Constant:
0:136 5.000000
0:137 add second child into first child (temp lowp float)
0:137 'p' (temp lowp float)
0:137 Constant:
0:137 13.000000
0:138 Sequence
0:138 move second child to first child (temp lowp 3-component vector of float)
0:138 'c3' (temp lowp 3-component vector of float)
0:138 Constant:
0:138 -15.000000
0:138 -2.000000
0:138 39.000000
0:139 add second child into first child (temp lowp 3-component vector of float)
0:139 'c3' (temp lowp 3-component vector of float)
0:139 Constant:
0:139 -1.000000
0:139 -2.000000
0:139 -3.000000
0:140 add second child into first child (temp lowp 3-component vector of float)
0:140 'c3' (temp lowp 3-component vector of float)
0:140 Constant:
0:140 1.000000
0:140 2.000000
0:140 3.000000
0:141 Sequence
0:141 move second child to first child (temp lowp 2-component vector of float)
0:141 'c2' (temp lowp 2-component vector of float)
0:141 Constant:
0:141 1.000000
0:141 -3.000000
0:142 add second child into first child (temp lowp 2-component vector of float)
0:142 'c2' (temp lowp 2-component vector of float)
0:142 Constant:
0:142 1.000000
0:142 -3.000000
0:143 add second child into first child (temp lowp 2-component vector of float)
0:143 'c2' (temp lowp 2-component vector of float)
0:143 Constant:
0:143 3.000000
0:143 -8.544004
0:144 add second child into first child (temp lowp 2-component vector of float)
0:144 'c2' (temp lowp 2-component vector of float)
0:144 Constant:
0:144 0.000000
0:144 0.000000
0:145 Sequence
0:145 move second child to first child (temp lowp 3X2 matrix of float)
0:145 'm32' (temp lowp 3X2 matrix of float)
0:145 Constant:
0:145 10.000000
0:145 15.000000
0:145 14.000000
0:145 21.000000
0:145 22.000000
0:145 33.000000
0:? Linker Objects
0:? 's2D' (uniform lowp sampler2D)
0:? 's3D' (uniform lowp sampler3D)

View File

@ -9,7 +9,7 @@ ERROR: 0:12: '' : vertex input cannot be further qualified
ERROR: 0:13: '' : interpolation qualifiers must appear before storage and precision qualifiers
ERROR: 0:14: '' : in/out must appear before const
ERROR: 0:15: '' : precision qualifier must appear as last qualifier
ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective, __explicitInterpAMD)
ERROR: 0:17: 'sample' : Reserved word.
ERROR: 0:17: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
ERROR: 0:18: 'uniform' : too many storage qualifiers
@ -308,9 +308,9 @@ ERROR: node is still EOpNull!
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:? 'okayA' (global 2-element array of highp float)
0:? 'newV' (smooth out highp 3-component vector of float)
0:? 'invIn' (in highp 4-component vector of float)
0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 'newV' (invariant smooth out highp 3-component vector of float)
0:? 'invIn' (invariant in highp 4-component vector of float)
0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
@ -447,132 +447,6 @@ ERROR: node is still EOpNull!
0:68 Constant:
0:68 3.000000
0:68 4.000000
0:71 Function Definition: newVFun( (global void)
0:71 Function Parameters:
0:73 Sequence
0:73 move second child to first child (temp highp 3-component vector of float)
0:73 'newV' (smooth out highp 3-component vector of float)
0:73 'v3' (in highp 3-component vector of float)
0:118 Function Definition: foo23( (global void)
0:118 Function Parameters:
0:120 Sequence
0:120 Sequence
0:120 move second child to first child (temp highp 2-component vector of int)
0:120 'x1' (temp highp 2-component vector of int)
0:120 textureSize (global highp 2-component vector of int, operation at lowp)
0:120 's2D' (uniform lowp sampler2D)
0:120 Constant:
0:120 2 (const int)
0:121 Constant:
0:121 0.000000
0:122 Sequence
0:122 move second child to first child (temp highp 3-component vector of int)
0:122 'x3' (temp highp 3-component vector of int)
0:122 textureSize (global highp 3-component vector of int, operation at lowp)
0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
0:122 Constant:
0:122 -1 (const int)
0:123 Constant:
0:123 0.000000
0:124 Sequence
0:124 move second child to first child (temp highp 4-component vector of float)
0:124 'x4' (temp highp 4-component vector of float)
0:124 texture (global lowp 4-component vector of float, operation at highp)
0:124 's2D' (uniform lowp sampler2D)
0:124 'c2D' (in highp 2-component vector of float)
0:125 Constant:
0:125 0.000000
0:126 Sequence
0:126 move second child to first child (temp highp 4-component vector of float)
0:126 'x5' (temp highp 4-component vector of float)
0:126 textureProjOffset (global lowp 4-component vector of float)
0:126 's3D' (uniform lowp sampler3D)
0:126 Constant:
0:126 0.200000
0:126 0.200000
0:126 0.200000
0:126 0.200000
0:126 Constant:
0:126 1 (const int)
0:126 1 (const int)
0:126 1 (const int)
0:127 Constant:
0:127 0.000000
0:128 Sequence
0:128 move second child to first child (temp highp float)
0:128 'x6' (temp highp float)
0:128 textureProjGradOffset (global lowp float, operation at highp)
0:128 's2DS' (uniform lowp sampler2DShadow)
0:128 'invIn' (invariant in highp 4-component vector of float)
0:128 Constant:
0:128 4.200000
0:128 4.200000
0:128 Constant:
0:128 5.300000
0:128 5.300000
0:128 Constant:
0:128 1 (const int)
0:128 1 (const int)
0:137 Function Definition: foo2349( (global void)
0:137 Function Parameters:
0:139 Sequence
0:139 Sequence
0:139 move second child to first child (temp 3-element array of highp float)
0:139 'x' (temp 3-element array of highp float)
0:139 Constant:
0:139 1.000000
0:139 2.000000
0:139 3.000000
0:140 Sequence
0:140 move second child to first child (temp 3-element array of highp float)
0:140 'y' (temp 3-element array of highp float)
0:140 'x' (temp 3-element array of highp float)
0:141 Sequence
0:141 move second child to first child (temp 3-element array of highp float)
0:141 'z' (temp 3-element array of highp float)
0:141 'x' (temp 3-element array of highp float)
0:143 move second child to first child (temp 3-element array of highp float)
0:143 'w' (temp 3-element array of highp float)
0:143 'y' (temp 3-element array of highp float)
0:155 Function Definition: gggf(f1; (global highp int)
0:155 Function Parameters:
0:155 'f' (in highp float)
0:155 Sequence
0:155 Branch: Return with expression
0:155 Constant:
0:155 2 (const int)
0:158 Function Definition: agggf(f1; (global highp int)
0:158 Function Parameters:
0:158 'f' (in highp float)
0:158 Sequence
0:158 Branch: Return with expression
0:158 Constant:
0:158 2 (const int)
0:178 Function Definition: fooDeeparray( (global void)
0:178 Function Parameters:
0:181 Sequence
0:181 Sequence
0:180 move second child to first child (temp 3-element array of highp float)
0:180 'x' (temp 3-element array of highp float)
0:180 Constant:
0:180 1.000000
0:180 2.000000
0:180 3.000000
0:181 move second child to first child (temp 4-element array of highp float)
0:181 'y' (temp 4-element array of highp float)
0:181 Constant:
0:181 1.000000
0:181 2.000000
0:181 3.000000
0:181 4.000000
0:183 move second child to first child (temp 3-element array of highp float)
0:183 'xp' (temp 3-element array of highp float)
0:183 'x' (temp 3-element array of highp float)
0:184 move second child to first child (temp 4-element array of highp float)
0:184 'yp' (temp 4-element array of highp float)
0:184 'y' (temp 4-element array of highp float)
0:185 'xp' (temp 3-element array of highp float)
0:186 'yp' (temp 4-element array of highp float)
0:? Linker Objects
0:? 'm43' (uniform highp 4X3 matrix of float)
0:? 'm33' (uniform highp 3X3 matrix of float)
@ -592,9 +466,9 @@ ERROR: node is still EOpNull!
0:? 'badsize2' (global 1-element array of highp float)
0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})
0:? 'okayA' (global 2-element array of highp float)
0:? 'newV' (smooth out highp 3-component vector of float)
0:? 'invIn' (in highp 4-component vector of float)
0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 'newV' (invariant smooth out highp 3-component vector of float)
0:? 'invIn' (invariant in highp 4-component vector of float)
0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})

View File

@ -131,6 +131,8 @@ ERROR: node is still EOpNull!
Linked vertex stage:
ERROR: Linking vertex stage: No function definition (body) found:
g(
Shader version: 300
ERROR: node is still EOpNull!
@ -151,16 +153,6 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in highp int)
0:25 Function Definition: cos(f1; (global highp float)
0:25 Function Parameters:
0:25 'x' (in highp float)
0:27 Sequence
0:27 Branch: Return
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return
0:36 Function Definition: main( (global void)
0:36 Function Parameters:
0:? Sequence

View File

@ -536,340 +536,6 @@ ERROR: node is still EOpNull!
0:36 Constant:
0:36 1 (const uint)
0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
0:59 Function Definition: foo( (global void)
0:59 Function Parameters:
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 Constant:
0:61 1 (const int)
0:61 Constant:
0:61 2 (const int)
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 Constant:
0:62 1 (const int)
0:63 Pre-Increment (temp highp 4-component vector of float)
0:63 's' (shared highp 4-component vector of float)
0:84 Function Definition: qux( (global void)
0:84 Function Parameters:
0:86 Sequence
0:86 Sequence
0:86 move second child to first child (temp highp int)
0:86 'i' (temp highp int)
0:86 Constant:
0:86 4 (const int)
0:87 imageAtomicCompSwap (global highp int)
0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:87 Construct ivec2 (temp highp 2-component vector of int)
0:87 'i' (temp highp int)
0:87 'i' (temp highp int)
0:87 'i' (temp highp int)
0:87 'i' (temp highp int)
0:88 imageAtomicAdd (global highp uint)
0:88 'uimg2D' (layout(r32ui ) uniform mediump uimage2D)
0:88 Construct ivec2 (temp highp 2-component vector of int)
0:88 'i' (temp highp int)
0:88 'i' (temp highp int)
0:88 Convert int to uint (temp highp uint)
0:88 'i' (temp highp int)
0:89 imageAtomicMin (global highp int)
0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
0:89 Construct ivec2 (temp highp 2-component vector of int)
0:89 'i' (temp highp int)
0:89 'i' (temp highp int)
0:89 'i' (temp highp int)
0:90 Constant:
0:90 0.000000
0:91 Sequence
0:91 move second child to first child (temp highp 4-component vector of int)
0:91 'pos' (temp highp 4-component vector of int)
0:91 imageLoad (global highp 4-component vector of int)
0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:91 Construct ivec2 (temp highp 2-component vector of int)
0:91 'i' (temp highp int)
0:91 'i' (temp highp int)
0:92 imageStore (global highp void)
0:92 'ii2da' (writeonly uniform highp iimage2DArray)
0:92 Construct ivec3 (temp 3-component vector of int)
0:92 'i' (temp highp int)
0:92 'i' (temp highp int)
0:92 'i' (temp highp int)
0:92 Constant:
0:92 0 (const int)
0:92 0 (const int)
0:92 0 (const int)
0:92 0 (const int)
0:93 imageLoad (global mediump 4-component vector of float)
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
0:93 Construct ivec2 (temp mediump 2-component vector of int)
0:93 'i' (temp highp int)
0:93 'i' (temp highp int)
0:94 imageLoad (global highp 4-component vector of int)
0:94 'ii2da' (writeonly uniform highp iimage2DArray)
0:94 Construct ivec3 (temp highp 3-component vector of int)
0:94 'i' (temp highp int)
0:94 'i' (temp highp int)
0:94 'i' (temp highp int)
0:100 Function Definition: passr(iI21; (global void)
0:100 Function Parameters:
0:100 'image' (coherent readonly in highp iimage2D)
0:107 Function Definition: passrc( (global void)
0:107 Function Parameters:
0:109 Sequence
0:109 Function Call: passr(iI21; (global void)
0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
0:110 Function Call: passr(iI21; (global void)
0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
0:111 Function Call: passr(iI21; (global void)
0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
0:123 Function Definition: func(au1; (global highp uint)
0:123 Function Parameters:
0:123 'c' (in highp atomic_uint)
0:125 Sequence
0:125 Branch: Return with expression
0:125 AtomicCounterIncrement (global highp uint)
0:125 'c' (in highp atomic_uint)
0:128 Function Definition: func2(au1; (global highp uint)
0:128 Function Parameters:
0:128 'c' (out highp atomic_uint)
0:130 Sequence
0:130 Branch: Return with expression
0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:131 Branch: Return with expression
0:131 AtomicCounter (global highp uint)
0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:134 Function Definition: mainAC( (global void)
0:134 Function Parameters:
0:? Sequence
0:137 Sequence
0:137 move second child to first child (temp highp uint)
0:137 'val' (temp highp uint)
0:137 AtomicCounter (global highp uint)
0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:138 AtomicCounterDecrement (global highp uint)
0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:146 Function Definition: opac( (global void)
0:146 Function Parameters:
0:? Sequence
0:149 indirect index (temp highp int)
0:149 'a' (temp 3-element array of highp int)
0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:150 Constant:
0:150 2 (const int)
0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
0:151 'i' (uniform highp int)
0:157 Function Definition: atoms( (global void)
0:157 Function Parameters:
0:159 Sequence
0:159 Sequence
0:159 move second child to first child (temp highp int)
0:159 'origi' (temp highp int)
0:159 AtomicAdd (global highp int)
0:159 'atomi' (shared highp int)
0:159 Constant:
0:159 3 (const int)
0:160 Sequence
0:160 move second child to first child (temp highp uint)
0:160 'origu' (temp highp uint)
0:160 AtomicAnd (global highp uint)
0:160 'atomu' (shared highp uint)
0:160 Constant:
0:160 7 (const uint)
0:161 move second child to first child (temp highp int)
0:161 'origi' (temp highp int)
0:161 AtomicExchange (global highp int)
0:161 'atomi' (shared highp int)
0:161 Constant:
0:161 4 (const int)
0:162 move second child to first child (temp highp uint)
0:162 'origu' (temp highp uint)
0:162 AtomicCompSwap (global highp uint)
0:162 'atomu' (shared highp uint)
0:162 Constant:
0:162 10 (const uint)
0:162 Constant:
0:162 8 (const uint)
0:191 Function Definition: foowo( (global void)
0:191 Function Parameters:
0:? Sequence
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 Constant:
0:194 1 (const int)
0:194 Constant:
0:194 2 (const int)
0:195 Sequence
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 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 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 Constant:
0:197 1 (const int)
0:197 Constant:
0:197 2 (const int)
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 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 Constant:
0:199 1 (const int)
0:199 Constant:
0:199 2 (const int)
0:199 'f' (temp highp float)
0:201 Test condition and select (temp highp float)
0:201 Condition
0:201 'b' (temp bool)
0:201 true case
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 Constant:
0:201 1 (const int)
0:201 Constant:
0:201 2 (const int)
0:202 Test condition and select (temp highp float)
0:202 Condition
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 Constant:
0:202 1 (const int)
0:202 Constant:
0:202 2 (const int)
0:202 false case
0:202 'f' (temp highp float)
0:203 Test condition and select (temp void)
0:203 Condition
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 Constant:
0:203 1 (const int)
0:203 Constant:
0:203 2 (const int)
0:203 true case
0:204 Pre-Increment (temp highp float)
0:204 'f' (temp highp float)
0:205 Test condition and select (temp void)
0:205 Condition
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 Constant:
0:205 1 (const int)
0:205 Constant:
0:205 2 (const int)
0:205 true case
0:206 Pre-Increment (temp highp float)
0:206 'f' (temp highp float)
0:207 move second child to first child (temp highp float)
0:207 'f' (temp highp float)
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 Constant:
0:207 1 (const int)
0:207 Constant:
0:207 2 (const int)
0:207 Constant:
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 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 Constant:
0:209 1 (const int)
0:209 Constant:
0:209 2 (const int)
0:209 Constant:
0:209 3.400000
0:218 Function Definition: foomultio( (global void)
0:218 Function Parameters:
0:? Sequence
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 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 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 Constant:
0:223 1 (const int)
0:223 Constant:
0:223 2 (const int)
0:223 Constant:
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 Constant:
0:224 0 (const int)
0:224 Constant:
0:224 2 (const int)
0:? Linker Objects
0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
0:? 2 (const uint)

View File

@ -963,7 +963,6 @@ ERROR: node is still EOpNull!
0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:? 'inf' (smooth in mediump 2-component vector of float)
0:? 'ing' (smooth in mediump 2-component vector of float)
0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
@ -1126,677 +1125,6 @@ ERROR: node is still EOpNull!
0:34 0.100000
0:34 Construct ivec2 (temp highp 2-component vector of int)
0:34 'i' (uniform mediump int)
0:38 Function Definition: foo23( (global void)
0:38 Function Parameters:
0:? Sequence
0:42 textureProjGradOffset (global highp 4-component vector of uint)
0:42 'usamp2d' (uniform highp usampler2D)
0:42 'outp' (out mediump 4-component vector of float)
0:42 Constant:
0:42 0.000000
0:42 0.000000
0:42 Constant:
0:42 0.000000
0:42 0.000000
0:42 Convert float to int (temp highp 2-component vector of int)
0:42 'c2D' (smooth in mediump 2-component vector of float)
0:43 textureProjGradOffset (global highp 4-component vector of uint)
0:43 'usamp2d' (uniform highp usampler2D)
0:43 'outp' (out mediump 4-component vector of float)
0:43 Constant:
0:43 0.000000
0:43 0.000000
0:43 Constant:
0:43 0.000000
0:43 0.000000
0:43 Constant:
0:43 3 (const int)
0:43 4 (const int)
0:44 textureProjGradOffset (global highp 4-component vector of uint)
0:44 'usamp2d' (uniform highp usampler2D)
0:44 'outp' (out mediump 4-component vector of float)
0:44 Constant:
0:44 0.000000
0:44 0.000000
0:44 Constant:
0:44 0.000000
0:44 0.000000
0:44 Constant:
0:44 15 (const int)
0:44 16 (const int)
0:45 textureProjGradOffset (global highp 4-component vector of uint)
0:45 'usamp2d' (uniform highp usampler2D)
0:45 'outp' (out mediump 4-component vector of float)
0:45 Constant:
0:45 0.000000
0:45 0.000000
0:45 Constant:
0:45 0.000000
0:45 0.000000
0:45 Constant:
0:45 -10 (const int)
0:45 20 (const int)
0:47 Test condition and select (temp void)
0:47 Condition
0:47 'gl_HelperInvocation' (in bool HelperInvocation)
0:47 true case
0:48 Pre-Increment (temp mediump 4-component vector of float)
0:48 'outp' (out mediump 4-component vector of float)
0:50 Sequence
0:50 move second child to first child (temp mediump int)
0:50 'sum' (temp mediump int)
0:50 Constant:
0:50 32 (const int)
0:58 move second child to first child (temp bool)
0:58 'b1' (temp bool)
0:58 mix (global bool)
0:58 'b2' (temp bool)
0:58 'b3' (temp bool)
0:58 'b' (temp bool)
0:59 Sequence
0:59 move second child to first child (temp mediump 3-component vector of uint)
0:59 'um3' (temp mediump 3-component vector of uint)
0:59 mix (global mediump 3-component vector of uint)
0:59 Construct uvec3 (temp mediump 3-component vector of uint)
0:59 Convert int to uint (temp mediump uint)
0:59 'i' (uniform mediump int)
0:59 Construct uvec3 (temp mediump 3-component vector of uint)
0:59 Convert int to uint (temp mediump uint)
0:59 'i' (uniform mediump int)
0:59 Construct bvec3 (temp 3-component vector of bool)
0:59 'b' (temp bool)
0:60 Sequence
0:60 move second child to first child (temp mediump 4-component vector of int)
0:60 'im4' (temp mediump 4-component vector of int)
0:60 mix (global mediump 4-component vector of int)
0:60 Construct ivec4 (temp mediump 4-component vector of int)
0:60 'i' (uniform mediump int)
0:60 Construct ivec4 (temp mediump 4-component vector of int)
0:60 'i' (uniform mediump int)
0:60 Construct bvec4 (temp 4-component vector of bool)
0:60 'b' (temp bool)
0:98 Function Definition: foots( (global void)
0:98 Function Parameters:
0:100 Sequence
0:100 Sequence
0:100 move second child to first child (temp highp 2-component vector of int)
0:100 'v2' (temp highp 2-component vector of int)
0:100 textureSize (global highp 2-component vector of int)
0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
0:100 Constant:
0:100 2 (const int)
0:101 Sequence
0:101 move second child to first child (temp highp 3-component vector of int)
0:101 'v3' (temp highp 3-component vector of int)
0:101 textureSize (global highp 3-component vector of int)
0:101 'isamp2DA' (uniform highp isampler2DArray)
0:101 Constant:
0:101 3 (const int)
0:102 move second child to first child (temp highp 2-component vector of int)
0:102 'v2' (temp highp 2-component vector of int)
0:102 textureSize (global highp 2-component vector of int, operation at mediump)
0:102 's2dms' (uniform mediump sampler2DMS)
0:103 move second child to first child (temp highp 2-component vector of int)
0:103 'v2' (temp highp 2-component vector of int)
0:103 imageQuerySize (global highp 2-component vector of int)
0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
0:104 move second child to first child (temp highp 3-component vector of int)
0:104 'v3' (temp highp 3-component vector of int)
0:104 imageQuerySize (global highp 3-component vector of int, operation at mediump)
0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
0:105 move second child to first child (temp highp 2-component vector of int)
0:105 'v2' (temp highp 2-component vector of int)
0:105 imageQuerySize (global highp 2-component vector of int, operation at mediump)
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
0:106 move second child to first child (temp highp 3-component vector of int)
0:106 'v3' (temp highp 3-component vector of int)
0:106 imageQuerySize (global highp 3-component vector of int, operation at mediump)
0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
0:107 move second child to first child (temp highp 2-component vector of int)
0:107 'v2' (temp highp 2-component vector of int)
0:107 imageQuerySize (global highp 2-component vector of int, operation at mediump)
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
0:165 Function Definition: fooIO( (global void)
0:165 Function Parameters:
0:167 Sequence
0:167 Sequence
0:167 move second child to first child (temp mediump 4-component vector of float)
0:167 'v' (temp mediump 4-component vector of float)
0:167 add (temp mediump 4-component vector of float)
0:167 v: direct index for structure (in mediump 4-component vector of float)
0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
0:167 Constant:
0:167 1 (const int)
0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
0:167 Constant:
0:167 1 (const uint)
0:168 vector scale second child into first child (temp mediump 4-component vector of float)
0:168 'v' (temp mediump 4-component vector of float)
0:168 f: direct index for structure (in mediump float)
0:168 direct index (temp block{in mediump float f})
0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
0:168 Constant:
0:168 2 (const int)
0:168 Constant:
0:168 0 (const int)
0:169 vector scale second child into first child (temp mediump 4-component vector of float)
0:169 'v' (temp mediump 4-component vector of float)
0:169 f: direct index for structure (in mediump float)
0:169 indirect index (temp block{in mediump float f})
0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
0:169 'i' (uniform mediump int)
0:169 Constant:
0:169 0 (const int)
0:179 Function Definition: foo_IO( (global void)
0:179 Function Parameters:
0:181 Sequence
0:181 move second child to first child (temp highp float)
0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:181 Constant:
0:181 0.200000
0:182 'gl_Layer' (flat in highp int Layer)
0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
0:184 Sequence
0:184 move second child to first child (temp bool)
0:184 'f' (temp bool)
0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
0:191 Function Definition: foo_GS( (global void)
0:191 Function Parameters:
0:193 Sequence
0:193 Sequence
0:193 move second child to first child (temp highp int)
0:193 'l' (temp highp int)
0:193 'gl_Layer' (flat in highp int Layer)
0:194 Sequence
0:194 move second child to first child (temp highp int)
0:194 'p' (temp highp int)
0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
0:207 Function Definition: pfooBad( (global void)
0:207 Function Parameters:
0:? Sequence
0:210 move second child to first child (temp mediump 2-component vector of float)
0:210 'h' (noContraction temp mediump 2-component vector of float)
0:210 fma (global mediump 2-component vector of float)
0:210 'inf' (smooth in mediump 2-component vector of float)
0:210 'ing' (smooth in mediump 2-component vector of float)
0:210 'h' (noContraction temp mediump 2-component vector of float)
0:211 textureGatherOffset (global highp 4-component vector of float)
0:211 direct index (temp highp sampler2D)
0:211 'sArray' (uniform 4-element array of highp sampler2D)
0:211 Constant:
0:211 0 (const int)
0:211 Constant:
0:211 0.100000
0:211 0.100000
0:211 Convert float to int (temp highp 2-component vector of int)
0:211 'inf' (smooth in mediump 2-component vector of float)
0:212 textureGatherOffsets (global highp 4-component vector of float)
0:212 direct index (temp highp sampler2D)
0:212 'sArray' (uniform 4-element array of highp sampler2D)
0:212 Constant:
0:212 0 (const int)
0:212 Constant:
0:212 0.100000
0:212 0.100000
0:212 Constant:
0:212 0 (const int)
0:212 0 (const int)
0:212 0 (const int)
0:212 0 (const int)
0:212 0 (const int)
0:212 0 (const int)
0:212 0 (const int)
0:212 0 (const int)
0:217 Function Definition: pfoo( (global void)
0:217 Function Parameters:
0:? Sequence
0:220 move second child to first child (temp mediump 2-component vector of float)
0:220 'h' (noContraction temp mediump 2-component vector of float)
0:220 fma (global mediump 2-component vector of float)
0:220 'inf' (smooth in mediump 2-component vector of float)
0:220 'ing' (smooth in mediump 2-component vector of float)
0:220 'h' (noContraction temp mediump 2-component vector of float)
0:221 textureGatherOffset (global highp 4-component vector of float)
0:221 direct index (temp highp sampler2D)
0:221 'sArray' (uniform 4-element array of highp sampler2D)
0:221 Constant:
0:221 0 (const int)
0:221 Constant:
0:221 0.100000
0:221 0.100000
0:221 Convert float to int (temp highp 2-component vector of int)
0:221 'inf' (smooth in mediump 2-component vector of float)
0:222 textureGatherOffsets (global highp 4-component vector of float)
0:222 direct index (temp highp sampler2D)
0:222 'sArray' (uniform 4-element array of highp sampler2D)
0:222 Constant:
0:222 0 (const int)
0:222 Constant:
0:222 0.100000
0:222 0.100000
0:222 Constant:
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:223 textureGatherOffsets (global highp 4-component vector of float)
0:223 direct index (temp highp sampler2D)
0:223 'sArray' (uniform 4-element array of highp sampler2D)
0:223 Constant:
0:223 0 (const int)
0:223 Constant:
0:223 0.100000
0:223 0.100000
0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
0:248 Function Definition: CAT( (global void)
0:248 Function Parameters:
0:250 Sequence
0:250 Sequence
0:250 move second child to first child (temp highp 4-component vector of float)
0:250 'b4' (temp highp 4-component vector of float)
0:250 texture (global highp 4-component vector of float)
0:250 'CA4' (uniform highp samplerCubeArray)
0:250 Constant:
0:250 0.500000
0:250 0.500000
0:250 0.500000
0:250 0.500000
0:250 Constant:
0:250 0.240000
0:251 Sequence
0:251 move second child to first child (temp highp 4-component vector of int)
0:251 'b6' (temp highp 4-component vector of int)
0:251 texture (global highp 4-component vector of int)
0:251 'CA6' (uniform highp isamplerCubeArray)
0:251 Constant:
0:251 0.500000
0:251 0.500000
0:251 0.500000
0:251 0.500000
0:251 Constant:
0:251 0.260000
0:252 Sequence
0:252 move second child to first child (temp highp 4-component vector of uint)
0:252 'b7' (temp highp 4-component vector of uint)
0:252 texture (global highp 4-component vector of uint)
0:252 'CA7' (uniform highp usamplerCubeArray)
0:252 Constant:
0:252 0.500000
0:252 0.500000
0:252 0.500000
0:252 0.500000
0:252 Constant:
0:252 0.270000
0:255 Function Definition: badSample( (global void)
0:255 Function Parameters:
0:257 Sequence
0:257 Sequence
0:257 move second child to first child (temp lowp int)
0:257 'a1' (temp lowp int)
0:257 'gl_SampleID' (flat in lowp int SampleId)
0:258 Sequence
0:258 move second child to first child (temp mediump 2-component vector of float)
0:258 'a2' (temp mediump 2-component vector of float)
0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
0:259 Sequence
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 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 1-element array of highp int SampleMaskIn)
0:260 Constant:
0:260 0 (const int)
0:260 'a3' (temp highp int)
0:261 Sequence
0:261 move second child to first child (temp mediump int)
0:261 'n' (temp mediump int)
0:261 'gl_NumSamples' (uniform lowp int)
0:268 Function Definition: goodSample( (global void)
0:268 Function Parameters:
0:270 Sequence
0:270 Sequence
0:270 move second child to first child (temp lowp int)
0:270 'a1' (temp lowp int)
0:270 'gl_SampleID' (flat in lowp int SampleId)
0:271 Sequence
0:271 move second child to first child (temp mediump 2-component vector of float)
0:271 'a2' (temp mediump 2-component vector of float)
0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
0:272 Sequence
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 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 1-element array of highp int SampleMaskIn)
0:273 Constant:
0:273 0 (const int)
0:273 'a3' (temp highp int)
0:274 Sequence
0:274 move second child to first child (temp mediump int)
0:274 'n1' (temp mediump int)
0:274 Constant:
0:274 4 (const int)
0:275 Sequence
0:275 move second child to first child (temp mediump int)
0:275 'n2' (temp mediump int)
0:275 'gl_NumSamples' (uniform lowp int)
0:283 Function Definition: badImageAtom( (global void)
0:283 Function Parameters:
0:? Sequence
0:289 imageAtomicAdd (global highp int)
0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:289 'P' (uniform mediump 2-component vector of int)
0:289 'dati' (temp mediump int)
0:290 imageAtomicAdd (global highp uint)
0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:290 'P' (uniform mediump 2-component vector of int)
0:290 'datu' (temp mediump uint)
0:291 imageAtomicMin (global highp int)
0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:291 'P' (uniform mediump 2-component vector of int)
0:291 'dati' (temp mediump int)
0:292 imageAtomicMin (global highp uint)
0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:292 'P' (uniform mediump 2-component vector of int)
0:292 'datu' (temp mediump uint)
0:293 imageAtomicMax (global highp int)
0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:293 'P' (uniform mediump 2-component vector of int)
0:293 'dati' (temp mediump int)
0:294 imageAtomicMax (global highp uint)
0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:294 'P' (uniform mediump 2-component vector of int)
0:294 'datu' (temp mediump uint)
0:295 imageAtomicAnd (global highp int)
0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:295 'P' (uniform mediump 2-component vector of int)
0:295 'dati' (temp mediump int)
0:296 imageAtomicAnd (global highp uint)
0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:296 'P' (uniform mediump 2-component vector of int)
0:296 'datu' (temp mediump uint)
0:297 imageAtomicOr (global highp int)
0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:297 'P' (uniform mediump 2-component vector of int)
0:297 'dati' (temp mediump int)
0:298 imageAtomicOr (global highp uint)
0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:298 'P' (uniform mediump 2-component vector of int)
0:298 'datu' (temp mediump uint)
0:299 imageAtomicXor (global highp int)
0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:299 'P' (uniform mediump 2-component vector of int)
0:299 'dati' (temp mediump int)
0:300 imageAtomicXor (global highp uint)
0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:300 'P' (uniform mediump 2-component vector of int)
0:300 'datu' (temp mediump uint)
0:301 imageAtomicExchange (global highp int)
0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:301 'P' (uniform mediump 2-component vector of int)
0:301 'dati' (temp mediump int)
0:302 imageAtomicExchange (global highp uint)
0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:302 'P' (uniform mediump 2-component vector of int)
0:302 'datu' (temp mediump uint)
0:303 imageAtomicExchange (global highp float)
0:303 'im2Df' (layout(r32f ) uniform highp image2D)
0:303 'P' (uniform mediump 2-component vector of int)
0:303 'datf' (temp mediump float)
0:304 imageAtomicCompSwap (global highp int)
0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:304 'P' (uniform mediump 2-component vector of int)
0:304 Constant:
0:304 3 (const int)
0:304 'dati' (temp mediump int)
0:305 imageAtomicCompSwap (global highp uint)
0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:305 'P' (uniform mediump 2-component vector of int)
0:305 Constant:
0:305 5 (const uint)
0:305 'datu' (temp mediump uint)
0:316 Function Definition: goodImageAtom( (global void)
0:316 Function Parameters:
0:? Sequence
0:322 imageAtomicAdd (global highp int)
0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:322 'P' (uniform mediump 2-component vector of int)
0:322 'dati' (temp mediump int)
0:323 imageAtomicAdd (global highp uint)
0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:323 'P' (uniform mediump 2-component vector of int)
0:323 'datu' (temp mediump uint)
0:324 imageAtomicMin (global highp int)
0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:324 'P' (uniform mediump 2-component vector of int)
0:324 'dati' (temp mediump int)
0:325 imageAtomicMin (global highp uint)
0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:325 'P' (uniform mediump 2-component vector of int)
0:325 'datu' (temp mediump uint)
0:326 imageAtomicMax (global highp int)
0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:326 'P' (uniform mediump 2-component vector of int)
0:326 'dati' (temp mediump int)
0:327 imageAtomicMax (global highp uint)
0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:327 'P' (uniform mediump 2-component vector of int)
0:327 'datu' (temp mediump uint)
0:328 imageAtomicAnd (global highp int)
0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:328 'P' (uniform mediump 2-component vector of int)
0:328 'dati' (temp mediump int)
0:329 imageAtomicAnd (global highp uint)
0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:329 'P' (uniform mediump 2-component vector of int)
0:329 'datu' (temp mediump uint)
0:330 imageAtomicOr (global highp int)
0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:330 'P' (uniform mediump 2-component vector of int)
0:330 'dati' (temp mediump int)
0:331 imageAtomicOr (global highp uint)
0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:331 'P' (uniform mediump 2-component vector of int)
0:331 'datu' (temp mediump uint)
0:332 imageAtomicXor (global highp int)
0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:332 'P' (uniform mediump 2-component vector of int)
0:332 'dati' (temp mediump int)
0:333 imageAtomicXor (global highp uint)
0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:333 'P' (uniform mediump 2-component vector of int)
0:333 'datu' (temp mediump uint)
0:334 imageAtomicExchange (global highp int)
0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:334 'P' (uniform mediump 2-component vector of int)
0:334 'dati' (temp mediump int)
0:335 imageAtomicExchange (global highp uint)
0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:335 'P' (uniform mediump 2-component vector of int)
0:335 'datu' (temp mediump uint)
0:336 imageAtomicExchange (global highp float)
0:336 'im2Df' (layout(r32f ) uniform highp image2D)
0:336 'P' (uniform mediump 2-component vector of int)
0:336 'datf' (temp mediump float)
0:337 imageAtomicCompSwap (global highp int)
0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:337 'P' (uniform mediump 2-component vector of int)
0:337 Constant:
0:337 3 (const int)
0:337 'dati' (temp mediump int)
0:338 imageAtomicCompSwap (global highp uint)
0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:338 'P' (uniform mediump 2-component vector of int)
0:338 Constant:
0:338 5 (const uint)
0:338 'datu' (temp mediump uint)
0:340 imageAtomicMax (global highp int)
0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
0:340 'P' (uniform mediump 2-component vector of int)
0:340 'dati' (temp mediump int)
0:341 imageAtomicMax (global highp uint)
0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
0:341 'P' (uniform mediump 2-component vector of int)
0:341 'datu' (temp mediump uint)
0:342 imageAtomicExchange (global highp float)
0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
0:342 'P' (uniform mediump 2-component vector of int)
0:342 'datf' (temp mediump float)
0:353 Function Definition: badInterp( (global void)
0:353 Function Parameters:
0:355 Sequence
0:355 interpolateAtCentroid (global mediump 2-component vector of float)
0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
0:356 interpolateAtSample (global mediump 2-component vector of float)
0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
0:356 Constant:
0:356 1 (const int)
0:357 interpolateAtOffset (global mediump 2-component vector of float)
0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
0:357 Constant:
0:357 0.200000
0:357 0.200000
0:369 Function Definition: interp( (global void)
0:369 Function Parameters:
0:? Sequence
0:376 move second child to first child (temp mediump 2-component vector of float)
0:376 'res2' (temp mediump 2-component vector of float)
0:376 interpolateAtCentroid (global mediump 2-component vector of float)
0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
0:377 move second child to first child (temp mediump 4-component vector of float)
0:377 'res4' (temp mediump 4-component vector of float)
0:377 interpolateAtCentroid (global mediump 4-component vector of float)
0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
0:378 move second child to first child (temp mediump 4-component vector of float)
0:378 'res4' (temp mediump 4-component vector of float)
0:378 interpolateAtCentroid (global mediump 4-component vector of float)
0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
0:379 move second child to first child (temp mediump float)
0:379 'res' (temp mediump float)
0:379 interpolateAtCentroid (global mediump float)
0:379 'scalarIn' (smooth in mediump float)
0:380 'res3' (temp mediump 3-component vector of float)
0:381 move second child to first child (temp mediump 3-component vector of float)
0:381 'res3' (temp mediump 3-component vector of float)
0:381 interpolateAtCentroid (global mediump 3-component vector of float)
0:381 direct index (smooth sample temp mediump 3-component vector of float)
0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
0:381 Constant:
0:381 2 (const int)
0:382 move second child to first child (temp mediump 2-component vector of float)
0:382 'res2' (temp mediump 2-component vector of float)
0:382 interpolateAtCentroid (global mediump 2-component vector of float)
0:382 vector swizzle (temp mediump 2-component vector of float)
0:382 direct index (smooth sample temp mediump 3-component vector of float)
0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
0:382 Constant:
0:382 2 (const int)
0:382 Sequence
0:382 Constant:
0:382 0 (const int)
0:382 Constant:
0:382 1 (const int)
0:384 'res3' (temp mediump 3-component vector of float)
0:385 move second child to first child (temp mediump 3-component vector of float)
0:385 'res3' (temp mediump 3-component vector of float)
0:385 interpolateAtSample (global mediump 3-component vector of float)
0:385 indirect index (smooth sample temp mediump 3-component vector of float)
0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
0:385 'i' (uniform mediump int)
0:385 Constant:
0:385 0 (const int)
0:386 move second child to first child (temp mediump 2-component vector of float)
0:386 'res2' (temp mediump 2-component vector of float)
0:386 interpolateAtSample (global mediump 2-component vector of float)
0:386 vector swizzle (temp mediump 2-component vector of float)
0:386 direct index (smooth sample temp mediump 3-component vector of float)
0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
0:386 Constant:
0:386 2 (const int)
0:386 Sequence
0:386 Constant:
0:386 0 (const int)
0:386 Constant:
0:386 1 (const int)
0:386 Constant:
0:386 2 (const int)
0:387 move second child to first child (temp mediump float)
0:387 'res' (temp mediump float)
0:387 interpolateAtSample (global mediump float)
0:387 'scalarIn' (smooth in mediump float)
0:387 Constant:
0:387 1 (const int)
0:389 'res3' (temp mediump 3-component vector of float)
0:390 move second child to first child (temp mediump 3-component vector of float)
0:390 'res3' (temp mediump 3-component vector of float)
0:390 interpolateAtOffset (global mediump 3-component vector of float)
0:390 direct index (smooth sample temp mediump 3-component vector of float)
0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
0:390 Constant:
0:390 2 (const int)
0:390 Constant:
0:390 0.200000
0:390 0.200000
0:391 move second child to first child (temp mediump 2-component vector of float)
0:391 'res2' (temp mediump 2-component vector of float)
0:391 interpolateAtOffset (global mediump 2-component vector of float)
0:391 vector swizzle (temp mediump 2-component vector of float)
0:391 direct index (smooth sample temp mediump 3-component vector of float)
0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
0:391 Constant:
0:391 2 (const int)
0:391 Sequence
0:391 Constant:
0:391 0 (const int)
0:391 Constant:
0:391 1 (const int)
0:391 Constant:
0:391 0.200000
0:391 0.200000
0:392 move second child to first child (temp mediump float)
0:392 'res' (temp mediump float)
0:392 interpolateAtOffset (global mediump float)
0:392 add (temp mediump float)
0:392 'scalarIn' (smooth in mediump float)
0:392 'scalarIn' (smooth in mediump float)
0:392 Constant:
0:392 0.200000
0:392 0.200000
0:393 move second child to first child (temp mediump float)
0:393 'res' (temp mediump float)
0:393 interpolateAtOffset (global mediump float)
0:393 'scalarIn' (smooth in mediump float)
0:393 Constant:
0:393 0.200000
0:393 0.200000
0:396 move second child to first child (temp mediump float)
0:396 'res' (temp mediump float)
0:396 interpolateAtCentroid (global mediump float)
0:396 'f' (temp mediump float)
0:397 move second child to first child (temp mediump 4-component vector of float)
0:397 'res4' (temp mediump 4-component vector of float)
0:397 interpolateAtSample (global mediump 4-component vector of float)
0:397 'outp' (out mediump 4-component vector of float)
0:397 Constant:
0:397 0 (const int)
0:427 Function Definition: blendFoo( (temp void)
0:427 Function Parameters:
0:428 Function Definition: blendFoo(vf3; (global void)
0:428 Function Parameters:
0:428 'v' (in mediump 3-component vector of float)
0:? Linker Objects
0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
@ -1844,7 +1172,6 @@ ERROR: node is still EOpNull!
0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
0:? 'inf' (smooth in mediump 2-component vector of float)
0:? 'ing' (smooth in mediump 2-component vector of float)
0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)

View File

@ -250,74 +250,6 @@ ERROR: node is still EOpNull!
0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
0:52 Constant:
0:52 2 (const int)
0:63 Function Definition: foo(i1; (global void)
0:63 Function Parameters:
0:63 'a' (in highp int)
0:65 Sequence
0:65 move second child to first child (temp mediump 4-component vector of float)
0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:65 Constant:
0:65 0 (const int)
0:65 Constant:
0:65 1.000000
0:65 1.000000
0:65 1.000000
0:65 1.000000
0:114 Function Definition: fooe1( (global void)
0:114 Function Parameters:
0:116 Sequence
0:116 'gl_ViewportIndex' (temp float)
0:117 'gl_MaxViewports' (temp float)
0:118 Constant:
0:118 4 (const int)
0:119 Sequence
0:119 move second child to first child (temp highp int)
0:119 'inv' (temp highp int)
0:119 'gl_InvocationID' (in highp int InvocationID)
0:134 Function Definition: notHere( (global void)
0:134 Function Parameters:
0:136 Sequence
0:136 'gl_MaxGeometryVaryingComponents' (temp float)
0:137 'gl_VerticesIn' (temp float)
0:140 Function Definition: pointSize1( (global void)
0:140 Function Parameters:
0:142 Sequence
0:142 Sequence
0:142 move second child to first child (temp highp float)
0:142 'ps' (temp highp float)
0:142 gl_PointSize: direct index for structure (in highp float PointSize)
0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142 Constant:
0:142 3 (const int)
0:142 Constant:
0:142 1 (const int)
0:143 move second child to first child (temp highp float)
0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:143 Constant:
0:143 1 (const uint)
0:143 'ps' (temp highp float)
0:148 Function Definition: pointSize2( (global void)
0:148 Function Parameters:
0:150 Sequence
0:150 Sequence
0:150 move second child to first child (temp highp float)
0:150 'ps' (temp highp float)
0:150 gl_PointSize: direct index for structure (in highp float PointSize)
0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150 Constant:
0:150 3 (const int)
0:150 Constant:
0:150 1 (const int)
0:151 move second child to first child (temp highp float)
0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:151 Constant:
0:151 1 (const uint)
0:151 'ps' (temp highp float)
0:? Linker Objects
0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)

View File

@ -514,172 +514,6 @@ ERROR: node is still EOpNull!
0:58 Barrier (global void)
0:61 Branch: Return
0:63 Barrier (global void)
0:69 Function Definition: foo( (global void)
0:69 Function Parameters:
0:71 Sequence
0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:71 Constant:
0:71 4 (const int)
0:71 Constant:
0:71 0 (const int)
0:73 Barrier (global void)
0:92 Function Definition: foop( (global void)
0:92 Function Parameters:
0:? Sequence
0:95 move second child to first child (temp highp float)
0:95 'd' (noContraction temp highp float)
0:95 fma (global highp float)
0:95 'd' (noContraction temp highp float)
0:95 'd' (noContraction temp highp float)
0:95 'd' (noContraction temp highp float)
0:112 Function Definition: pointSize2( (global void)
0:112 Function Parameters:
0:114 Sequence
0:114 Sequence
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})
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})
0:114 Constant:
0:114 1 (const int)
0:114 Constant:
0:114 1 (const int)
0:115 move second child to first child (temp highp float)
0:115 gl_PointSize: direct index for structure (out highp float PointSize)
0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:115 'gl_InvocationID' (in highp int InvocationID)
0:115 Constant:
0:115 1 (const int)
0:115 'ps' (temp highp float)
0:122 Function Definition: goodfoop( (global void)
0:122 Function Parameters:
0:? Sequence
0:126 multiply second child into first child (temp highp 3-component vector of float)
0:126 'pv3' (noContraction temp highp 3-component vector of float)
0:126 'pv3' (noContraction temp highp 3-component vector of float)
0:127 move second child to first child (temp highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:127 fma (global highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:127 'pv3' (noContraction temp highp 3-component vector of float)
0:128 move second child to first child (temp highp float)
0:128 'd' (noContraction temp highp float)
0:128 fma (global highp float)
0:128 'd' (noContraction temp highp float)
0:128 'd' (noContraction temp highp float)
0:128 'd' (noContraction temp highp float)
0:131 Function Definition: bbBad( (global void)
0:131 Function Parameters:
0:133 Sequence
0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:138 Function Definition: bb( (global void)
0:138 Function Parameters:
0:140 Sequence
0:140 move second child to first child (temp highp 4-component vector of float)
0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:140 Constant:
0:140 0 (const int)
0:140 Constant:
0:140 0.000000
0:140 0.000000
0:140 0.000000
0:140 0.000000
0:141 move second child to first child (temp highp 4-component vector of float)
0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:141 Constant:
0:141 1 (const int)
0:141 Constant:
0:141 1.000000
0:141 1.000000
0:141 1.000000
0:141 1.000000
0:142 move second child to first child (temp highp 4-component vector of float)
0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
0:142 Constant:
0:142 2 (const int)
0:142 Constant:
0:142 2.000000
0:142 2.000000
0:142 2.000000
0:142 2.000000
0:153 Function Definition: outputtingOutparam(i1; (global void)
0:153 Function Parameters:
0:153 'a' (out highp int)
0:155 Sequence
0:155 move second child to first child (temp highp int)
0:155 'a' (out highp int)
0:155 Constant:
0:155 2 (const int)
0:158 Function Definition: outputting( (global void)
0:158 Function Parameters:
0:160 Sequence
0:160 move second child to first child (temp highp int)
0:160 indirect index (temp highp int)
0:160 'outa' (out 4-element array of highp int)
0:160 'gl_InvocationID' (in highp int InvocationID)
0:160 Constant:
0:160 2 (const int)
0:161 move second child to first child (temp highp int)
0:161 direct index (temp highp int)
0:161 'outa' (out 4-element array of highp int)
0:161 Constant:
0:161 1 (const int)
0:161 Constant:
0:161 2 (const int)
0:162 move second child to first child (temp highp 4-component vector of float)
0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:162 Constant:
0:162 0 (const int)
0:162 Constant:
0:162 0 (const int)
0:162 Constant:
0:162 1.000000
0:162 1.000000
0:162 1.000000
0:162 1.000000
0:163 direct index (temp highp int)
0:163 'outa' (out 4-element array of highp int)
0:163 Constant:
0:163 1 (const int)
0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:164 Constant:
0:164 0 (const int)
0:165 Function Call: outputtingOutparam(i1; (global void)
0:165 direct index (temp highp int)
0:165 'outa' (out 4-element array of highp int)
0:165 Constant:
0:165 0 (const int)
0:166 Function Call: outputtingOutparam(i1; (global void)
0:166 indirect index (temp highp int)
0:166 'outa' (out 4-element array of highp int)
0:166 'gl_InvocationID' (in highp int InvocationID)
0:167 move second child to first child (temp highp float)
0:167 f: direct index for structure (out highp float)
0:167 direct index (patch temp block{out highp float f})
0:167 'patchIName' (patch out 4-element array of block{out highp float f})
0:167 Constant:
0:167 1 (const int)
0:167 Constant:
0:167 0 (const int)
0:167 Constant:
0:167 3.140000
0:168 move second child to first child (temp highp int)
0:168 indirect index (temp highp int)
0:168 'outa' (out 4-element array of highp int)
0:168 'gl_InvocationID' (in highp int InvocationID)
0:168 Constant:
0:168 2 (const int)
0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
0:? 'outa' (out 4-element array of highp int)

View File

@ -274,19 +274,6 @@ ERROR: node is still EOpNull!
0:48 Constant:
0:48 0.000000
0:48 'cd' (temp highp float)
0:117 Function Definition: pointSize2( (global void)
0:117 Function Parameters:
0:? Sequence
0:120 move second child to first child (temp highp float)
0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
0:120 Constant:
0:120 1 (const uint)
0:120 'ps' (temp highp float)
0:125 Function Definition: bbbad( (global void)
0:125 Function Parameters:
0:127 Sequence
0:127 'gl_BoundingBoxOES' (temp float)
0:? Linker Objects
0:? 'patchIn' (patch in highp 4-component vector of float)
0:? 'patchOut' (patch out highp 4-component vector of float)

View File

@ -1158,693 +1158,6 @@ ERROR: node is still EOpNull!
0:48 'v4' (temp mediump 4-component vector of float)
0:48 UnpackSnorm4x8 (global mediump 4-component vector of float, operation at highp)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters:
0:? Sequence
0:63 move second child to first child (temp highp 2-component vector of int)
0:63 'v2' (temp highp 2-component vector of int)
0:63 textureSize (global highp 2-component vector of int)
0:63 's2dms' (uniform highp sampler2DMS)
0:64 move second child to first child (temp highp 2-component vector of int)
0:64 'v2' (temp highp 2-component vector of int)
0:64 textureSize (global highp 2-component vector of int)
0:64 'us2dms' (uniform highp usampler2DMS)
0:65 Sequence
0:65 move second child to first child (temp highp 4-component vector of float)
0:65 'v4' (temp highp 4-component vector of float)
0:65 textureFetch (global highp 4-component vector of float)
0:65 's2dms' (uniform highp sampler2DMS)
0:65 'v2' (temp highp 2-component vector of int)
0:65 Constant:
0:65 2 (const int)
0:66 Sequence
0:66 move second child to first child (temp highp 4-component vector of int)
0:66 'iv4' (temp highp 4-component vector of int)
0:66 textureFetch (global highp 4-component vector of int)
0:66 'is2dms' (uniform highp isampler2DMS)
0:66 'v2' (temp highp 2-component vector of int)
0:66 Constant:
0:66 2 (const int)
0:67 Constant:
0:67 0.000000
0:69 frexp (global highp float)
0:69 'f' (temp highp float)
0:69 'ini' (in highp int)
0:114 Function Definition: foo_IO( (global void)
0:114 Function Parameters:
0:116 Sequence
0:116 Sequence
0:116 move second child to first child (temp highp int)
0:116 'sum' (temp highp int)
0:116 add (temp highp int)
0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
0:118 move second child to first child (temp highp 4-component vector of float)
0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
0:118 Constant:
0:118 0 (const uint)
0:118 Constant:
0:118 1.000000
0:118 1.000000
0:118 1.000000
0:118 1.000000
0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
0:119 Constant:
0:119 1 (const uint)
0:153 Function Definition: pfooBad( (global void)
0:153 Function Parameters:
0:? Sequence
0:156 move second child to first child (temp highp 2-component vector of float)
0:156 'h' (noContraction temp highp 2-component vector of float)
0:156 fma (global highp 2-component vector of float)
0:156 'inf' (in highp 2-component vector of float)
0:156 'ing' (in highp 2-component vector of float)
0:156 'h' (noContraction temp highp 2-component vector of float)
0:157 indirect index (temp lowp sampler2D)
0:157 'sArray' (uniform 4-element array of lowp sampler2D)
0:157 add (temp highp int)
0:157 'sIndex' (uniform highp int)
0:157 Constant:
0:157 1 (const int)
0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
0:158 add (temp highp int)
0:158 'sIndex' (uniform highp int)
0:158 Constant:
0:158 1 (const int)
0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
0:159 Constant:
0:159 1 (const int)
0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
0:160 Constant:
0:160 2 (const int)
0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
0:161 add (temp highp int)
0:161 'sIndex' (uniform highp int)
0:161 Constant:
0:161 1 (const int)
0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
0:162 'sIndex' (uniform highp int)
0:163 direct index (writeonly temp highp image2D)
0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
0:163 Constant:
0:163 2 (const int)
0:164 indirect index (writeonly temp highp image2D)
0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
0:164 component-wise multiply (temp highp int)
0:164 'sIndex' (uniform highp int)
0:164 Constant:
0:164 2 (const int)
0:165 textureGatherOffset (global lowp 4-component vector of float)
0:165 direct index (temp lowp sampler2D)
0:165 'sArray' (uniform 4-element array of lowp sampler2D)
0:165 Constant:
0:165 0 (const int)
0:165 Constant:
0:165 0.100000
0:165 0.100000
0:165 Convert float to int (temp lowp 2-component vector of int)
0:165 'inf' (in highp 2-component vector of float)
0:166 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
0:166 direct index (temp lowp sampler2D)
0:166 'sArray' (uniform 4-element array of lowp sampler2D)
0:166 Constant:
0:166 0 (const int)
0:166 Constant:
0:166 0.100000
0:166 0.100000
0:166 Constant:
0:166 0 (const int)
0:166 0 (const int)
0:166 0 (const int)
0:166 0 (const int)
0:166 0 (const int)
0:166 0 (const int)
0:166 0 (const int)
0:166 0 (const int)
0:171 Function Definition: pfoo( (global void)
0:171 Function Parameters:
0:? Sequence
0:174 move second child to first child (temp highp 2-component vector of float)
0:174 'h' (noContraction temp highp 2-component vector of float)
0:174 fma (global highp 2-component vector of float)
0:174 'inf' (in highp 2-component vector of float)
0:174 'ing' (in highp 2-component vector of float)
0:174 'h' (noContraction temp highp 2-component vector of float)
0:175 indirect index (temp lowp sampler2D)
0:175 'sArray' (uniform 4-element array of lowp sampler2D)
0:175 add (temp highp int)
0:175 'sIndex' (uniform highp int)
0:175 Constant:
0:175 1 (const int)
0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
0:176 add (temp highp int)
0:176 'sIndex' (uniform highp int)
0:176 Constant:
0:176 1 (const int)
0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
0:177 subtract (temp highp int)
0:177 'sIndex' (uniform highp int)
0:177 Constant:
0:177 2 (const int)
0:178 direct index (writeonly temp highp image2D)
0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
0:178 Constant:
0:178 2 (const int)
0:179 indirect index (writeonly temp highp image2D)
0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
0:179 subtract (temp highp int)
0:179 'sIndex' (uniform highp int)
0:179 Constant:
0:179 2 (const int)
0:180 textureGatherOffset (global lowp 4-component vector of float)
0:180 direct index (temp lowp sampler2D)
0:180 'sArray' (uniform 4-element array of lowp sampler2D)
0:180 Constant:
0:180 0 (const int)
0:180 Constant:
0:180 0.100000
0:180 0.100000
0:180 Convert float to int (temp lowp 2-component vector of int)
0:180 'inf' (in highp 2-component vector of float)
0:181 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
0:181 direct index (temp lowp sampler2D)
0:181 'sArray' (uniform 4-element array of lowp sampler2D)
0:181 Constant:
0:181 0 (const int)
0:181 Constant:
0:181 0.100000
0:181 0.100000
0:181 Constant:
0:181 0 (const int)
0:181 0 (const int)
0:181 0 (const int)
0:181 0 (const int)
0:181 0 (const int)
0:181 0 (const int)
0:181 0 (const int)
0:181 0 (const int)
0:182 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
0:182 direct index (temp lowp sampler2D)
0:182 'sArray' (uniform 4-element array of lowp sampler2D)
0:182 Constant:
0:182 0 (const int)
0:182 Constant:
0:182 0.100000
0:182 0.100000
0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
0:220 Function Definition: bufferT( (global void)
0:220 Function Parameters:
0:222 Sequence
0:222 Sequence
0:222 move second child to first child (temp highp int)
0:222 's1' (temp highp int)
0:222 textureSize (global highp int)
0:222 'bufSamp1' (uniform highp samplerBuffer)
0:223 Sequence
0:223 move second child to first child (temp highp int)
0:223 's2' (temp highp int)
0:223 textureSize (global highp int)
0:223 'bufSamp2' (uniform highp isamplerBuffer)
0:224 Sequence
0:224 move second child to first child (temp highp int)
0:224 's3' (temp highp int)
0:224 textureSize (global highp int)
0:224 'bufSamp3' (uniform highp usamplerBuffer)
0:226 Sequence
0:226 move second child to first child (temp highp int)
0:226 's4' (temp highp int)
0:226 imageQuerySize (global highp int)
0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
0:227 Sequence
0:227 move second child to first child (temp highp int)
0:227 's5' (temp highp int)
0:227 imageQuerySize (global highp int)
0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
0:228 Sequence
0:228 move second child to first child (temp highp int)
0:228 's6' (temp highp int)
0:228 imageQuerySize (global highp int)
0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
0:230 Sequence
0:230 move second child to first child (temp highp 4-component vector of float)
0:230 'f1' (temp highp 4-component vector of float)
0:230 textureFetch (global highp 4-component vector of float)
0:230 'bufSamp1' (uniform highp samplerBuffer)
0:230 's1' (temp highp int)
0:231 Sequence
0:231 move second child to first child (temp highp 4-component vector of int)
0:231 'f2' (temp highp 4-component vector of int)
0:231 textureFetch (global highp 4-component vector of int)
0:231 'bufSamp2' (uniform highp isamplerBuffer)
0:231 's2' (temp highp int)
0:232 Sequence
0:232 move second child to first child (temp highp 4-component vector of uint)
0:232 'f3' (temp highp 4-component vector of uint)
0:232 textureFetch (global highp 4-component vector of uint)
0:232 'bufSamp3' (uniform highp usamplerBuffer)
0:232 's3' (temp highp int)
0:279 Function Definition: CAT( (global void)
0:279 Function Parameters:
0:281 Sequence
0:281 Sequence
0:281 move second child to first child (temp highp 3-component vector of int)
0:281 's4' (temp highp 3-component vector of int)
0:281 textureSize (global highp 3-component vector of int)
0:281 'CA4' (uniform highp samplerCubeArray)
0:281 Constant:
0:281 1 (const int)
0:282 Sequence
0:282 move second child to first child (temp highp 3-component vector of int)
0:282 's5' (temp highp 3-component vector of int)
0:282 textureSize (global highp 3-component vector of int)
0:282 'CA5' (uniform highp samplerCubeArrayShadow)
0:282 Constant:
0:282 1 (const int)
0:283 Sequence
0:283 move second child to first child (temp highp 3-component vector of int)
0:283 's6' (temp highp 3-component vector of int)
0:283 textureSize (global highp 3-component vector of int)
0:283 'CA6' (uniform highp isamplerCubeArray)
0:283 Constant:
0:283 1 (const int)
0:284 Sequence
0:284 move second child to first child (temp highp 3-component vector of int)
0:284 's7' (temp highp 3-component vector of int)
0:284 textureSize (global highp 3-component vector of int)
0:284 'CA7' (uniform highp usamplerCubeArray)
0:284 Constant:
0:284 1 (const int)
0:286 Sequence
0:286 move second child to first child (temp highp 4-component vector of float)
0:286 't4' (temp highp 4-component vector of float)
0:286 texture (global highp 4-component vector of float)
0:286 'CA4' (uniform highp samplerCubeArray)
0:286 Constant:
0:286 0.500000
0:286 0.500000
0:286 0.500000
0:286 0.500000
0:287 Sequence
0:287 move second child to first child (temp highp float)
0:287 't5' (temp highp float)
0:287 texture (global highp float)
0:287 'CA5' (uniform highp samplerCubeArrayShadow)
0:287 Constant:
0:287 0.500000
0:287 0.500000
0:287 0.500000
0:287 0.500000
0:287 Constant:
0:287 3.000000
0:288 Sequence
0:288 move second child to first child (temp highp 4-component vector of int)
0:288 't6' (temp highp 4-component vector of int)
0:288 texture (global highp 4-component vector of int)
0:288 'CA6' (uniform highp isamplerCubeArray)
0:288 Constant:
0:288 0.500000
0:288 0.500000
0:288 0.500000
0:288 0.500000
0:289 Sequence
0:289 move second child to first child (temp highp 4-component vector of uint)
0:289 't7' (temp highp 4-component vector of uint)
0:289 texture (global highp 4-component vector of uint)
0:289 'CA7' (uniform highp usamplerCubeArray)
0:289 Constant:
0:289 0.500000
0:289 0.500000
0:289 0.500000
0:289 0.500000
0:291 Sequence
0:291 move second child to first child (temp highp 4-component vector of float)
0:291 'L4' (temp highp 4-component vector of float)
0:291 textureLod (global highp 4-component vector of float)
0:291 'CA4' (uniform highp samplerCubeArray)
0:291 Constant:
0:291 0.500000
0:291 0.500000
0:291 0.500000
0:291 0.500000
0:291 Constant:
0:291 0.240000
0:292 Sequence
0:292 move second child to first child (temp highp 4-component vector of int)
0:292 'L6' (temp highp 4-component vector of int)
0:292 textureLod (global highp 4-component vector of int)
0:292 'CA6' (uniform highp isamplerCubeArray)
0:292 Constant:
0:292 0.500000
0:292 0.500000
0:292 0.500000
0:292 0.500000
0:292 Constant:
0:292 0.260000
0:293 Sequence
0:293 move second child to first child (temp highp 4-component vector of uint)
0:293 'L7' (temp highp 4-component vector of uint)
0:293 textureLod (global highp 4-component vector of uint)
0:293 'CA7' (uniform highp usamplerCubeArray)
0:293 Constant:
0:293 0.500000
0:293 0.500000
0:293 0.500000
0:293 0.500000
0:293 Constant:
0:293 0.270000
0:295 Sequence
0:295 move second child to first child (temp highp 4-component vector of float)
0:295 'g4' (temp highp 4-component vector of float)
0:295 textureGrad (global highp 4-component vector of float)
0:295 'CA4' (uniform highp samplerCubeArray)
0:295 Constant:
0:295 0.500000
0:295 0.500000
0:295 0.500000
0:295 0.500000
0:295 Constant:
0:295 0.100000
0:295 0.100000
0:295 0.100000
0:295 Constant:
0:295 0.200000
0:295 0.200000
0:295 0.200000
0:296 Sequence
0:296 move second child to first child (temp highp 4-component vector of int)
0:296 'g6' (temp highp 4-component vector of int)
0:296 textureGrad (global highp 4-component vector of int)
0:296 'CA6' (uniform highp isamplerCubeArray)
0:296 Constant:
0:296 0.500000
0:296 0.500000
0:296 0.500000
0:296 0.500000
0:296 Constant:
0:296 0.100000
0:296 0.100000
0:296 0.100000
0:296 Constant:
0:296 0.200000
0:296 0.200000
0:296 0.200000
0:297 Sequence
0:297 move second child to first child (temp highp 4-component vector of uint)
0:297 'g7' (temp highp 4-component vector of uint)
0:297 textureGrad (global highp 4-component vector of uint)
0:297 'CA7' (uniform highp usamplerCubeArray)
0:297 Constant:
0:297 0.500000
0:297 0.500000
0:297 0.500000
0:297 0.500000
0:297 Constant:
0:297 0.100000
0:297 0.100000
0:297 0.100000
0:297 Constant:
0:297 0.200000
0:297 0.200000
0:297 0.200000
0:299 Sequence
0:299 move second child to first child (temp highp 4-component vector of float)
0:299 'gath4' (temp highp 4-component vector of float)
0:299 textureGather (global highp 4-component vector of float)
0:299 'CA4' (uniform highp samplerCubeArray)
0:299 Constant:
0:299 0.500000
0:299 0.500000
0:299 0.500000
0:299 0.500000
0:300 Sequence
0:300 move second child to first child (temp highp 4-component vector of float)
0:300 'gathC4' (temp highp 4-component vector of float)
0:300 textureGather (global highp 4-component vector of float)
0:300 'CA4' (uniform highp samplerCubeArray)
0:300 Constant:
0:300 0.500000
0:300 0.500000
0:300 0.500000
0:300 0.500000
0:300 Constant:
0:300 2 (const int)
0:301 Sequence
0:301 move second child to first child (temp highp 4-component vector of int)
0:301 'gath6' (temp highp 4-component vector of int)
0:301 textureGather (global highp 4-component vector of int)
0:301 'CA6' (uniform highp isamplerCubeArray)
0:301 Constant:
0:301 0.500000
0:301 0.500000
0:301 0.500000
0:301 0.500000
0:302 Sequence
0:302 move second child to first child (temp highp 4-component vector of int)
0:302 'gathC6' (temp highp 4-component vector of int)
0:302 textureGather (global highp 4-component vector of int)
0:302 'CA6' (uniform highp isamplerCubeArray)
0:302 Constant:
0:302 0.500000
0:302 0.500000
0:302 0.500000
0:302 0.500000
0:302 Constant:
0:302 1 (const int)
0:303 Sequence
0:303 move second child to first child (temp highp 4-component vector of uint)
0:303 'gath7' (temp highp 4-component vector of uint)
0:303 textureGather (global highp 4-component vector of uint)
0:303 'CA7' (uniform highp usamplerCubeArray)
0:303 Constant:
0:303 0.500000
0:303 0.500000
0:303 0.500000
0:303 0.500000
0:304 Sequence
0:304 move second child to first child (temp highp 4-component vector of uint)
0:304 'gathC7' (temp highp 4-component vector of uint)
0:304 textureGather (global highp 4-component vector of uint)
0:304 'CA7' (uniform highp usamplerCubeArray)
0:304 Constant:
0:304 0.500000
0:304 0.500000
0:304 0.500000
0:304 0.500000
0:304 Constant:
0:304 0 (const int)
0:306 Sequence
0:306 move second child to first child (temp highp 4-component vector of float)
0:306 'gath5' (temp highp 4-component vector of float)
0:306 textureGather (global highp 4-component vector of float)
0:306 'CA5' (uniform highp samplerCubeArrayShadow)
0:306 Constant:
0:306 0.500000
0:306 0.500000
0:306 0.500000
0:306 0.500000
0:306 Constant:
0:306 2.500000
0:308 Sequence
0:308 move second child to first child (temp highp 3-component vector of int)
0:308 's1' (temp highp 3-component vector of int)
0:308 imageQuerySize (global highp 3-component vector of int)
0:308 'CA1' (writeonly uniform highp imageCubeArray)
0:309 Sequence
0:309 move second child to first child (temp highp 3-component vector of int)
0:309 's2' (temp highp 3-component vector of int)
0:309 imageQuerySize (global highp 3-component vector of int)
0:309 'CA2' (writeonly uniform highp iimageCubeArray)
0:310 Sequence
0:310 move second child to first child (temp highp 3-component vector of int)
0:310 's3' (temp highp 3-component vector of int)
0:310 imageQuerySize (global highp 3-component vector of int)
0:310 'CA3' (writeonly uniform highp uimageCubeArray)
0:312 imageStore (global highp void)
0:312 'CA1' (writeonly uniform highp imageCubeArray)
0:312 's3' (temp highp 3-component vector of int)
0:312 Constant:
0:312 1.000000
0:312 1.000000
0:312 1.000000
0:312 1.000000
0:313 imageStore (global highp void)
0:313 'CA2' (writeonly uniform highp iimageCubeArray)
0:313 's3' (temp highp 3-component vector of int)
0:313 Constant:
0:313 1 (const int)
0:313 1 (const int)
0:313 1 (const int)
0:313 1 (const int)
0:314 imageStore (global highp void)
0:314 'CA3' (writeonly uniform highp uimageCubeArray)
0:314 's3' (temp highp 3-component vector of int)
0:314 Constant:
0:314 1 (const uint)
0:314 1 (const uint)
0:314 1 (const uint)
0:314 1 (const uint)
0:316 Sequence
0:316 move second child to first child (temp highp 4-component vector of float)
0:316 'cl1' (temp highp 4-component vector of float)
0:316 imageLoad (global highp 4-component vector of float)
0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
0:316 's3' (temp highp 3-component vector of int)
0:317 Sequence
0:317 move second child to first child (temp highp 4-component vector of int)
0:317 'cl2' (temp highp 4-component vector of int)
0:317 imageLoad (global highp 4-component vector of int)
0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
0:317 's3' (temp highp 3-component vector of int)
0:318 Sequence
0:318 move second child to first child (temp highp 4-component vector of uint)
0:318 'cl3' (temp highp 4-component vector of uint)
0:318 imageLoad (global highp 4-component vector of uint)
0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
0:318 's3' (temp highp 3-component vector of int)
0:343 Function Definition: MSA( (global void)
0:343 Function Parameters:
0:345 Sequence
0:345 Sequence
0:345 move second child to first child (temp highp 4-component vector of float)
0:345 'tf' (temp highp 4-component vector of float)
0:345 textureFetch (global highp 4-component vector of float)
0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
0:345 Constant:
0:345 5 (const int)
0:345 5 (const int)
0:345 5 (const int)
0:345 Constant:
0:345 2 (const int)
0:346 Sequence
0:346 move second child to first child (temp highp 4-component vector of int)
0:346 'tfi' (temp highp 4-component vector of int)
0:346 textureFetch (global highp 4-component vector of int)
0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:346 Constant:
0:346 5 (const int)
0:346 5 (const int)
0:346 5 (const int)
0:346 Constant:
0:346 2 (const int)
0:347 Sequence
0:347 move second child to first child (temp highp 4-component vector of uint)
0:347 'tfu' (temp highp 4-component vector of uint)
0:347 textureFetch (global highp 4-component vector of uint)
0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:347 Constant:
0:347 5 (const int)
0:347 5 (const int)
0:347 5 (const int)
0:347 Constant:
0:347 2 (const int)
0:349 Sequence
0:349 move second child to first child (temp highp 3-component vector of int)
0:349 'tfs' (temp highp 3-component vector of int)
0:349 textureSize (global highp 3-component vector of int)
0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
0:350 Sequence
0:350 move second child to first child (temp highp 3-component vector of int)
0:350 'tfsi' (temp highp 3-component vector of int)
0:350 textureSize (global highp 3-component vector of int)
0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:352 Sequence
0:352 move second child to first child (temp highp 3-component vector of int)
0:352 'tfsu' (temp highp 3-component vector of int)
0:352 textureSize (global highp 3-component vector of int)
0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:364 Function Definition: goodImageAtom( (global void)
0:364 Function Parameters:
0:? Sequence
0:370 imageAtomicAdd (global highp int)
0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:370 'P' (uniform highp 2-component vector of int)
0:370 'dati' (temp highp int)
0:371 imageAtomicAdd (global highp uint)
0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:371 'P' (uniform highp 2-component vector of int)
0:371 'datu' (temp highp uint)
0:372 imageAtomicMin (global highp int)
0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:372 'P' (uniform highp 2-component vector of int)
0:372 'dati' (temp highp int)
0:373 imageAtomicMin (global highp uint)
0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:373 'P' (uniform highp 2-component vector of int)
0:373 'datu' (temp highp uint)
0:374 imageAtomicMax (global highp int)
0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:374 'P' (uniform highp 2-component vector of int)
0:374 'dati' (temp highp int)
0:375 imageAtomicMax (global highp uint)
0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:375 'P' (uniform highp 2-component vector of int)
0:375 'datu' (temp highp uint)
0:376 imageAtomicAnd (global highp int)
0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:376 'P' (uniform highp 2-component vector of int)
0:376 'dati' (temp highp int)
0:377 imageAtomicAnd (global highp uint)
0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:377 'P' (uniform highp 2-component vector of int)
0:377 'datu' (temp highp uint)
0:378 imageAtomicOr (global highp int)
0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:378 'P' (uniform highp 2-component vector of int)
0:378 'dati' (temp highp int)
0:379 imageAtomicOr (global highp uint)
0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:379 'P' (uniform highp 2-component vector of int)
0:379 'datu' (temp highp uint)
0:380 imageAtomicXor (global highp int)
0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:380 'P' (uniform highp 2-component vector of int)
0:380 'dati' (temp highp int)
0:381 imageAtomicXor (global highp uint)
0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:381 'P' (uniform highp 2-component vector of int)
0:381 'datu' (temp highp uint)
0:382 imageAtomicExchange (global highp int)
0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:382 'P' (uniform highp 2-component vector of int)
0:382 'dati' (temp highp int)
0:383 imageAtomicExchange (global highp uint)
0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:383 'P' (uniform highp 2-component vector of int)
0:383 'datu' (temp highp uint)
0:384 imageAtomicExchange (global highp float)
0:384 'im2Df' (layout(r32f ) uniform highp image2D)
0:384 'P' (uniform highp 2-component vector of int)
0:384 'datf' (temp highp float)
0:385 imageAtomicCompSwap (global highp int)
0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
0:385 'P' (uniform highp 2-component vector of int)
0:385 Constant:
0:385 3 (const int)
0:385 'dati' (temp highp int)
0:386 imageAtomicCompSwap (global highp uint)
0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
0:386 'P' (uniform highp 2-component vector of int)
0:386 Constant:
0:386 5 (const uint)
0:386 'datu' (temp highp uint)
0:398 Function Definition: badInterp( (global void)
0:398 Function Parameters:
0:400 Sequence
0:400 Constant:
0:400 0.000000
0:401 Constant:
0:401 0.000000
0:402 Constant:
0:402 0.000000
0:? Linker Objects
0:? 's' (shared highp 4-component vector of float)
0:? 'v' (buffer highp 4-component vector of float)

View File

@ -5,7 +5,7 @@ ERROR: 0:23: '' : array size required
ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized
ERROR: 0:40: '' : array size required
ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument
ERROR: 0:49: 'constructior' : array constructor argument not correct type to construct array element
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'
@ -359,277 +359,6 @@ ERROR: node is still EOpNull!
0:13 1 (const uint)
0:13 2 (const uint)
0:13 'd' (temp 3-element array of 2-element array of highp int)
0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
0:44 Function Parameters:
0:44 'a' (in 5-element array of 7-element array of highp float)
0:? Sequence
0:47 move second child to first child (temp 7-element array of highp float)
0:47 'r' (temp 7-element array of highp float)
0:47 direct index (temp 7-element array of highp float)
0:47 'a' (in 5-element array of 7-element array of highp float)
0:47 Constant:
0:47 2 (const int)
0:48 Constant:
0:48 0.000000
0:49 Constant:
0:49 0.000000
0:50 Branch: Return with expression
0:50 Construct float (temp 4-element array of 7-element array of float)
0:50 direct index (temp 7-element array of highp float)
0:50 'a' (in 5-element array of 7-element array of highp float)
0:50 Constant:
0:50 0 (const int)
0:50 direct index (temp 7-element array of highp float)
0:50 'a' (in 5-element array of 7-element array of highp float)
0:50 Constant:
0:50 1 (const int)
0:50 'r' (temp 7-element array of highp float)
0:50 direct index (temp 7-element array of highp float)
0:50 'a' (in 5-element array of 7-element array of highp float)
0:50 Constant:
0:50 3 (const int)
0:51 Branch: Return with expression
0:51 Construct float (temp 4-element array of 7-element array of float)
0:51 direct index (temp 7-element array of highp float)
0:51 'a' (in 5-element array of 7-element array of highp float)
0:51 Constant:
0:51 0 (const int)
0:51 direct index (temp 7-element array of highp float)
0:51 'a' (in 5-element array of 7-element array of highp float)
0:51 Constant:
0:51 1 (const int)
0:51 'r' (temp 7-element array of highp float)
0:51 direct index (temp 7-element array of highp float)
0:51 'a' (in 5-element array of 7-element array of highp float)
0:51 Constant:
0:51 3 (const int)
0:52 Branch: Return with expression
0:52 Construct float (temp 4-element array of 7-element array of float)
0:52 direct index (temp 7-element array of highp float)
0:52 'a' (in 5-element array of 7-element array of highp float)
0:52 Constant:
0:52 0 (const int)
0:52 direct index (temp 7-element array of highp float)
0:52 'a' (in 5-element array of 7-element array of highp float)
0:52 Constant:
0:52 1 (const int)
0:52 direct index (temp 7-element array of highp float)
0:52 'a' (in 5-element array of 7-element array of highp float)
0:52 Constant:
0:52 2 (const int)
0:52 direct index (temp 7-element array of highp float)
0:52 'a' (in 5-element array of 7-element array of highp float)
0:52 Constant:
0:52 3 (const int)
0:55 Function Definition: bar(f1[5][7]; (global void)
0:55 Function Parameters:
0:55 '' (in 5-element array of 7-element array of highp float)
0:57 Function Definition: foo2( (global void)
0:57 Function Parameters:
0:? Sequence
0:? Sequence
0:62 move second child to first child (temp highp float)
0:62 direct index (temp highp float)
0:62 direct index (temp 2-element array of highp float)
0:62 direct index (temp 4-element array of 2-element array of highp float)
0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
0:62 Constant:
0:62 2 (const int)
0:62 Constant:
0:62 4 (const int)
0:62 Constant:
0:62 1 (const int)
0:62 Constant:
0:62 4.000000
0:64 Sequence
0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
0:66 Constant:
0:66 0.000000
0:66 0.000000
0:66 0.000000
0:66 0.000000
0:66 1.000000
0:66 1.000000
0:66 1.000000
0:66 1.000000
0:66 0.000000
0:66 0.000000
0:66 0.000000
0:66 0.000000
0:66 1.000000
0:66 1.000000
0:66 1.000000
0:66 1.000000
0:66 0.000000
0:66 0.000000
0:66 0.000000
0:66 0.000000
0:66 1.000000
0:66 1.000000
0:66 1.000000
0:66 1.000000
0:67 Sequence
0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
0:69 Constant:
0:69 4.000000
0:69 4.000000
0:69 4.000000
0:69 4.000000
0:69 2.000000
0:69 2.000000
0:69 2.000000
0:69 2.000000
0:69 4.000000
0:69 4.000000
0:69 4.000000
0:69 4.000000
0:69 2.000000
0:69 2.000000
0:69 2.000000
0:69 2.000000
0:69 4.000000
0:69 4.000000
0:69 4.000000
0:69 4.000000
0:69 2.000000
0:69 2.000000
0:69 2.000000
0:69 2.000000
0:70 Sequence
0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
0:72 Constant:
0:72 4.000000
0:72 4.000000
0:72 4.000000
0:72 4.000000
0:72 2.000000
0:72 2.000000
0:72 2.000000
0:72 2.000000
0:72 4.000000
0:72 4.000000
0:72 4.000000
0:72 4.000000
0:72 2.000000
0:72 2.000000
0:72 2.000000
0:72 2.000000
0:72 4.000000
0:72 4.000000
0:72 4.000000
0:72 4.000000
0:72 2.000000
0:72 2.000000
0:72 2.000000
0:72 2.000000
0:73 Sequence
0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
0:75 Constant:
0:75 4.000000
0:75 4.000000
0:75 4.000000
0:75 4.000000
0:75 2.000000
0:75 2.000000
0:75 2.000000
0:75 2.000000
0:75 4.000000
0:75 4.000000
0:75 4.000000
0:75 4.000000
0:75 2.000000
0:75 2.000000
0:75 2.000000
0:75 2.000000
0:75 4.000000
0:75 4.000000
0:75 4.000000
0:75 4.000000
0:75 2.000000
0:75 2.000000
0:75 2.000000
0:75 2.000000
0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
0:77 'g4' (global 4-element array of 7-element array of highp float)
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 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)
0:82 'g5' (global 5-element array of 7-element array of highp float)
0:84 Test condition and select (temp void)
0:84 Condition
0:84 Compare Equal (temp bool)
0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
0:84 'g5' (global 5-element array of 7-element array of highp float)
0:84 'g4' (global 4-element array of 7-element array of highp float)
0:84 true case is null
0:86 Test condition and select (temp void)
0:86 Condition
0:86 Constant:
0:86 false (const bool)
0:86 true case is null
0:90 move second child to first child (temp highp float)
0:90 direct index (temp highp float)
0:90 direct index (temp 7-element array of highp float)
0:90 'u' (temp 5-element array of 7-element array of highp float)
0:90 Constant:
0:90 5 (const int)
0:90 Constant:
0:90 2 (const int)
0:90 Constant:
0:90 5.000000
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 Constant:
0:94 1 (const int)
0:94 Constant:
0:94 1 (const int)
0:94 Constant:
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 Constant:
0:95 1 (const int)
0:95 Constant:
0:95 1 (const int)
0:95 Constant:
0:95 1 (const int)
0:95 Constant:
0:95 4.300000
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 Constant:
0:96 1 (const int)
0:96 Constant:
0:96 1 (const int)
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 Constant:
0:99 0 (const int)
0:99 Constant:
0:99 1 (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 1-element array of highp 4-component vector of float v})

View File

@ -152,31 +152,6 @@ ERROR: node is still EOpNull!
0:12 'buffer' (temp int)
0:12 Constant:
0:12 4 (const int)
0:21 Function Definition: foo( (global void)
0:21 Function Parameters:
0:23 Sequence
0:23 Sequence
0:23 move second child to first child (temp 4-component vector of float)
0:23 'c' (temp 4-component vector of float)
0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
0:23 Constant:
0:23 2 (const uint)
0:24 move second child to first child (temp 4-component vector of float)
0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
0:24 'inVar' (smooth in 4-component vector of float)
0:133 Function Definition: qlod( (global void)
0:133 Function Parameters:
0:? Sequence
0:140 'lod' (temp 2-component vector of float)
0:141 'lod' (temp 2-component vector of float)
0:147 Function Definition: fooKeyMem( (global void)
0:147 Function Parameters:
0:149 Sequence
0:149 precise: direct index for structure (global int)
0:149 'KeyMem' (global structure{global int precise})
0:149 Constant:
0:149 0 (const int)
0:? Linker Objects
0:? 'inVar' (smooth in 4-component vector of float)
0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)

View File

@ -481,8 +481,6 @@ ERROR: node is still EOpNull!
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 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:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
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)
@ -644,312 +642,6 @@ ERROR: node is still EOpNull!
0:27 move second child to first child (temp 4-component vector of float)
0:27 'c' (temp 4-component vector of float)
0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:47 Function Definition: foo23( (global void)
0:47 Function Parameters:
0:? Sequence
0:51 textureProjGradOffset (global float)
0:51 'u2drs' (uniform sampler2DRectShadow)
0:51 'outp' (out 4-component vector of float)
0:51 Constant:
0:51 0.000000
0:51 0.000000
0:51 Constant:
0:51 0.000000
0:51 0.000000
0:51 Convert float to int (temp 2-component vector of int)
0:51 'c2D' (smooth in 2-component vector of float)
0:52 textureProjGradOffset (global float)
0:52 'u2drs' (uniform sampler2DRectShadow)
0:52 'outp' (out 4-component vector of float)
0:52 Constant:
0:52 0.000000
0:52 0.000000
0:52 Constant:
0:52 0.000000
0:52 0.000000
0:52 Constant:
0:52 3 (const int)
0:52 4 (const int)
0:53 textureProjGradOffset (global float)
0:53 'u2drs' (uniform sampler2DRectShadow)
0:53 'outp' (out 4-component vector of float)
0:53 Constant:
0:53 0.000000
0:53 0.000000
0:53 Constant:
0:53 0.000000
0:53 0.000000
0:53 Constant:
0:53 15 (const int)
0:53 16 (const int)
0:54 textureProjGradOffset (global float)
0:54 'u2drs' (uniform sampler2DRectShadow)
0:54 'outp' (out 4-component vector of float)
0:54 Constant:
0:54 0.000000
0:54 0.000000
0:54 Constant:
0:54 0.000000
0:54 0.000000
0:54 Constant:
0:54 -10 (const int)
0:54 20 (const int)
0:60 Function Definition: foo24( (global void)
0:60 Function Parameters:
0:? Sequence
0:63 move second child to first child (temp 3-component vector of double)
0:63 'df' (temp 3-component vector of double)
0:63 modf (global 3-component vector of double)
0:63 Convert float to double (temp 3-component vector of double)
0:63 vector swizzle (temp 3-component vector of float)
0:63 'outp' (out 4-component vector of float)
0:63 Sequence
0:63 Constant:
0:63 0 (const int)
0:63 Constant:
0:63 1 (const int)
0:63 Constant:
0:63 2 (const int)
0:63 'di' (temp 3-component vector of double)
0:71 Function Definition: foodc1( (global void)
0:71 Function Parameters:
0:73 Sequence
0:73 Sequence
0:73 move second child to first child (temp 2-component vector of float)
0:73 'v2' (temp 2-component vector of float)
0:73 dPdxFine (global 2-component vector of float)
0:73 'in2' (smooth in 2-component vector of float)
0:74 Sequence
0:74 move second child to first child (temp 3-component vector of float)
0:74 'v3' (temp 3-component vector of float)
0:74 dPdyCoarse (global 3-component vector of float)
0:74 'in3' (smooth in 3-component vector of float)
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of float)
0:75 'v4' (temp 4-component vector of float)
0:75 add (temp 4-component vector of float)
0:75 fwidthCoarse (global 4-component vector of float)
0:75 'in4' (smooth in 4-component vector of float)
0:75 fwidthFine (global 4-component vector of float)
0:75 'in4' (smooth in 4-component vector of float)
0:80 Function Definition: foodc2( (global void)
0:80 Function Parameters:
0:82 Sequence
0:82 Sequence
0:82 move second child to first child (temp 2-component vector of float)
0:82 'v2' (temp 2-component vector of float)
0:82 dPdxFine (global 2-component vector of float)
0:82 'in2' (smooth in 2-component vector of float)
0:83 Sequence
0:83 move second child to first child (temp 3-component vector of float)
0:83 'v3' (temp 3-component vector of float)
0:83 dPdyCoarse (global 3-component vector of float)
0:83 'in3' (smooth in 3-component vector of float)
0:84 Sequence
0:84 move second child to first child (temp 4-component vector of float)
0:84 'v4' (temp 4-component vector of float)
0:84 add (temp 4-component vector of float)
0:84 fwidthCoarse (global 4-component vector of float)
0:84 'in4' (smooth in 4-component vector of float)
0:84 fwidthFine (global 4-component vector of float)
0:84 'in4' (smooth in 4-component vector of float)
0:89 move second child to first child (temp 2-component vector of float)
0:89 'v2' (temp 2-component vector of float)
0:89 frexp (global 2-component vector of float)
0:89 'v2' (temp 2-component vector of float)
0:89 'i2' (temp 2-component vector of int)
0:90 move second child to first child (temp 3-component vector of float)
0:90 'v3' (temp 3-component vector of float)
0:90 ldexp (global 3-component vector of float)
0:90 'v3' (temp 3-component vector of float)
0:90 'i3' (temp 3-component vector of int)
0:92 move second child to first child (temp uint)
0:92 'u1' (temp uint)
0:92 PackUnorm4x8 (global uint)
0:92 'v4' (temp 4-component vector of float)
0:93 move second child to first child (temp uint)
0:93 'u1' (temp uint)
0:93 PackSnorm4x8 (global uint)
0:93 'v4' (temp 4-component vector of float)
0:94 move second child to first child (temp 4-component vector of float)
0:94 'v4' (temp 4-component vector of float)
0:94 UnpackUnorm4x8 (global 4-component vector of float)
0:94 'u1' (temp uint)
0:95 move second child to first child (temp 4-component vector of float)
0:95 'v4' (temp 4-component vector of float)
0:95 UnpackSnorm4x8 (global 4-component vector of float)
0:95 'u1' (temp uint)
0:99 move second child to first child (temp double)
0:99 'd' (temp double)
0:99 PackDouble2x32 (global double)
0:99 'u2' (temp 2-component vector of uint)
0:100 move second child to first child (temp 2-component vector of uint)
0:100 'u2' (temp 2-component vector of uint)
0:100 UnpackDouble2x32 (global 2-component vector of uint)
0:100 'd' (temp double)
0:117 Function Definition: interp( (global void)
0:117 Function Parameters:
0:119 Sequence
0:119 interpolateAtCentroid (global 2-component vector of float)
0:119 'colorfc' (centroid flat in 2-component vector of float)
0:120 interpolateAtCentroid (global 4-component vector of float)
0:120 'colorSampIn' (smooth sample in 4-component vector of float)
0:121 interpolateAtCentroid (global 4-component vector of float)
0:121 'colorfsi' (noperspective in 4-component vector of float)
0:122 interpolateAtCentroid (global float)
0:122 'scalarIn' (smooth in float)
0:123 Constant:
0:123 0.000000
0:124 interpolateAtCentroid (global 3-component vector of float)
0:124 direct index (smooth sample temp 3-component vector of float)
0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:124 Constant:
0:124 2 (const int)
0:125 interpolateAtCentroid (global 2-component vector of float)
0:125 vector swizzle (temp 2-component vector of float)
0:125 direct index (smooth sample temp 3-component vector of float)
0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:125 Constant:
0:125 2 (const int)
0:125 Sequence
0:125 Constant:
0:125 0 (const int)
0:125 Constant:
0:125 1 (const int)
0:127 Constant:
0:127 0.000000
0:128 interpolateAtSample (global 3-component vector of float)
0:128 indirect index (smooth sample temp 3-component vector of float)
0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:128 'i' (flat in int)
0:128 Constant:
0:128 0 (const int)
0:129 interpolateAtSample (global float)
0:129 x: direct index for structure (global float)
0:129 's1' (smooth in structure{global float x})
0:129 Constant:
0:129 0 (const int)
0:129 Constant:
0:129 2 (const int)
0:130 interpolateAtSample (global float)
0:130 'scalarIn' (smooth in float)
0:130 Constant:
0:130 1 (const int)
0:132 Constant:
0:132 0.000000
0:133 interpolateAtOffset (global 3-component vector of float)
0:133 direct index (smooth sample temp 3-component vector of float)
0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:133 Constant:
0:133 2 (const int)
0:133 Constant:
0:133 0.200000
0:133 0.200000
0:134 interpolateAtOffset (global 2-component vector of float)
0:134 vector swizzle (temp 2-component vector of float)
0:134 direct index (smooth sample temp 3-component vector of float)
0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:134 Constant:
0:134 2 (const int)
0:134 Sequence
0:134 Constant:
0:134 0 (const int)
0:134 Constant:
0:134 1 (const int)
0:134 Constant:
0:134 0.200000
0:134 0.200000
0:135 interpolateAtOffset (global float)
0:135 add (temp float)
0:135 'scalarIn' (smooth in float)
0:135 'scalarIn' (smooth in float)
0:135 Constant:
0:135 0.200000
0:135 0.200000
0:136 interpolateAtOffset (global float)
0:136 x: direct index for structure (global float)
0:136 's2' (sample temp structure{global float x})
0:136 Constant:
0:136 0 (const int)
0:136 Constant:
0:136 0.200000
0:136 0.200000
0:139 interpolateAtCentroid (global float)
0:139 'f' (temp float)
0:140 interpolateAtSample (global 4-component vector of float)
0:140 'outp' (out 4-component vector of float)
0:140 Constant:
0:140 0 (const int)
0:161 Function Definition: qlod( (global void)
0:161 Function Parameters:
0:? Sequence
0:168 move second child to first child (temp 2-component vector of float)
0:168 'lod' (temp 2-component vector of float)
0:168 textureQueryLod (global 2-component vector of float)
0:168 'samp1D' (uniform sampler1D)
0:168 'pf' (temp float)
0:169 move second child to first child (temp 2-component vector of float)
0:169 'lod' (temp 2-component vector of float)
0:169 textureQueryLod (global 2-component vector of float)
0:169 'isamp2D' (uniform isampler2D)
0:169 'pf2' (temp 2-component vector of float)
0:170 move second child to first child (temp 2-component vector of float)
0:170 'lod' (temp 2-component vector of float)
0:170 textureQueryLod (global 2-component vector of float)
0:170 'usamp3D' (uniform usampler3D)
0:170 'pf3' (temp 3-component vector of float)
0:171 move second child to first child (temp 2-component vector of float)
0:171 'lod' (temp 2-component vector of float)
0:171 textureQueryLod (global 2-component vector of float)
0:171 'sampCube' (uniform samplerCube)
0:171 'pf3' (temp 3-component vector of float)
0:172 move second child to first child (temp 2-component vector of float)
0:172 'lod' (temp 2-component vector of float)
0:172 textureQueryLod (global 2-component vector of float)
0:172 'isamp1DA' (uniform isampler1DArray)
0:172 'pf' (temp float)
0:173 move second child to first child (temp 2-component vector of float)
0:173 'lod' (temp 2-component vector of float)
0:173 textureQueryLod (global 2-component vector of float)
0:173 'usamp2DA' (uniform usampler2DArray)
0:173 'pf2' (temp 2-component vector of float)
0:174 move second child to first child (temp 2-component vector of float)
0:174 'lod' (temp 2-component vector of float)
0:174 textureQueryLod (global 2-component vector of float)
0:174 'isampCubeA' (uniform isamplerCubeArray)
0:174 'pf3' (temp 3-component vector of float)
0:176 move second child to first child (temp 2-component vector of float)
0:176 'lod' (temp 2-component vector of float)
0:176 textureQueryLod (global 2-component vector of float)
0:176 'samp1Ds' (uniform sampler1DShadow)
0:176 'pf' (temp float)
0:177 move second child to first child (temp 2-component vector of float)
0:177 'lod' (temp 2-component vector of float)
0:177 textureQueryLod (global 2-component vector of float)
0:177 'samp2Ds' (uniform sampler2DShadow)
0:177 'pf2' (temp 2-component vector of float)
0:178 move second child to first child (temp 2-component vector of float)
0:178 'lod' (temp 2-component vector of float)
0:178 textureQueryLod (global 2-component vector of float)
0:178 'sampCubes' (uniform samplerCubeShadow)
0:178 'pf3' (temp 3-component vector of float)
0:179 move second child to first child (temp 2-component vector of float)
0:179 'lod' (temp 2-component vector of float)
0:179 textureQueryLod (global 2-component vector of float)
0:179 'samp1DAs' (uniform sampler1DArrayShadow)
0:179 'pf' (temp float)
0:180 move second child to first child (temp 2-component vector of float)
0:180 'lod' (temp 2-component vector of float)
0:180 textureQueryLod (global 2-component vector of float)
0:180 'samp2DAs' (uniform sampler2DArrayShadow)
0:180 'pf2' (temp 2-component vector of float)
0:181 move second child to first child (temp 2-component vector of float)
0:181 'lod' (temp 2-component vector of float)
0:181 textureQueryLod (global 2-component vector of float)
0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
0:181 'pf3' (temp 3-component vector of float)
0:183 'lod' (temp 2-component vector of float)
0:184 'lod' (temp 2-component vector of float)
0:? Linker Objects
0:? 'c2D' (smooth in 2-component vector of float)
0:? 'i' (flat in int)
@ -962,8 +654,6 @@ ERROR: node is still EOpNull!
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 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:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 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:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:? 'u2drs' (uniform sampler2DRectShadow)
0:? 'patchIn' (smooth patch in 4-component vector of float)

View File

@ -1070,981 +1070,6 @@ ERROR: node is still EOpNull!
0:9 move second child to first child (temp int)
0:9 'id' (temp int)
0:9 'gl_InvocationID' (in int InvocationID)
0:23 Function Definition: foo( (global void)
0:23 Function Parameters:
0:25 Sequence
0:25 Constant:
0:25 1 (const int)
0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
0:26 Constant:
0:26 1 (const int)
0:26 Constant:
0:26 0 (const int)
0:34 Function Definition: foo2( (global void)
0:34 Function Parameters:
0:36 Sequence
0:36 Constant:
0:36 1 (const int)
0:37 Constant:
0:37 3 (const int)
0:46 Function Definition: foo3( (global void)
0:46 Function Parameters:
0:48 Sequence
0:48 Constant:
0:48 3 (const int)
0:49 Constant:
0:49 3 (const int)
0:50 Constant:
0:50 3 (const int)
0:51 Constant:
0:51 3 (const int)
0:75 Function Definition: bits( (global void)
0:75 Function Parameters:
0:? Sequence
0:78 move second child to first child (temp 2-component vector of uint)
0:78 'u2' (temp 2-component vector of uint)
0:78 addCarry (global 2-component vector of uint)
0:78 'u2' (temp 2-component vector of uint)
0:78 'u2' (temp 2-component vector of uint)
0:78 'u2' (temp 2-component vector of uint)
0:80 move second child to first child (temp uint)
0:80 'u1' (temp uint)
0:80 subBorrow (global uint)
0:80 'u1' (temp uint)
0:80 'u1' (temp uint)
0:80 'u1' (temp uint)
0:82 uMulExtended (global void)
0:82 'u4' (temp 4-component vector of uint)
0:82 'u4' (temp 4-component vector of uint)
0:82 'u4' (temp 4-component vector of uint)
0:82 'u4' (temp 4-component vector of uint)
0:84 iMulExtended (global void)
0:84 'i4' (temp 4-component vector of int)
0:84 'i4' (temp 4-component vector of int)
0:84 'i4' (temp 4-component vector of int)
0:84 'i4' (temp 4-component vector of int)
0:86 move second child to first child (temp int)
0:86 'i1' (temp int)
0:86 bitfieldExtract (global int)
0:86 'i1' (temp int)
0:86 Constant:
0:86 4 (const int)
0:86 Constant:
0:86 5 (const int)
0:88 move second child to first child (temp 3-component vector of uint)
0:88 'u3' (temp 3-component vector of uint)
0:88 bitfieldExtract (global 3-component vector of uint)
0:88 'u3' (temp 3-component vector of uint)
0:88 Constant:
0:88 4 (const int)
0:88 Constant:
0:88 5 (const int)
0:90 move second child to first child (temp 3-component vector of int)
0:90 'i3' (temp 3-component vector of int)
0:90 bitfieldInsert (global 3-component vector of int)
0:90 'i3' (temp 3-component vector of int)
0:90 'i3' (temp 3-component vector of int)
0:90 Constant:
0:90 4 (const int)
0:90 Constant:
0:90 5 (const int)
0:91 move second child to first child (temp uint)
0:91 'u1' (temp uint)
0:91 bitfieldInsert (global uint)
0:91 'u1' (temp uint)
0:91 'u1' (temp uint)
0:91 Constant:
0:91 4 (const int)
0:91 Constant:
0:91 5 (const int)
0:93 move second child to first child (temp 2-component vector of int)
0:93 'i2' (temp 2-component vector of int)
0:93 bitFieldReverse (global 2-component vector of int)
0:93 'i2' (temp 2-component vector of int)
0:94 move second child to first child (temp 4-component vector of uint)
0:94 'u4' (temp 4-component vector of uint)
0:94 bitFieldReverse (global 4-component vector of uint)
0:94 'u4' (temp 4-component vector of uint)
0:95 move second child to first child (temp int)
0:95 'i1' (temp int)
0:95 bitCount (global int)
0:95 'i1' (temp int)
0:96 move second child to first child (temp 3-component vector of int)
0:96 'i3' (temp 3-component vector of int)
0:96 bitCount (global 3-component vector of int)
0:96 'u3' (temp 3-component vector of uint)
0:97 move second child to first child (temp 2-component vector of int)
0:97 'i2' (temp 2-component vector of int)
0:97 findLSB (global 2-component vector of int)
0:97 'i2' (temp 2-component vector of int)
0:98 move second child to first child (temp 4-component vector of int)
0:98 'i4' (temp 4-component vector of int)
0:98 findLSB (global 4-component vector of int)
0:98 'u4' (temp 4-component vector of uint)
0:99 move second child to first child (temp int)
0:99 'i1' (temp int)
0:99 findMSB (global int)
0:99 'i1' (temp int)
0:100 move second child to first child (temp 2-component vector of int)
0:100 'i2' (temp 2-component vector of int)
0:100 findMSB (global 2-component vector of int)
0:100 'u2' (temp 2-component vector of uint)
0:108 Function Definition: qlod( (global void)
0:108 Function Parameters:
0:? Sequence
0:115 'lod' (temp 2-component vector of float)
0:116 'lod' (temp 2-component vector of float)
0:119 Function Definition: doubles( (global void)
0:119 Function Parameters:
0:? Sequence
0:131 move second child to first child (temp double)
0:131 'doublev' (temp double)
0:131 Constant:
0:131 1.702939
0:132 move second child to first child (temp 2-component vector of double)
0:132 'dvec2v' (temp 2-component vector of double)
0:132 Constant:
0:132 1.643168
0:132 1.643168
0:133 move second child to first child (temp 3-component vector of double)
0:133 'dvec3v' (temp 3-component vector of double)
0:133 Constant:
0:133 1.414214
0:133 1.414214
0:133 1.414214
0:134 move second child to first child (temp 4-component vector of double)
0:134 'dvec4v' (temp 4-component vector of double)
0:134 Constant:
0:134 1.449138
0:134 1.449138
0:134 1.449138
0:134 1.449138
0:136 add second child into first child (temp double)
0:136 'doublev' (temp double)
0:136 inverse sqrt (global double)
0:136 'doublev' (temp double)
0:137 add second child into first child (temp 2-component vector of double)
0:137 'dvec2v' (temp 2-component vector of double)
0:137 inverse sqrt (global 2-component vector of double)
0:137 'dvec2v' (temp 2-component vector of double)
0:138 add second child into first child (temp 3-component vector of double)
0:138 'dvec3v' (temp 3-component vector of double)
0:138 inverse sqrt (global 3-component vector of double)
0:138 'dvec3v' (temp 3-component vector of double)
0:139 add second child into first child (temp 4-component vector of double)
0:139 'dvec4v' (temp 4-component vector of double)
0:139 inverse sqrt (global 4-component vector of double)
0:139 'dvec4v' (temp 4-component vector of double)
0:141 add second child into first child (temp double)
0:141 'doublev' (temp double)
0:141 Absolute value (global double)
0:141 'doublev' (temp double)
0:142 add second child into first child (temp 2-component vector of double)
0:142 'dvec2v' (temp 2-component vector of double)
0:142 Absolute value (global 2-component vector of double)
0:142 'dvec2v' (temp 2-component vector of double)
0:143 add second child into first child (temp 3-component vector of double)
0:143 'dvec3v' (temp 3-component vector of double)
0:143 Absolute value (global 3-component vector of double)
0:143 'dvec3v' (temp 3-component vector of double)
0:144 add second child into first child (temp 4-component vector of double)
0:144 'dvec4v' (temp 4-component vector of double)
0:144 Absolute value (global 4-component vector of double)
0:144 'dvec4v' (temp 4-component vector of double)
0:146 add second child into first child (temp double)
0:146 'doublev' (temp double)
0:146 Sign (global double)
0:146 'doublev' (temp double)
0:147 add second child into first child (temp 2-component vector of double)
0:147 'dvec2v' (temp 2-component vector of double)
0:147 Sign (global 2-component vector of double)
0:147 'dvec2v' (temp 2-component vector of double)
0:148 add second child into first child (temp 3-component vector of double)
0:148 'dvec3v' (temp 3-component vector of double)
0:148 Sign (global 3-component vector of double)
0:148 'dvec3v' (temp 3-component vector of double)
0:149 add second child into first child (temp 4-component vector of double)
0:149 'dvec4v' (temp 4-component vector of double)
0:149 Sign (global 4-component vector of double)
0:149 'dvec4v' (temp 4-component vector of double)
0:151 add second child into first child (temp double)
0:151 'doublev' (temp double)
0:151 Floor (global double)
0:151 'doublev' (temp double)
0:152 add second child into first child (temp 2-component vector of double)
0:152 'dvec2v' (temp 2-component vector of double)
0:152 Floor (global 2-component vector of double)
0:152 'dvec2v' (temp 2-component vector of double)
0:153 add second child into first child (temp 3-component vector of double)
0:153 'dvec3v' (temp 3-component vector of double)
0:153 Floor (global 3-component vector of double)
0:153 'dvec3v' (temp 3-component vector of double)
0:154 add second child into first child (temp 4-component vector of double)
0:154 'dvec4v' (temp 4-component vector of double)
0:154 Floor (global 4-component vector of double)
0:154 'dvec4v' (temp 4-component vector of double)
0:156 add second child into first child (temp double)
0:156 'doublev' (temp double)
0:156 trunc (global double)
0:156 'doublev' (temp double)
0:157 add second child into first child (temp 2-component vector of double)
0:157 'dvec2v' (temp 2-component vector of double)
0:157 trunc (global 2-component vector of double)
0:157 'dvec2v' (temp 2-component vector of double)
0:158 add second child into first child (temp 3-component vector of double)
0:158 'dvec3v' (temp 3-component vector of double)
0:158 trunc (global 3-component vector of double)
0:158 'dvec3v' (temp 3-component vector of double)
0:159 add second child into first child (temp 4-component vector of double)
0:159 'dvec4v' (temp 4-component vector of double)
0:159 trunc (global 4-component vector of double)
0:159 'dvec4v' (temp 4-component vector of double)
0:161 add second child into first child (temp double)
0:161 'doublev' (temp double)
0:161 round (global double)
0:161 'doublev' (temp double)
0:162 add second child into first child (temp 2-component vector of double)
0:162 'dvec2v' (temp 2-component vector of double)
0:162 round (global 2-component vector of double)
0:162 'dvec2v' (temp 2-component vector of double)
0:163 add second child into first child (temp 3-component vector of double)
0:163 'dvec3v' (temp 3-component vector of double)
0:163 round (global 3-component vector of double)
0:163 'dvec3v' (temp 3-component vector of double)
0:164 add second child into first child (temp 4-component vector of double)
0:164 'dvec4v' (temp 4-component vector of double)
0:164 round (global 4-component vector of double)
0:164 'dvec4v' (temp 4-component vector of double)
0:166 add second child into first child (temp double)
0:166 'doublev' (temp double)
0:166 roundEven (global double)
0:166 'doublev' (temp double)
0:167 add second child into first child (temp 2-component vector of double)
0:167 'dvec2v' (temp 2-component vector of double)
0:167 roundEven (global 2-component vector of double)
0:167 'dvec2v' (temp 2-component vector of double)
0:168 add second child into first child (temp 3-component vector of double)
0:168 'dvec3v' (temp 3-component vector of double)
0:168 roundEven (global 3-component vector of double)
0:168 'dvec3v' (temp 3-component vector of double)
0:169 add second child into first child (temp 4-component vector of double)
0:169 'dvec4v' (temp 4-component vector of double)
0:169 roundEven (global 4-component vector of double)
0:169 'dvec4v' (temp 4-component vector of double)
0:171 add second child into first child (temp double)
0:171 'doublev' (temp double)
0:171 Ceiling (global double)
0:171 'doublev' (temp double)
0:172 add second child into first child (temp 2-component vector of double)
0:172 'dvec2v' (temp 2-component vector of double)
0:172 Ceiling (global 2-component vector of double)
0:172 'dvec2v' (temp 2-component vector of double)
0:173 add second child into first child (temp 3-component vector of double)
0:173 'dvec3v' (temp 3-component vector of double)
0:173 Ceiling (global 3-component vector of double)
0:173 'dvec3v' (temp 3-component vector of double)
0:174 add second child into first child (temp 4-component vector of double)
0:174 'dvec4v' (temp 4-component vector of double)
0:174 Ceiling (global 4-component vector of double)
0:174 'dvec4v' (temp 4-component vector of double)
0:176 add second child into first child (temp double)
0:176 'doublev' (temp double)
0:176 Fraction (global double)
0:176 'doublev' (temp double)
0:177 add second child into first child (temp 2-component vector of double)
0:177 'dvec2v' (temp 2-component vector of double)
0:177 Fraction (global 2-component vector of double)
0:177 'dvec2v' (temp 2-component vector of double)
0:178 add second child into first child (temp 3-component vector of double)
0:178 'dvec3v' (temp 3-component vector of double)
0:178 Fraction (global 3-component vector of double)
0:178 'dvec3v' (temp 3-component vector of double)
0:179 add second child into first child (temp 4-component vector of double)
0:179 'dvec4v' (temp 4-component vector of double)
0:179 Fraction (global 4-component vector of double)
0:179 'dvec4v' (temp 4-component vector of double)
0:181 add second child into first child (temp double)
0:181 'doublev' (temp double)
0:181 mod (global double)
0:181 'doublev' (temp double)
0:181 'doublev' (temp double)
0:182 add second child into first child (temp 2-component vector of double)
0:182 'dvec2v' (temp 2-component vector of double)
0:182 mod (global 2-component vector of double)
0:182 'dvec2v' (temp 2-component vector of double)
0:182 'doublev' (temp double)
0:183 add second child into first child (temp 3-component vector of double)
0:183 'dvec3v' (temp 3-component vector of double)
0:183 mod (global 3-component vector of double)
0:183 'dvec3v' (temp 3-component vector of double)
0:183 'doublev' (temp double)
0:184 add second child into first child (temp 4-component vector of double)
0:184 'dvec4v' (temp 4-component vector of double)
0:184 mod (global 4-component vector of double)
0:184 'dvec4v' (temp 4-component vector of double)
0:184 'doublev' (temp double)
0:185 add second child into first child (temp 2-component vector of double)
0:185 'dvec2v' (temp 2-component vector of double)
0:185 mod (global 2-component vector of double)
0:185 'dvec2v' (temp 2-component vector of double)
0:185 'dvec2v' (temp 2-component vector of double)
0:186 add second child into first child (temp 3-component vector of double)
0:186 'dvec3v' (temp 3-component vector of double)
0:186 mod (global 3-component vector of double)
0:186 'dvec3v' (temp 3-component vector of double)
0:186 'dvec3v' (temp 3-component vector of double)
0:187 add second child into first child (temp 4-component vector of double)
0:187 'dvec4v' (temp 4-component vector of double)
0:187 mod (global 4-component vector of double)
0:187 'dvec4v' (temp 4-component vector of double)
0:187 'dvec4v' (temp 4-component vector of double)
0:189 add second child into first child (temp double)
0:189 'doublev' (temp double)
0:189 modf (global double)
0:189 'doublev' (temp double)
0:189 'doublev' (temp double)
0:190 add second child into first child (temp 2-component vector of double)
0:190 'dvec2v' (temp 2-component vector of double)
0:190 modf (global 2-component vector of double)
0:190 'dvec2v' (temp 2-component vector of double)
0:190 'dvec2v' (temp 2-component vector of double)
0:191 add second child into first child (temp 3-component vector of double)
0:191 'dvec3v' (temp 3-component vector of double)
0:191 modf (global 3-component vector of double)
0:191 'dvec3v' (temp 3-component vector of double)
0:191 'dvec3v' (temp 3-component vector of double)
0:192 add second child into first child (temp 4-component vector of double)
0:192 'dvec4v' (temp 4-component vector of double)
0:192 modf (global 4-component vector of double)
0:192 'dvec4v' (temp 4-component vector of double)
0:192 'dvec4v' (temp 4-component vector of double)
0:194 add second child into first child (temp double)
0:194 'doublev' (temp double)
0:194 min (global double)
0:194 'doublev' (temp double)
0:194 'doublev' (temp double)
0:195 add second child into first child (temp 2-component vector of double)
0:195 'dvec2v' (temp 2-component vector of double)
0:195 min (global 2-component vector of double)
0:195 'dvec2v' (temp 2-component vector of double)
0:195 'doublev' (temp double)
0:196 add second child into first child (temp 3-component vector of double)
0:196 'dvec3v' (temp 3-component vector of double)
0:196 min (global 3-component vector of double)
0:196 'dvec3v' (temp 3-component vector of double)
0:196 'doublev' (temp double)
0:197 add second child into first child (temp 4-component vector of double)
0:197 'dvec4v' (temp 4-component vector of double)
0:197 min (global 4-component vector of double)
0:197 'dvec4v' (temp 4-component vector of double)
0:197 'doublev' (temp double)
0:198 add second child into first child (temp 2-component vector of double)
0:198 'dvec2v' (temp 2-component vector of double)
0:198 min (global 2-component vector of double)
0:198 'dvec2v' (temp 2-component vector of double)
0:198 'dvec2v' (temp 2-component vector of double)
0:199 add second child into first child (temp 3-component vector of double)
0:199 'dvec3v' (temp 3-component vector of double)
0:199 min (global 3-component vector of double)
0:199 'dvec3v' (temp 3-component vector of double)
0:199 'dvec3v' (temp 3-component vector of double)
0:200 add second child into first child (temp 4-component vector of double)
0:200 'dvec4v' (temp 4-component vector of double)
0:200 min (global 4-component vector of double)
0:200 'dvec4v' (temp 4-component vector of double)
0:200 'dvec4v' (temp 4-component vector of double)
0:202 add second child into first child (temp double)
0:202 'doublev' (temp double)
0:202 max (global double)
0:202 'doublev' (temp double)
0:202 'doublev' (temp double)
0:203 add second child into first child (temp 2-component vector of double)
0:203 'dvec2v' (temp 2-component vector of double)
0:203 max (global 2-component vector of double)
0:203 'dvec2v' (temp 2-component vector of double)
0:203 'doublev' (temp double)
0:204 add second child into first child (temp 3-component vector of double)
0:204 'dvec3v' (temp 3-component vector of double)
0:204 max (global 3-component vector of double)
0:204 'dvec3v' (temp 3-component vector of double)
0:204 'doublev' (temp double)
0:205 add second child into first child (temp 4-component vector of double)
0:205 'dvec4v' (temp 4-component vector of double)
0:205 max (global 4-component vector of double)
0:205 'dvec4v' (temp 4-component vector of double)
0:205 'doublev' (temp double)
0:206 add second child into first child (temp 2-component vector of double)
0:206 'dvec2v' (temp 2-component vector of double)
0:206 max (global 2-component vector of double)
0:206 'dvec2v' (temp 2-component vector of double)
0:206 'dvec2v' (temp 2-component vector of double)
0:207 add second child into first child (temp 3-component vector of double)
0:207 'dvec3v' (temp 3-component vector of double)
0:207 max (global 3-component vector of double)
0:207 'dvec3v' (temp 3-component vector of double)
0:207 'dvec3v' (temp 3-component vector of double)
0:208 add second child into first child (temp 4-component vector of double)
0:208 'dvec4v' (temp 4-component vector of double)
0:208 max (global 4-component vector of double)
0:208 'dvec4v' (temp 4-component vector of double)
0:208 'dvec4v' (temp 4-component vector of double)
0:210 add second child into first child (temp double)
0:210 'doublev' (temp double)
0:210 clamp (global double)
0:210 'doublev' (temp double)
0:210 'doublev' (temp double)
0:210 'doublev' (temp double)
0:211 add second child into first child (temp 2-component vector of double)
0:211 'dvec2v' (temp 2-component vector of double)
0:211 clamp (global 2-component vector of double)
0:211 'dvec2v' (temp 2-component vector of double)
0:211 'doublev' (temp double)
0:211 'doublev' (temp double)
0:212 add second child into first child (temp 3-component vector of double)
0:212 'dvec3v' (temp 3-component vector of double)
0:212 clamp (global 3-component vector of double)
0:212 'dvec3v' (temp 3-component vector of double)
0:212 'doublev' (temp double)
0:212 'doublev' (temp double)
0:213 add second child into first child (temp 4-component vector of double)
0:213 'dvec4v' (temp 4-component vector of double)
0:213 clamp (global 4-component vector of double)
0:213 'dvec4v' (temp 4-component vector of double)
0:213 'doublev' (temp double)
0:213 'doublev' (temp double)
0:214 add second child into first child (temp 2-component vector of double)
0:214 'dvec2v' (temp 2-component vector of double)
0:214 clamp (global 2-component vector of double)
0:214 'dvec2v' (temp 2-component vector of double)
0:214 'dvec2v' (temp 2-component vector of double)
0:214 'dvec2v' (temp 2-component vector of double)
0:215 add second child into first child (temp 3-component vector of double)
0:215 'dvec3v' (temp 3-component vector of double)
0:215 clamp (global 3-component vector of double)
0:215 'dvec3v' (temp 3-component vector of double)
0:215 'dvec3v' (temp 3-component vector of double)
0:215 'dvec3v' (temp 3-component vector of double)
0:216 add second child into first child (temp 4-component vector of double)
0:216 'dvec4v' (temp 4-component vector of double)
0:216 clamp (global 4-component vector of double)
0:216 'dvec4v' (temp 4-component vector of double)
0:216 'dvec4v' (temp 4-component vector of double)
0:216 'dvec4v' (temp 4-component vector of double)
0:218 add second child into first child (temp double)
0:218 'doublev' (temp double)
0:218 mix (global double)
0:218 'doublev' (temp double)
0:218 'doublev' (temp double)
0:218 'doublev' (temp double)
0:219 add second child into first child (temp 2-component vector of double)
0:219 'dvec2v' (temp 2-component vector of double)
0:219 mix (global 2-component vector of double)
0:219 'dvec2v' (temp 2-component vector of double)
0:219 'dvec2v' (temp 2-component vector of double)
0:219 'doublev' (temp double)
0:220 add second child into first child (temp 3-component vector of double)
0:220 'dvec3v' (temp 3-component vector of double)
0:220 mix (global 3-component vector of double)
0:220 'dvec3v' (temp 3-component vector of double)
0:220 'dvec3v' (temp 3-component vector of double)
0:220 'doublev' (temp double)
0:221 add second child into first child (temp 4-component vector of double)
0:221 'dvec4v' (temp 4-component vector of double)
0:221 mix (global 4-component vector of double)
0:221 'dvec4v' (temp 4-component vector of double)
0:221 'dvec4v' (temp 4-component vector of double)
0:221 'doublev' (temp double)
0:222 add second child into first child (temp 2-component vector of double)
0:222 'dvec2v' (temp 2-component vector of double)
0:222 mix (global 2-component vector of double)
0:222 'dvec2v' (temp 2-component vector of double)
0:222 'dvec2v' (temp 2-component vector of double)
0:222 'dvec2v' (temp 2-component vector of double)
0:223 add second child into first child (temp 3-component vector of double)
0:223 'dvec3v' (temp 3-component vector of double)
0:223 mix (global 3-component vector of double)
0:223 'dvec3v' (temp 3-component vector of double)
0:223 'dvec3v' (temp 3-component vector of double)
0:223 'dvec3v' (temp 3-component vector of double)
0:224 add second child into first child (temp 4-component vector of double)
0:224 'dvec4v' (temp 4-component vector of double)
0:224 mix (global 4-component vector of double)
0:224 'dvec4v' (temp 4-component vector of double)
0:224 'dvec4v' (temp 4-component vector of double)
0:224 'dvec4v' (temp 4-component vector of double)
0:225 add second child into first child (temp double)
0:225 'doublev' (temp double)
0:225 mix (global double)
0:225 'doublev' (temp double)
0:225 'doublev' (temp double)
0:225 'boolv' (temp bool)
0:226 add second child into first child (temp 2-component vector of double)
0:226 'dvec2v' (temp 2-component vector of double)
0:226 mix (global 2-component vector of double)
0:226 'dvec2v' (temp 2-component vector of double)
0:226 'dvec2v' (temp 2-component vector of double)
0:226 'bvec2v' (temp 2-component vector of bool)
0:227 add second child into first child (temp 3-component vector of double)
0:227 'dvec3v' (temp 3-component vector of double)
0:227 mix (global 3-component vector of double)
0:227 'dvec3v' (temp 3-component vector of double)
0:227 'dvec3v' (temp 3-component vector of double)
0:227 'bvec3v' (temp 3-component vector of bool)
0:228 add second child into first child (temp 4-component vector of double)
0:228 'dvec4v' (temp 4-component vector of double)
0:228 mix (global 4-component vector of double)
0:228 'dvec4v' (temp 4-component vector of double)
0:228 'dvec4v' (temp 4-component vector of double)
0:228 'bvec4v' (temp 4-component vector of bool)
0:230 add second child into first child (temp double)
0:230 'doublev' (temp double)
0:230 step (global double)
0:230 'doublev' (temp double)
0:230 'doublev' (temp double)
0:231 add second child into first child (temp 2-component vector of double)
0:231 'dvec2v' (temp 2-component vector of double)
0:231 step (global 2-component vector of double)
0:231 'dvec2v' (temp 2-component vector of double)
0:231 'dvec2v' (temp 2-component vector of double)
0:232 add second child into first child (temp 3-component vector of double)
0:232 'dvec3v' (temp 3-component vector of double)
0:232 step (global 3-component vector of double)
0:232 'dvec3v' (temp 3-component vector of double)
0:232 'dvec3v' (temp 3-component vector of double)
0:233 add second child into first child (temp 4-component vector of double)
0:233 'dvec4v' (temp 4-component vector of double)
0:233 step (global 4-component vector of double)
0:233 'dvec4v' (temp 4-component vector of double)
0:233 'dvec4v' (temp 4-component vector of double)
0:234 add second child into first child (temp 2-component vector of double)
0:234 'dvec2v' (temp 2-component vector of double)
0:234 step (global 2-component vector of double)
0:234 'doublev' (temp double)
0:234 'dvec2v' (temp 2-component vector of double)
0:235 add second child into first child (temp 3-component vector of double)
0:235 'dvec3v' (temp 3-component vector of double)
0:235 step (global 3-component vector of double)
0:235 'doublev' (temp double)
0:235 'dvec3v' (temp 3-component vector of double)
0:236 add second child into first child (temp 4-component vector of double)
0:236 'dvec4v' (temp 4-component vector of double)
0:236 step (global 4-component vector of double)
0:236 'doublev' (temp double)
0:236 'dvec4v' (temp 4-component vector of double)
0:238 add second child into first child (temp double)
0:238 'doublev' (temp double)
0:238 smoothstep (global double)
0:238 'doublev' (temp double)
0:238 'doublev' (temp double)
0:238 'doublev' (temp double)
0:239 add second child into first child (temp 2-component vector of double)
0:239 'dvec2v' (temp 2-component vector of double)
0:239 smoothstep (global 2-component vector of double)
0:239 'dvec2v' (temp 2-component vector of double)
0:239 'dvec2v' (temp 2-component vector of double)
0:239 'dvec2v' (temp 2-component vector of double)
0:240 add second child into first child (temp 3-component vector of double)
0:240 'dvec3v' (temp 3-component vector of double)
0:240 smoothstep (global 3-component vector of double)
0:240 'dvec3v' (temp 3-component vector of double)
0:240 'dvec3v' (temp 3-component vector of double)
0:240 'dvec3v' (temp 3-component vector of double)
0:241 add second child into first child (temp 4-component vector of double)
0:241 'dvec4v' (temp 4-component vector of double)
0:241 smoothstep (global 4-component vector of double)
0:241 'dvec4v' (temp 4-component vector of double)
0:241 'dvec4v' (temp 4-component vector of double)
0:241 'dvec4v' (temp 4-component vector of double)
0:242 add second child into first child (temp 2-component vector of double)
0:242 'dvec2v' (temp 2-component vector of double)
0:242 smoothstep (global 2-component vector of double)
0:242 'doublev' (temp double)
0:242 'doublev' (temp double)
0:242 'dvec2v' (temp 2-component vector of double)
0:243 add second child into first child (temp 3-component vector of double)
0:243 'dvec3v' (temp 3-component vector of double)
0:243 smoothstep (global 3-component vector of double)
0:243 'doublev' (temp double)
0:243 'doublev' (temp double)
0:243 'dvec3v' (temp 3-component vector of double)
0:244 add second child into first child (temp 4-component vector of double)
0:244 'dvec4v' (temp 4-component vector of double)
0:244 smoothstep (global 4-component vector of double)
0:244 'doublev' (temp double)
0:244 'doublev' (temp double)
0:244 'dvec4v' (temp 4-component vector of double)
0:246 move second child to first child (temp bool)
0:246 'boolv' (temp bool)
0:246 isnan (global bool)
0:246 'doublev' (temp double)
0:247 move second child to first child (temp 2-component vector of bool)
0:247 'bvec2v' (temp 2-component vector of bool)
0:247 isnan (global 2-component vector of bool)
0:247 'dvec2v' (temp 2-component vector of double)
0:248 move second child to first child (temp 3-component vector of bool)
0:248 'bvec3v' (temp 3-component vector of bool)
0:248 isnan (global 3-component vector of bool)
0:248 'dvec3v' (temp 3-component vector of double)
0:249 move second child to first child (temp 4-component vector of bool)
0:249 'bvec4v' (temp 4-component vector of bool)
0:249 isnan (global 4-component vector of bool)
0:249 'dvec4v' (temp 4-component vector of double)
0:251 move second child to first child (temp bool)
0:251 'boolv' (temp bool)
0:251 Test condition and select (temp bool)
0:251 Condition
0:251 'boolv' (temp bool)
0:251 true case
0:251 isinf (global bool)
0:251 'doublev' (temp double)
0:251 false case
0:251 Constant:
0:251 false (const bool)
0:252 move second child to first child (temp 2-component vector of bool)
0:252 'bvec2v' (temp 2-component vector of bool)
0:252 Test condition and select (temp 2-component vector of bool)
0:252 Condition
0:252 'boolv' (temp bool)
0:252 true case
0:252 isinf (global 2-component vector of bool)
0:252 'dvec2v' (temp 2-component vector of double)
0:252 false case
0:252 Constant:
0:252 false (const bool)
0:252 false (const bool)
0:253 move second child to first child (temp 3-component vector of bool)
0:253 'bvec3v' (temp 3-component vector of bool)
0:253 Test condition and select (temp 3-component vector of bool)
0:253 Condition
0:253 'boolv' (temp bool)
0:253 true case
0:253 isinf (global 3-component vector of bool)
0:253 'dvec3v' (temp 3-component vector of double)
0:253 false case
0:253 Constant:
0:253 false (const bool)
0:253 false (const bool)
0:253 false (const bool)
0:254 move second child to first child (temp 4-component vector of bool)
0:254 'bvec4v' (temp 4-component vector of bool)
0:254 Test condition and select (temp 4-component vector of bool)
0:254 Condition
0:254 'boolv' (temp bool)
0:254 true case
0:254 isinf (global 4-component vector of bool)
0:254 'dvec4v' (temp 4-component vector of double)
0:254 false case
0:254 Constant:
0:254 false (const bool)
0:254 false (const bool)
0:254 false (const bool)
0:254 false (const bool)
0:256 add second child into first child (temp double)
0:256 'doublev' (temp double)
0:256 length (global double)
0:256 'doublev' (temp double)
0:257 add second child into first child (temp double)
0:257 'doublev' (temp double)
0:257 length (global double)
0:257 'dvec2v' (temp 2-component vector of double)
0:258 add second child into first child (temp double)
0:258 'doublev' (temp double)
0:258 length (global double)
0:258 'dvec3v' (temp 3-component vector of double)
0:259 add second child into first child (temp double)
0:259 'doublev' (temp double)
0:259 length (global double)
0:259 'dvec4v' (temp 4-component vector of double)
0:261 add second child into first child (temp double)
0:261 'doublev' (temp double)
0:261 distance (global double)
0:261 'doublev' (temp double)
0:261 'doublev' (temp double)
0:262 add second child into first child (temp double)
0:262 'doublev' (temp double)
0:262 distance (global double)
0:262 'dvec2v' (temp 2-component vector of double)
0:262 'dvec2v' (temp 2-component vector of double)
0:263 add second child into first child (temp double)
0:263 'doublev' (temp double)
0:263 distance (global double)
0:263 'dvec3v' (temp 3-component vector of double)
0:263 'dvec3v' (temp 3-component vector of double)
0:264 add second child into first child (temp double)
0:264 'doublev' (temp double)
0:264 distance (global double)
0:264 'dvec4v' (temp 4-component vector of double)
0:264 'dvec4v' (temp 4-component vector of double)
0:266 add second child into first child (temp double)
0:266 'doublev' (temp double)
0:266 dot-product (global double)
0:266 'doublev' (temp double)
0:266 'doublev' (temp double)
0:267 add second child into first child (temp double)
0:267 'doublev' (temp double)
0:267 dot-product (global double)
0:267 'dvec2v' (temp 2-component vector of double)
0:267 'dvec2v' (temp 2-component vector of double)
0:268 add second child into first child (temp double)
0:268 'doublev' (temp double)
0:268 dot-product (global double)
0:268 'dvec3v' (temp 3-component vector of double)
0:268 'dvec3v' (temp 3-component vector of double)
0:269 add second child into first child (temp double)
0:269 'doublev' (temp double)
0:269 dot-product (global double)
0:269 'dvec4v' (temp 4-component vector of double)
0:269 'dvec4v' (temp 4-component vector of double)
0:271 add second child into first child (temp 3-component vector of double)
0:271 'dvec3v' (temp 3-component vector of double)
0:271 cross-product (global 3-component vector of double)
0:271 'dvec3v' (temp 3-component vector of double)
0:271 'dvec3v' (temp 3-component vector of double)
0:273 add second child into first child (temp double)
0:273 'doublev' (temp double)
0:273 normalize (global double)
0:273 'doublev' (temp double)
0:274 add second child into first child (temp 2-component vector of double)
0:274 'dvec2v' (temp 2-component vector of double)
0:274 normalize (global 2-component vector of double)
0:274 'dvec2v' (temp 2-component vector of double)
0:275 add second child into first child (temp 3-component vector of double)
0:275 'dvec3v' (temp 3-component vector of double)
0:275 normalize (global 3-component vector of double)
0:275 'dvec3v' (temp 3-component vector of double)
0:276 add second child into first child (temp 4-component vector of double)
0:276 'dvec4v' (temp 4-component vector of double)
0:276 normalize (global 4-component vector of double)
0:276 'dvec4v' (temp 4-component vector of double)
0:278 add second child into first child (temp double)
0:278 'doublev' (temp double)
0:278 face-forward (global double)
0:278 'doublev' (temp double)
0:278 'doublev' (temp double)
0:278 'doublev' (temp double)
0:279 add second child into first child (temp 2-component vector of double)
0:279 'dvec2v' (temp 2-component vector of double)
0:279 face-forward (global 2-component vector of double)
0:279 'dvec2v' (temp 2-component vector of double)
0:279 'dvec2v' (temp 2-component vector of double)
0:279 'dvec2v' (temp 2-component vector of double)
0:280 add second child into first child (temp 3-component vector of double)
0:280 'dvec3v' (temp 3-component vector of double)
0:280 face-forward (global 3-component vector of double)
0:280 'dvec3v' (temp 3-component vector of double)
0:280 'dvec3v' (temp 3-component vector of double)
0:280 'dvec3v' (temp 3-component vector of double)
0:281 add second child into first child (temp 4-component vector of double)
0:281 'dvec4v' (temp 4-component vector of double)
0:281 face-forward (global 4-component vector of double)
0:281 'dvec4v' (temp 4-component vector of double)
0:281 'dvec4v' (temp 4-component vector of double)
0:281 'dvec4v' (temp 4-component vector of double)
0:283 add second child into first child (temp double)
0:283 'doublev' (temp double)
0:283 reflect (global double)
0:283 'doublev' (temp double)
0:283 'doublev' (temp double)
0:284 add second child into first child (temp 2-component vector of double)
0:284 'dvec2v' (temp 2-component vector of double)
0:284 reflect (global 2-component vector of double)
0:284 'dvec2v' (temp 2-component vector of double)
0:284 'dvec2v' (temp 2-component vector of double)
0:285 add second child into first child (temp 3-component vector of double)
0:285 'dvec3v' (temp 3-component vector of double)
0:285 reflect (global 3-component vector of double)
0:285 'dvec3v' (temp 3-component vector of double)
0:285 'dvec3v' (temp 3-component vector of double)
0:286 add second child into first child (temp 4-component vector of double)
0:286 'dvec4v' (temp 4-component vector of double)
0:286 reflect (global 4-component vector of double)
0:286 'dvec4v' (temp 4-component vector of double)
0:286 'dvec4v' (temp 4-component vector of double)
0:288 add second child into first child (temp double)
0:288 'doublev' (temp double)
0:288 refract (global double)
0:288 'doublev' (temp double)
0:288 'doublev' (temp double)
0:288 'doublev' (temp double)
0:289 add second child into first child (temp 2-component vector of double)
0:289 'dvec2v' (temp 2-component vector of double)
0:289 refract (global 2-component vector of double)
0:289 'dvec2v' (temp 2-component vector of double)
0:289 'dvec2v' (temp 2-component vector of double)
0:289 'doublev' (temp double)
0:290 add second child into first child (temp 3-component vector of double)
0:290 'dvec3v' (temp 3-component vector of double)
0:290 refract (global 3-component vector of double)
0:290 'dvec3v' (temp 3-component vector of double)
0:290 'dvec3v' (temp 3-component vector of double)
0:290 'doublev' (temp double)
0:291 add second child into first child (temp 4-component vector of double)
0:291 'dvec4v' (temp 4-component vector of double)
0:291 refract (global 4-component vector of double)
0:291 'dvec4v' (temp 4-component vector of double)
0:291 'dvec4v' (temp 4-component vector of double)
0:291 'doublev' (temp double)
0:293 Sequence
0:293 move second child to first child (temp 2X2 matrix of double)
0:293 'dmat2v' (temp 2X2 matrix of double)
0:293 outer product (global 2X2 matrix of double)
0:293 'dvec2v' (temp 2-component vector of double)
0:293 'dvec2v' (temp 2-component vector of double)
0:294 Sequence
0:294 move second child to first child (temp 3X3 matrix of double)
0:294 'dmat3v' (temp 3X3 matrix of double)
0:294 outer product (global 3X3 matrix of double)
0:294 'dvec3v' (temp 3-component vector of double)
0:294 'dvec3v' (temp 3-component vector of double)
0:295 Sequence
0:295 move second child to first child (temp 4X4 matrix of double)
0:295 'dmat4v' (temp 4X4 matrix of double)
0:295 outer product (global 4X4 matrix of double)
0:295 'dvec4v' (temp 4-component vector of double)
0:295 'dvec4v' (temp 4-component vector of double)
0:296 Sequence
0:296 move second child to first child (temp 2X3 matrix of double)
0:296 'dmat2x3v' (temp 2X3 matrix of double)
0:296 outer product (global 2X3 matrix of double)
0:296 'dvec3v' (temp 3-component vector of double)
0:296 'dvec2v' (temp 2-component vector of double)
0:297 Sequence
0:297 move second child to first child (temp 3X2 matrix of double)
0:297 'dmat3x2v' (temp 3X2 matrix of double)
0:297 outer product (global 3X2 matrix of double)
0:297 'dvec2v' (temp 2-component vector of double)
0:297 'dvec3v' (temp 3-component vector of double)
0:298 Sequence
0:298 move second child to first child (temp 2X4 matrix of double)
0:298 'dmat2x4v' (temp 2X4 matrix of double)
0:298 outer product (global 2X4 matrix of double)
0:298 'dvec4v' (temp 4-component vector of double)
0:298 'dvec2v' (temp 2-component vector of double)
0:299 Sequence
0:299 move second child to first child (temp 4X2 matrix of double)
0:299 'dmat4x2v' (temp 4X2 matrix of double)
0:299 outer product (global 4X2 matrix of double)
0:299 'dvec2v' (temp 2-component vector of double)
0:299 'dvec4v' (temp 4-component vector of double)
0:300 Sequence
0:300 move second child to first child (temp 3X4 matrix of double)
0:300 'dmat3x4v' (temp 3X4 matrix of double)
0:300 outer product (global 3X4 matrix of double)
0:300 'dvec4v' (temp 4-component vector of double)
0:300 'dvec3v' (temp 3-component vector of double)
0:301 Sequence
0:301 move second child to first child (temp 4X3 matrix of double)
0:301 'dmat4x3v' (temp 4X3 matrix of double)
0:301 outer product (global 4X3 matrix of double)
0:301 'dvec3v' (temp 3-component vector of double)
0:301 'dvec4v' (temp 4-component vector of double)
0:303 matrix mult second child into first child (temp 2X2 matrix of double)
0:303 'dmat2v' (temp 2X2 matrix of double)
0:303 component-wise multiply (global 2X2 matrix of double)
0:303 'dmat2v' (temp 2X2 matrix of double)
0:303 'dmat2v' (temp 2X2 matrix of double)
0:304 matrix mult second child into first child (temp 3X3 matrix of double)
0:304 'dmat3v' (temp 3X3 matrix of double)
0:304 component-wise multiply (global 3X3 matrix of double)
0:304 'dmat3v' (temp 3X3 matrix of double)
0:304 'dmat3v' (temp 3X3 matrix of double)
0:305 matrix mult second child into first child (temp 4X4 matrix of double)
0:305 'dmat4v' (temp 4X4 matrix of double)
0:305 component-wise multiply (global 4X4 matrix of double)
0:305 'dmat4v' (temp 4X4 matrix of double)
0:305 'dmat4v' (temp 4X4 matrix of double)
0:306 move second child to first child (temp 2X3 matrix of double)
0:306 'dmat2x3v' (temp 2X3 matrix of double)
0:306 component-wise multiply (global 2X3 matrix of double)
0:306 'dmat2x3v' (temp 2X3 matrix of double)
0:306 'dmat2x3v' (temp 2X3 matrix of double)
0:307 move second child to first child (temp 2X4 matrix of double)
0:307 'dmat2x4v' (temp 2X4 matrix of double)
0:307 component-wise multiply (global 2X4 matrix of double)
0:307 'dmat2x4v' (temp 2X4 matrix of double)
0:307 'dmat2x4v' (temp 2X4 matrix of double)
0:308 move second child to first child (temp 3X2 matrix of double)
0:308 'dmat3x2v' (temp 3X2 matrix of double)
0:308 component-wise multiply (global 3X2 matrix of double)
0:308 'dmat3x2v' (temp 3X2 matrix of double)
0:308 'dmat3x2v' (temp 3X2 matrix of double)
0:309 move second child to first child (temp 3X4 matrix of double)
0:309 'dmat3x4v' (temp 3X4 matrix of double)
0:309 component-wise multiply (global 3X4 matrix of double)
0:309 'dmat3x4v' (temp 3X4 matrix of double)
0:309 'dmat3x4v' (temp 3X4 matrix of double)
0:310 move second child to first child (temp 4X2 matrix of double)
0:310 'dmat4x2v' (temp 4X2 matrix of double)
0:310 component-wise multiply (global 4X2 matrix of double)
0:310 'dmat4x2v' (temp 4X2 matrix of double)
0:310 'dmat4x2v' (temp 4X2 matrix of double)
0:311 move second child to first child (temp 4X3 matrix of double)
0:311 'dmat4x3v' (temp 4X3 matrix of double)
0:311 component-wise multiply (global 4X3 matrix of double)
0:311 'dmat4x3v' (temp 4X3 matrix of double)
0:311 'dmat4x3v' (temp 4X3 matrix of double)
0:313 matrix mult second child into first child (temp 2X2 matrix of double)
0:313 'dmat2v' (temp 2X2 matrix of double)
0:313 transpose (global 2X2 matrix of double)
0:313 'dmat2v' (temp 2X2 matrix of double)
0:314 matrix mult second child into first child (temp 3X3 matrix of double)
0:314 'dmat3v' (temp 3X3 matrix of double)
0:314 transpose (global 3X3 matrix of double)
0:314 'dmat3v' (temp 3X3 matrix of double)
0:315 matrix mult second child into first child (temp 4X4 matrix of double)
0:315 'dmat4v' (temp 4X4 matrix of double)
0:315 transpose (global 4X4 matrix of double)
0:315 'dmat4v' (temp 4X4 matrix of double)
0:316 move second child to first child (temp 2X3 matrix of double)
0:316 'dmat2x3v' (temp 2X3 matrix of double)
0:316 transpose (global 2X3 matrix of double)
0:316 'dmat3x2v' (temp 3X2 matrix of double)
0:317 move second child to first child (temp 3X2 matrix of double)
0:317 'dmat3x2v' (temp 3X2 matrix of double)
0:317 transpose (global 3X2 matrix of double)
0:317 'dmat2x3v' (temp 2X3 matrix of double)
0:318 move second child to first child (temp 2X4 matrix of double)
0:318 'dmat2x4v' (temp 2X4 matrix of double)
0:318 transpose (global 2X4 matrix of double)
0:318 'dmat4x2v' (temp 4X2 matrix of double)
0:319 move second child to first child (temp 4X2 matrix of double)
0:319 'dmat4x2v' (temp 4X2 matrix of double)
0:319 transpose (global 4X2 matrix of double)
0:319 'dmat2x4v' (temp 2X4 matrix of double)
0:320 move second child to first child (temp 3X4 matrix of double)
0:320 'dmat3x4v' (temp 3X4 matrix of double)
0:320 transpose (global 3X4 matrix of double)
0:320 'dmat4x3v' (temp 4X3 matrix of double)
0:321 move second child to first child (temp 4X3 matrix of double)
0:321 'dmat4x3v' (temp 4X3 matrix of double)
0:321 transpose (global 4X3 matrix of double)
0:321 'dmat3x4v' (temp 3X4 matrix of double)
0:323 add second child into first child (temp double)
0:323 'doublev' (temp double)
0:323 determinant (global double)
0:323 'dmat2v' (temp 2X2 matrix of double)
0:324 add second child into first child (temp double)
0:324 'doublev' (temp double)
0:324 determinant (global double)
0:324 'dmat3v' (temp 3X3 matrix of double)
0:325 add second child into first child (temp double)
0:325 'doublev' (temp double)
0:325 determinant (global double)
0:325 'dmat4v' (temp 4X4 matrix of double)
0:327 matrix mult second child into first child (temp 2X2 matrix of double)
0:327 'dmat2v' (temp 2X2 matrix of double)
0:327 inverse (global 2X2 matrix of double)
0:327 'dmat2v' (temp 2X2 matrix of double)
0:328 matrix mult second child into first child (temp 3X3 matrix of double)
0:328 'dmat3v' (temp 3X3 matrix of double)
0:328 inverse (global 3X3 matrix of double)
0:328 'dmat3v' (temp 3X3 matrix of double)
0:329 matrix mult second child into first child (temp 4X4 matrix of double)
0:329 'dmat4v' (temp 4X4 matrix of double)
0:329 inverse (global 4X4 matrix of double)
0:329 'dmat4v' (temp 4X4 matrix of double)
0:? Linker Objects
0:? 'bn' (in 3-element array of block{in int a})
0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

View File

@ -364,35 +364,6 @@ ERROR: node is still EOpNull!
0:56 Barrier (global void)
0:59 Branch: Return
0:61 Barrier (global void)
0:67 Function Definition: foo( (global void)
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 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 2-element array of float ClipDistance gl_ClipDistance})
0:69 Constant:
0:69 4 (const int)
0:69 Constant:
0:69 1 (const int)
0:71 Barrier (global void)
0:91 Function Definition: foop( (global void)
0:91 Function Parameters:
0:? Sequence
0:95 multiply second child into first child (temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:95 'pv3' (noContraction temp 3-component vector of float)
0:96 move second child to first child (temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 fma (global 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:96 'pv3' (noContraction temp 3-component vector of float)
0:97 move second child to first child (temp double)
0:97 'd' (noContraction temp double)
0:97 fma (global double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
0:97 'd' (noContraction temp double)
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 2-element array of float ClipDistance gl_ClipDistance})
0:? 'outa' (global 4-element array of int)

View File

@ -340,11 +340,6 @@ ERROR: node is still EOpNull!
0:20 '' (in uint)
0:20 '' (in float)
0:20 '' (in double)
0:21 Function Definition: ftd(f1;d1;d1; (global void)
0:21 Function Parameters:
0:21 '' (in float)
0:21 '' (in double)
0:21 '' (in double)
0:23 Function Definition: main( (global void)
0:23 Function Parameters:
0:? Sequence
@ -552,19 +547,6 @@ ERROR: node is still EOpNull!
0:91 'f' (temp float)
0:91 Convert float to double (temp double)
0:91 'f' (temp float)
0:97 Function Definition: tf( (global void)
0:97 Function Parameters:
0:? Sequence
0:104 Function Call: itf(i1;f1;i1; (global void)
0:104 'i' (temp int)
0:104 Convert int to float (temp float)
0:104 'i' (temp int)
0:104 'i' (temp int)
0:105 Function Call: itf(i1;f1;i1; (global void)
0:105 'i' (temp int)
0:105 Convert uint to float (temp float)
0:105 'u' (temp uint)
0:105 'i' (temp int)
0:? Linker Objects
0:? 'd' (in double)
0:? 'd3' (in 3-component vector of double)

View File

@ -77,35 +77,6 @@ ERROR: node is still EOpNull!
0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
0:5 Constant:
0:5 7 (const int)
0:28 Function Definition: foo( (global void)
0:28 Function Parameters:
0:30 Sequence
0:30 Sequence
0:30 move second child to first child (temp float)
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 2-element array of block{in float PointSize gl_PointSize})
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 0 (const int)
0:31 move second child to first child (temp float)
0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
0:31 Constant:
0:31 1 (const uint)
0:31 'p' (temp float)
0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
0:33 Constant:
0:33 0 (const uint)
0:36 Function Definition: foo5( (global float)
0:36 Function Parameters:
0:38 Sequence
0:38 Branch: Return with expression
0:38 Constant:
0:38 4.000000
0:? Linker Objects
0:? 'gl_in' (in 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, })

View File

@ -19,7 +19,6 @@ ERROR: node is still EOpNull!
0:8 0.300000
0:? Linker Objects
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
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)
@ -39,7 +38,6 @@ ERROR: node is still EOpNull!
0:8 0.300000
0:? Linker Objects
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
0:? 'depth' (smooth in float)
0:? 'a' (layout(binding=0 offset=0 ) uniform 1-element array of atomic_uint)

View File

@ -142,111 +142,6 @@ max_vertices = -1
input primitive = triangles
output primitive = none
ERROR: node is still EOpNull!
0:7 Function Definition: foo( (global void)
0:7 Function Parameters:
0:9 Sequence
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 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 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 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 1-element array of float ClipDistance gl_ClipDistance})
0:11 'i' (global int)
0:11 Constant:
0:11 0 (const int)
0:18 Function Definition: foo3( (global void)
0:18 Function Parameters:
0:20 Sequence
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 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 1-element array of float ClipDistance gl_ClipDistance})
0:21 'i' (global int)
0:21 Constant:
0:21 0 (const int)
0:22 Constant:
0:22 3 (const int)
0:29 Function Definition: foo4( (global void)
0:29 Function Parameters:
0:? Sequence
0:40 Sequence
0:40 move second child to first child (temp 4-component vector of float)
0:40 'v' (temp 4-component vector of float)
0:40 textureGatherOffset (global 4-component vector of float)
0:40 's2D' (uniform sampler2D)
0:40 direct index (temp 2-component vector of float)
0:40 'coord' (in 3-element array of 2-component vector of float)
0:40 Constant:
0:40 0 (const int)
0:40 vector swizzle (temp 2-component vector of int)
0:40 indirect index (temp 2-component vector of int)
0:40 Constant:
0:40 0 (const int)
0:40 1 (const int)
0:40 1 (const int)
0:40 -2 (const int)
0:40 0 (const int)
0:40 3 (const int)
0:40 -3 (const int)
0:40 0 (const int)
0:40 2 (const int)
0:40 1 (const int)
0:40 'i' (global int)
0:40 Sequence
0:40 Constant:
0:40 0 (const int)
0:40 Constant:
0:40 1 (const int)
0:42 move second child to first child (temp 2-component vector of int)
0:42 vector swizzle (temp 2-component vector of int)
0:42 indirect index (temp 2-component vector of int)
0:42 Constant:
0:42 0 (const int)
0:42 1 (const int)
0:42 1 (const int)
0:42 -2 (const int)
0:42 0 (const int)
0:42 3 (const int)
0:42 -3 (const int)
0:42 0 (const int)
0:42 2 (const int)
0:42 1 (const int)
0:42 'i' (global int)
0:42 Sequence
0:42 Constant:
0:42 0 (const int)
0:42 Constant:
0:42 1 (const int)
0:42 Constant:
0:42 3 (const int)
0:42 3 (const int)
0:43 move second child to first child (temp float)
0:43 direct index (temp float)
0:43 'v4' (uniform 4-component vector of float)
0:43 Constant:
0:43 0 (const int)
0:43 Constant:
0:43 3.200000
0:44 vector swizzle (temp 2-component vector of float)
0:44 'v4' (uniform 4-component vector of float)
0:44 Sequence
0:44 Constant:
0:44 0 (const int)
0:44 Constant:
0:44 1 (const int)
0:52 Function Definition: foo5( (global float)
0:52 Function Parameters:
0:54 Sequence
0:54 Branch: Return with expression
0:54 Convert int to float (temp float)
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 1-element array of float ClipDistance gl_ClipDistance})

View File

@ -184,41 +184,6 @@ ERROR: node is still EOpNull!
0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
0:26 'gl_InvocationID' (in int InvocationID)
0:34 Function Definition: foo( (global void)
0:34 Function Parameters:
0:36 Sequence
0:36 Test condition and select (temp void)
0:36 Condition
0:36 logical-or (temp bool)
0:36 Compare Not Equal (temp bool)
0:36 Constant:
0:36 -0.625000
0:36 -0.500000
0:36 -0.375000
0:36 -0.250000
0:36 -0.375000
0:36 -0.250000
0:36 -0.125000
0:36 0.000000
0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
0:36 Constant:
0:36 0 (const int)
0:37 Compare Not Equal (temp bool)
0:37 Constant:
0:37 0.375000
0:37 0.500000
0:37 0.625000
0:37 0.750000
0:37 0.625000
0:37 0.750000
0:37 0.875000
0:37 -0.625000
0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
0:37 Constant:
0:37 0 (const int)
0:36 true case is null
0:? Linker Objects
0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
0:? 'a' (out 3-element array of int)

View File

@ -4,7 +4,7 @@ ERROR: 0:2: '#version' : must occur first in shader
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
ERROR: 0:7: '' : vertex input cannot be further qualified
ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective, __explicitInterpAMD)
ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
ERROR: 0:13: 'uniform' : too many storage qualifiers
ERROR: 0:18: '=' : global const initializers must be constant 'const int'
@ -310,19 +310,6 @@ Linked vertex stage:
Shader version: 420
ERROR: node is still EOpNull!
0:20 Function Definition: foo( (const int)
0:20 Function Parameters:
0:? Sequence
0:23 Sequence
0:23 move second child to first child (temp int)
0:23 'b' (const (read only) int)
0:23 'anonconst' (global int)
0:25 Sequence
0:25 move second child to first child (temp int)
0:25 'd' (const (read only) int)
0:25 'b' (const (read only) int)
0:29 Branch: Return with expression
0:29 'b' (const (read only) int)
0:32 Function Definition: main( (global void)
0:32 Function Parameters:
0:? Sequence
@ -342,164 +329,6 @@ ERROR: node is still EOpNull!
0:42 Constant:
0:42 true (const bool)
0:42 No loop body
0:50 Function Definition: bar(vf4; (global void)
0:50 Function Parameters:
0:50 'v' (volatile in 4-component vector of float)
0:? Sequence
0:53 's' (temp int)
0:54 's' (temp int)
0:55 Test condition and select (temp void)
0:55 Condition
0:55 Compare Equal (temp bool)
0:55 direct index (temp float)
0:55 direct index (temp 4-component vector of float)
0:55 'bad' (in 10-element array of 4-component vector of float)
0:55 Constant:
0:55 0 (const int)
0:55 Constant:
0:55 0 (const int)
0:55 Constant:
0:55 4.200000
0:55 true case is null
0:57 Test condition and select (temp void)
0:57 Condition
0:57 Constant:
0:57 true (const bool)
0:57 true case
0:58 move second child to first child (temp 4-component vector of float)
0:58 'badorder3' (flat out 4-component vector of float)
0:58 direct index (temp 4-component vector of float)
0:58 'bad' (in 10-element array of 4-component vector of float)
0:58 Constant:
0:58 0 (const int)
0:61 Sequence
0:61 move second child to first child (temp 3-component vector of float)
0:61 'smeared' (temp 3-component vector of float)
0:61 Construct vec3 (temp 3-component vector of float)
0:61 'f' (temp float)
0:62 'f' (temp float)
0:63 'f' (temp float)
0:88 Function Definition: bar23444( (global void)
0:88 Function Parameters:
0:? Sequence
0:91 Sequence
0:91 move second child to first child (temp float)
0:91 'a1' (temp float)
0:91 direct index (temp float)
0:91 direct index (temp 3-component vector of float)
0:91 'm43' (temp 4X3 matrix of float)
0:91 Constant:
0:91 3 (const int)
0:91 Constant:
0:91 1 (const int)
0:93 Sequence
0:93 move second child to first child (temp int)
0:93 'a2' (temp int)
0:93 Constant:
0:93 4 (const int)
0:94 add second child into first child (temp int)
0:94 'a2' (temp int)
0:94 Constant:
0:94 3 (const int)
0:95 add second child into first child (temp int)
0:95 'a2' (temp int)
0:95 Constant:
0:95 3 (const int)
0:96 Sequence
0:96 move second child to first child (temp float)
0:96 'b' (const (read only) float)
0:96 component-wise multiply (temp float)
0:96 Constant:
0:96 2.000000
0:96 'a1' (temp float)
0:97 Sequence
0:97 move second child to first child (temp int)
0:97 'a' (temp int)
0:97 Constant:
0:97 -1 (const int)
0:109 Function Definition: qux( (global void)
0:109 Function Parameters:
0:111 Sequence
0:111 Sequence
0:111 move second child to first child (temp int)
0:111 'i' (temp int)
0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:111 Constant:
0:111 0 (const uint)
0:112 imageAtomicCompSwap (global int)
0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
0:112 Construct ivec2 (temp 2-component vector of int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:112 'i' (temp int)
0:113 imageAtomicAdd (global uint)
0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
0:113 Construct ivec2 (temp 2-component vector of int)
0:113 'i' (temp int)
0:113 'i' (temp int)
0:113 Convert int to uint (temp uint)
0:113 'i' (temp int)
0:114 imageAtomicMin (global int)
0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:114 Construct ivec2 (temp 2-component vector of int)
0:114 'i' (temp int)
0:114 'i' (temp int)
0:114 'i' (temp int)
0:115 Constant:
0:115 0.000000
0:116 Sequence
0:116 move second child to first child (temp 4-component vector of int)
0:116 'pos' (temp 4-component vector of int)
0:116 imageLoad (global 4-component vector of int)
0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
0:116 Construct ivec2 (temp 2-component vector of int)
0:116 'i' (temp int)
0:116 'i' (temp int)
0:117 Sequence
0:117 move second child to first child (temp 4-component vector of float)
0:117 'col' (temp 4-component vector of float)
0:117 imageLoad (global 4-component vector of float)
0:117 'img2DMS' (uniform image2DMS)
0:117 Construct ivec2 (temp 2-component vector of int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:117 'i' (temp int)
0:118 imageStore (global void)
0:118 'img2DMSWO' (writeonly uniform image2DMS)
0:118 Construct ivec2 (temp 2-component vector of int)
0:118 'i' (temp int)
0:118 'i' (temp int)
0:118 'i' (temp int)
0:118 Constant:
0:118 0.000000
0:118 0.000000
0:118 0.000000
0:118 0.000000
0:119 imageLoad (global 4-component vector of float)
0:119 'img2DMSWO' (writeonly uniform image2DMS)
0:119 Construct ivec2 (temp 2-component vector of int)
0:119 'i' (temp int)
0:119 'i' (temp int)
0:119 'i' (temp int)
0:125 Function Definition: passr(iI21; (global void)
0:125 Function Parameters:
0:125 'image' (coherent readonly in iimage2D)
0:132 Function Definition: passrc( (global void)
0:132 Function Parameters:
0:134 Sequence
0:134 Function Call: passr(iI21; (global void)
0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
0:135 Function Call: passr(iI21; (global void)
0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
0:136 Function Call: passr(iI21; (global void)
0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
0:153 Function Definition: qlod( (global void)
0:153 Function Parameters:
0:? Sequence
0:157 'levels' (temp int)
0:158 'levels' (temp int)
0:? Linker Objects
0:? 'v2' (smooth out 2-component vector of float)
0:? 'bad' (in 10-element array of 4-component vector of float)

View File

@ -49,26 +49,6 @@ max_vertices = -1
input primitive = triangles
output primitive = none
ERROR: node is still EOpNull!
0:11 Function Definition: foo( (global void)
0:11 Function Parameters:
0:13 Sequence
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 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 1-element array of float ClipDistance gl_ClipDistance})
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 0 (const int)
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 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 1-element array of float ClipDistance gl_ClipDistance})
0:16 'i' (global int)
0:16 Constant:
0:16 0 (const int)
0:? Linker Objects
0:? 'i' (global int)
0:? 'colorun' (in 3-element array of 4-component vector of float)

View File

@ -184,77 +184,6 @@ ERROR: node is still EOpNull!
0:39 10 (const int)
0:39 true case
0:40 Barrier (global void)
0:63 Function Definition: foo( (global void)
0:63 Function Parameters:
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 Constant:
0:65 1 (const int)
0:65 Constant:
0:65 2 (const int)
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 Constant:
0:66 1 (const int)
0:67 Barrier (global void)
0:72 Function Definition: fooaoeu( (global void)
0:72 Function Parameters:
0:73 Sequence
0:73 Sequence
0:73 move second child to first child (temp 2-component vector of int)
0:73 'storePos' (temp 2-component vector of int)
0:73 Convert uint to int (temp 2-component vector of int)
0:73 vector swizzle (temp 2-component vector of uint)
0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
0:73 Sequence
0:73 Constant:
0:73 0 (const int)
0:73 Constant:
0:73 1 (const int)
0:74 Sequence
0:74 move second child to first child (temp double)
0:74 'localCoef' (temp double)
0:74 Convert float to double (temp double)
0:74 length (global float)
0:74 divide (temp 2-component vector of float)
0:74 Convert int to float (temp 2-component vector of float)
0:74 subtract (temp 2-component vector of int)
0:74 Convert uint to int (temp 2-component vector of int)
0:74 vector swizzle (temp 2-component vector of uint)
0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
0:74 Sequence
0:74 Constant:
0:74 0 (const int)
0:74 Constant:
0:74 1 (const int)
0:74 Constant:
0:74 8 (const int)
0:74 Constant:
0:74 8.000000
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of double)
0:75 'aa' (temp 4-component vector of double)
0:75 Constant:
0:75 0.400000
0:75 0.200000
0:75 0.300000
0:75 0.400000
0:76 Sequence
0:76 move second child to first child (temp double)
0:76 'globalCoef' (temp double)
0:76 Constant:
0:76 1.000000
0:78 Sequence
0:78 move second child to first child (temp double)
0:78 'di' (temp double)
0:78 Convert int to double (temp double)
0:78 'i' (temp int)
0:? Linker Objects
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
0:? 2 (const uint)

View File

@ -275,135 +275,6 @@ Requested GL_ARB_enhanced_layouts
Requested GL_ARB_shader_texture_image_samples
in xfb mode
ERROR: node is still EOpNull!
0:14 Function Definition: foo( (global void)
0:14 Function Parameters:
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 direct index (temp float ClipDistance)
0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
0:16 Constant:
0:16 2 (const uint)
0:16 Constant:
0:16 2 (const int)
0:16 Constant:
0:16 3.700000
0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
0:31 Function Parameters:
0:31 'v4' (in 4-component vector of float)
0:31 'v3' (volatile in 3-component vector of float)
0:31 'v2' (in 2-component vector of float)
0:31 'cv3' (in 3-component vector of float)
0:148 Function Definition: fooBarrier( (global void)
0:148 Function Parameters:
0:150 Sequence
0:150 Constant:
0:150 0.000000
0:151 MemoryBarrier (global void)
0:152 MemoryBarrierAtomicCounter (global void)
0:153 MemoryBarrierBuffer (global void)
0:154 Constant:
0:154 0.000000
0:155 MemoryBarrierImage (global void)
0:156 Constant:
0:156 0.000000
0:166 Function Definition: fooq( (global void)
0:166 Function Parameters:
0:168 Sequence
0:168 Sequence
0:168 move second child to first child (temp int)
0:168 's' (temp int)
0:168 textureSamples (global int)
0:168 's2dms' (uniform sampler2DMS)
0:169 add second child into first child (temp int)
0:169 's' (temp int)
0:169 textureSamples (global int)
0:169 'us2dmsa' (uniform usampler2DMSArray)
0:170 add second child into first child (temp int)
0:170 's' (temp int)
0:170 imageQuerySamples (global int)
0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
0:171 add second child into first child (temp int)
0:171 's' (temp int)
0:171 imageQuerySamples (global int)
0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:176 Function Definition: fooq2( (global void)
0:176 Function Parameters:
0:178 Sequence
0:178 Sequence
0:178 move second child to first child (temp int)
0:178 's' (temp int)
0:178 textureSamples (global int)
0:178 's2dms' (uniform sampler2DMS)
0:179 add second child into first child (temp int)
0:179 's' (temp int)
0:179 textureSamples (global int)
0:179 'us2dmsa' (uniform usampler2DMSArray)
0:180 add second child into first child (temp int)
0:180 's' (temp int)
0:180 imageQuerySamples (global int)
0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
0:181 add second child into first child (temp int)
0:181 's' (temp int)
0:181 imageQuerySamples (global int)
0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:202 Function Definition: qlod( (global void)
0:202 Function Parameters:
0:? Sequence
0:206 move second child to first child (temp int)
0:206 'levels' (temp int)
0:206 textureQueryLevels (global int)
0:206 'samp1D' (uniform sampler1D)
0:207 move second child to first child (temp int)
0:207 'levels' (temp int)
0:207 textureQueryLevels (global int)
0:207 'usamp2D' (uniform usampler2D)
0:208 move second child to first child (temp int)
0:208 'levels' (temp int)
0:208 textureQueryLevels (global int)
0:208 'isamp3D' (uniform isampler3D)
0:209 move second child to first child (temp int)
0:209 'levels' (temp int)
0:209 textureQueryLevels (global int)
0:209 'isampCube' (uniform isamplerCube)
0:210 move second child to first child (temp int)
0:210 'levels' (temp int)
0:210 textureQueryLevels (global int)
0:210 'isamp1DA' (uniform isampler1DArray)
0:211 move second child to first child (temp int)
0:211 'levels' (temp int)
0:211 textureQueryLevels (global int)
0:211 'samp2DA' (uniform sampler2DArray)
0:212 move second child to first child (temp int)
0:212 'levels' (temp int)
0:212 textureQueryLevels (global int)
0:212 'usampCubeA' (uniform usamplerCubeArray)
0:214 move second child to first child (temp int)
0:214 'levels' (temp int)
0:214 textureQueryLevels (global int)
0:214 'samp1Ds' (uniform sampler1DShadow)
0:215 move second child to first child (temp int)
0:215 'levels' (temp int)
0:215 textureQueryLevels (global int)
0:215 'samp2Ds' (uniform sampler2DShadow)
0:216 move second child to first child (temp int)
0:216 'levels' (temp int)
0:216 textureQueryLevels (global int)
0:216 'sampCubes' (uniform samplerCubeShadow)
0:217 move second child to first child (temp int)
0:217 'levels' (temp int)
0:217 textureQueryLevels (global int)
0:217 'samp1DAs' (uniform sampler1DArrayShadow)
0:218 move second child to first child (temp int)
0:218 'levels' (temp int)
0:218 textureQueryLevels (global int)
0:218 'samp2DAs' (uniform sampler2DArrayShadow)
0:219 move second child to first child (temp int)
0:219 'levels' (temp int)
0:219 textureQueryLevels (global int)
0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
0:221 'levels' (temp int)
0:222 'levels' (temp int)
0:? Linker Objects
0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)

View File

@ -2,7 +2,7 @@
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized
ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument
ERROR: 0:15: 'constructior' : array constructor argument not correct type to construct array element
ERROR: 0:15: 'constructor' : array constructor argument not correct type to construct array element
ERROR: 0:28: '[' : array index out of range '4'
ERROR: 0:56: 'constructor' : cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float'
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'
@ -766,34 +766,6 @@ ERROR: node is still EOpNull!
0:84 5.000000
0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
0:85 'u' (temp 5-element array of 7-element array of float)
0:88 Function Definition: foo3( (global void)
0:88 Function Parameters:
0:? Sequence
0:91 Constant:
0:91 1 (const int)
0:92 move second child to first child (temp float)
0:92 direct index (temp float)
0:92 direct index (temp 7-element array of float)
0:92 direct index (temp 5-element array of 7-element array of float)
0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
0:92 Constant:
0:92 1 (const int)
0:92 Constant:
0:92 4 (const int)
0:92 Constant:
0:92 5 (const int)
0:92 Constant:
0:92 2.000000
0:93 Constant:
0:93 1 (const int)
0:95 Constant:
0:95 3 (const int)
0:96 Constant:
0:96 5 (const int)
0:97 Constant:
0:97 7 (const int)
0:98 Constant:
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 1-element array of 7-element array of float)

View File

@ -127,6 +127,8 @@ ERROR: node is still EOpNull!
Linked vertex stage:
ERROR: Linking vertex stage: No function definition (body) found:
g(
Shader version: 430
ERROR: node is still EOpNull!
@ -147,20 +149,6 @@ ERROR: node is still EOpNull!
0:8 1.000000
0:11 Branch: Return with expression
0:11 'a' (in int)
0:25 Function Definition: cos(f1; (global float)
0:25 Function Parameters:
0:25 'x' (in float)
0:27 Sequence
0:27 Branch: Return with expression
0:27 Constant:
0:27 1.000000
0:29 Function Definition: radians(b1; (global bool)
0:29 Function Parameters:
0:29 'x' (in bool)
0:31 Sequence
0:31 Branch: Return with expression
0:31 Constant:
0:31 true (const bool)
0:36 Function Definition: main( (global void)
0:36 Function Parameters:
0:? Sequence

View File

@ -126,35 +126,6 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr
Shader version: 440
ERROR: node is still EOpNull!
0:144 Function Definition: interp( (global void)
0:144 Function Parameters:
0:146 Sequence
0:146 interpolateAtCentroid (global 2-component vector of float)
0:146 vector swizzle (temp 2-component vector of float)
0:146 direct index (smooth sample temp 3-component vector of float)
0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:146 Constant:
0:146 2 (const int)
0:146 Sequence
0:146 Constant:
0:146 0 (const int)
0:146 Constant:
0:146 1 (const int)
0:147 interpolateAtSample (global float)
0:147 direct index (temp float)
0:147 direct index (smooth sample temp 3-component vector of float)
0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:147 Constant:
0:147 2 (const int)
0:147 Constant:
0:147 0 (const int)
0:147 Constant:
0:147 2 (const int)
0:150 Function Definition: layer( (global int)
0:150 Function Parameters:
0:152 Sequence
0:152 Branch: Return with expression
0:152 'gl_Layer' (flat in int Layer)
0:? Linker Objects
0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
0:? 'b' (layout(location=4 component=1 ) smooth in float)

View File

@ -174,37 +174,6 @@ Shader version: 440
Requested GL_ARB_shader_draw_parameters
in xfb mode
ERROR: node is still EOpNull!
0:177 Function Definition: drawParamsBad( (global int)
0:177 Function Parameters:
0:179 Sequence
0:179 Branch: Return with expression
0:179 add (temp int)
0:179 add (temp int)
0:179 'gl_BaseVertexARB' (in int BaseVertex)
0:179 'gl_BaseInstanceARB' (in int BaseInstance)
0:179 'gl_DrawIDARB' (in int DrawId)
0:184 Function Definition: drawParams( (global int)
0:184 Function Parameters:
0:186 Sequence
0:186 Branch: Return with expression
0:186 add (temp int)
0:186 add (temp int)
0:186 'gl_BaseVertexARB' (in int BaseVertex)
0:186 'gl_BaseInstanceARB' (in int BaseInstance)
0:186 'gl_DrawIDARB' (in int DrawId)
0:187 move second child to first child (temp int)
0:187 'gl_BaseVertexARB' (in int BaseVertex)
0:187 Constant:
0:187 3 (const int)
0:188 move second child to first child (temp int)
0:188 'gl_BaseInstanceARB' (in int BaseInstance)
0:188 Constant:
0:188 3 (const int)
0:189 move second child to first child (temp int)
0:189 'gl_DrawIDARB' (in int DrawId)
0:189 Constant:
0:189 3 (const int)
0:190 'glBaseInstanceARB' (temp float)
0:? Linker Objects
0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
0:? 'b' (layout(location=2 component=1 ) in float)

View File

@ -263,57 +263,6 @@ Shader version: 450
0:34 'uin' (temp uint)
0:34 Construct bvec3 (temp 3-component vector of bool)
0:34 'b' (temp bool)
0:42 Function Definition: foo( (global void)
0:42 Function Parameters:
0:44 Sequence
0:44 Sequence
0:44 move second child to first child (temp int)
0:44 's' (temp int)
0:44 textureSamples (global int)
0:44 's2dms' (uniform sampler2DMS)
0:45 add second child into first child (temp int)
0:45 's' (temp int)
0:45 textureSamples (global int)
0:45 'us2dmsa' (uniform usampler2DMSArray)
0:46 add second child into first child (temp int)
0:46 's' (temp int)
0:46 imageQuerySamples (global int)
0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
0:47 add second child into first child (temp int)
0:47 's' (temp int)
0:47 imageQuerySamples (global int)
0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:48 Sequence
0:48 move second child to first child (temp float)
0:48 'f' (temp float)
0:48 imageAtomicExchange (global float)
0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
0:48 Convert float to int (temp 3-component vector of int)
0:48 'in3' (smooth in 3-component vector of float)
0:48 Constant:
0:48 2 (const int)
0:48 Constant:
0:48 4.500000
0:53 Function Definition: cull(i1; (global float)
0:53 Function Parameters:
0:53 'i' (in int)
0:55 Sequence
0:55 Branch: Return with expression
0:55 Test condition and select (temp float)
0:55 Condition
0:55 Compare Greater Than or Equal (temp bool)
0:55 'i' (in int)
0:55 Constant:
0:55 6 (const int)
0:55 true case
0:55 direct index (smooth temp float CullDistance)
0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
0:55 Constant:
0:55 5 (const int)
0:55 false case
0:55 indirect index (smooth temp float CullDistance)
0:55 'gl_CullDistance' (smooth in 6-element array of float CullDistance)
0:55 'i' (in int)
0:? Linker Objects
0:? 'in1' (smooth in float)
0:? 'in2' (smooth in 2-component vector of float)

View File

@ -446,71 +446,6 @@ ERROR: node is still EOpNull!
0:58 1 (const int)
0:58 Constant:
0:58 4 (const int)
0:68 Function Definition: foo( (global void)
0:68 Function Parameters:
0:? Sequence
0:71 move second child to first child (temp int)
0:71 direct index (temp int)
0:71 'uns' (temp 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 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 8-element array of 3-component vector of float)
0:73 Constant:
0:73 2 (const int)
0:73 Constant:
0:73 2.400000
0:73 2.400000
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 Parameters:
0:? Sequence
0:82 Branch: Return with expression
0:82 'f' (temp 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)
0:89 Function Parameters:
0:? Sequence
0:92 move second child to first child (temp float)
0:92 direct index (temp float)
0:92 'resize1' (temp 3-element array of float)
0:92 Constant:
0:92 2 (const int)
0:92 Constant:
0:92 4.000000
0:93 Constant:
0:93 1 (const int)
0:95 Constant:
0:95 3 (const int)
0:98 move second child to first child (temp float)
0:98 direct index (temp float)
0:98 'resize2' (temp 5-element array of float)
0:98 Constant:
0:98 5 (const int)
0:98 Constant:
0:98 4.000000
0:100 Constant:
0:100 5 (const int)
0:101 move second child to first child (temp float)
0:101 direct index (temp float)
0:101 'resize2' (temp 5-element array of float)
0:101 Constant:
0:101 5 (const int)
0:101 Constant:
0:101 4.000000
0:106 Sequence
0:106 move second child to first child (temp float)
0:106 'b' (global float)

View File

@ -265,29 +265,6 @@ ERROR: node is still EOpNull!
0:40 1.000000
0:40 1.000000
0:40 1.000000
0:53 Function Definition: bar9( (global 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:53 Function Parameters:
0:? Sequence
0:56 Branch: Return with expression
0:56 's' (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:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
0:59 Function Parameters:
0:59 's' (in 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:63 Function Definition: bar11( (global void)
0:63 Function Parameters:
0:? Sequence
0:66 move second child to first child (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:66 '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:66 's2' (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:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
0:67 '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:68 move second child to first child (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:68 's2' (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:68 Function Call: bar9( (global 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 Sequence
0:69 move second child to first child (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 '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 1-element array of mediump float)
0:? 'g4' (global 4-element array of mediump float)

View File

@ -86,22 +86,6 @@ Linked fragment stage:
Shader version: 420
ERROR: node is still EOpNull!
0:5 Function Definition: func(au1; (global uint)
0:5 Function Parameters:
0:5 'c' (in atomic_uint)
0:7 Sequence
0:7 Branch: Return with expression
0:7 AtomicCounterIncrement (global uint)
0:7 'c' (in atomic_uint)
0:10 Function Definition: func2(au1; (global uint)
0:10 Function Parameters:
0:10 'c' (out atomic_uint)
0:12 Sequence
0:12 Branch: Return with expression
0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:13 Branch: Return with expression
0:13 AtomicCounter (global uint)
0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:16 Function Definition: main( (global void)
0:16 Function Parameters:
0:? Sequence
@ -112,22 +96,6 @@ ERROR: node is still EOpNull!
0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:20 AtomicCounterDecrement (global uint)
0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:26 Function Definition: opac( (global void)
0:26 Function Parameters:
0:28 Sequence
0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:31 indirect index (temp int)
0:31 'a' (temp 3-element array of int)
0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:32 Constant:
0:32 2 (const int)
0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
0:33 'i' (uniform int)
0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:? Linker Objects
0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)

View File

@ -546,120 +546,6 @@ ERROR: node is still EOpNull!
0:69 0.028000
0:69 0.500000
0:69 1.000000
0:78 Function Definition: foo( (global void)
0:78 Function Parameters:
0:? Sequence
0:81 move second child to first child (temp float)
0:81 direct index (temp float)
0:81 'a' (temp 3-element array of float)
0:81 Constant:
0:81 0 (const int)
0:81 Constant:
0:81 7.000000
0:82 Constant:
0:82 2 (const int)
0:83 Constant:
0:83 2147483647 (const int)
0:84 Constant:
0:84 inf
0:88 Constant:
0:88 2 (const uint)
0:88 3 (const uint)
0:89 Constant:
0:89 0 (const uint)
0:90 Constant:
0:90 6 (const uint)
0:90 7 (const uint)
0:103 Function Definition: foo2( (global void)
0:103 Function Parameters:
0:105 Sequence
0:105 direct index (temp float)
0:105 'a1' (global 1-element array of float)
0:105 Constant:
0:105 0 (const int)
0:106 direct index (temp float)
0:106 'a2' (global 2-element array of float)
0:106 Constant:
0:106 0 (const int)
0:107 direct index (temp float)
0:107 'a3' (global 4-element array of float)
0:107 Constant:
0:107 0 (const int)
0:108 direct index (temp float)
0:108 'a4' (global 2-element array of float)
0:108 Constant:
0:108 0 (const int)
0:109 Constant:
0:109 1.000000
0:110 Constant:
0:110 5.000000
0:111 Constant:
0:111 2.000000
0:112 Constant:
0:112 3.000000
0:113 Constant:
0:113 0.000000
0:114 Constant:
0:114 0.000000
0:116 move second child to first child (temp int)
0:116 'p' (temp int)
0:116 Constant:
0:116 2147483647 (const int)
0:117 move second child to first child (temp int)
0:117 'p' (temp int)
0:117 Constant:
0:117 -2147483648 (const int)
0:118 move second child to first child (temp int)
0:118 'p' (temp int)
0:118 Constant:
0:118 -2147483647 (const int)
0:119 Sequence
0:119 move second child to first child (temp float)
0:119 'f' (temp float)
0:119 Constant:
0:119 1.444000
0:120 move second child to first child (temp float)
0:120 'f' (temp float)
0:120 direct index (temp float)
0:120 Construct vec4 (temp 4-component vector of float)
0:120 Test condition and select (temp float)
0:120 Condition
0:120 Compare Less Than (temp bool)
0:120 direct index (temp float)
0:120 'inv' (smooth in 4-component vector of float)
0:120 Constant:
0:120 0 (const int)
0:120 Constant:
0:120 2.400000
0:120 true case
0:120 Constant:
0:120 -1.000000
0:120 false case
0:120 Constant:
0:120 1.000000
0:120 Constant:
0:120 3 (const int)
0:126 Function Definition: foo3( (global void)
0:126 Function Parameters:
0:128 Sequence
0:128 Sequence
0:128 move second child to first child (temp 3X2 matrix of float)
0:128 'r32' (temp 3X2 matrix of float)
0:128 Constant:
0:128 43.000000
0:128 64.000000
0:128 51.000000
0:128 76.000000
0:128 59.000000
0:128 88.000000
0:138 Function Definition: foo4( (global void)
0:138 Function Parameters:
0:140 Sequence
0:140 Sequence
0:140 move second child to first child (temp int)
0:140 'a' (temp int)
0:140 Constant:
0:140 9 (const int)
0:? Linker Objects
0:? 'a' (const int)
0:? 1 (const int)

View File

@ -152,41 +152,6 @@ ERROR: node is still EOpNull!
0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:39 Construct vec4 (temp highp 4-component vector of float)
0:39 'sum' (global highp float)
0:44 Function Definition: foo( (global highp float)
0:44 Function Parameters:
0:46 Sequence
0:46 Branch: Return with expression
0:46 add (temp highp float)
0:46 add (temp highp float)
0:46 direct index (temp highp float)
0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:46 Constant:
0:46 0 (const int)
0:46 Constant:
0:46 3.000000
0:46 add (temp highp float)
0:46 direct index (temp highp float)
0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:46 Constant:
0:46 0 (const int)
0:46 Constant:
0:46 3.000000
0:47 Branch: Return with expression
0:47 add (temp highp float)
0:47 add (temp highp float)
0:47 direct index (temp highp float)
0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:47 Constant:
0:47 1 (const int)
0:47 Constant:
0:47 3.000000
0:47 add (temp highp float)
0:47 direct index (temp highp float)
0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
0:47 Constant:
0:47 1 (const int)
0:47 Constant:
0:47 3.000000
0:97 Sequence
0:97 move second child to first child (temp highp float)
0:97 'c' (global highp float)

View File

@ -135,17 +135,6 @@ ERROR: node is still EOpNull!
0:133 'selected3' (global int)
0:133 Constant:
0:133 3 (const int)
0:175 Function Definition: foo985( (global void)
0:175 Function Parameters:
0:175 Sequence
0:175 add (temp int)
0:175 Constant:
0:175 2 (const int)
0:175 Comma (temp int)
0:175 Constant:
0:175 3 (const int)
0:175 Constant:
0:175 4 (const int)
0:? Linker Objects
0:? 'sum' (global float)
0:? 'selected4' (global int)

View File

@ -282,19 +282,6 @@ ERROR: node is still EOpNull!
0:202 'f' (global double)
0:202 Constant:
0:202 0.000800
12:20031 Function Definition: foo234( (global void)
12:20031 Function Parameters:
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 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 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:
12:20033 6.000000
12:20033 6.000000
12:20033 6.000000
12:20033 6.000000
12:9011 Sequence
12:9011 move second child to first child (temp int)
12:9011 'R1' (global int)

View File

@ -147,128 +147,6 @@ Shader version: 400
0:5 'c' (global int)
0:5 Constant:
0:5 0 (const int)
0:7 Function Definition: bar( (global void)
0:7 Function Parameters:
0:9 Sequence
0:9 Test condition and select (temp void)
0:9 Condition
0:9 Constant:
0:9 false (const bool)
0:9 true case
0:10 Pre-Increment (temp int)
0:10 'c' (global int)
0:9 false case
0:12 Pre-Increment (temp int)
0:12 'c' (global int)
0:14 Test condition and select (temp int)
0:14 Condition
0:14 Constant:
0:14 false (const bool)
0:14 true case
0:14 Pre-Increment (temp int)
0:14 'c' (global int)
0:14 false case
0:14 Pre-Increment (temp int)
0:14 'c' (global int)
0:16 switch
0:16 condition
0:16 'c' (global int)
0:16 body
0:16 Sequence
0:17 case: with expression
0:17 Constant:
0:17 1 (const int)
0:? Sequence
0:18 Pre-Increment (temp int)
0:18 'c' (global int)
0:19 Branch: Break
0:20 Pre-Increment (temp int)
0:20 'c' (global int)
0:21 case: with expression
0:21 Constant:
0:21 2 (const int)
0:? Sequence
0:22 Branch: Break
0:23 Pre-Increment (temp int)
0:23 'c' (global int)
0:24 default:
0:? Sequence
0:25 Branch: Break
0:28 Sequence
0:28 Sequence
0:28 move second child to first child (temp int)
0:28 'i' (temp int)
0:28 Constant:
0:28 0 (const int)
0:28 Loop with condition tested first
0:28 Loop Condition
0:28 Compare Less Than (temp bool)
0:28 'i' (temp int)
0:28 Constant:
0:28 0 (const int)
0:28 Loop Body
0:29 Pre-Increment (temp int)
0:29 'c' (global int)
0:28 Loop Terminal Expression
0:28 Pre-Increment (temp int)
0:28 'i' (temp int)
0:31 Sequence
0:31 Sequence
0:31 move second child to first child (temp int)
0:31 'i' (temp int)
0:31 Constant:
0:31 0 (const int)
0:31 Loop with condition tested first
0:31 Loop Condition
0:31 Compare Less Than (temp bool)
0:31 'i' (temp int)
0:31 Constant:
0:31 10 (const int)
0:31 Loop Body
0:32 Sequence
0:32 Test condition and select (temp void)
0:32 Condition
0:32 Compare Less Than (temp bool)
0:32 'c' (global int)
0:32 Constant:
0:32 3 (const int)
0:32 true case
0:33 Sequence
0:33 Branch: Break
0:34 Pre-Increment (temp int)
0:34 'c' (global int)
0:32 false case
0:36 Sequence
0:36 Branch: Continue
0:37 Pre-Increment (temp int)
0:37 'c' (global int)
0:31 Loop Terminal Expression
0:31 Pre-Increment (temp int)
0:31 'i' (temp int)
0:41 Branch: Return
0:43 Pre-Increment (temp int)
0:43 'c' (global int)
0:46 Function Definition: foo( (global int)
0:46 Function Parameters:
0:48 Sequence
0:48 Test condition and select (temp void)
0:48 Condition
0:48 Compare Greater Than (temp bool)
0:48 'c' (global int)
0:48 Constant:
0:48 4 (const int)
0:48 true case
0:49 Sequence
0:49 Branch: Return with expression
0:49 Constant:
0:49 4 (const int)
0:50 Pre-Increment (temp int)
0:50 'c' (global int)
0:53 Branch: Return with expression
0:53 Constant:
0:53 5 (const int)
0:55 Pre-Increment (temp int)
0:55 'c' (global int)
0:? Linker Objects
0:? 'flag' (const bool)
0:? false (const bool)

View File

@ -397,19 +397,6 @@ ERROR: node is still EOpNull!
0:62 Construct vec4 (temp 4-component vector of float)
0:62 Convert int to float (temp float)
0:62 'color' (temp int)
0:66 Function Definition: aggCall( (global void)
0:66 Function Parameters:
0:? Sequence
0:69 Function Call: m(vf2; (global 3-component vector of float)
0:69 Convert int to float (temp 2-component vector of float)
0:69 Construct ivec2 (temp 2-component vector of int)
0:69 Convert float to int (temp int)
0:69 'F' (temp float)
0:72 Function Definition: badConv( (global 4-component vector of float)
0:72 Function Parameters:
0:74 Sequence
0:74 Branch: Return with expression
0:74 'u' (uniform float)
0:? Linker Objects
0:? 'u' (uniform float)

View File

@ -4,8 +4,4 @@ Warning, version 310 is not yet complete; most version-specific features are pre
ERROR: 1 compilation errors. No code generated.
Linked vertex stage:
SPIR-V is not generated for failed compile or link

View File

@ -6,8 +6,4 @@ ERROR: 0:14: '' : syntax error
ERROR: 4 compilation errors. No code generated.
Linked fragment stage:
SPIR-V is not generated for failed compile or link

View File

@ -1,10 +1,6 @@
glspv.version.frag
ERROR: #version: compilation for SPIR-V does not support the compatibility profile
Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 6

View File

@ -3,8 +3,4 @@ ERROR: #version: Desktop shaders for OpenGL SPIR-V require version 330 or higher
ERROR: 1 compilation errors. No code generated.
Linked vertex stage:
SPIR-V is not generated for failed compile or link

View File

@ -11,8 +11,4 @@ ERROR: 0:20: '' : syntax error
ERROR: 8 compilation errors. No code generated.
Linked vertex stage:
SPIR-V is not generated for failed compile or link

View File

@ -0,0 +1,207 @@
hlsl.amend.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 0 (const uint)
0:6 b: direct index for structure (layout(offset=16 ) uniform float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
0:13 add (temp float)
0:13 add (temp float)
0:13 direct index (temp float)
0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 0 (const uint)
0:13 Constant:
0:13 0 (const int)
0:13 b: direct index for structure (layout(offset=16 ) uniform float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 1 (const uint)
0:13 direct index (temp float)
0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 2 (const uint)
0:13 Constant:
0:13 0 (const int)
0:17 Function Definition: f3( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:18 Constant:
0:18 2 (const uint)
0:24 Function Definition: f4( (temp void)
0:24 Function Parameters:
0:? Sequence
0:25 vector-scale (temp 4-component vector of float)
0:25 Convert int to float (temp float)
0:25 d: direct index for structure (layout(offset=44 ) uniform int)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 3 (const uint)
0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 0 (const uint)
0:? Linker Objects
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 0 (const uint)
0:6 b: direct index for structure (layout(offset=16 ) uniform float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
0:13 add (temp float)
0:13 add (temp float)
0:13 direct index (temp float)
0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 0 (const uint)
0:13 Constant:
0:13 0 (const int)
0:13 b: direct index for structure (layout(offset=16 ) uniform float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 1 (const uint)
0:13 direct index (temp float)
0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 2 (const uint)
0:13 Constant:
0:13 0 (const int)
0:17 Function Definition: f3( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:18 Constant:
0:18 2 (const uint)
0:24 Function Definition: f4( (temp void)
0:24 Function Parameters:
0:? Sequence
0:25 vector-scale (temp 4-component vector of float)
0:25 Convert int to float (temp float)
0:25 d: direct index for structure (layout(offset=44 ) uniform int)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 3 (const uint)
0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 0 (const uint)
0:? Linker Objects
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 47
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "f1"
ExecutionMode 4 OriginUpperLeft
Name 4 "f1"
Name 6 "f2("
Name 8 "f3("
Name 10 "f4("
Name 16 "$Global"
MemberName 16($Global) 0 "a"
MemberName 16($Global) 1 "b"
MemberName 16($Global) 2 "c"
MemberName 16($Global) 3 "d"
MemberName 16($Global) 4 "e"
Name 18 ""
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 16($Global) 3 Offset 44
MemberDecorate 16($Global) 4 Offset 48
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
12: TypeFloat 32
13: TypeVector 12(float) 4
14: TypeVector 12(float) 3
15: TypeInt 32 1
16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: 15(int) Constant 0
20: TypePointer Uniform 13(fvec4)
23: 15(int) Constant 1
24: TypePointer Uniform 12(float)
28: TypeInt 32 0
29: 28(int) Constant 0
35: 15(int) Constant 2
39: 15(int) Constant 3
40: TypePointer Uniform 15(int)
4(f1): 2 Function None 3
5: Label
21: 20(ptr) AccessChain 18 19
22: 13(fvec4) Load 21
25: 24(ptr) AccessChain 18 23
26: 12(float) Load 25
27: 13(fvec4) VectorTimesScalar 22 26
Return
FunctionEnd
6(f2(): 2 Function None 3
7: Label
30: 24(ptr) AccessChain 18 19 29
31: 12(float) Load 30
32: 24(ptr) AccessChain 18 23
33: 12(float) Load 32
34: 12(float) FAdd 31 33
36: 24(ptr) AccessChain 18 35 29
37: 12(float) Load 36
38: 12(float) FAdd 34 37
Return
FunctionEnd
8(f3(): 2 Function None 3
9: Label
Return
FunctionEnd
10(f4(): 2 Function None 3
11: Label
41: 40(ptr) AccessChain 18 39
42: 15(int) Load 41
43: 12(float) ConvertSToF 42
44: 20(ptr) AccessChain 18 19
45: 13(fvec4) Load 44
46: 13(fvec4) VectorTimesScalar 45 43
Return
FunctionEnd

View File

@ -0,0 +1,526 @@
hlsl.array.flatten.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:17 Function Definition: TestFn1( (temp 4-component vector of float)
0:17 Function Parameters:
0:? Sequence
0:18 Branch: Return with expression
0:18 texture (temp 4-component vector of float)
0:18 Construct combined texture-sampler (temp sampler1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_samp[1]' (uniform sampler)
0:18 Constant:
0:18 0.200000
0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:22 Function Parameters:
0:22 'l_tex' (in 3-element array of texture1D)
0:22 'l_samp' (in 3-element array of sampler)
0:? Sequence
0:23 Branch: Return with expression
0:23 texture (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1D)
0:23 direct index (temp texture1D)
0:23 'l_tex' (in 3-element array of texture1D)
0:23 Constant:
0:23 2 (const int)
0:23 direct index (temp sampler)
0:23 'l_samp' (in 3-element array of sampler)
0:23 Constant:
0:23 2 (const int)
0:23 Constant:
0:23 0.200000
0:26 Sequence
0:26 move second child to first child (temp 5-element array of int)
0:26 'not_flattened_a' (global 5-element array of int)
0:26 Constant:
0:26 1 (const int)
0:26 2 (const int)
0:26 3 (const int)
0:26 4 (const int)
0:26 5 (const int)
0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Parameters:
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:34 Sequence
0:34 Sequence
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:35 Sequence
0:35 move second child to first child (temp 4-element array of float)
0:35 'local_float_array' (temp 4-element array of float)
0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float)
0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:35 Constant:
0:35 2 (const uint)
0:37 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:37 add (temp 4-component vector of float)
0:37 Function Call: TestFn1( (temp 4-component vector of float)
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:37 Comma (temp 3-element array of texture1D)
0:37 Sequence
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Comma (temp 3-element array of sampler)
0:37 Sequence
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D)
0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D)
0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D)
0:? 'g_samp[0]' (uniform sampler)
0:? 'g_samp[1]' (uniform sampler)
0:? 'g_samp[2]' (uniform sampler)
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:17 Function Definition: TestFn1( (temp 4-component vector of float)
0:17 Function Parameters:
0:? Sequence
0:18 Branch: Return with expression
0:18 texture (temp 4-component vector of float)
0:18 Construct combined texture-sampler (temp sampler1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_samp[1]' (uniform sampler)
0:18 Constant:
0:18 0.200000
0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:22 Function Parameters:
0:22 'l_tex' (in 3-element array of texture1D)
0:22 'l_samp' (in 3-element array of sampler)
0:? Sequence
0:23 Branch: Return with expression
0:23 texture (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1D)
0:23 direct index (temp texture1D)
0:23 'l_tex' (in 3-element array of texture1D)
0:23 Constant:
0:23 2 (const int)
0:23 direct index (temp sampler)
0:23 'l_samp' (in 3-element array of sampler)
0:23 Constant:
0:23 2 (const int)
0:23 Constant:
0:23 0.200000
0:26 Sequence
0:26 move second child to first child (temp 5-element array of int)
0:26 'not_flattened_a' (global 5-element array of int)
0:26 Constant:
0:26 1 (const int)
0:26 2 (const int)
0:26 3 (const int)
0:26 4 (const int)
0:26 5 (const int)
0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Parameters:
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:34 Sequence
0:34 Sequence
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:35 Sequence
0:35 move second child to first child (temp 4-element array of float)
0:35 'local_float_array' (temp 4-element array of float)
0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float)
0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:35 Constant:
0:35 2 (const uint)
0:37 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:37 add (temp 4-component vector of float)
0:37 Function Call: TestFn1( (temp 4-component vector of float)
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:37 Comma (temp 3-element array of texture1D)
0:37 Sequence
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Comma (temp 3-element array of sampler)
0:37 Sequence
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D)
0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D)
0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D)
0:? 'g_samp[0]' (uniform sampler)
0:? 'g_samp[1]' (uniform sampler)
0:? 'g_samp[2]' (uniform sampler)
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 123
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 99
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "TestFn1("
Name 22 "TestFn2(t11[3];p1[3];"
Name 20 "l_tex"
Name 21 "l_samp"
Name 28 "not_flattened_a"
Name 36 "g_tex[1]"
Name 39 "g_samp[1]"
Name 55 "local_sampler_array"
Name 57 "g_samp[0]"
Name 62 "g_samp[2]"
Name 65 "local_texture_array"
Name 66 "g_tex[0]"
Name 71 "g_tex[2]"
Name 77 "local_float_array"
Name 83 "$Global"
MemberName 83($Global) 0 "g_mats"
MemberName 83($Global) 1 "g_mats_explicit"
MemberName 83($Global) 2 "g_floats"
Name 85 ""
Name 99 "color"
Name 101 "aggShadow"
Name 108 "aggShadow"
Name 117 "g_tex_explicit[0]"
Name 118 "g_tex_explicit[1]"
Name 119 "g_tex_explicit[2]"
Name 120 "g_samp_explicit[0]"
Name 121 "g_samp_explicit[1]"
Name 122 "g_samp_explicit[2]"
Decorate 36(g_tex[1]) DescriptorSet 0
Decorate 39(g_samp[1]) DescriptorSet 0
Decorate 57(g_samp[0]) DescriptorSet 0
Decorate 62(g_samp[2]) DescriptorSet 0
Decorate 66(g_tex[0]) DescriptorSet 0
Decorate 71(g_tex[2]) DescriptorSet 0
Decorate 80 ArrayStride 48
Decorate 81 ArrayStride 48
Decorate 82 ArrayStride 16
MemberDecorate 83($Global) 0 RowMajor
MemberDecorate 83($Global) 0 Offset 0
MemberDecorate 83($Global) 0 MatrixStride 16
MemberDecorate 83($Global) 1 RowMajor
MemberDecorate 83($Global) 1 Offset 192
MemberDecorate 83($Global) 1 MatrixStride 16
MemberDecorate 83($Global) 2 Offset 384
Decorate 83($Global) Block
Decorate 85 DescriptorSet 0
Decorate 99(color) Location 0
Decorate 117(g_tex_explicit[0]) DescriptorSet 0
Decorate 117(g_tex_explicit[0]) Binding 1
Decorate 118(g_tex_explicit[1]) DescriptorSet 0
Decorate 118(g_tex_explicit[1]) Binding 2
Decorate 119(g_tex_explicit[2]) DescriptorSet 0
Decorate 119(g_tex_explicit[2]) Binding 3
Decorate 120(g_samp_explicit[0]) DescriptorSet 0
Decorate 120(g_samp_explicit[0]) Binding 5
Decorate 121(g_samp_explicit[1]) DescriptorSet 0
Decorate 121(g_samp_explicit[1]) Binding 6
Decorate 122(g_samp_explicit[2]) DescriptorSet 0
Decorate 122(g_samp_explicit[2]) Binding 7
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeImage 6(float) 1D sampled format:Unknown
12: TypeInt 32 0
13: 12(int) Constant 3
14: TypeArray 11 13
15: TypePointer UniformConstant 14
16: TypeSampler
17: TypeArray 16 13
18: TypePointer UniformConstant 17
19: TypeFunction 7(fvec4) 15(ptr) 18(ptr)
24: TypeInt 32 1
25: 12(int) Constant 5
26: TypeArray 24(int) 25
27: TypePointer Private 26
28(not_flattened_a): 27(ptr) Variable Private
29: 24(int) Constant 1
30: 24(int) Constant 2
31: 24(int) Constant 3
32: 24(int) Constant 4
33: 24(int) Constant 5
34: 26 ConstantComposite 29 30 31 32 33
35: TypePointer UniformConstant 11
36(g_tex[1]): 35(ptr) Variable UniformConstant
38: TypePointer UniformConstant 16
39(g_samp[1]): 38(ptr) Variable UniformConstant
41: TypeSampledImage 11
43: 6(float) Constant 1045220557
55(local_sampler_array): 18(ptr) Variable UniformConstant
56: 24(int) Constant 0
57(g_samp[0]): 38(ptr) Variable UniformConstant
62(g_samp[2]): 38(ptr) Variable UniformConstant
65(local_texture_array): 15(ptr) Variable UniformConstant
66(g_tex[0]): 35(ptr) Variable UniformConstant
71(g_tex[2]): 35(ptr) Variable UniformConstant
74: 12(int) Constant 4
75: TypeArray 6(float) 74
76: TypePointer Function 75
78: TypeVector 6(float) 3
79: TypeMatrix 78(fvec3) 3
80: TypeArray 79 74
81: TypeArray 79 74
82: TypeArray 6(float) 74
83($Global): TypeStruct 80 81 82
84: TypePointer Uniform 83($Global)
85: 84(ptr) Variable Uniform
86: TypePointer Uniform 82
90: TypePointer Function 6(float)
98: TypePointer Output 7(fvec4)
99(color): 98(ptr) Variable Output
101(aggShadow): 15(ptr) Variable UniformConstant
108(aggShadow): 18(ptr) Variable UniformConstant
117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant
118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant
119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant
120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant
121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant
122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
77(local_float_array): 76(ptr) Variable Function
Store 28(not_flattened_a) 34
58: 16 Load 57(g_samp[0])
59: 38(ptr) AccessChain 55(local_sampler_array) 56
Store 59 58
60: 16 Load 39(g_samp[1])
61: 38(ptr) AccessChain 55(local_sampler_array) 29
Store 61 60
63: 16 Load 62(g_samp[2])
64: 38(ptr) AccessChain 55(local_sampler_array) 30
Store 64 63
67: 11 Load 66(g_tex[0])
68: 35(ptr) AccessChain 65(local_texture_array) 56
Store 68 67
69: 11 Load 36(g_tex[1])
70: 35(ptr) AccessChain 65(local_texture_array) 29
Store 70 69
72: 11 Load 71(g_tex[2])
73: 35(ptr) AccessChain 65(local_texture_array) 30
Store 73 72
87: 86(ptr) AccessChain 85 30
88: 82 Load 87
89: 6(float) CompositeExtract 88 0
91: 90(ptr) AccessChain 77(local_float_array) 56
Store 91 89
92: 6(float) CompositeExtract 88 1
93: 90(ptr) AccessChain 77(local_float_array) 29
Store 93 92
94: 6(float) CompositeExtract 88 2
95: 90(ptr) AccessChain 77(local_float_array) 30
Store 95 94
96: 6(float) CompositeExtract 88 3
97: 90(ptr) AccessChain 77(local_float_array) 31
Store 97 96
100: 7(fvec4) FunctionCall 9(TestFn1()
102: 11 Load 66(g_tex[0])
103: 35(ptr) AccessChain 101(aggShadow) 56
Store 103 102
104: 11 Load 36(g_tex[1])
105: 35(ptr) AccessChain 101(aggShadow) 29
Store 105 104
106: 11 Load 71(g_tex[2])
107: 35(ptr) AccessChain 101(aggShadow) 30
Store 107 106
109: 16 Load 57(g_samp[0])
110: 38(ptr) AccessChain 108(aggShadow) 56
Store 110 109
111: 16 Load 39(g_samp[1])
112: 38(ptr) AccessChain 108(aggShadow) 29
Store 112 111
113: 16 Load 62(g_samp[2])
114: 38(ptr) AccessChain 108(aggShadow) 30
Store 114 113
115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow)
116: 7(fvec4) FAdd 100 115
Store 99(color) 116
Return
FunctionEnd
9(TestFn1(): 7(fvec4) Function None 8
10: Label
37: 11 Load 36(g_tex[1])
40: 16 Load 39(g_samp[1])
42: 41 SampledImage 37 40
44: 7(fvec4) ImageSampleImplicitLod 42 43
ReturnValue 44
FunctionEnd
22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19
20(l_tex): 15(ptr) FunctionParameter
21(l_samp): 18(ptr) FunctionParameter
23: Label
47: 35(ptr) AccessChain 20(l_tex) 30
48: 11 Load 47
49: 38(ptr) AccessChain 21(l_samp) 30
50: 16 Load 49
51: 41 SampledImage 48 50
52: 7(fvec4) ImageSampleImplicitLod 51 43
ReturnValue 52
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.array.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (global 4-component vector of float)
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'i' (layout(location=0 ) in int)
0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
@ -16,12 +16,18 @@ gl_FragCoord origin is upper left
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 direct index (temp 4-component vector of float)
0:10 'a' (global 4-element array of 4-component vector of float)
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
0:10 1 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'a' (global 4-element array of 4-component vector of float)
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 direct index (layout(location=1 ) temp 4-component vector of float)
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
@ -39,19 +45,21 @@ gl_FragCoord origin is upper left
0:10 'i' (layout(location=0 ) in int)
0:10 indirect index (temp 4-component vector of float)
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m})
0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 1 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (layout(location=0 ) in int)
0:10 Branch: Return
0:? Linker Objects
0:? 'a' (global 4-element array of 4-component vector of float)
0:? 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in int)
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
Linked fragment stage:
@ -60,7 +68,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (global 4-component vector of float)
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'i' (layout(location=0 ) in int)
0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
@ -74,12 +82,18 @@ gl_FragCoord origin is upper left
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 add (temp 4-component vector of float)
0:10 direct index (temp 4-component vector of float)
0:10 'a' (global 4-element array of 4-component vector of float)
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
0:10 1 (const int)
0:10 indirect index (temp 4-component vector of float)
0:10 'a' (global 4-element array of 4-component vector of float)
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 0 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 direct index (layout(location=1 ) temp 4-component vector of float)
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
@ -97,41 +111,53 @@ gl_FragCoord origin is upper left
0:10 'i' (layout(location=0 ) in int)
0:10 indirect index (temp 4-component vector of float)
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m})
0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
0:10 Constant:
0:10 1 (const uint)
0:10 'i' (layout(location=0 ) in int)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (layout(location=0 ) in int)
0:10 Branch: Return
0:? Linker Objects
0:? 'a' (global 4-element array of 4-component vector of float)
0:? 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'i' (layout(location=0 ) in int)
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 66
// Id's are bound by 65
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 21 29
EntryPoint Fragment 4 "PixelShaderFunction" 9 28 36
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "@entryPointOutput"
Name 14 "a"
Name 21 "i"
Name 29 "input"
Name 42 "b"
Name 54 ""
MemberName 54 0 "m"
Name 58 "s"
Name 15 ""
MemberName 15 0 "m"
Name 18 "$Global"
MemberName 18($Global) 0 "a"
MemberName 18($Global) 1 "s"
Name 20 ""
Name 28 "i"
Name 36 "input"
Name 49 "b"
Decorate 9(@entryPointOutput) Location 0
Decorate 21(i) Location 0
Decorate 29(input) Location 1
Decorate 12 ArrayStride 16
Decorate 14 ArrayStride 16
MemberDecorate 15 0 Offset 0
Decorate 17 ArrayStride 112
MemberDecorate 18($Global) 0 Offset 0
MemberDecorate 18($Global) 1 Offset 64
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
Decorate 28(i) Location 0
Decorate 36(input) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -141,60 +167,59 @@ gl_FragCoord origin is upper left
10: TypeInt 32 0
11: 10(int) Constant 4
12: TypeArray 7(fvec4) 11
13: TypePointer Private 12
14(a): 13(ptr) Variable Private
15: TypeInt 32 1
16: 15(int) Constant 1
17: TypePointer Private 7(fvec4)
20: TypePointer Input 15(int)
21(i): 20(ptr) Variable Input
26: 10(int) Constant 3
27: TypeArray 7(fvec4) 26
28: TypePointer Input 27
29(input): 28(ptr) Variable Input
30: 15(int) Constant 2
31: TypePointer Input 7(fvec4)
39: 10(int) Constant 10
40: TypeArray 7(fvec4) 39
41: TypePointer Function 40
43: 15(int) Constant 5
44: TypePointer Function 7(fvec4)
52: 10(int) Constant 7
53: TypeArray 7(fvec4) 52
54: TypeStruct 53
55: 10(int) Constant 11
56: TypeArray 54(struct) 55
57: TypePointer Private 56
58(s): 57(ptr) Variable Private
60: 15(int) Constant 0
13: 10(int) Constant 7
14: TypeArray 7(fvec4) 13
15: TypeStruct 14
16: 10(int) Constant 11
17: TypeArray 15(struct) 16
18($Global): TypeStruct 12 17
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: TypeInt 32 1
22: 21(int) Constant 0
23: 21(int) Constant 1
24: TypePointer Uniform 7(fvec4)
27: TypePointer Input 21(int)
28(i): 27(ptr) Variable Input
33: 10(int) Constant 3
34: TypeArray 7(fvec4) 33
35: TypePointer Input 34
36(input): 35(ptr) Variable Input
37: 21(int) Constant 2
38: TypePointer Input 7(fvec4)
46: 10(int) Constant 10
47: TypeArray 7(fvec4) 46
48: TypePointer Function 47
50: 21(int) Constant 5
51: TypePointer Function 7(fvec4)
4(PixelShaderFunction): 2 Function None 3
5: Label
42(b): 41(ptr) Variable Function
18: 17(ptr) AccessChain 14(a) 16
19: 7(fvec4) Load 18
22: 15(int) Load 21(i)
23: 17(ptr) AccessChain 14(a) 22
24: 7(fvec4) Load 23
25: 7(fvec4) FAdd 19 24
32: 31(ptr) AccessChain 29(input) 30
33: 7(fvec4) Load 32
34: 7(fvec4) FAdd 25 33
35: 15(int) Load 21(i)
36: 31(ptr) AccessChain 29(input) 35
37: 7(fvec4) Load 36
38: 7(fvec4) FAdd 34 37
45: 44(ptr) AccessChain 42(b) 43
46: 7(fvec4) Load 45
47: 7(fvec4) FAdd 38 46
48: 15(int) Load 21(i)
49: 44(ptr) AccessChain 42(b) 48
50: 7(fvec4) Load 49
51: 7(fvec4) FAdd 47 50
59: 15(int) Load 21(i)
61: 15(int) Load 21(i)
62: 17(ptr) AccessChain 58(s) 59 60 61
63: 7(fvec4) Load 62
64: 7(fvec4) FAdd 51 63
Store 9(@entryPointOutput) 64
49(b): 48(ptr) Variable Function
25: 24(ptr) AccessChain 20 22 23
26: 7(fvec4) Load 25
29: 21(int) Load 28(i)
30: 24(ptr) AccessChain 20 22 29
31: 7(fvec4) Load 30
32: 7(fvec4) FAdd 26 31
39: 38(ptr) AccessChain 36(input) 37
40: 7(fvec4) Load 39
41: 7(fvec4) FAdd 32 40
42: 21(int) Load 28(i)
43: 38(ptr) AccessChain 36(input) 42
44: 7(fvec4) Load 43
45: 7(fvec4) FAdd 41 44
52: 51(ptr) AccessChain 49(b) 50
53: 7(fvec4) Load 52
54: 7(fvec4) FAdd 45 53
55: 21(int) Load 28(i)
56: 51(ptr) AccessChain 49(b) 55
57: 7(fvec4) Load 56
58: 7(fvec4) FAdd 54 57
59: 21(int) Load 28(i)
60: 21(int) Load 28(i)
61: 24(ptr) AccessChain 20 23 59 22 60
62: 7(fvec4) Load 61
63: 7(fvec4) FAdd 58 62
Store 9(@entryPointOutput) 63
Return
FunctionEnd

View File

@ -0,0 +1,265 @@
hlsl.array.implicit-size.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 5-element array of float)
0:3 'g_array' (global 5-element array of float)
0:3 Constant:
0:3 1.000000
0:3 2.000000
0:3 3.000000
0:3 4.000000
0:3 5.000000
0:6 Sequence
0:6 move second child to first child (temp 7-element array of float)
0:6 'g_array_unused' (global 7-element array of float)
0:6 Constant:
0:6 1.000000
0:6 2.000000
0:6 3.000000
0:6 4.000000
0:6 5.000000
0:6 6.000000
0:6 7.000000
0:12 Sequence
0:12 move second child to first child (temp 2-element array of structure{temp int i, temp float f})
0:12 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
0:12 Constant:
0:12 1 (const int)
0:12 2.000000
0:12 3 (const int)
0:12 4.000000
0:26 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
0:26 Function Parameters:
0:26 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp 3-element array of float)
0:28 'l_array' (temp 3-element array of float)
0:28 Constant:
0:28 1.000000
0:28 2.000000
0:28 3.000000
0:31 move second child to first child (temp 4-component vector of float)
0:31 color: direct index for structure (temp 4-component vector of float)
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:31 Constant:
0:31 0 (const int)
0:31 Construct vec4 (temp 4-component vector of float)
0:31 add (temp float)
0:31 add (temp float)
0:31 add (temp float)
0:31 add (temp float)
0:31 direct index (temp float)
0:31 'g_array' (global 5-element array of float)
0:31 Constant:
0:31 0 (const int)
0:31 direct index (temp float)
0:31 'g_array' (global 5-element array of float)
0:31 Constant:
0:31 4 (const int)
0:31 direct index (temp float)
0:31 'l_array' (temp 3-element array of float)
0:31 Constant:
0:31 1 (const int)
0:31 f: direct index for structure (temp float)
0:31 direct index (temp structure{temp int i, temp float f})
0:31 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
0:31 Constant:
0:31 0 (const int)
0:31 Constant:
0:31 1 (const int)
0:31 indirect index (temp float)
0:31 'g_array' (global 5-element array of float)
0:31 'idx' (temp int)
0:? Linker Objects
0:? 'g_array' (global 5-element array of float)
0:? 'g_array_unused' (global 7-element array of float)
0:? 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
Linked fragment stage:
WARNING: Linking fragment stage: Entry point not found
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:3 Sequence
0:3 move second child to first child (temp 5-element array of float)
0:3 'g_array' (global 5-element array of float)
0:3 Constant:
0:3 1.000000
0:3 2.000000
0:3 3.000000
0:3 4.000000
0:3 5.000000
0:6 Sequence
0:6 move second child to first child (temp 7-element array of float)
0:6 'g_array_unused' (global 7-element array of float)
0:6 Constant:
0:6 1.000000
0:6 2.000000
0:6 3.000000
0:6 4.000000
0:6 5.000000
0:6 6.000000
0:6 7.000000
0:12 Sequence
0:12 move second child to first child (temp 2-element array of structure{temp int i, temp float f})
0:12 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
0:12 Constant:
0:12 1 (const int)
0:12 2.000000
0:12 3 (const int)
0:12 4.000000
0:26 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
0:26 Function Parameters:
0:26 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
0:28 Sequence
0:28 move second child to first child (temp 3-element array of float)
0:28 'l_array' (temp 3-element array of float)
0:28 Constant:
0:28 1.000000
0:28 2.000000
0:28 3.000000
0:31 move second child to first child (temp 4-component vector of float)
0:31 color: direct index for structure (temp 4-component vector of float)
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:31 Constant:
0:31 0 (const int)
0:31 Construct vec4 (temp 4-component vector of float)
0:31 add (temp float)
0:31 add (temp float)
0:31 add (temp float)
0:31 add (temp float)
0:31 direct index (temp float)
0:31 'g_array' (global 5-element array of float)
0:31 Constant:
0:31 0 (const int)
0:31 direct index (temp float)
0:31 'g_array' (global 5-element array of float)
0:31 Constant:
0:31 4 (const int)
0:31 direct index (temp float)
0:31 'l_array' (temp 3-element array of float)
0:31 Constant:
0:31 1 (const int)
0:31 f: direct index for structure (temp float)
0:31 direct index (temp structure{temp int i, temp float f})
0:31 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
0:31 Constant:
0:31 0 (const int)
0:31 Constant:
0:31 1 (const int)
0:31 indirect index (temp float)
0:31 'g_array' (global 5-element array of float)
0:31 'idx' (temp int)
0:? Linker Objects
0:? 'g_array' (global 5-element array of float)
0:? 'g_array_unused' (global 7-element array of float)
0:? 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 72
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction"
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
Name 12 "main(struct-PS_OUTPUT-vf41;"
Name 11 "ps_output"
Name 18 "g_array"
Name 28 "g_array_unused"
Name 33 "mystruct"
MemberName 33(mystruct) 0 "i"
MemberName 33(mystruct) 1 "f"
Name 37 "g_mystruct"
Name 46 "l_array"
Name 64 "idx"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypePointer Function 8(PS_OUTPUT)
10: TypeFunction 2 9(ptr)
14: TypeInt 32 0
15: 14(int) Constant 5
16: TypeArray 6(float) 15
17: TypePointer Private 16
18(g_array): 17(ptr) Variable Private
19: 6(float) Constant 1065353216
20: 6(float) Constant 1073741824
21: 6(float) Constant 1077936128
22: 6(float) Constant 1082130432
23: 6(float) Constant 1084227584
24: 16 ConstantComposite 19 20 21 22 23
25: 14(int) Constant 7
26: TypeArray 6(float) 25
27: TypePointer Private 26
28(g_array_unused): 27(ptr) Variable Private
29: 6(float) Constant 1086324736
30: 6(float) Constant 1088421888
31: 26 ConstantComposite 19 20 21 22 23 29 30
32: TypeInt 32 1
33(mystruct): TypeStruct 32(int) 6(float)
34: 14(int) Constant 2
35: TypeArray 33(mystruct) 34
36: TypePointer Private 35
37(g_mystruct): 36(ptr) Variable Private
38: 32(int) Constant 1
39:33(mystruct) ConstantComposite 38 20
40: 32(int) Constant 3
41:33(mystruct) ConstantComposite 40 22
42: 35 ConstantComposite 39 41
43: 14(int) Constant 3
44: TypeArray 6(float) 43
45: TypePointer Function 44
47: 44 ConstantComposite 19 20 21
48: 32(int) Constant 0
49: TypePointer Private 6(float)
52: 32(int) Constant 4
56: TypePointer Function 6(float)
63: TypePointer Function 32(int)
70: TypePointer Function 7(fvec4)
4(PixelShaderFunction): 2 Function None 3
5: Label
Store 18(g_array) 24
Store 28(g_array_unused) 31
Store 37(g_mystruct) 42
Return
FunctionEnd
12(main(struct-PS_OUTPUT-vf41;): 2 Function None 10
11(ps_output): 9(ptr) FunctionParameter
13: Label
46(l_array): 45(ptr) Variable Function
64(idx): 63(ptr) Variable Function
Store 46(l_array) 47
50: 49(ptr) AccessChain 18(g_array) 48
51: 6(float) Load 50
53: 49(ptr) AccessChain 18(g_array) 52
54: 6(float) Load 53
55: 6(float) FAdd 51 54
57: 56(ptr) AccessChain 46(l_array) 38
58: 6(float) Load 57
59: 6(float) FAdd 55 58
60: 49(ptr) AccessChain 37(g_mystruct) 48 38
61: 6(float) Load 60
62: 6(float) FAdd 59 61
65: 32(int) Load 64(idx)
66: 49(ptr) AccessChain 18(g_array) 65
67: 6(float) Load 66
68: 6(float) FAdd 62 67
69: 7(fvec4) CompositeConstruct 68 68 68 68
71: 70(ptr) AccessChain 11(ps_output) 48
Store 71 69
Return
FunctionEnd

View File

@ -0,0 +1,210 @@
hlsl.array.multidim.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:14 direct index (temp 4-component vector of float)
0:14 direct index (temp 3-element array of 4-component vector of float)
0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 2 (const int)
0:14 Construct vec4 (temp 4-component vector of float)
0:14 direct index (layout(offset=0 ) temp float)
0:14 direct index (layout(offset=0 ) temp 3-element array of float)
0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
0:14 Constant:
0:14 0 (const uint)
0:14 Constant:
0:14 2 (const int)
0:14 Constant:
0:14 3 (const int)
0:14 Constant:
0:14 1 (const int)
0:15 move second child to first child (temp 3-element array of 4-component vector of float)
0:15 direct index (temp 3-element array of 4-component vector of float)
0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
0:15 Constant:
0:15 1 (const int)
0:15 direct index (temp 3-element array of 4-component vector of float)
0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:15 Constant:
0:15 0 (const int)
0:18 move second child to first child (temp 4-component vector of float)
0:18 Color: direct index for structure (temp 4-component vector of float)
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 Constant:
0:18 0 (const int)
0:18 direct index (temp 4-component vector of float)
0:18 direct index (temp 3-element array of 4-component vector of float)
0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:18 Constant:
0:18 1 (const int)
0:18 Constant:
0:18 2 (const int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:19 Color: direct index for structure (temp 4-component vector of float)
0:19 'psout' (temp structure{temp 4-component vector of float Color})
0:19 Constant:
0:19 0 (const int)
0:19 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:10 Function Parameters:
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:14 direct index (temp 4-component vector of float)
0:14 direct index (temp 3-element array of 4-component vector of float)
0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 2 (const int)
0:14 Construct vec4 (temp 4-component vector of float)
0:14 direct index (layout(offset=0 ) temp float)
0:14 direct index (layout(offset=0 ) temp 3-element array of float)
0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
0:14 Constant:
0:14 0 (const uint)
0:14 Constant:
0:14 2 (const int)
0:14 Constant:
0:14 3 (const int)
0:14 Constant:
0:14 1 (const int)
0:15 move second child to first child (temp 3-element array of 4-component vector of float)
0:15 direct index (temp 3-element array of 4-component vector of float)
0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
0:15 Constant:
0:15 1 (const int)
0:15 direct index (temp 3-element array of 4-component vector of float)
0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:15 Constant:
0:15 0 (const int)
0:18 move second child to first child (temp 4-component vector of float)
0:18 Color: direct index for structure (temp 4-component vector of float)
0:18 'psout' (temp structure{temp 4-component vector of float Color})
0:18 Constant:
0:18 0 (const int)
0:18 direct index (temp 4-component vector of float)
0:18 direct index (temp 3-element array of 4-component vector of float)
0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
0:18 Constant:
0:18 1 (const int)
0:18 Constant:
0:18 2 (const int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:19 Color: direct index for structure (temp 4-component vector of float)
0:19 'psout' (temp structure{temp 4-component vector of float Color})
0:19 Constant:
0:19 0 (const int)
0:19 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 52
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 48
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 14 "float4_array_1"
Name 23 "$Global"
MemberName 23($Global) 0 "float_array"
Name 25 ""
Name 36 "float4_array_2"
Name 41 "PS_OUTPUT"
MemberName 41(PS_OUTPUT) 0 "Color"
Name 43 "psout"
Name 48 "Color"
Decorate 18 ArrayStride 16
Decorate 20 ArrayStride 48
Decorate 22 ArrayStride 192
MemberDecorate 23($Global) 0 Offset 0
Decorate 23($Global) Block
Decorate 25 DescriptorSet 0
Decorate 48(Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeInt 32 0
9: 8(int) Constant 3
10: TypeArray 7(fvec4) 9
11: 8(int) Constant 2
12: TypeArray 10 11
13: TypePointer Function 12
15: TypeInt 32 1
16: 15(int) Constant 1
17: 15(int) Constant 2
18: TypeArray 6(float) 9
19: 8(int) Constant 4
20: TypeArray 18 19
21: 8(int) Constant 5
22: TypeArray 20 21
23($Global): TypeStruct 22
24: TypePointer Uniform 23($Global)
25: 24(ptr) Variable Uniform
26: 15(int) Constant 0
27: 15(int) Constant 3
28: TypePointer Uniform 6(float)
32: TypePointer Function 7(fvec4)
34: TypeArray 10 21
35: TypePointer Function 34
37: TypePointer Function 10
41(PS_OUTPUT): TypeStruct 7(fvec4)
42: TypePointer Function 41(PS_OUTPUT)
47: TypePointer Output 7(fvec4)
48(Color): 47(ptr) Variable Output
4(main): 2 Function None 3
5: Label
14(float4_array_1): 13(ptr) Variable Function
36(float4_array_2): 35(ptr) Variable Function
43(psout): 42(ptr) Variable Function
29: 28(ptr) AccessChain 25 26 17 27 16
30: 6(float) Load 29
31: 7(fvec4) CompositeConstruct 30 30 30 30
33: 32(ptr) AccessChain 14(float4_array_1) 16 17
Store 33 31
38: 37(ptr) AccessChain 14(float4_array_1) 26
39: 10 Load 38
40: 37(ptr) AccessChain 36(float4_array_2) 16
Store 40 39
44: 32(ptr) AccessChain 14(float4_array_1) 16 17
45: 7(fvec4) Load 44
46: 32(ptr) AccessChain 43(psout) 26
Store 46 45
49: 32(ptr) AccessChain 43(psout) 26
50: 7(fvec4) Load 49
Store 48(Color) 50
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.assoc.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
@ -47,7 +47,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
0:8 Function Parameters:
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
0:8 'a2' (layout(location=1 ) in 4-component vector of float)

View File

@ -0,0 +1,138 @@
hlsl.attribute.expression.comp
Shader version: 450
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: main( (temp 4-component vector of float)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp int)
0:11 'x' (temp int)
0:11 Constant:
0:11 0 (const int)
0:11 Loop with condition tested first
0:11 Loop Condition
0:11 Compare Less Than (temp bool)
0:11 'x' (temp int)
0:11 bound: direct index for structure (layout(offset=0 ) uniform int)
0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
0:11 Constant:
0:11 0 (const uint)
0:11 No loop body
0:11 Loop Terminal Expression
0:11 Pre-Increment (temp int)
0:11 'x' (temp int)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:14 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
Linked compute stage:
Shader version: 450
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: main( (temp 4-component vector of float)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
0:11 move second child to first child (temp int)
0:11 'x' (temp int)
0:11 Constant:
0:11 0 (const int)
0:11 Loop with condition tested first
0:11 Loop Condition
0:11 Compare Less Than (temp bool)
0:11 'x' (temp int)
0:11 bound: direct index for structure (layout(offset=0 ) uniform int)
0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
0:11 Constant:
0:11 0 (const uint)
0:11 No loop body
0:11 Loop Terminal Expression
0:11 Pre-Increment (temp int)
0:11 'x' (temp int)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:14 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 34
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 30
ExecutionMode 4 LocalSize 4 6 8
Name 4 "main"
Name 8 "x"
Name 16 "$Global"
MemberName 16($Global) 0 "bound"
Name 18 ""
Name 30 "@entryPointOutput"
MemberDecorate 16($Global) 0 Offset 0
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
Decorate 30(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
16($Global): TypeStruct 6(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: TypePointer Uniform 6(int)
22: TypeBool
25: 6(int) Constant 1
27: TypeFloat 32
28: TypeVector 27(float) 4
29: TypePointer Output 28(fvec4)
30(@entryPointOutput): 29(ptr) Variable Output
31: 27(float) Constant 0
32: 28(fvec4) ConstantComposite 31 31 31 31
4(main): 2 Function None 3
5: Label
8(x): 7(ptr) Variable Function
Store 8(x) 9
Branch 10
10: Label
LoopMerge 12 13 None
Branch 14
14: Label
15: 6(int) Load 8(x)
20: 19(ptr) AccessChain 18 9
21: 6(int) Load 20
23: 22(bool) SLessThan 15 21
BranchConditional 23 11 12
11: Label
Branch 13
13: Label
24: 6(int) Load 8(x)
26: 6(int) IAdd 24 25
Store 8(x) 26
Branch 10
12: Label
Store 30(@entryPointOutput) 32
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.attribute.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global void)
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
@ -21,7 +21,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global void)
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence

View File

@ -0,0 +1,58 @@
hlsl.basic.comp
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:4 Function Definition: main(i1; (temp void)
0:4 Function Parameters:
0:4 'dti' (in int LocalInvocationID)
0:? Sequence
0:5 'dti' (in int LocalInvocationID)
0:? Linker Objects
0:? 'dti' (in int LocalInvocationID)
0:? 'a' (shared 100-element array of 4-component vector of float)
Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
0:4 Function Definition: main(i1; (temp void)
0:4 Function Parameters:
0:4 'dti' (in int LocalInvocationID)
0:? Sequence
0:5 'dti' (in int LocalInvocationID)
0:? Linker Objects
0:? 'dti' (in int LocalInvocationID)
0:? 'a' (shared 100-element array of 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 16
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 8
ExecutionMode 4 LocalSize 1 1 1
Name 4 "main"
Name 8 "dti"
Name 15 "a"
Decorate 8(dti) BuiltIn LocalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Input 6(int)
8(dti): 7(ptr) Variable Input
9: TypeFloat 32
10: TypeVector 9(float) 4
11: TypeInt 32 0
12: 11(int) Constant 100
13: TypeArray 10(fvec4) 12
14: TypePointer Workgroup 13
15(a): 14(ptr) Variable Workgroup
4(main): 2 Function None 3
5: Label
Return
FunctionEnd

View File

@ -0,0 +1,201 @@
hlsl.basic.geom
Shader version: 450
invocations = -1
max_vertices = 4
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:16 Function Parameters:
0:16 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:16 'test' (layout(location=3 ) in 3-element array of uint)
0:16 'OutputStream' (out structure{temp float myfloat, temp int something})
0:? Sequence
0:19 move second child to first child (temp float)
0:19 myfloat: direct index for structure (temp float)
0:19 'Vert' (temp structure{temp float myfloat, temp int something})
0:19 Constant:
0:19 0 (const int)
0:19 Convert uint to float (temp float)
0:19 add (temp uint)
0:19 add (temp uint)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 Constant:
0:19 0 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 Constant:
0:19 1 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 Constant:
0:19 2 (const int)
0:20 move second child to first child (temp int)
0:20 something: direct index for structure (temp int)
0:20 'Vert' (temp structure{temp float myfloat, temp int something})
0:20 Constant:
0:20 1 (const int)
0:20 Convert uint to int (temp int)
0:20 direct index (layout(location=0 ) temp uint)
0:20 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:20 Constant:
0:20 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp float myfloat, temp int something})
0:22 'OutputStream' (out structure{temp float myfloat, temp int something})
0:22 'Vert' (temp structure{temp float myfloat, temp int something})
0:22 EmitVertex (temp void)
0:23 Sequence
0:23 move second child to first child (temp structure{temp float myfloat, temp int something})
0:23 'OutputStream' (out structure{temp float myfloat, temp int something})
0:23 'Vert' (temp structure{temp float myfloat, temp int something})
0:23 EmitVertex (temp void)
0:24 EndPrimitive (temp void)
0:? Linker Objects
0:? 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:? 'test' (layout(location=3 ) in 3-element array of uint)
0:? 'myfloat' (layout(location=0 ) out float)
0:? 'something' (layout(location=1 ) out int)
Linked geometry stage:
Shader version: 450
invocations = 1
max_vertices = 4
input primitive = triangles
output primitive = line_strip
0:? Sequence
0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
0:16 Function Parameters:
0:16 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:16 'test' (layout(location=3 ) in 3-element array of uint)
0:16 'OutputStream' (out structure{temp float myfloat, temp int something})
0:? Sequence
0:19 move second child to first child (temp float)
0:19 myfloat: direct index for structure (temp float)
0:19 'Vert' (temp structure{temp float myfloat, temp int something})
0:19 Constant:
0:19 0 (const int)
0:19 Convert uint to float (temp float)
0:19 add (temp uint)
0:19 add (temp uint)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 Constant:
0:19 0 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 Constant:
0:19 1 (const int)
0:19 direct index (layout(location=3 ) temp uint)
0:19 'test' (layout(location=3 ) in 3-element array of uint)
0:19 Constant:
0:19 2 (const int)
0:20 move second child to first child (temp int)
0:20 something: direct index for structure (temp int)
0:20 'Vert' (temp structure{temp float myfloat, temp int something})
0:20 Constant:
0:20 1 (const int)
0:20 Convert uint to int (temp int)
0:20 direct index (layout(location=0 ) temp uint)
0:20 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:20 Constant:
0:20 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp float myfloat, temp int something})
0:22 'OutputStream' (out structure{temp float myfloat, temp int something})
0:22 'Vert' (temp structure{temp float myfloat, temp int something})
0:22 EmitVertex (temp void)
0:23 Sequence
0:23 move second child to first child (temp structure{temp float myfloat, temp int something})
0:23 'OutputStream' (out structure{temp float myfloat, temp int something})
0:23 'Vert' (temp structure{temp float myfloat, temp int something})
0:23 EmitVertex (temp void)
0:24 EndPrimitive (temp void)
0:? Linker Objects
0:? 'VertexID' (layout(location=0 ) in 3-element array of uint)
0:? 'test' (layout(location=3 ) in 3-element array of uint)
0:? 'myfloat' (layout(location=0 ) out float)
0:? 'something' (layout(location=1 ) out int)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 45
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 16 31 38 42 44
ExecutionMode 4 Triangles
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputLineStrip
ExecutionMode 4 OutputVertices 4
Name 4 "main"
Name 8 "PSInput"
MemberName 8(PSInput) 0 "myfloat"
MemberName 8(PSInput) 1 "something"
Name 10 "Vert"
Name 16 "test"
Name 31 "VertexID"
Name 38 "OutputStream"
Name 42 "myfloat"
Name 44 "something"
Decorate 16(test) Location 3
Decorate 31(VertexID) Location 0
Decorate 42(myfloat) Location 0
Decorate 44(something) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeInt 32 1
8(PSInput): TypeStruct 6(float) 7(int)
9: TypePointer Function 8(PSInput)
11: 7(int) Constant 0
12: TypeInt 32 0
13: 12(int) Constant 3
14: TypeArray 12(int) 13
15: TypePointer Input 14
16(test): 15(ptr) Variable Input
17: TypePointer Input 12(int)
20: 7(int) Constant 1
24: 7(int) Constant 2
29: TypePointer Function 6(float)
31(VertexID): 15(ptr) Variable Input
35: TypePointer Function 7(int)
37: TypePointer Output 8(PSInput)
38(OutputStream): 37(ptr) Variable Output
41: TypePointer Output 6(float)
42(myfloat): 41(ptr) Variable Output
43: TypePointer Output 7(int)
44(something): 43(ptr) Variable Output
4(main): 2 Function None 3
5: Label
10(Vert): 9(ptr) Variable Function
18: 17(ptr) AccessChain 16(test) 11
19: 12(int) Load 18
21: 17(ptr) AccessChain 16(test) 20
22: 12(int) Load 21
23: 12(int) IAdd 19 22
25: 17(ptr) AccessChain 16(test) 24
26: 12(int) Load 25
27: 12(int) IAdd 23 26
28: 6(float) ConvertUToF 27
30: 29(ptr) AccessChain 10(Vert) 11
Store 30 28
32: 17(ptr) AccessChain 31(VertexID) 11
33: 12(int) Load 32
34: 7(int) Bitcast 33
36: 35(ptr) AccessChain 10(Vert) 20
Store 36 34
39: 8(PSInput) Load 10(Vert)
Store 38(OutputStream) 39
EmitVertex
40: 8(PSInput) Load 10(Vert)
Store 38(OutputStream) 40
EmitVertex
EndPrimitive
Return
FunctionEnd

View File

@ -2,42 +2,42 @@ hlsl.buffer.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:26 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:26 Function Parameters:
0:26 'input' (layout(location=0 ) in 4-component vector of float)
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:30 Function Parameters:
0:30 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 'input' (layout(location=0 ) in 4-component vector of float)
0:27 v1: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float)
0:27 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1})
0:27 Constant:
0:27 0 (const uint)
0:27 v2: direct index for structure (layout(column_major std430 ) buffer 4-component vector of float)
0:27 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2})
0:27 Constant:
0:27 0 (const uint)
0:27 v3: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float)
0:27 'anon@2' (layout(set=10 binding=2 column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3})
0:27 Constant:
0:27 0 (const uint)
0:27 v4: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float)
0:27 'anon@3' (layout(binding=8 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7})
0:27 Constant:
0:27 0 (const uint)
0:27 Branch: Return
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 'input' (layout(location=0 ) in 4-component vector of float)
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:31 Constant:
0:31 0 (const uint)
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 Constant:
0:31 0 (const uint)
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:31 Constant:
0:31 0 (const uint)
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:31 Constant:
0:31 0 (const uint)
0:31 Branch: Return
0:? Linker Objects
0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
Linked fragment stage:
@ -46,46 +46,46 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:26 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:26 Function Parameters:
0:26 'input' (layout(location=0 ) in 4-component vector of float)
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:30 Function Parameters:
0:30 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
0:27 Sequence
0:27 move second child to first child (temp 4-component vector of float)
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 add (temp 4-component vector of float)
0:27 'input' (layout(location=0 ) in 4-component vector of float)
0:27 v1: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float)
0:27 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1})
0:27 Constant:
0:27 0 (const uint)
0:27 v2: direct index for structure (layout(column_major std430 ) buffer 4-component vector of float)
0:27 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2})
0:27 Constant:
0:27 0 (const uint)
0:27 v3: direct index for structure (layout(column_major std140 ) uniform 4-component vector of float)
0:27 'anon@2' (layout(set=10 binding=2 column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3})
0:27 Constant:
0:27 0 (const uint)
0:27 v4: direct index for structure (layout(column_major std430 offset=16 ) buffer 4-component vector of float)
0:27 'anon@3' (layout(binding=8 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7})
0:27 Constant:
0:27 0 (const uint)
0:27 Branch: Return
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 add (temp 4-component vector of float)
0:31 'input' (layout(location=0 ) in 4-component vector of float)
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:31 Constant:
0:31 0 (const uint)
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:31 Constant:
0:31 0 (const uint)
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:31 Constant:
0:31 0 (const uint)
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
0:31 Constant:
0:31 0 (const uint)
0:31 Branch: Return
0:? Linker Objects
0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(column_major std430 ) buffer block{layout(column_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 column_major std140 ) uniform block{layout(column_major std140 ) uniform 4-component vector of float v3, layout(column_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 column_major std430 ) buffer block{layout(column_major std430 offset=16 ) buffer 4-component vector of float v4, layout(column_major std430 offset=48 ) buffer int i4, layout(column_major std430 offset=60 ) buffer float f1, layout(column_major std430 offset=64 ) buffer float f3, layout(column_major std430 offset=68 ) buffer float f4, layout(column_major std430 offset=72 ) buffer float f5, layout(column_major std430 ) buffer float f6, layout(column_major std430 ) buffer float f7})
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 41
// Id's are bound by 42
Capability Shader
1: ExtInstImport "GLSL.std.450"
@ -101,20 +101,24 @@ gl_FragCoord origin is upper left
Name 22 ""
MemberName 22 0 "v2"
Name 24 ""
Name 28 ""
MemberName 28 0 "v3"
MemberName 28 1 "i3"
Name 28 "cbufName"
MemberName 28(cbufName) 0 "v3"
MemberName 28(cbufName) 1 "i3"
Name 30 ""
Name 34 ""
MemberName 34 0 "v4"
MemberName 34 1 "i4"
MemberName 34 2 "f1"
MemberName 34 3 "f3"
MemberName 34 4 "f4"
MemberName 34 5 "f5"
MemberName 34 6 "f6"
MemberName 34 7 "f7"
Name 36 ""
Name 35 "tbufName"
MemberName 35(tbufName) 0 "v4"
MemberName 35(tbufName) 1 "i4"
MemberName 35(tbufName) 2 "f1"
MemberName 35(tbufName) 3 "f3"
MemberName 35(tbufName) 4 "f4"
MemberName 35(tbufName) 5 "f5"
MemberName 35(tbufName) 6 "f6"
MemberName 35(tbufName) 7 "f7"
MemberName 35(tbufName) 8 "m1"
MemberName 35(tbufName) 9 "m2"
MemberName 35(tbufName) 10 "m3"
MemberName 35(tbufName) 11 "m4"
Name 37 ""
Decorate 9(@entryPointOutput) Location 0
Decorate 11(input) Location 0
MemberDecorate 13 0 Offset 0
@ -123,22 +127,34 @@ gl_FragCoord origin is upper left
MemberDecorate 22 0 Offset 0
Decorate 22 BufferBlock
Decorate 24 DescriptorSet 0
MemberDecorate 28 0 Offset 0
MemberDecorate 28 1 Offset 20
Decorate 28 Block
MemberDecorate 28(cbufName) 0 Offset 0
MemberDecorate 28(cbufName) 1 Offset 20
Decorate 28(cbufName) Block
Decorate 30 DescriptorSet 10
Decorate 30 Binding 2
MemberDecorate 34 0 Offset 16
MemberDecorate 34 1 Offset 48
MemberDecorate 34 2 Offset 60
MemberDecorate 34 3 Offset 64
MemberDecorate 34 4 Offset 68
MemberDecorate 34 5 Offset 72
MemberDecorate 34 6 Offset 76
MemberDecorate 34 7 Offset 80
Decorate 34 BufferBlock
Decorate 36 DescriptorSet 0
Decorate 36 Binding 8
MemberDecorate 35(tbufName) 0 Offset 16
MemberDecorate 35(tbufName) 1 Offset 48
MemberDecorate 35(tbufName) 2 Offset 60
MemberDecorate 35(tbufName) 3 Offset 64
MemberDecorate 35(tbufName) 4 Offset 68
MemberDecorate 35(tbufName) 5 Offset 72
MemberDecorate 35(tbufName) 6 Offset 76
MemberDecorate 35(tbufName) 7 Offset 80
MemberDecorate 35(tbufName) 8 RowMajor
MemberDecorate 35(tbufName) 8 Offset 96
MemberDecorate 35(tbufName) 8 MatrixStride 16
MemberDecorate 35(tbufName) 9 ColMajor
MemberDecorate 35(tbufName) 9 Offset 160
MemberDecorate 35(tbufName) 9 MatrixStride 16
MemberDecorate 35(tbufName) 10 RowMajor
MemberDecorate 35(tbufName) 10 Offset 208
MemberDecorate 35(tbufName) 10 MatrixStride 16
MemberDecorate 35(tbufName) 11 RowMajor
MemberDecorate 35(tbufName) 11 Offset 272
MemberDecorate 35(tbufName) 11 MatrixStride 16
Decorate 35(tbufName) BufferBlock
Decorate 37 DescriptorSet 0
Decorate 37 Binding 8
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -156,12 +172,13 @@ gl_FragCoord origin is upper left
22: TypeStruct 7(fvec4)
23: TypePointer Uniform 22(struct)
24: 23(ptr) Variable Uniform
28: TypeStruct 7(fvec4) 16(int)
29: TypePointer Uniform 28(struct)
28(cbufName): TypeStruct 7(fvec4) 16(int)
29: TypePointer Uniform 28(cbufName)
30: 29(ptr) Variable Uniform
34: TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float)
35: TypePointer Uniform 34(struct)
36: 35(ptr) Variable Uniform
34: TypeMatrix 7(fvec4) 3
35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34
36: TypePointer Uniform 35(tbufName)
37: 36(ptr) Variable Uniform
4(PixelShaderFunction): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(input)
@ -174,9 +191,9 @@ gl_FragCoord origin is upper left
31: 18(ptr) AccessChain 30 17
32: 7(fvec4) Load 31
33: 7(fvec4) FAdd 27 32
37: 18(ptr) AccessChain 36 17
38: 7(fvec4) Load 37
39: 7(fvec4) FAdd 33 38
Store 9(@entryPointOutput) 39
38: 18(ptr) AccessChain 37 17
39: 7(fvec4) Load 38
40: 7(fvec4) FAdd 33 39
Store 9(@entryPointOutput) 40
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.calculatelod.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -139,8 +139,8 @@ gl_FragCoord origin is upper left
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:? Sequence
0:? Sequence
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
@ -155,6 +155,8 @@ gl_FragCoord origin is upper left
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -166,8 +168,6 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -176,7 +176,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:24 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -313,8 +313,8 @@ gl_FragCoord origin is upper left
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:? Sequence
0:? Sequence
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
@ -329,6 +329,8 @@ gl_FragCoord origin is upper left
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -340,12 +342,10 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 150
// Id's are bound by 141
Capability Shader
Capability Sampled1D
@ -353,51 +353,51 @@ gl_FragCoord origin is upper left
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 141 145
EntryPoint Fragment 4 "main" 132 136
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "txval10"
Name 11 "g_tTex1df4a"
Name 15 "g_sSamp"
Name 26 "txval11"
Name 29 "g_tTex1di4a"
Name 38 "txval12"
Name 42 "g_tTex1du4a"
Name 51 "txval20"
Name 54 "g_tTex2df4a"
Name 63 "txval21"
Name 66 "g_tTex2di4a"
Name 76 "txval22"
Name 79 "g_tTex2du4a"
Name 90 "txval40"
Name 93 "g_tTexcdf4a"
Name 103 "txval41"
Name 106 "g_tTexcdi4a"
Name 115 "txval42"
Name 118 "g_tTexcdu4a"
Name 131 "PS_OUTPUT"
MemberName 131(PS_OUTPUT) 0 "Color"
MemberName 131(PS_OUTPUT) 1 "Depth"
Name 133 "psout"
Name 141 "Color"
Name 145 "Depth"
Name 149 "g_tTex1df4"
Name 25 "txval11"
Name 28 "g_tTex1di4a"
Name 36 "txval12"
Name 40 "g_tTex1du4a"
Name 48 "txval20"
Name 51 "g_tTex2df4a"
Name 59 "txval21"
Name 62 "g_tTex2di4a"
Name 71 "txval22"
Name 74 "g_tTex2du4a"
Name 84 "txval40"
Name 87 "g_tTexcdf4a"
Name 96 "txval41"
Name 99 "g_tTexcdi4a"
Name 107 "txval42"
Name 110 "g_tTexcdu4a"
Name 122 "PS_OUTPUT"
MemberName 122(PS_OUTPUT) 0 "Color"
MemberName 122(PS_OUTPUT) 1 "Depth"
Name 124 "psout"
Name 132 "Color"
Name 136 "Depth"
Name 140 "g_tTex1df4"
Decorate 11(g_tTex1df4a) DescriptorSet 0
Decorate 11(g_tTex1df4a) Binding 1
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 29(g_tTex1di4a) DescriptorSet 0
Decorate 42(g_tTex1du4a) DescriptorSet 0
Decorate 54(g_tTex2df4a) DescriptorSet 0
Decorate 66(g_tTex2di4a) DescriptorSet 0
Decorate 79(g_tTex2du4a) DescriptorSet 0
Decorate 93(g_tTexcdf4a) DescriptorSet 0
Decorate 106(g_tTexcdi4a) DescriptorSet 0
Decorate 118(g_tTexcdu4a) DescriptorSet 0
Decorate 141(Color) Location 0
Decorate 145(Depth) BuiltIn FragDepth
Decorate 149(g_tTex1df4) DescriptorSet 0
Decorate 149(g_tTex1df4) Binding 0
Decorate 28(g_tTex1di4a) DescriptorSet 0
Decorate 40(g_tTex1du4a) DescriptorSet 0
Decorate 51(g_tTex2df4a) DescriptorSet 0
Decorate 62(g_tTex2di4a) DescriptorSet 0
Decorate 74(g_tTex2du4a) DescriptorSet 0
Decorate 87(g_tTexcdf4a) DescriptorSet 0
Decorate 99(g_tTexcdi4a) DescriptorSet 0
Decorate 110(g_tTexcdu4a) DescriptorSet 0
Decorate 132(Color) Location 0
Decorate 136(Depth) BuiltIn FragDepth
Decorate 140(g_tTex1df4) DescriptorSet 0
Decorate 140(g_tTex1df4) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -410,153 +410,144 @@ gl_FragCoord origin is upper left
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeSampledImage 9
19: 6(float) Constant 1036831949
21: TypeVector 6(float) 2
23: TypeInt 32 1
24: 23(int) Constant 0
27: TypeImage 23(int) 1D array sampled format:Unknown
28: TypePointer UniformConstant 27
29(g_tTex1di4a): 28(ptr) Variable UniformConstant
32: TypeSampledImage 27
34: 6(float) Constant 1045220557
39: TypeInt 32 0
40: TypeImage 39(int) 1D array sampled format:Unknown
41: TypePointer UniformConstant 40
42(g_tTex1du4a): 41(ptr) Variable UniformConstant
45: TypeSampledImage 40
47: 6(float) Constant 1050253722
52: TypeImage 6(float) 2D array sampled format:Unknown
53: TypePointer UniformConstant 52
54(g_tTex2df4a): 53(ptr) Variable UniformConstant
57: TypeSampledImage 52
59: 21(fvec2) ConstantComposite 19 34
64: TypeImage 23(int) 2D array sampled format:Unknown
65: TypePointer UniformConstant 64
66(g_tTex2di4a): 65(ptr) Variable UniformConstant
69: TypeSampledImage 64
71: 6(float) Constant 1053609165
72: 21(fvec2) ConstantComposite 47 71
77: TypeImage 39(int) 2D array sampled format:Unknown
78: TypePointer UniformConstant 77
79(g_tTex2du4a): 78(ptr) Variable UniformConstant
82: TypeSampledImage 77
84: 6(float) Constant 1056964608
85: 6(float) Constant 1058642330
86: 21(fvec2) ConstantComposite 84 85
91: TypeImage 6(float) Cube array sampled format:Unknown
92: TypePointer UniformConstant 91
93(g_tTexcdf4a): 92(ptr) Variable UniformConstant
96: TypeSampledImage 91
98: TypeVector 6(float) 3
99: 98(fvec3) ConstantComposite 19 34 47
104: TypeImage 23(int) Cube array sampled format:Unknown
105: TypePointer UniformConstant 104
106(g_tTexcdi4a): 105(ptr) Variable UniformConstant
109: TypeSampledImage 104
111: 98(fvec3) ConstantComposite 71 84 85
116: TypeImage 39(int) Cube array sampled format:Unknown
117: TypePointer UniformConstant 116
118(g_tTexcdu4a): 117(ptr) Variable UniformConstant
121: TypeSampledImage 116
123: 6(float) Constant 1060320051
124: 6(float) Constant 1061997773
125: 6(float) Constant 1063675494
126: 98(fvec3) ConstantComposite 123 124 125
130: TypeVector 6(float) 4
131(PS_OUTPUT): TypeStruct 130(fvec4) 6(float)
132: TypePointer Function 131(PS_OUTPUT)
134: 6(float) Constant 1065353216
135: 130(fvec4) ConstantComposite 134 134 134 134
136: TypePointer Function 130(fvec4)
138: 23(int) Constant 1
140: TypePointer Output 130(fvec4)
141(Color): 140(ptr) Variable Output
144: TypePointer Output 6(float)
145(Depth): 144(ptr) Variable Output
149(g_tTex1df4): 10(ptr) Variable UniformConstant
20: TypeVector 6(float) 2
22: TypeInt 32 1
23: 22(int) Constant 0
26: TypeImage 22(int) 1D array sampled format:Unknown
27: TypePointer UniformConstant 26
28(g_tTex1di4a): 27(ptr) Variable UniformConstant
31: TypeSampledImage 26
33: 6(float) Constant 1045220557
37: TypeInt 32 0
38: TypeImage 37(int) 1D array sampled format:Unknown
39: TypePointer UniformConstant 38
40(g_tTex1du4a): 39(ptr) Variable UniformConstant
43: TypeSampledImage 38
45: 6(float) Constant 1050253722
49: TypeImage 6(float) 2D array sampled format:Unknown
50: TypePointer UniformConstant 49
51(g_tTex2df4a): 50(ptr) Variable UniformConstant
54: TypeSampledImage 49
56: 20(fvec2) ConstantComposite 19 33
60: TypeImage 22(int) 2D array sampled format:Unknown
61: TypePointer UniformConstant 60
62(g_tTex2di4a): 61(ptr) Variable UniformConstant
65: TypeSampledImage 60
67: 6(float) Constant 1053609165
68: 20(fvec2) ConstantComposite 45 67
72: TypeImage 37(int) 2D array sampled format:Unknown
73: TypePointer UniformConstant 72
74(g_tTex2du4a): 73(ptr) Variable UniformConstant
77: TypeSampledImage 72
79: 6(float) Constant 1056964608
80: 6(float) Constant 1058642330
81: 20(fvec2) ConstantComposite 79 80
85: TypeImage 6(float) Cube array sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTexcdf4a): 86(ptr) Variable UniformConstant
90: TypeSampledImage 85
92: TypeVector 6(float) 3
93: 92(fvec3) ConstantComposite 19 33 45
97: TypeImage 22(int) Cube array sampled format:Unknown
98: TypePointer UniformConstant 97
99(g_tTexcdi4a): 98(ptr) Variable UniformConstant
102: TypeSampledImage 97
104: 92(fvec3) ConstantComposite 67 79 80
108: TypeImage 37(int) Cube array sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTexcdu4a): 109(ptr) Variable UniformConstant
113: TypeSampledImage 108
115: 6(float) Constant 1060320051
116: 6(float) Constant 1061997773
117: 6(float) Constant 1063675494
118: 92(fvec3) ConstantComposite 115 116 117
121: TypeVector 6(float) 4
122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float)
123: TypePointer Function 122(PS_OUTPUT)
125: 6(float) Constant 1065353216
126: 121(fvec4) ConstantComposite 125 125 125 125
127: TypePointer Function 121(fvec4)
129: 22(int) Constant 1
131: TypePointer Output 121(fvec4)
132(Color): 131(ptr) Variable Output
135: TypePointer Output 6(float)
136(Depth): 135(ptr) Variable Output
140(g_tTex1df4): 10(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(txval10): 7(ptr) Variable Function
26(txval11): 7(ptr) Variable Function
38(txval12): 7(ptr) Variable Function
51(txval20): 7(ptr) Variable Function
63(txval21): 7(ptr) Variable Function
76(txval22): 7(ptr) Variable Function
90(txval40): 7(ptr) Variable Function
103(txval41): 7(ptr) Variable Function
115(txval42): 7(ptr) Variable Function
133(psout): 132(ptr) Variable Function
25(txval11): 7(ptr) Variable Function
36(txval12): 7(ptr) Variable Function
48(txval20): 7(ptr) Variable Function
59(txval21): 7(ptr) Variable Function
71(txval22): 7(ptr) Variable Function
84(txval40): 7(ptr) Variable Function
96(txval41): 7(ptr) Variable Function
107(txval42): 7(ptr) Variable Function
124(psout): 123(ptr) Variable Function
12: 9 Load 11(g_tTex1df4a)
16: 13 Load 15(g_sSamp)
18: 17 SampledImage 12 16
20: 9 Image 18
22: 21(fvec2) ImageQueryLod 20 19
25: 6(float) CompositeExtract 22 0
Store 8(txval10) 25
30: 27 Load 29(g_tTex1di4a)
31: 13 Load 15(g_sSamp)
33: 32 SampledImage 30 31
35: 27 Image 33
36: 21(fvec2) ImageQueryLod 35 34
37: 6(float) CompositeExtract 36 0
Store 26(txval11) 37
43: 40 Load 42(g_tTex1du4a)
44: 13 Load 15(g_sSamp)
46: 45 SampledImage 43 44
48: 40 Image 46
49: 21(fvec2) ImageQueryLod 48 47
50: 6(float) CompositeExtract 49 0
Store 38(txval12) 50
55: 52 Load 54(g_tTex2df4a)
56: 13 Load 15(g_sSamp)
58: 57 SampledImage 55 56
60: 52 Image 58
61: 21(fvec2) ImageQueryLod 60 59
62: 6(float) CompositeExtract 61 0
Store 51(txval20) 62
67: 64 Load 66(g_tTex2di4a)
68: 13 Load 15(g_sSamp)
70: 69 SampledImage 67 68
73: 64 Image 70
74: 21(fvec2) ImageQueryLod 73 72
75: 6(float) CompositeExtract 74 0
Store 63(txval21) 75
80: 77 Load 79(g_tTex2du4a)
81: 13 Load 15(g_sSamp)
83: 82 SampledImage 80 81
87: 77 Image 83
88: 21(fvec2) ImageQueryLod 87 86
89: 6(float) CompositeExtract 88 0
Store 76(txval22) 89
94: 91 Load 93(g_tTexcdf4a)
95: 13 Load 15(g_sSamp)
97: 96 SampledImage 94 95
100: 91 Image 97
101: 21(fvec2) ImageQueryLod 100 99
102: 6(float) CompositeExtract 101 0
Store 90(txval40) 102
107: 104 Load 106(g_tTexcdi4a)
108: 13 Load 15(g_sSamp)
110: 109 SampledImage 107 108
112: 104 Image 110
113: 21(fvec2) ImageQueryLod 112 111
114: 6(float) CompositeExtract 113 0
Store 103(txval41) 114
119: 116 Load 118(g_tTexcdu4a)
120: 13 Load 15(g_sSamp)
122: 121 SampledImage 119 120
127: 116 Image 122
128: 21(fvec2) ImageQueryLod 127 126
129: 6(float) CompositeExtract 128 0
Store 115(txval42) 129
137: 136(ptr) AccessChain 133(psout) 24
Store 137 135
139: 7(ptr) AccessChain 133(psout) 138
Store 139 134
142: 136(ptr) AccessChain 133(psout) 24
143: 130(fvec4) Load 142
Store 141(Color) 143
146: 7(ptr) AccessChain 133(psout) 138
147: 6(float) Load 146
Store 145(Depth) 147
21: 20(fvec2) ImageQueryLod 18 19
24: 6(float) CompositeExtract 21 0
Store 8(txval10) 24
29: 26 Load 28(g_tTex1di4a)
30: 13 Load 15(g_sSamp)
32: 31 SampledImage 29 30
34: 20(fvec2) ImageQueryLod 32 33
35: 6(float) CompositeExtract 34 0
Store 25(txval11) 35
41: 38 Load 40(g_tTex1du4a)
42: 13 Load 15(g_sSamp)
44: 43 SampledImage 41 42
46: 20(fvec2) ImageQueryLod 44 45
47: 6(float) CompositeExtract 46 0
Store 36(txval12) 47
52: 49 Load 51(g_tTex2df4a)
53: 13 Load 15(g_sSamp)
55: 54 SampledImage 52 53
57: 20(fvec2) ImageQueryLod 55 56
58: 6(float) CompositeExtract 57 0
Store 48(txval20) 58
63: 60 Load 62(g_tTex2di4a)
64: 13 Load 15(g_sSamp)
66: 65 SampledImage 63 64
69: 20(fvec2) ImageQueryLod 66 68
70: 6(float) CompositeExtract 69 0
Store 59(txval21) 70
75: 72 Load 74(g_tTex2du4a)
76: 13 Load 15(g_sSamp)
78: 77 SampledImage 75 76
82: 20(fvec2) ImageQueryLod 78 81
83: 6(float) CompositeExtract 82 0
Store 71(txval22) 83
88: 85 Load 87(g_tTexcdf4a)
89: 13 Load 15(g_sSamp)
91: 90 SampledImage 88 89
94: 20(fvec2) ImageQueryLod 91 93
95: 6(float) CompositeExtract 94 0
Store 84(txval40) 95
100: 97 Load 99(g_tTexcdi4a)
101: 13 Load 15(g_sSamp)
103: 102 SampledImage 100 101
105: 20(fvec2) ImageQueryLod 103 104
106: 6(float) CompositeExtract 105 0
Store 96(txval41) 106
111: 108 Load 110(g_tTexcdu4a)
112: 13 Load 15(g_sSamp)
114: 113 SampledImage 111 112
119: 20(fvec2) ImageQueryLod 114 118
120: 6(float) CompositeExtract 119 0
Store 107(txval42) 120
128: 127(ptr) AccessChain 124(psout) 23
Store 128 126
130: 7(ptr) AccessChain 124(psout) 129
Store 130 125
133: 127(ptr) AccessChain 124(psout) 23
134: 121(fvec4) Load 133
Store 132(Color) 134
137: 7(ptr) AccessChain 124(psout) 129
138: 6(float) Load 137
Store 136(Depth) 138
Return
FunctionEnd

View File

@ -14,7 +14,7 @@ ERROR: 9 compilation errors. No code generated.
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:24 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -151,8 +151,8 @@ ERROR: node is still EOpNull!
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:? Sequence
0:? Sequence
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
@ -167,6 +167,8 @@ ERROR: node is still EOpNull!
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -178,8 +180,6 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -188,7 +188,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
0:24 Function Definition: main( (global structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
0:28 Sequence
@ -325,8 +325,8 @@ ERROR: node is still EOpNull!
0:41 1 (const int)
0:41 Constant:
0:41 1.000000
0:? Sequence
0:? Sequence
0:43 Sequence
0:43 Sequence
0:43 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:43 Color: direct index for structure (temp 4-component vector of float)
@ -341,6 +341,8 @@ ERROR: node is still EOpNull!
0:43 1 (const int)
0:43 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@ -352,7 +354,5 @@ ERROR: node is still EOpNull!
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
SPIR-V is not generated for failed compile or link

View File

@ -2,7 +2,7 @@ hlsl.cast.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
@ -33,7 +33,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence

View File

@ -0,0 +1,402 @@
hlsl.comparison.vec.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: Bug1(vf4; (temp void)
0:4 Function Parameters:
0:4 'a' (in 4-component vector of float)
0:? Sequence
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:5 'v04' (temp 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:6 Sequence
0:6 move second child to first child (temp float)
0:6 'v01' (temp float)
0:6 Constant:
0:6 0.000000
0:8 Sequence
0:8 move second child to first child (temp 4-component vector of bool)
0:8 'r00' (temp 4-component vector of bool)
0:8 Equal (temp 4-component vector of bool)
0:8 'a' (in 4-component vector of float)
0:8 'v04' (temp 4-component vector of float)
0:9 Sequence
0:9 move second child to first child (temp 4-component vector of bool)
0:9 'r01' (temp 4-component vector of bool)
0:9 NotEqual (temp 4-component vector of bool)
0:9 'a' (in 4-component vector of float)
0:9 'v04' (temp 4-component vector of float)
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of bool)
0:10 'r02' (temp 4-component vector of bool)
0:10 Compare Less Than (temp 4-component vector of bool)
0:10 'a' (in 4-component vector of float)
0:10 'v04' (temp 4-component vector of float)
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of bool)
0:11 'r03' (temp 4-component vector of bool)
0:11 Compare Greater Than (temp 4-component vector of bool)
0:11 'a' (in 4-component vector of float)
0:11 'v04' (temp 4-component vector of float)
0:13 Sequence
0:13 move second child to first child (temp 4-component vector of bool)
0:13 'r10' (temp 4-component vector of bool)
0:13 Equal (temp 4-component vector of bool)
0:13 'a' (in 4-component vector of float)
0:13 Construct vec4 (in 4-component vector of float)
0:13 'v01' (temp float)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of bool)
0:14 'r11' (temp 4-component vector of bool)
0:14 NotEqual (temp 4-component vector of bool)
0:14 'a' (in 4-component vector of float)
0:14 Construct vec4 (in 4-component vector of float)
0:14 'v01' (temp float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of bool)
0:15 'r12' (temp 4-component vector of bool)
0:15 Compare Less Than (temp 4-component vector of bool)
0:15 'a' (in 4-component vector of float)
0:15 Construct vec4 (in 4-component vector of float)
0:15 'v01' (temp float)
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of bool)
0:16 'r13' (temp 4-component vector of bool)
0:16 Compare Greater Than (temp 4-component vector of bool)
0:16 'a' (in 4-component vector of float)
0:16 Construct vec4 (in 4-component vector of float)
0:16 'v01' (temp float)
0:18 Sequence
0:18 move second child to first child (temp 4-component vector of bool)
0:18 'r20' (temp 4-component vector of bool)
0:18 Equal (temp 4-component vector of bool)
0:18 Construct vec4 (in 4-component vector of float)
0:18 'v01' (temp float)
0:18 'a' (in 4-component vector of float)
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of bool)
0:19 'r21' (temp 4-component vector of bool)
0:19 NotEqual (temp 4-component vector of bool)
0:19 Construct vec4 (in 4-component vector of float)
0:19 'v01' (temp float)
0:19 'a' (in 4-component vector of float)
0:20 Sequence
0:20 move second child to first child (temp 4-component vector of bool)
0:20 'r22' (temp 4-component vector of bool)
0:20 Compare Less Than (temp 4-component vector of bool)
0:20 Construct vec4 (in 4-component vector of float)
0:20 'v01' (temp float)
0:20 'a' (in 4-component vector of float)
0:21 Sequence
0:21 move second child to first child (temp 4-component vector of bool)
0:21 'r23' (temp 4-component vector of bool)
0:21 Compare Greater Than (temp 4-component vector of bool)
0:21 Construct vec4 (in 4-component vector of float)
0:21 'v01' (temp float)
0:21 'a' (in 4-component vector of float)
0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:30 Function Parameters:
0:? Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:32 Color: direct index for structure (temp 4-component vector of float)
0:32 'psout' (temp structure{temp 4-component vector of float Color})
0:32 Constant:
0:32 0 (const int)
0:32 Constant:
0:32 0.000000
0:32 0.000000
0:32 0.000000
0:32 0.000000
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:33 Color: direct index for structure (temp 4-component vector of float)
0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:33 Constant:
0:33 0 (const int)
0:33 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: Bug1(vf4; (temp void)
0:4 Function Parameters:
0:4 'a' (in 4-component vector of float)
0:? Sequence
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
0:5 'v04' (temp 4-component vector of float)
0:? Constant:
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:6 Sequence
0:6 move second child to first child (temp float)
0:6 'v01' (temp float)
0:6 Constant:
0:6 0.000000
0:8 Sequence
0:8 move second child to first child (temp 4-component vector of bool)
0:8 'r00' (temp 4-component vector of bool)
0:8 Equal (temp 4-component vector of bool)
0:8 'a' (in 4-component vector of float)
0:8 'v04' (temp 4-component vector of float)
0:9 Sequence
0:9 move second child to first child (temp 4-component vector of bool)
0:9 'r01' (temp 4-component vector of bool)
0:9 NotEqual (temp 4-component vector of bool)
0:9 'a' (in 4-component vector of float)
0:9 'v04' (temp 4-component vector of float)
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of bool)
0:10 'r02' (temp 4-component vector of bool)
0:10 Compare Less Than (temp 4-component vector of bool)
0:10 'a' (in 4-component vector of float)
0:10 'v04' (temp 4-component vector of float)
0:11 Sequence
0:11 move second child to first child (temp 4-component vector of bool)
0:11 'r03' (temp 4-component vector of bool)
0:11 Compare Greater Than (temp 4-component vector of bool)
0:11 'a' (in 4-component vector of float)
0:11 'v04' (temp 4-component vector of float)
0:13 Sequence
0:13 move second child to first child (temp 4-component vector of bool)
0:13 'r10' (temp 4-component vector of bool)
0:13 Equal (temp 4-component vector of bool)
0:13 'a' (in 4-component vector of float)
0:13 Construct vec4 (in 4-component vector of float)
0:13 'v01' (temp float)
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of bool)
0:14 'r11' (temp 4-component vector of bool)
0:14 NotEqual (temp 4-component vector of bool)
0:14 'a' (in 4-component vector of float)
0:14 Construct vec4 (in 4-component vector of float)
0:14 'v01' (temp float)
0:15 Sequence
0:15 move second child to first child (temp 4-component vector of bool)
0:15 'r12' (temp 4-component vector of bool)
0:15 Compare Less Than (temp 4-component vector of bool)
0:15 'a' (in 4-component vector of float)
0:15 Construct vec4 (in 4-component vector of float)
0:15 'v01' (temp float)
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of bool)
0:16 'r13' (temp 4-component vector of bool)
0:16 Compare Greater Than (temp 4-component vector of bool)
0:16 'a' (in 4-component vector of float)
0:16 Construct vec4 (in 4-component vector of float)
0:16 'v01' (temp float)
0:18 Sequence
0:18 move second child to first child (temp 4-component vector of bool)
0:18 'r20' (temp 4-component vector of bool)
0:18 Equal (temp 4-component vector of bool)
0:18 Construct vec4 (in 4-component vector of float)
0:18 'v01' (temp float)
0:18 'a' (in 4-component vector of float)
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of bool)
0:19 'r21' (temp 4-component vector of bool)
0:19 NotEqual (temp 4-component vector of bool)
0:19 Construct vec4 (in 4-component vector of float)
0:19 'v01' (temp float)
0:19 'a' (in 4-component vector of float)
0:20 Sequence
0:20 move second child to first child (temp 4-component vector of bool)
0:20 'r22' (temp 4-component vector of bool)
0:20 Compare Less Than (temp 4-component vector of bool)
0:20 Construct vec4 (in 4-component vector of float)
0:20 'v01' (temp float)
0:20 'a' (in 4-component vector of float)
0:21 Sequence
0:21 move second child to first child (temp 4-component vector of bool)
0:21 'r23' (temp 4-component vector of bool)
0:21 Compare Greater Than (temp 4-component vector of bool)
0:21 Construct vec4 (in 4-component vector of float)
0:21 'v01' (temp float)
0:21 'a' (in 4-component vector of float)
0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:30 Function Parameters:
0:? Sequence
0:32 move second child to first child (temp 4-component vector of float)
0:32 Color: direct index for structure (temp 4-component vector of float)
0:32 'psout' (temp structure{temp 4-component vector of float Color})
0:32 Constant:
0:32 0 (const int)
0:32 Constant:
0:32 0.000000
0:32 0.000000
0:32 0.000000
0:32 0.000000
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:33 Color: direct index for structure (temp 4-component vector of float)
0:33 'psout' (temp structure{temp 4-component vector of float Color})
0:33 Constant:
0:33 0 (const int)
0:33 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 91
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 84
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 11 "Bug1(vf4;"
Name 10 "a"
Name 13 "v04"
Name 17 "v01"
Name 21 "r00"
Name 25 "r01"
Name 29 "r02"
Name 33 "r03"
Name 37 "r10"
Name 42 "r11"
Name 47 "r12"
Name 52 "r13"
Name 57 "r20"
Name 62 "r21"
Name 67 "r22"
Name 72 "r23"
Name 77 "PS_OUTPUT"
MemberName 77(PS_OUTPUT) 0 "Color"
Name 79 "psout"
Name 84 "Color"
Name 88 "$Global"
MemberName 88($Global) 0 "uf4"
Name 90 ""
Decorate 84(Color) Location 0
MemberDecorate 88($Global) 0 Offset 0
Decorate 88($Global) Block
Decorate 90 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 2 8(ptr)
14: 6(float) Constant 0
15: 7(fvec4) ConstantComposite 14 14 14 14
16: TypePointer Function 6(float)
18: TypeBool
19: TypeVector 18(bool) 4
20: TypePointer Function 19(bvec4)
77(PS_OUTPUT): TypeStruct 7(fvec4)
78: TypePointer Function 77(PS_OUTPUT)
80: TypeInt 32 1
81: 80(int) Constant 0
83: TypePointer Output 7(fvec4)
84(Color): 83(ptr) Variable Output
88($Global): TypeStruct 7(fvec4)
89: TypePointer Uniform 88($Global)
90: 89(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
79(psout): 78(ptr) Variable Function
82: 8(ptr) AccessChain 79(psout) 81
Store 82 15
85: 8(ptr) AccessChain 79(psout) 81
86: 7(fvec4) Load 85
Store 84(Color) 86
Return
FunctionEnd
11(Bug1(vf4;): 2 Function None 9
10(a): 8(ptr) FunctionParameter
12: Label
13(v04): 8(ptr) Variable Function
17(v01): 16(ptr) Variable Function
21(r00): 20(ptr) Variable Function
25(r01): 20(ptr) Variable Function
29(r02): 20(ptr) Variable Function
33(r03): 20(ptr) Variable Function
37(r10): 20(ptr) Variable Function
42(r11): 20(ptr) Variable Function
47(r12): 20(ptr) Variable Function
52(r13): 20(ptr) Variable Function
57(r20): 20(ptr) Variable Function
62(r21): 20(ptr) Variable Function
67(r22): 20(ptr) Variable Function
72(r23): 20(ptr) Variable Function
Store 13(v04) 15
Store 17(v01) 14
22: 7(fvec4) Load 10(a)
23: 7(fvec4) Load 13(v04)
24: 19(bvec4) FOrdEqual 22 23
Store 21(r00) 24
26: 7(fvec4) Load 10(a)
27: 7(fvec4) Load 13(v04)
28: 19(bvec4) FOrdNotEqual 26 27
Store 25(r01) 28
30: 7(fvec4) Load 10(a)
31: 7(fvec4) Load 13(v04)
32: 19(bvec4) FOrdLessThan 30 31
Store 29(r02) 32
34: 7(fvec4) Load 10(a)
35: 7(fvec4) Load 13(v04)
36: 19(bvec4) FOrdGreaterThan 34 35
Store 33(r03) 36
38: 7(fvec4) Load 10(a)
39: 6(float) Load 17(v01)
40: 7(fvec4) CompositeConstruct 39 39 39 39
41: 19(bvec4) FOrdEqual 38 40
Store 37(r10) 41
43: 7(fvec4) Load 10(a)
44: 6(float) Load 17(v01)
45: 7(fvec4) CompositeConstruct 44 44 44 44
46: 19(bvec4) FOrdNotEqual 43 45
Store 42(r11) 46
48: 7(fvec4) Load 10(a)
49: 6(float) Load 17(v01)
50: 7(fvec4) CompositeConstruct 49 49 49 49
51: 19(bvec4) FOrdLessThan 48 50
Store 47(r12) 51
53: 7(fvec4) Load 10(a)
54: 6(float) Load 17(v01)
55: 7(fvec4) CompositeConstruct 54 54 54 54
56: 19(bvec4) FOrdGreaterThan 53 55
Store 52(r13) 56
58: 6(float) Load 17(v01)
59: 7(fvec4) CompositeConstruct 58 58 58 58
60: 7(fvec4) Load 10(a)
61: 19(bvec4) FOrdEqual 59 60
Store 57(r20) 61
63: 6(float) Load 17(v01)
64: 7(fvec4) CompositeConstruct 63 63 63 63
65: 7(fvec4) Load 10(a)
66: 19(bvec4) FOrdNotEqual 64 65
Store 62(r21) 66
68: 6(float) Load 17(v01)
69: 7(fvec4) CompositeConstruct 68 68 68 68
70: 7(fvec4) Load 10(a)
71: 19(bvec4) FOrdLessThan 69 70
Store 67(r22) 71
73: 6(float) Load 17(v01)
74: 7(fvec4) CompositeConstruct 73 73 73 73
75: 7(fvec4) Load 10(a)
76: 19(bvec4) FOrdGreaterThan 74 75
Store 72(r23) 76
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.conditional.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
@ -119,7 +119,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence

View File

@ -2,7 +2,7 @@ hlsl.constructexpr.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (global structure{temp 4-component vector of float color})
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:4 Function Parameters:
0:? Sequence
0:6 Constant:
@ -34,8 +34,8 @@ gl_FragCoord origin is upper left
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:? Sequence
0:? Sequence
0:16 Sequence
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)
@ -53,7 +53,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:4 Function Definition: main( (global structure{temp 4-component vector of float color})
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
0:4 Function Parameters:
0:? Sequence
0:6 Constant:
@ -85,8 +85,8 @@ gl_FragCoord origin is upper left
0:15 1.000000
0:15 1.000000
0:15 1.000000
0:? Sequence
0:? Sequence
0:16 Sequence
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:16 color: direct index for structure (temp 4-component vector of float)

View File

@ -0,0 +1,25 @@
hlsl.deadFunctionMissingBody.vert
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 13
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9
Name 4 "main"
Name 9 "@entryPointOutput"
Decorate 9(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(@entryPointOutput): 8(ptr) Variable Output
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
4(main): 2 Function None 3
5: Label
Store 9(@entryPointOutput) 11
Return
FunctionEnd

View File

@ -3,7 +3,7 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_greater
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (global void)
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float FragDepth)
0:? Sequence
@ -22,7 +22,7 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_greater
0:? Sequence
0:2 Function Definition: PixelShaderFunction(f1; (global void)
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
0:2 Function Parameters:
0:2 'depth' (out float FragDepth)
0:? Sequence

View File

@ -3,7 +3,7 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: PixelShaderFunction( (global float FragDepth)
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
0:2 Function Parameters:
0:? Sequence
0:3 Sequence
@ -23,7 +23,7 @@ Shader version: 450
gl_FragCoord origin is upper left
using depth_less
0:? Sequence
0:2 Function Definition: PixelShaderFunction( (global float FragDepth)
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
0:2 Function Parameters:
0:? Sequence
0:3 Sequence

View File

@ -2,7 +2,7 @@ hlsl.discard.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: foo(f1; (global void)
0:2 Function Definition: foo(f1; (temp void)
0:2 Function Parameters:
0:2 'f' (in float)
0:? Sequence
@ -14,11 +14,11 @@ gl_FragCoord origin is upper left
0:3 1.000000
0:3 true case
0:4 Branch: Kill
0:8 Function Definition: PixelShaderFunction(vf4; (global void)
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
0:8 Function Parameters:
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
0:9 Function Call: foo(f1; (global void)
0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 Constant:
@ -49,7 +49,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: foo(f1; (global void)
0:2 Function Definition: foo(f1; (temp void)
0:2 Function Parameters:
0:2 'f' (in float)
0:? Sequence
@ -61,11 +61,11 @@ gl_FragCoord origin is upper left
0:3 1.000000
0:3 true case
0:4 Branch: Kill
0:8 Function Definition: PixelShaderFunction(vf4; (global void)
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
0:8 Function Parameters:
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
0:9 Function Call: foo(f1; (global void)
0:9 Function Call: foo(f1; (temp void)
0:9 direct index (temp float)
0:9 'input' (layout(location=0 ) in 4-component vector of float)
0:9 Constant:

View File

@ -2,7 +2,7 @@ hlsl.doLoop.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
@ -18,9 +18,10 @@ gl_FragCoord origin is upper left
0:4 No loop body
0:5 Loop with condition not tested first
0:5 Loop Condition
0:5 Compare Equal (temp bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 all (temp bool)
0:5 Equal (temp 4-component vector of bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 Loop Body
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)
@ -38,7 +39,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (layout(location=0 ) in 4-component vector of float)
0:? Sequence
@ -54,9 +55,10 @@ gl_FragCoord origin is upper left
0:4 No loop body
0:5 Loop with condition not tested first
0:5 Loop Condition
0:5 Compare Equal (temp bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 all (temp bool)
0:5 Equal (temp 4-component vector of bool)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 'input' (layout(location=0 ) in 4-component vector of float)
0:5 Loop Body
0:5 Sequence
0:5 move second child to first child (temp 4-component vector of float)

View File

@ -2,7 +2,7 @@ hlsl.entry-in.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:8 Function Parameters:
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Sequence
@ -22,11 +22,11 @@ gl_FragCoord origin is upper left
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (global 4-component vector of float)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:? Sequence
0:15 Sequence
0:15 move second child to first child (temp 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
@ -48,33 +48,33 @@ gl_FragCoord origin is upper left
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:? Comma (temp float)
0:? Sequence
0:? move second child to first child (temp 2-component vector of float)
0:? v: direct index for structure (temp 2-component vector of float)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Constant:
0:? 0 (const int)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp 2-component vector of float)
0:17 v: direct index for structure (temp 2-component vector of float)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? move second child to first child (temp 4-component vector of float)
0:? fragCoord: direct index for structure (temp 4-component vector of float)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Constant:
0:? 1 (const int)
0:17 move second child to first child (temp 4-component vector of float)
0:17 fragCoord: direct index for structure (temp 4-component vector of float)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? move second child to first child (temp 2-component vector of int)
0:? i2: direct index for structure (temp 2-component vector of int)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Constant:
0:? 2 (const int)
0:17 move second child to first child (temp 2-component vector of int)
0:17 i2: direct index for structure (temp 2-component vector of int)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -100,7 +100,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:8 Function Parameters:
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Sequence
@ -120,11 +120,11 @@ gl_FragCoord origin is upper left
0:9 1 (const int)
0:9 Constant:
0:9 0 (const int)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (global 4-component vector of float)
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Sequence
0:? Sequence
0:15 Sequence
0:15 move second child to first child (temp 2-component vector of float)
0:15 v: direct index for structure (temp 2-component vector of float)
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
@ -146,33 +146,33 @@ gl_FragCoord origin is upper left
0:16 Sequence
0:16 move second child to first child (temp float)
0:16 'ret1' (temp float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp float)
0:17 'ret2' (temp float)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (global float)
0:? Comma (temp float)
0:? Sequence
0:? move second child to first child (temp 2-component vector of float)
0:? v: direct index for structure (temp 2-component vector of float)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Constant:
0:? 0 (const int)
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Sequence
0:17 move second child to first child (temp 2-component vector of float)
0:17 v: direct index for structure (temp 2-component vector of float)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 0 (const int)
0:? 'v' (layout(location=0 ) in 2-component vector of float)
0:? move second child to first child (temp 4-component vector of float)
0:? fragCoord: direct index for structure (temp 4-component vector of float)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Constant:
0:? 1 (const int)
0:17 move second child to first child (temp 4-component vector of float)
0:17 fragCoord: direct index for structure (temp 4-component vector of float)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 1 (const int)
0:? 'fragCoord' (in 4-component vector of float FragCoord)
0:? move second child to first child (temp 2-component vector of int)
0:? i2: direct index for structure (temp 2-component vector of int)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:? Constant:
0:? 2 (const int)
0:17 move second child to first child (temp 2-component vector of int)
0:17 i2: direct index for structure (temp 2-component vector of int)
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 Constant:
0:17 2 (const int)
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
0:? 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
0:19 Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
@ -256,7 +256,7 @@ gl_FragCoord origin is upper left
48(param): 12(ptr) Variable Function
51(ret2): 20(ptr) Variable Function
52(aggShadow): 12(ptr) Variable Function
59(param): 20(ptr) Variable Function
59(param): 12(ptr) Variable Function
33: 7(fvec2) Load 32(v)
35: 34(ptr) AccessChain 30(local) 17
Store 35 33

View File

@ -2,60 +2,83 @@ hlsl.entry-out.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (global 4-component vector of float)
0:7 Function Definition: fun(struct-OutParam-vf2-vi21; (temp void)
0:7 Function Parameters:
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'out1' (layout(location=1 ) out 4-component vector of float)
0:7 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:7 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:7 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:8 'out1' (layout(location=1 ) out 4-component vector of float)
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:9 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:8 move second child to first child (temp 2-component vector of float)
0:8 v: direct index for structure (temp 2-component vector of float)
0:8 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 0.400000
0:8 0.400000
0:9 move second child to first child (temp 2-component vector of int)
0:9 i: direct index for structure (temp 2-component vector of int)
0:9 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 2.000000
0:9 2.000000
0:10 move second child to first child (temp 2-component vector of int)
0:9 7 (const int)
0:9 7 (const int)
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'input' (layout(location=0 ) in 4-component vector of float)
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:15 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:15 Constant:
0:15 2.000000
0:15 2.000000
0:16 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=3 ) out 2-component vector of int)
0:10 Constant:
0:10 3 (const int)
0:10 3 (const int)
0:12 move second child to first child (temp 2-component vector of float)
0:12 v: direct index for structure (temp 2-component vector of float)
0:12 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:12 Constant:
0:12 0 (const int)
0:12 Constant:
0:12 12.000000
0:12 12.000000
0:13 move second child to first child (temp 2-component vector of int)
0:13 i: direct index for structure (temp 2-component vector of int)
0:13 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:13 Constant:
0:13 13 (const int)
0:13 13 (const int)
0:? Sequence
0:14 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:14 v: direct index for structure (temp 2-component vector of float)
0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:14 Constant:
0:14 0 (const int)
0:14 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:14 i: direct index for structure (temp 2-component vector of int)
0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:14 Constant:
0:14 1 (const int)
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:16 Constant:
0:16 3 (const int)
0:16 3 (const int)
0:18 move second child to first child (temp 2-component vector of float)
0:18 v: direct index for structure (temp 2-component vector of float)
0:18 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:18 Constant:
0:18 0 (const int)
0:18 Constant:
0:18 12.000000
0:18 12.000000
0:19 move second child to first child (temp 2-component vector of int)
0:19 i: direct index for structure (temp 2-component vector of int)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:19 Constant:
0:19 1 (const int)
0:19 Constant:
0:19 13 (const int)
0:19 13 (const int)
0:20 Comma (temp void)
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Sequence
0:20 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:20 v: direct index for structure (temp 2-component vector of float)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 0 (const int)
0:20 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:20 i: direct index for structure (temp 2-component vector of int)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 1 (const int)
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:16 'out1' (layout(location=1 ) out 4-component vector of float)
0:16 Branch: Return
0:22 'out1' (layout(location=1 ) out 4-component vector of float)
0:22 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -72,60 +95,83 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (global 4-component vector of float)
0:7 Function Definition: fun(struct-OutParam-vf2-vi21; (temp void)
0:7 Function Parameters:
0:7 'input' (layout(location=0 ) in 4-component vector of float)
0:7 'out1' (layout(location=1 ) out 4-component vector of float)
0:7 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:7 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:7 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence
0:8 move second child to first child (temp 4-component vector of float)
0:8 'out1' (layout(location=1 ) out 4-component vector of float)
0:8 'input' (layout(location=0 ) in 4-component vector of float)
0:9 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:8 move second child to first child (temp 2-component vector of float)
0:8 v: direct index for structure (temp 2-component vector of float)
0:8 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 0.400000
0:8 0.400000
0:9 move second child to first child (temp 2-component vector of int)
0:9 i: direct index for structure (temp 2-component vector of int)
0:9 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:9 Constant:
0:9 1 (const int)
0:9 Constant:
0:9 2.000000
0:9 2.000000
0:10 move second child to first child (temp 2-component vector of int)
0:9 7 (const int)
0:9 7 (const int)
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
0:13 Function Parameters:
0:13 'input' (layout(location=0 ) in 4-component vector of float)
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:? Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
0:14 'input' (layout(location=0 ) in 4-component vector of float)
0:15 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=2 ) out 2-component vector of float)
0:15 Constant:
0:15 2.000000
0:15 2.000000
0:16 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=3 ) out 2-component vector of int)
0:10 Constant:
0:10 3 (const int)
0:10 3 (const int)
0:12 move second child to first child (temp 2-component vector of float)
0:12 v: direct index for structure (temp 2-component vector of float)
0:12 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:12 Constant:
0:12 0 (const int)
0:12 Constant:
0:12 12.000000
0:12 12.000000
0:13 move second child to first child (temp 2-component vector of int)
0:13 i: direct index for structure (temp 2-component vector of int)
0:13 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:13 Constant:
0:13 1 (const int)
0:13 Constant:
0:13 13 (const int)
0:13 13 (const int)
0:? Sequence
0:14 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:14 v: direct index for structure (temp 2-component vector of float)
0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:14 Constant:
0:14 0 (const int)
0:14 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:14 i: direct index for structure (temp 2-component vector of int)
0:14 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:14 Constant:
0:14 1 (const int)
0:16 Sequence
0:16 move second child to first child (temp 4-component vector of float)
0:16 Constant:
0:16 3 (const int)
0:16 3 (const int)
0:18 move second child to first child (temp 2-component vector of float)
0:18 v: direct index for structure (temp 2-component vector of float)
0:18 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:18 Constant:
0:18 0 (const int)
0:18 Constant:
0:18 12.000000
0:18 12.000000
0:19 move second child to first child (temp 2-component vector of int)
0:19 i: direct index for structure (temp 2-component vector of int)
0:19 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:19 Constant:
0:19 1 (const int)
0:19 Constant:
0:19 13 (const int)
0:19 13 (const int)
0:20 Comma (temp void)
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Sequence
0:20 move second child to first child (temp 2-component vector of float)
0:? 'v' (layout(location=4 ) out 2-component vector of float)
0:20 v: direct index for structure (temp 2-component vector of float)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 0 (const int)
0:20 move second child to first child (temp 2-component vector of int)
0:? 'i' (layout(location=5 ) out 2-component vector of int)
0:20 i: direct index for structure (temp 2-component vector of int)
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
0:20 Constant:
0:20 1 (const int)
0:22 Sequence
0:22 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:16 'out1' (layout(location=1 ) out 4-component vector of float)
0:16 Branch: Return
0:22 'out1' (layout(location=1 ) out 4-component vector of float)
0:22 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:? 'input' (layout(location=0 ) in 4-component vector of float)
@ -137,82 +183,105 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 46
// Id's are bound by 60
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 9 11 15 21 37 40 43
EntryPoint Fragment 4 "PixelShaderFunction" 28 30 33 37 51 54 57
ExecutionMode 4 OriginUpperLeft
Name 4 "PixelShaderFunction"
Name 9 "out1"
Name 11 "input"
Name 15 "v"
Name 21 "i"
Name 24 "OutParam"
MemberName 24(OutParam) 0 "v"
MemberName 24(OutParam) 1 "i"
Name 26 "local"
Name 37 "v"
Name 40 "i"
Name 43 "@entryPointOutput"
Decorate 9(out1) Location 1
Decorate 11(input) Location 0
Decorate 15(v) Location 2
Decorate 21(i) Location 3
Decorate 37(v) Location 4
Decorate 40(i) Location 5
Decorate 43(@entryPointOutput) Location 0
Name 10 "OutParam"
MemberName 10(OutParam) 0 "v"
MemberName 10(OutParam) 1 "i"
Name 14 "fun(struct-OutParam-vf2-vi21;"
Name 13 "op"
Name 28 "out1"
Name 30 "input"
Name 33 "v"
Name 37 "i"
Name 40 "local"
Name 47 "tempArg"
Name 48 "param"
Name 51 "v"
Name 54 "i"
Name 57 "@entryPointOutput"
Decorate 28(out1) Location 1
Decorate 30(input) Location 0
Decorate 33(v) Location 2
Decorate 37(i) Location 3
Decorate 51(v) Location 4
Decorate 54(i) Location 5
Decorate 57(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(out1): 8(ptr) Variable Output
10: TypePointer Input 7(fvec4)
11(input): 10(ptr) Variable Input
13: TypeVector 6(float) 2
14: TypePointer Output 13(fvec2)
15(v): 14(ptr) Variable Output
16: 6(float) Constant 1073741824
17: 13(fvec2) ConstantComposite 16 16
18: TypeInt 32 1
19: TypeVector 18(int) 2
20: TypePointer Output 19(ivec2)
21(i): 20(ptr) Variable Output
22: 18(int) Constant 3
23: 19(ivec2) ConstantComposite 22 22
24(OutParam): TypeStruct 13(fvec2) 19(ivec2)
25: TypePointer Function 24(OutParam)
27: 18(int) Constant 0
28: 6(float) Constant 1094713344
29: 13(fvec2) ConstantComposite 28 28
30: TypePointer Function 13(fvec2)
32: 18(int) Constant 1
33: 18(int) Constant 13
34: 19(ivec2) ConstantComposite 33 33
35: TypePointer Function 19(ivec2)
37(v): 14(ptr) Variable Output
40(i): 20(ptr) Variable Output
43(@entryPointOutput): 8(ptr) Variable Output
7: TypeVector 6(float) 2
8: TypeInt 32 1
9: TypeVector 8(int) 2
10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
11: TypePointer Function 10(OutParam)
12: TypeFunction 2 11(ptr)
16: 8(int) Constant 0
17: 6(float) Constant 1053609165
18: 7(fvec2) ConstantComposite 17 17
19: TypePointer Function 7(fvec2)
21: 8(int) Constant 1
22: 8(int) Constant 7
23: 9(ivec2) ConstantComposite 22 22
24: TypePointer Function 9(ivec2)
26: TypeVector 6(float) 4
27: TypePointer Output 26(fvec4)
28(out1): 27(ptr) Variable Output
29: TypePointer Input 26(fvec4)
30(input): 29(ptr) Variable Input
32: TypePointer Output 7(fvec2)
33(v): 32(ptr) Variable Output
34: 6(float) Constant 1073741824
35: 7(fvec2) ConstantComposite 34 34
36: TypePointer Output 9(ivec2)
37(i): 36(ptr) Variable Output
38: 8(int) Constant 3
39: 9(ivec2) ConstantComposite 38 38
41: 6(float) Constant 1094713344
42: 7(fvec2) ConstantComposite 41 41
44: 8(int) Constant 13
45: 9(ivec2) ConstantComposite 44 44
51(v): 32(ptr) Variable Output
54(i): 36(ptr) Variable Output
57(@entryPointOutput): 27(ptr) Variable Output
4(PixelShaderFunction): 2 Function None 3
5: Label
26(local): 25(ptr) Variable Function
12: 7(fvec4) Load 11(input)
Store 9(out1) 12
Store 15(v) 17
Store 21(i) 23
31: 30(ptr) AccessChain 26(local) 27
Store 31 29
36: 35(ptr) AccessChain 26(local) 32
Store 36 34
38: 30(ptr) AccessChain 26(local) 27
39: 13(fvec2) Load 38
Store 37(v) 39
41: 35(ptr) AccessChain 26(local) 32
42: 19(ivec2) Load 41
Store 40(i) 42
44: 7(fvec4) Load 9(out1)
Store 43(@entryPointOutput) 44
40(local): 11(ptr) Variable Function
47(tempArg): 11(ptr) Variable Function
48(param): 11(ptr) Variable Function
31: 26(fvec4) Load 30(input)
Store 28(out1) 31
Store 33(v) 35
Store 37(i) 39
43: 19(ptr) AccessChain 40(local) 16
Store 43 42
46: 24(ptr) AccessChain 40(local) 21
Store 46 45
49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param)
50:10(OutParam) Load 48(param)
Store 47(tempArg) 50
52: 19(ptr) AccessChain 47(tempArg) 16
53: 7(fvec2) Load 52
Store 51(v) 53
55: 24(ptr) AccessChain 47(tempArg) 21
56: 9(ivec2) Load 55
Store 54(i) 56
58: 26(fvec4) Load 28(out1)
Store 57(@entryPointOutput) 58
Return
FunctionEnd
14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
13(op): 11(ptr) FunctionParameter
15: Label
20: 19(ptr) AccessChain 13(op) 16
Store 20 18
25: 24(ptr) AccessChain 13(op) 21
Store 25 23
Return
FunctionEnd

View File

@ -0,0 +1,119 @@
hlsl.entry.rename.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters:
0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
0:13 Color: direct index for structure (temp 4-component vector of float)
0:13 'psout' (temp structure{temp 4-component vector of float Color})
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:14 Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:14 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: not_the_entry_point( (temp void)
0:7 Function Parameters:
0:11 Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
0:11 Function Parameters:
0:? Sequence
0:13 move second child to first child (temp 4-component vector of float)
0:13 Color: direct index for structure (temp 4-component vector of float)
0:13 'psout' (temp structure{temp 4-component vector of float Color})
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:13 0.000000
0:14 Sequence
0:14 Sequence
0:14 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:14 Color: direct index for structure (temp 4-component vector of float)
0:14 'psout' (temp structure{temp 4-component vector of float Color})
0:14 Constant:
0:14 0 (const int)
0:14 Branch: Return
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 27
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main_in_spv" 20
ExecutionMode 4 OriginUpperLeft
Name 4 "main_in_spv"
Name 6 "not_the_entry_point("
Name 10 "PS_OUTPUT"
MemberName 10(PS_OUTPUT) 0 "Color"
Name 12 "psout"
Name 20 "Color"
Name 24 "$Global"
MemberName 24($Global) 0 "also_not_the_entry_point"
Name 26 ""
Decorate 20(Color) Location 0
MemberDecorate 24($Global) 0 Offset 0
Decorate 24($Global) Block
Decorate 26 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
8: TypeFloat 32
9: TypeVector 8(float) 4
10(PS_OUTPUT): TypeStruct 9(fvec4)
11: TypePointer Function 10(PS_OUTPUT)
13: TypeInt 32 1
14: 13(int) Constant 0
15: 8(float) Constant 0
16: 9(fvec4) ConstantComposite 15 15 15 15
17: TypePointer Function 9(fvec4)
19: TypePointer Output 9(fvec4)
20(Color): 19(ptr) Variable Output
24($Global): TypeStruct 13(int)
25: TypePointer Uniform 24($Global)
26: 25(ptr) Variable Uniform
4(main_in_spv): 2 Function None 3
5: Label
12(psout): 11(ptr) Variable Function
18: 17(ptr) AccessChain 12(psout) 14
Store 18 16
21: 17(ptr) AccessChain 12(psout) 14
22: 9(fvec4) Load 21
Store 20(Color) 22
Return
FunctionEnd
6(not_the_entry_point(): 2 Function None 3
7: Label
Return
FunctionEnd

View File

@ -0,0 +1,187 @@
hlsl.flatten.return.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:11 Function Definition: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:11 Function Parameters:
0:? Sequence
0:12 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 1.000000
0:? 1.000000
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Parameters:
0:? Sequence
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:17 color: direct index for structure (temp 4-component vector of float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:17 other_struct_member1: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 1 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:17 other_struct_member2: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 2 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
0:17 other_struct_member3: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:11 Function Definition: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:11 Function Parameters:
0:? Sequence
0:12 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 1.000000
0:? 1.000000
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:16 Function Parameters:
0:? Sequence
0:17 Sequence
0:17 Sequence
0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:17 color: direct index for structure (temp 4-component vector of float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 0 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:17 other_struct_member1: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 1 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:17 other_struct_member2: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 2 (const int)
0:17 move second child to first child (temp float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
0:17 other_struct_member3: direct index for structure (temp float)
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
0:17 Constant:
0:17 3 (const int)
0:17 Branch: Return
0:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:? 'other_struct_member1' (layout(location=1 ) out float)
0:? 'other_struct_member2' (layout(location=2 ) out float)
0:? 'other_struct_member3' (layout(location=3 ) out float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 45
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 24 31 36 40
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "color"
MemberName 8(PS_OUTPUT) 1 "other_struct_member1"
MemberName 8(PS_OUTPUT) 2 "other_struct_member2"
MemberName 8(PS_OUTPUT) 3 "other_struct_member3"
Name 10 "Func1("
Name 21 "flattenTemp"
Name 24 "color"
Name 31 "other_struct_member1"
Name 36 "other_struct_member2"
Name 40 "other_struct_member3"
Decorate 24(color) Location 0
Decorate 31(other_struct_member1) Location 1
Decorate 36(other_struct_member2) Location 2
Decorate 40(other_struct_member3) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: 6(float) Constant 1065353216
13: 7(fvec4) ConstantComposite 12 12 12 12
14: 6(float) Constant 1073741824
15: 6(float) Constant 1077936128
16: 6(float) Constant 1082130432
17:8(PS_OUTPUT) ConstantComposite 13 14 15 16
20: TypePointer Function 8(PS_OUTPUT)
23: TypePointer Output 7(fvec4)
24(color): 23(ptr) Variable Output
25: TypeInt 32 1
26: 25(int) Constant 0
27: TypePointer Function 7(fvec4)
30: TypePointer Output 6(float)
31(other_struct_member1): 30(ptr) Variable Output
32: 25(int) Constant 1
33: TypePointer Function 6(float)
36(other_struct_member2): 30(ptr) Variable Output
37: 25(int) Constant 2
40(other_struct_member3): 30(ptr) Variable Output
41: 25(int) Constant 3
4(main): 2 Function None 3
5: Label
21(flattenTemp): 20(ptr) Variable Function
22:8(PS_OUTPUT) FunctionCall 10(Func1()
Store 21(flattenTemp) 22
28: 27(ptr) AccessChain 21(flattenTemp) 26
29: 7(fvec4) Load 28
Store 24(color) 29
34: 33(ptr) AccessChain 21(flattenTemp) 32
35: 6(float) Load 34
Store 31(other_struct_member1) 35
38: 33(ptr) AccessChain 21(flattenTemp) 37
39: 6(float) Load 38
Store 36(other_struct_member2) 39
42: 33(ptr) AccessChain 21(flattenTemp) 41
43: 6(float) Load 42
Store 40(other_struct_member3) 43
Return
FunctionEnd
10(Func1():8(PS_OUTPUT) Function None 9
11: Label
ReturnValue 17
FunctionEnd

View File

@ -12,7 +12,7 @@ gl_FragCoord origin is upper left
0:2 'scalar' (global float)
0:2 Constant:
0:2 2.000000
0:5 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
0:5 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
0:5 Function Parameters:
0:5 'inFloat1' (in 1-component vector of float)
0:5 'inScalar' (in float)
@ -32,6 +32,7 @@ gl_FragCoord origin is upper left
Linked fragment stage:
WARNING: Linking fragment stage: Entry point not found
Shader version: 450
gl_FragCoord origin is upper left
@ -46,7 +47,7 @@ gl_FragCoord origin is upper left
0:2 'scalar' (global float)
0:2 Constant:
0:2 2.000000
0:5 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
0:5 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
0:5 Function Parameters:
0:5 'inFloat1' (in 1-component vector of float)
0:5 'inScalar' (in float)
@ -92,6 +93,7 @@ gl_FragCoord origin is upper left
5: Label
Store 14(f1) 15
Store 16(scalar) 17
Return
FunctionEnd
11(ShaderFunction(vf1;f1;): 6(float) Function None 8
9(inFloat1): 7(ptr) FunctionParameter

Some files were not shown because too many files have changed in this diff Show More