How to add a feature protected by a version/extension/stage/profile: See the
comment in `glslang/MachineIndependent/Versions.cpp`.
-Things left to do: See `Todo.txt`
+Tasks waiting to be done are documented as GitHub issues.
Execution of Standalone Wrapper
-------------------------------
For the `runtests` script, it will generate current results in the
`localResults/` directory and `diff` them against the `baseResults/`.
-The integration tests to run via the `runtests` script is registered
-via various `Test/test-*` text files and `Test/testlist`.
When you want to update the tracked test results, they need to be
copied from `localResults/` to `baseResults/`. This can be done by
the `bump` shell script.
-The list of files tested comes from `testlist`, and lists input shaders
-in this directory, which must all be public for this to work. However,
-you can add your own private list of tests, not tracked here, by using
+You can add your own private list of tests, not tracked publicly, by using
`localtestlist` to list non-tracked tests. This is automatically read
by `runtests` and included in the `diff` and `bump` process.
spv::Id getSampledType(const glslang::TSampler&);
spv::Id convertGlslangToSpvType(const glslang::TType& type);
spv::Id convertGlslangToSpvType(const glslang::TType& type, glslang::TLayoutPacking, const glslang::TQualifier&);
+ spv::Id convertGlslangStructToSpvType(const glslang::TType&, const glslang::TTypeList* glslangStruct,
+ glslang::TLayoutPacking, const glslang::TQualifier&);
+ void decorateStructType(const glslang::TType&, const glslang::TTypeList* glslangStruct, glslang::TLayoutPacking,
+ const glslang::TQualifier&, spv::Id);
spv::Id makeArraySizeId(const glslang::TArraySizes&, int dim);
spv::Id accessChainLoad(const glslang::TType& type);
void accessChainStore(const glslang::TType& type, spv::Id rvalue);
{
switch (builtIn) {
case glslang::EbvPointSize:
- // Defer adding the capability until the built-in is actually used.
- if (!memberDeclaration) {
- switch (glslangIntermediate->getStage()) {
- case EShLangGeometry:
- builder.addCapability(spv::CapabilityGeometryPointSize);
- break;
- case EShLangTessControl:
- case EShLangTessEvaluation:
- builder.addCapability(spv::CapabilityTessellationPointSize);
- break;
- default:
- break;
- }
+ // Defer adding the capability until the built-in is actually used.
+ if (! memberDeclaration) {
+ switch (glslangIntermediate->getStage()) {
+ case EShLangGeometry:
+ builder.addCapability(spv::CapabilityGeometryPointSize);
+ break;
+ case EShLangTessControl:
+ case EShLangTessEvaluation:
+ builder.addCapability(spv::CapabilityTessellationPointSize);
+ break;
+ default:
+ break;
+ }
}
return spv::BuiltInPointSize;
//
case glslang::EbvClipDistance:
if (!memberDeclaration)
- builder.addCapability(spv::CapabilityClipDistance);
+ builder.addCapability(spv::CapabilityClipDistance);
return spv::BuiltInClipDistance;
case glslang::EbvCullDistance:
if (!memberDeclaration)
- builder.addCapability(spv::CapabilityCullDistance);
+ builder.addCapability(spv::CapabilityCullDistance);
return spv::BuiltInCullDistance;
case glslang::EbvViewportIndex:
builder.addCapability(spv::CapabilitySampleRateShading);
return spv::BuiltInSampleMask;
+ case glslang::EbvLayer:
+ builder.addCapability(spv::CapabilityGeometry);
+ return spv::BuiltInLayer;
+
case glslang::EbvPosition: return spv::BuiltInPosition;
case glslang::EbvVertexId: return spv::BuiltInVertexId;
case glslang::EbvInstanceId: return spv::BuiltInInstanceId;
return (spv::BuiltIn)spv::BadValue;
case glslang::EbvPrimitiveId: return spv::BuiltInPrimitiveId;
case glslang::EbvInvocationId: return spv::BuiltInInvocationId;
- case glslang::EbvLayer: return spv::BuiltInLayer;
case glslang::EbvTessLevelInner: return spv::BuiltInTessLevelInner;
case glslang::EbvTessLevelOuter: return spv::BuiltInTessLevelOuter;
case glslang::EbvTessCoord: return spv::BuiltInTessCoord;
// Do full recursive conversion of an arbitrary glslang type to a SPIR-V Id.
// explicitLayout can be kept the same throughout the hierarchical recursive walk.
+// Mutually recursive with convertGlslangStructToSpvType().
spv::Id TGlslangToSpvTraverser::convertGlslangToSpvType(const glslang::TType& type, glslang::TLayoutPacking explicitLayout, const glslang::TQualifier& qualifier)
{
spv::Id spvType = spv::NoResult;
spvType = builder.makeUintType(64);
break;
case glslang::EbtAtomicUint:
- logger->tbdFunctionality("Is atomic_uint an opaque handle in the uniform storage class, or an addresses in the atomic storage class?");
+ builder.addCapability(spv::CapabilityAtomicStorage);
spvType = builder.makeUintType(32);
break;
case glslang::EbtSampler:
case glslang::EbtBlock:
{
// If we've seen this struct type, return it
- const glslang::TTypeList* glslangStruct = type.getStruct();
- std::vector<spv::Id> structFields;
+ const glslang::TTypeList* glslangMembers = type.getStruct();
// Try to share structs for different layouts, but not yet for other
// kinds of qualification (primarily not yet including interpolant qualification).
if (! HasNonLayoutQualifiers(qualifier))
- spvType = structMap[explicitLayout][qualifier.layoutMatrix][glslangStruct];
+ spvType = structMap[explicitLayout][qualifier.layoutMatrix][glslangMembers];
if (spvType != spv::NoResult)
break;
// else, we haven't seen it...
-
- // Create a vector of struct types for SPIR-V to consume
- int memberDelta = 0; // how much the member's index changes from glslang to SPIR-V, normally 0, except sometimes for blocks
if (type.getBasicType() == glslang::EbtBlock)
- memberRemapper[glslangStruct].resize(glslangStruct->size());
- int locationOffset = 0; // for use across struct members, when they are called recursively
- for (int i = 0; i < (int)glslangStruct->size(); i++) {
- glslang::TType& glslangType = *(*glslangStruct)[i].type;
- if (glslangType.hiddenMember()) {
- ++memberDelta;
- if (type.getBasicType() == glslang::EbtBlock)
- memberRemapper[glslangStruct][i] = -1;
- } else {
- if (type.getBasicType() == glslang::EbtBlock)
- memberRemapper[glslangStruct][i] = i - memberDelta;
- // modify just this child's view of the qualifier
- glslang::TQualifier subQualifier = glslangType.getQualifier();
- InheritQualifiers(subQualifier, qualifier);
-
- // manually inherit location; it's more complex
- if (! subQualifier.hasLocation() && qualifier.hasLocation())
- subQualifier.layoutLocation = qualifier.layoutLocation + locationOffset;
- if (qualifier.hasLocation())
- locationOffset += glslangIntermediate->computeTypeLocationSize(glslangType);
-
- // recurse
- structFields.push_back(convertGlslangToSpvType(glslangType, explicitLayout, subQualifier));
- }
- }
-
- // Make the SPIR-V type
- spvType = builder.makeStructType(structFields, type.getTypeName().c_str());
- if (! HasNonLayoutQualifiers(qualifier))
- structMap[explicitLayout][qualifier.layoutMatrix][glslangStruct] = spvType;
-
- // Name and decorate the non-hidden members
- int offset = -1;
- locationOffset = 0; // for use within the members of this struct, right now
- for (int i = 0; i < (int)glslangStruct->size(); i++) {
- glslang::TType& glslangType = *(*glslangStruct)[i].type;
- int member = i;
- if (type.getBasicType() == glslang::EbtBlock)
- member = memberRemapper[glslangStruct][i];
-
- // modify just this child's view of the qualifier
- glslang::TQualifier subQualifier = glslangType.getQualifier();
- InheritQualifiers(subQualifier, qualifier);
-
- // using -1 above to indicate a hidden member
- if (member >= 0) {
- builder.addMemberName(spvType, member, glslangType.getFieldName().c_str());
- addMemberDecoration(spvType, member, TranslateLayoutDecoration(glslangType, subQualifier.layoutMatrix));
- addMemberDecoration(spvType, member, TranslatePrecisionDecoration(glslangType));
- // Add interpolation and auxiliary storage decorations only to top-level members of Input and Output storage classes
- if (type.getQualifier().storage == glslang::EvqVaryingIn || type.getQualifier().storage == glslang::EvqVaryingOut) {
- if (type.getBasicType() == glslang::EbtBlock) {
- addMemberDecoration(spvType, member, TranslateInterpolationDecoration(subQualifier));
- addMemberDecoration(spvType, member, TranslateAuxiliaryStorageDecoration(subQualifier));
- }
- }
- addMemberDecoration(spvType, member, TranslateInvariantDecoration(subQualifier));
-
- if (qualifier.storage == glslang::EvqBuffer) {
- std::vector<spv::Decoration> memory;
- TranslateMemoryDecoration(subQualifier, memory);
- for (unsigned int i = 0; i < memory.size(); ++i)
- addMemberDecoration(spvType, member, memory[i]);
- }
-
- // compute location decoration; tricky based on whether inheritance is at play
- // TODO: This algorithm (and it's cousin above doing almost the same thing) should
- // probably move to the linker stage of the front end proper, and just have the
- // answer sitting already distributed throughout the individual member locations.
- int location = -1; // will only decorate if present or inherited
- if (subQualifier.hasLocation()) { // no inheritance, or override of inheritance
- // struct members should not have explicit locations
- assert(type.getBasicType() != glslang::EbtStruct);
- location = subQualifier.layoutLocation;
- } else if (type.getBasicType() != glslang::EbtBlock) {
- // If it is a not a Block, (...) Its members are assigned consecutive locations (...)
- // The members, and their nested types, must not themselves have Location decorations.
- }
- else if (qualifier.hasLocation()) // inheritance
- location = qualifier.layoutLocation + locationOffset;
- if (qualifier.hasLocation()) // track for upcoming inheritance
- locationOffset += glslangIntermediate->computeTypeLocationSize(glslangType);
- if (location >= 0)
- builder.addMemberDecoration(spvType, member, spv::DecorationLocation, location);
-
- // component, XFB, others
- if (glslangType.getQualifier().hasComponent())
- builder.addMemberDecoration(spvType, member, spv::DecorationComponent, glslangType.getQualifier().layoutComponent);
- if (glslangType.getQualifier().hasXfbOffset())
- builder.addMemberDecoration(spvType, member, spv::DecorationOffset, glslangType.getQualifier().layoutXfbOffset);
- else if (explicitLayout != glslang::ElpNone) {
- // figure out what to do with offset, which is accumulating
- int nextOffset;
- updateMemberOffset(type, glslangType, offset, nextOffset, explicitLayout, subQualifier.layoutMatrix);
- if (offset >= 0)
- builder.addMemberDecoration(spvType, member, spv::DecorationOffset, offset);
- offset = nextOffset;
- }
-
- if (glslangType.isMatrix() && explicitLayout != glslang::ElpNone)
- builder.addMemberDecoration(spvType, member, spv::DecorationMatrixStride, getMatrixStride(glslangType, explicitLayout, subQualifier.layoutMatrix));
-
- // built-in variable decorations
- spv::BuiltIn builtIn = TranslateBuiltInDecoration(glslangType.getQualifier().builtIn, true);
- if (builtIn != spv::BadValue)
- addMemberDecoration(spvType, member, spv::DecorationBuiltIn, (int)builtIn);
- }
- }
-
- // Decorate the structure
- addDecoration(spvType, TranslateLayoutDecoration(type, qualifier.layoutMatrix));
- addDecoration(spvType, TranslateBlockDecoration(type));
- if (type.getQualifier().hasStream() && glslangIntermediate->isMultiStream()) {
- builder.addCapability(spv::CapabilityGeometryStreams);
- builder.addDecoration(spvType, spv::DecorationStream, type.getQualifier().layoutStream);
- }
- if (glslangIntermediate->getXfbMode()) {
- builder.addCapability(spv::CapabilityTransformFeedback);
- if (type.getQualifier().hasXfbStride())
- builder.addDecoration(spvType, spv::DecorationXfbStride, type.getQualifier().layoutXfbStride);
- if (type.getQualifier().hasXfbBuffer())
- builder.addDecoration(spvType, spv::DecorationXfbBuffer, type.getQualifier().layoutXfbBuffer);
- }
+ memberRemapper[glslangMembers].resize(glslangMembers->size());
+ spvType = convertGlslangStructToSpvType(type, glslangMembers, explicitLayout, qualifier);
}
break;
default:
return spvType;
}
+
+// Do full recursive conversion of a glslang structure (or block) type to a SPIR-V Id.
+// explicitLayout can be kept the same throughout the hierarchical recursive walk.
+// Mutually recursive with convertGlslangToSpvType().
+spv::Id TGlslangToSpvTraverser::convertGlslangStructToSpvType(const glslang::TType& type,
+ const glslang::TTypeList* glslangMembers,
+ glslang::TLayoutPacking explicitLayout,
+ const glslang::TQualifier& qualifier)
+{
+ // Create a vector of struct types for SPIR-V to consume
+ std::vector<spv::Id> spvMembers;
+ int memberDelta = 0; // how much the member's index changes from glslang to SPIR-V, normally 0, except sometimes for blocks
+ int locationOffset = 0; // for use across struct members, when they are called recursively
+ for (int i = 0; i < (int)glslangMembers->size(); i++) {
+ glslang::TType& glslangMember = *(*glslangMembers)[i].type;
+ if (glslangMember.hiddenMember()) {
+ ++memberDelta;
+ if (type.getBasicType() == glslang::EbtBlock)
+ memberRemapper[glslangMembers][i] = -1;
+ } else {
+ if (type.getBasicType() == glslang::EbtBlock)
+ memberRemapper[glslangMembers][i] = i - memberDelta;
+ // modify just this child's view of the qualifier
+ glslang::TQualifier memberQualifier = glslangMember.getQualifier();
+ InheritQualifiers(memberQualifier, qualifier);
+
+ // manually inherit location; it's more complex
+ if (! memberQualifier.hasLocation() && qualifier.hasLocation())
+ memberQualifier.layoutLocation = qualifier.layoutLocation + locationOffset;
+ if (qualifier.hasLocation())
+ locationOffset += glslangIntermediate->computeTypeLocationSize(glslangMember);
+
+ // recurse
+ spvMembers.push_back(convertGlslangToSpvType(glslangMember, explicitLayout, memberQualifier));
+ }
+ }
+
+ // Make the SPIR-V type
+ spv::Id spvType = builder.makeStructType(spvMembers, type.getTypeName().c_str());
+ if (! HasNonLayoutQualifiers(qualifier))
+ structMap[explicitLayout][qualifier.layoutMatrix][glslangMembers] = spvType;
+
+ // Decorate it
+ decorateStructType(type, glslangMembers, explicitLayout, qualifier, spvType);
+
+ return spvType;
+}
+
+void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type,
+ const glslang::TTypeList* glslangMembers,
+ glslang::TLayoutPacking explicitLayout,
+ const glslang::TQualifier& qualifier,
+ spv::Id spvType)
+{
+ // Name and decorate the non-hidden members
+ int offset = -1;
+ int locationOffset = 0; // for use within the members of this struct
+ for (int i = 0; i < (int)glslangMembers->size(); i++) {
+ glslang::TType& glslangMember = *(*glslangMembers)[i].type;
+ int member = i;
+ if (type.getBasicType() == glslang::EbtBlock)
+ member = memberRemapper[glslangMembers][i];
+
+ // modify just this child's view of the qualifier
+ glslang::TQualifier memberQualifier = glslangMember.getQualifier();
+ InheritQualifiers(memberQualifier, qualifier);
+
+ // using -1 above to indicate a hidden member
+ if (member >= 0) {
+ builder.addMemberName(spvType, member, glslangMember.getFieldName().c_str());
+ addMemberDecoration(spvType, member, TranslateLayoutDecoration(glslangMember, memberQualifier.layoutMatrix));
+ addMemberDecoration(spvType, member, TranslatePrecisionDecoration(glslangMember));
+ // Add interpolation and auxiliary storage decorations only to top-level members of Input and Output storage classes
+ if (type.getQualifier().storage == glslang::EvqVaryingIn || type.getQualifier().storage == glslang::EvqVaryingOut) {
+ if (type.getBasicType() == glslang::EbtBlock) {
+ addMemberDecoration(spvType, member, TranslateInterpolationDecoration(memberQualifier));
+ addMemberDecoration(spvType, member, TranslateAuxiliaryStorageDecoration(memberQualifier));
+ }
+ }
+ addMemberDecoration(spvType, member, TranslateInvariantDecoration(memberQualifier));
+
+ if (qualifier.storage == glslang::EvqBuffer) {
+ std::vector<spv::Decoration> memory;
+ TranslateMemoryDecoration(memberQualifier, memory);
+ for (unsigned int i = 0; i < memory.size(); ++i)
+ addMemberDecoration(spvType, member, memory[i]);
+ }
+
+ // Compute location decoration; tricky based on whether inheritance is at play and
+ // what kind of container we have, etc.
+ // TODO: This algorithm (and it's cousin above doing almost the same thing) should
+ // probably move to the linker stage of the front end proper, and just have the
+ // answer sitting already distributed throughout the individual member locations.
+ int location = -1; // will only decorate if present or inherited
+ // Ignore member locations if the container is an array, as that's
+ // ill-specified and decisions have been made to not allow this anyway.
+ // The object itself must have a location, and that comes out from decorating the object,
+ // not the type (this code decorates types).
+ if (! type.isArray()) {
+ if (memberQualifier.hasLocation()) { // no inheritance, or override of inheritance
+ // struct members should not have explicit locations
+ assert(type.getBasicType() != glslang::EbtStruct);
+ location = memberQualifier.layoutLocation;
+ } else if (type.getBasicType() != glslang::EbtBlock) {
+ // If it is a not a Block, (...) Its members are assigned consecutive locations (...)
+ // The members, and their nested types, must not themselves have Location decorations.
+ } else if (qualifier.hasLocation()) // inheritance
+ location = qualifier.layoutLocation + locationOffset;
+ }
+ if (location >= 0)
+ builder.addMemberDecoration(spvType, member, spv::DecorationLocation, location);
+
+ if (qualifier.hasLocation()) // track for upcoming inheritance
+ locationOffset += glslangIntermediate->computeTypeLocationSize(glslangMember);
+
+ // component, XFB, others
+ if (glslangMember.getQualifier().hasComponent())
+ builder.addMemberDecoration(spvType, member, spv::DecorationComponent, glslangMember.getQualifier().layoutComponent);
+ if (glslangMember.getQualifier().hasXfbOffset())
+ builder.addMemberDecoration(spvType, member, spv::DecorationOffset, glslangMember.getQualifier().layoutXfbOffset);
+ else if (explicitLayout != glslang::ElpNone) {
+ // figure out what to do with offset, which is accumulating
+ int nextOffset;
+ updateMemberOffset(type, glslangMember, offset, nextOffset, explicitLayout, memberQualifier.layoutMatrix);
+ if (offset >= 0)
+ builder.addMemberDecoration(spvType, member, spv::DecorationOffset, offset);
+ offset = nextOffset;
+ }
+
+ if (glslangMember.isMatrix() && explicitLayout != glslang::ElpNone)
+ builder.addMemberDecoration(spvType, member, spv::DecorationMatrixStride, getMatrixStride(glslangMember, explicitLayout, memberQualifier.layoutMatrix));
+
+ // built-in variable decorations
+ spv::BuiltIn builtIn = TranslateBuiltInDecoration(glslangMember.getQualifier().builtIn, true);
+ if (builtIn != spv::BadValue)
+ addMemberDecoration(spvType, member, spv::DecorationBuiltIn, (int)builtIn);
+ }
+ }
+
+ // Decorate the structure
+ addDecoration(spvType, TranslateLayoutDecoration(type, qualifier.layoutMatrix));
+ addDecoration(spvType, TranslateBlockDecoration(type));
+ if (type.getQualifier().hasStream() && glslangIntermediate->isMultiStream()) {
+ builder.addCapability(spv::CapabilityGeometryStreams);
+ builder.addDecoration(spvType, spv::DecorationStream, type.getQualifier().layoutStream);
+ }
+ if (glslangIntermediate->getXfbMode()) {
+ builder.addCapability(spv::CapabilityTransformFeedback);
+ if (type.getQualifier().hasXfbStride())
+ builder.addDecoration(spvType, spv::DecorationXfbStride, type.getQualifier().layoutXfbStride);
+ if (type.getQualifier().hasXfbBuffer())
+ builder.addDecoration(spvType, spv::DecorationXfbBuffer, type.getQualifier().layoutXfbBuffer);
+ }
+}
+
// Turn the expression forming the array size into an id.
// This is not quite trivial, because of specialization constants.
// Sometimes, a raw constant is turned into an Id, and sometimes
id = createSpvVariable(symbol);
symbolValues[symbol->getId()] = id;
- if (! symbol->getType().isStruct()) {
+ if (symbol->getBasicType() != glslang::EbtBlock) {
addDecoration(id, TranslatePrecisionDecoration(symbol->getType()));
addDecoration(id, TranslateInterpolationDecoration(symbol->getType().getQualifier()));
addDecoration(id, TranslateAuxiliaryStorageDecoration(symbol->getType().getQualifier()));
if (symbol->getQualifier().hasXfbOffset())
builder.addDecoration(id, spv::DecorationOffset, symbol->getQualifier().layoutXfbOffset);
}
+ // atomic counters use this:
+ if (symbol->getQualifier().hasOffset())
+ builder.addDecoration(id, spv::DecorationOffset, symbol->getQualifier().layoutOffset);
}
if (symbol->getQualifier().hasLocation())
Builder::LoopBlocks& Builder::makeNewLoop()
{
- // Older MSVC versions don't allow inlining of blocks below.
- LoopBlocks blocks = {makeNewBlock(), makeNewBlock(), makeNewBlock(), makeNewBlock()};
+ // This verbosity is needed to simultaneously get the same behavior
+ // everywhere (id's in the same order), have a syntax that works
+ // across lots of versions of C++, have no warnings from pedantic
+ // compilation modes, and leave the rest of the code alone.
+ Block& head = makeNewBlock();
+ Block& body = makeNewBlock();
+ Block& merge = makeNewBlock();
+ Block& continue_target = makeNewBlock();
+ LoopBlocks blocks(head, body, merge, continue_target);
loops.push(blocks);
return loops.top();
}
void endSwitch(std::vector<Block*>& segmentBB);
struct LoopBlocks {
+ LoopBlocks(Block& head, Block& body, Block& merge, Block& continue_target) :
+ head(head), body(body), merge(merge), continue_target(continue_target) { }
Block &head, &body, &merge, &continue_target;
+ private:
+ LoopBlocks();
+ LoopBlocks& operator=(const LoopBlocks&);
};
// Start a new loop and prepare the builder to generate code for it. Until
return ostream.str();
}
-void DecodeResourceLimits(TBuiltInResource* resources, char* config) {
+void DecodeResourceLimits(TBuiltInResource* resources, char* config)
+{
const char* delims = " \t\n\r";
const char* token = strtok(config, delims);
while (token) {
// Command-line options
enum TOptions {
- EOptionNone = 0x0000,
- EOptionIntermediate = 0x0001,
- EOptionSuppressInfolog = 0x0002,
- EOptionMemoryLeakMode = 0x0004,
- EOptionRelaxedErrors = 0x0008,
- EOptionGiveWarnings = 0x0010,
- EOptionLinkProgram = 0x0020,
- EOptionMultiThreaded = 0x0040,
- EOptionDumpConfig = 0x0080,
- EOptionDumpReflection = 0x0100,
- EOptionSuppressWarnings = 0x0200,
- EOptionDumpVersions = 0x0400,
- EOptionSpv = 0x0800,
- EOptionHumanReadableSpv = 0x1000,
- EOptionVulkanRules = 0x2000,
- EOptionDefaultDesktop = 0x4000,
- EOptionOutputPreprocessed = 0x8000,
- EOptionOutputHexadecimal = 0x10000,
- EOptionReadHlsl = 0x20000,
+ 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),
};
//
switch (argv[0][1]) {
case 'H':
Options |= EOptionHumanReadableSpv;
- // fall through to -V
+ if ((Options & EOptionSpv) == 0) {
+ // default to Vulkan
+ Options |= EOptionSpv;
+ Options |= EOptionVulkanRules;
+ Options |= EOptionLinkProgram;
+ }
+ break;
case 'V':
Options |= EOptionSpv;
Options |= EOptionVulkanRules;
case 'G':
Options |= EOptionSpv;
Options |= EOptionLinkProgram;
+ // undo a -H default to Vulkan
+ Options &= ~EOptionVulkanRules;
break;
case 'E':
Options |= EOptionOutputPreprocessed;
case 'c':
Options |= EOptionDumpConfig;
break;
+ case 'C':
+ Options |= EOptionCascadingErrors;
+ break;
case 'd':
Options |= EOptionDefaultDesktop;
break;
messages = (EShMessages)(messages | EShMsgOnlyPreprocessor);
if (Options & EOptionReadHlsl)
messages = (EShMessages)(messages | EShMsgReadHlsl);
+ if (Options & EOptionCascadingErrors)
+ messages = (EShMessages)(messages | EShMsgCascadingErrors);
}
//
" errors will appear on stderr.\n"
" -c configuration dump;\n"
" creates the default configuration file (redirect to a .conf file)\n"
+ " -C cascading errors; risks crashes from accumulation of error recoveries\n"
" -d default to desktop (#version 110) when there is no shader #version\n"
" (default is ES version 100)\n"
" -D input is HLSL\n"
ERROR: 0:108: 'overloadE' : no matching overloaded function found
ERROR: 0:111: 'overloadE' : no matching overloaded function found
ERROR: 0:117: 'overloadF' : no matching overloaded function found
-ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32)
+ERROR: 0:121: 'gl_TexCoord array size' : must be less than or equal to gl_MaxTextureCoords (32)
ERROR: 0:165: 'switch' : Reserved word.
ERROR: 0:171: 'default' : Reserved word.
ERROR: 0:165: 'switch statements' : not supported for this version or the enabled extensions
0:62 packSnorm2x16 (global highp uint)
0:62 'v2a' (global mediump 2-component vector of float)
0:63 Sequence
-0:63 move second child to first child (temp highp 2-component vector of float)
+0:63 move second child to first child (temp mediump 2-component vector of float)
0:63 'v20' (temp mediump 2-component vector of float)
-0:63 unpackSnorm2x16 (global highp 2-component vector of float)
+0:63 unpackSnorm2x16 (global mediump 2-component vector of float)
0:63 'uy' (global mediump uint)
0:64 Sequence
0:64 move second child to first child (temp highp uint)
0:62 packSnorm2x16 (global highp uint)
0:62 'v2a' (global mediump 2-component vector of float)
0:63 Sequence
-0:63 move second child to first child (temp highp 2-component vector of float)
+0:63 move second child to first child (temp mediump 2-component vector of float)
0:63 'v20' (temp mediump 2-component vector of float)
-0:63 unpackSnorm2x16 (global highp 2-component vector of float)
+0:63 unpackSnorm2x16 (global mediump 2-component vector of float)
0:63 'uy' (global mediump uint)
0:64 Sequence
0:64 move second child to first child (temp highp uint)
0:31 'u4' (temp highp 4-component vector of uint)
0:32 move second child to first child (temp highp int)
0:32 'i1' (temp highp int)
-0:32 bitCount (global lowp int)
+0:32 bitCount (global highp int)
0:32 'i1' (temp highp int)
0:33 move second child to first child (temp highp 3-component vector of int)
0:33 'i3' (temp highp 3-component vector of int)
-0:33 bitCount (global lowp 3-component vector of int)
+0:33 bitCount (global highp 3-component vector of int)
0:33 'u3' (temp highp 3-component vector of uint)
0:34 move second child to first child (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
-0:34 findLSB (global lowp 2-component vector of int)
+0:34 findLSB (global highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:35 move second child to first child (temp highp 4-component vector of int)
0:35 'i4' (temp highp 4-component vector of int)
-0:35 findLSB (global lowp 4-component vector of int)
+0:35 findLSB (global highp 4-component vector of int)
0:35 'u4' (temp highp 4-component vector of uint)
0:36 move second child to first child (temp highp int)
0:36 'i1' (temp highp int)
-0:36 findMSB (global lowp int)
+0:36 findMSB (global highp int)
0:36 'i1' (temp highp int)
0:37 move second child to first child (temp highp 2-component vector of int)
0:37 'i2' (temp highp 2-component vector of int)
-0:37 findMSB (global lowp 2-component vector of int)
+0:37 findMSB (global highp 2-component vector of int)
0:37 'u2' (temp highp 2-component vector of uint)
0:40 move second child to first child (temp highp 3-component vector of float)
0:40 'v3' (temp highp 3-component vector of float)
0:46 'u1' (temp highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 'v4' (temp mediump 4-component vector of float)
-0:47 move second child to first child (temp mediump 4-component vector of float)
+0:47 move second child to first child (temp highp 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
-0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
+0:47 UnpackUnorm4x8 (global highp 4-component vector of float)
0:47 'u1' (temp highp uint)
-0:48 move second child to first child (temp mediump 4-component vector of float)
+0:48 move second child to first child (temp highp 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
-0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
+0:48 UnpackSnorm4x8 (global highp 4-component vector of float)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters:
0:31 'u4' (temp highp 4-component vector of uint)
0:32 move second child to first child (temp highp int)
0:32 'i1' (temp highp int)
-0:32 bitCount (global lowp int)
+0:32 bitCount (global highp int)
0:32 'i1' (temp highp int)
0:33 move second child to first child (temp highp 3-component vector of int)
0:33 'i3' (temp highp 3-component vector of int)
-0:33 bitCount (global lowp 3-component vector of int)
+0:33 bitCount (global highp 3-component vector of int)
0:33 'u3' (temp highp 3-component vector of uint)
0:34 move second child to first child (temp highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
-0:34 findLSB (global lowp 2-component vector of int)
+0:34 findLSB (global highp 2-component vector of int)
0:34 'i2' (temp highp 2-component vector of int)
0:35 move second child to first child (temp highp 4-component vector of int)
0:35 'i4' (temp highp 4-component vector of int)
-0:35 findLSB (global lowp 4-component vector of int)
+0:35 findLSB (global highp 4-component vector of int)
0:35 'u4' (temp highp 4-component vector of uint)
0:36 move second child to first child (temp highp int)
0:36 'i1' (temp highp int)
-0:36 findMSB (global lowp int)
+0:36 findMSB (global highp int)
0:36 'i1' (temp highp int)
0:37 move second child to first child (temp highp 2-component vector of int)
0:37 'i2' (temp highp 2-component vector of int)
-0:37 findMSB (global lowp 2-component vector of int)
+0:37 findMSB (global highp 2-component vector of int)
0:37 'u2' (temp highp 2-component vector of uint)
0:40 move second child to first child (temp highp 3-component vector of float)
0:40 'v3' (temp highp 3-component vector of float)
0:46 'u1' (temp highp uint)
0:46 PackSnorm4x8 (global highp uint)
0:46 'v4' (temp mediump 4-component vector of float)
-0:47 move second child to first child (temp mediump 4-component vector of float)
+0:47 move second child to first child (temp highp 4-component vector of float)
0:47 'v4' (temp mediump 4-component vector of float)
-0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
+0:47 UnpackUnorm4x8 (global highp 4-component vector of float)
0:47 'u1' (temp highp uint)
-0:48 move second child to first child (temp mediump 4-component vector of float)
+0:48 move second child to first child (temp highp 4-component vector of float)
0:48 'v4' (temp mediump 4-component vector of float)
-0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
+0:48 UnpackSnorm4x8 (global highp 4-component vector of float)
0:48 'u1' (temp highp uint)
0:60 Function Definition: foo( (global void)
0:60 Function Parameters:
ERROR: 0:30: '' : cannot use layout qualifiers on a function parameter
ERROR: 0:31: '' : cannot use auxiliary or interpolation qualifiers on a function parameter
ERROR: 0:42: 'location' : overlapping use of location 53
-ERROR: 0:47: 'gl_ClipDistance array size' : must be less than gl_MaxClipDistances (8)
+ERROR: 0:47: 'gl_ClipDistance array size' : must be less than or equal to gl_MaxClipDistances (8)
ERROR: 0:51: 'start' : undeclared identifier
ERROR: 0:51: '' : constant expression required
ERROR: 0:51: 'layout-id value' : scalar integer expression required
0:47 3.000000
0:49 move second child to first child (temp 4-component vector of float)
0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
-0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
0:49 Constant:
0:49 0 (const uint)
0:49 Construct vec4 (temp 4-component vector of float)
0:? 1 (const int)
0:? 9.000000
0:? false (const bool)
+0:? 'cval1' (const bool)
+0:? true (const bool)
+0:? 'cval2' (const bool)
+0:? false (const bool)
+0:? 'cval3' (const bool)
+0:? false (const bool)
+0:? 'cval4' (const bool)
+0:? true (const bool)
+0:? 'cval5' (const bool)
+0:? false (const bool)
+0:? 'cval6' (const bool)
+0:? true (const bool)
Linked fragment stage:
0:? 1 (const int)
0:? 9.000000
0:? false (const bool)
+0:? 'cval1' (const bool)
+0:? true (const bool)
+0:? 'cval2' (const bool)
+0:? false (const bool)
+0:? 'cval3' (const bool)
+0:? false (const bool)
+0:? 'cval4' (const bool)
+0:? true (const bool)
+0:? 'cval5' (const bool)
+0:? false (const bool)
+0:? 'cval6' (const bool)
+0:? true (const bool)
functionSemantics.frag
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:74: 'return' : cannot convert return value to function return type
+WARNING: 0:74: 'return' : type conversion on return values was not explicitly allowed until version 420
+ERROR: 1 compilation errors. No code generated.
+
Shader version: 400
-0:? Sequence
+ERROR: node is still EOpNull!
0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
0:5 Function Parameters:
0:5 'a' (in int)
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)
Shader version: 400
-0:? Sequence
+ERROR: node is still EOpNull!
0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
0:5 Function Parameters:
0:5 'a' (in int)
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)
--- /dev/null
+glspv.esversion.vert
+ERROR: #version: ES shaders for OpenGL SPIR-V are not supported
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 1 compilation errors. No code generated.
+
+
+
+Linked vertex stage:
+
+
+SPIR-V is not generated for failed compile or link
--- /dev/null
+glspv.frag
+ERROR: 0:4: '#error' : GL_SPIRV is set ( correct , not an error )
+ERROR: 0:6: '#error' : GL_SPIR is 100
+ERROR: 0:14: 'input_attachment_index' : only allowed when using GLSL for Vulkan
+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
--- /dev/null
+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
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 330
+ Name 4 "main"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
--- /dev/null
+glspv.version.vert
+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
--- /dev/null
+glspv.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'push_constant' : only allowed when using GLSL for Vulkan
+ERROR: 0:6: 'descriptor set' : only allowed when using GLSL for Vulkan
+ERROR: 0:8: 'shared' : not allowed when generating SPIR-V
+ERROR: 0:9: 'packed' : not allowed when generating SPIR-V
+ERROR: 0:13: 'gl_VertexIndex' : undeclared identifier
+ERROR: 0:14: 'gl_InstanceIndex' : undeclared identifier
+ERROR: 0:17: 'gl_DepthRangeParameters' : undeclared identifier
+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
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:11 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
+0:11 Function Definition: PixelShaderFunction(i1;vf4[3]; (global 4-component vector of float)
0:8 Function Parameters:
0:8 'i' (in int)
0:8 'input' (in 3-element array of 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' (temp 4-element array of 4-component vector of float)
+0:10 'a' (global 4-element array of 4-component vector of float)
0:10 Constant:
0:10 1 (const int)
0:10 indirect index (temp 4-component vector of float)
-0:10 'a' (temp 4-element array of 4-component vector of float)
+0:10 'a' (global 4-element array of 4-component vector of float)
0:10 'i' (in int)
0:10 add (temp 4-component vector of float)
0:10 direct index (temp 4-component vector of float)
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' (temp 11-element array of 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 'i' (in int)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (in int)
0:? Linker Objects
-0:? 'a' (temp 4-element array of 4-component vector of float)
-0:? 's' (temp 11-element array of structure{temp 7-element array of 4-component vector of float m})
+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})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:11 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
+0:11 Function Definition: PixelShaderFunction(i1;vf4[3]; (global 4-component vector of float)
0:8 Function Parameters:
0:8 'i' (in int)
0:8 'input' (in 3-element array of 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' (temp 4-element array of 4-component vector of float)
+0:10 'a' (global 4-element array of 4-component vector of float)
0:10 Constant:
0:10 1 (const int)
0:10 indirect index (temp 4-component vector of float)
-0:10 'a' (temp 4-element array of 4-component vector of float)
+0:10 'a' (global 4-element array of 4-component vector of float)
0:10 'i' (in int)
0:10 add (temp 4-component vector of float)
0:10 direct index (temp 4-component vector of float)
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' (temp 11-element array of 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 'i' (in int)
0:10 Constant:
0:10 0 (const int)
0:10 'i' (in int)
0:? Linker Objects
-0:? 'a' (temp 4-element array of 4-component vector of float)
-0:? 's' (temp 11-element array of structure{temp 7-element array of 4-component vector of float m})
+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})
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 63
+// Id's are bound by 64
Capability Shader
1: ExtInstImport "GLSL.std.450"
Name 19 "i"
Name 27 "input"
Name 40 "b"
- Name 50 ""
- MemberName 50 0 "m"
- Name 54 "s"
+ Name 51 ""
+ MemberName 51 0 "m"
+ Name 55 "s"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
8: TypeInt 32 0
9: 8(int) Constant 4
10: TypeArray 7(fvec4) 9
- 11: TypePointer Function 10
+ 11: TypePointer Private 10
+ 12(a): 11(ptr) Variable Private
13: TypeInt 32 1
14: 13(int) Constant 1
- 15: TypePointer Function 7(fvec4)
+ 15: TypePointer Private 7(fvec4)
18: TypePointer Input 13(int)
19(i): 18(ptr) Variable Input
24: 8(int) Constant 3
38: TypeArray 7(fvec4) 37
39: TypePointer Function 38
41: 13(int) Constant 5
- 48: 8(int) Constant 7
- 49: TypeArray 7(fvec4) 48
- 50: TypeStruct 49
- 51: 8(int) Constant 11
- 52: TypeArray 50(struct) 51
- 53: TypePointer Function 52
- 56: 13(int) Constant 0
+ 42: TypePointer Function 7(fvec4)
+ 49: 8(int) Constant 7
+ 50: TypeArray 7(fvec4) 49
+ 51: TypeStruct 50
+ 52: 8(int) Constant 11
+ 53: TypeArray 51(struct) 52
+ 54: TypePointer Private 53
+ 55(s): 54(ptr) Variable Private
+ 57: 13(int) Constant 0
4(PixelShaderFunction): 2 Function None 3
5: Label
- 12(a): 11(ptr) Variable Function
40(b): 39(ptr) Variable Function
- 54(s): 53(ptr) Variable Function
16: 15(ptr) AccessChain 12(a) 14
17: 7(fvec4) Load 16
20: 13(int) Load 19(i)
34: 7(fvec4) Load 33
35: 7(fvec4) FAdd 31 34
36: 7(fvec4) FAdd 23 35
- 42: 15(ptr) AccessChain 40(b) 41
- 43: 7(fvec4) Load 42
- 44: 13(int) Load 19(i)
- 45: 15(ptr) AccessChain 40(b) 44
- 46: 7(fvec4) Load 45
- 47: 7(fvec4) FAdd 43 46
- 55: 13(int) Load 19(i)
- 57: 13(int) Load 19(i)
- 58: 15(ptr) AccessChain 54(s) 55 56 57
- 59: 7(fvec4) Load 58
- 60: 7(fvec4) FAdd 47 59
- 61: 7(fvec4) FAdd 36 60
- ReturnValue 61
+ 43: 42(ptr) AccessChain 40(b) 41
+ 44: 7(fvec4) Load 43
+ 45: 13(int) Load 19(i)
+ 46: 42(ptr) AccessChain 40(b) 45
+ 47: 7(fvec4) Load 46
+ 48: 7(fvec4) FAdd 44 47
+ 56: 13(int) Load 19(i)
+ 58: 13(int) Load 19(i)
+ 59: 15(ptr) AccessChain 55(s) 56 57 58
+ 60: 7(fvec4) Load 59
+ 61: 7(fvec4) FAdd 48 60
+ 62: 7(fvec4) FAdd 36 61
+ ReturnValue 62
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:8 Function Parameters:
0:8 'a1' (in 4-component vector of float)
0:8 'a2' (in 4-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:8 Function Parameters:
0:8 'a1' (in 4-component vector of float)
0:8 'a2' (in 4-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:14 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:14 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
--- /dev/null
+hlsl.discard.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7 Function Definition: foo(f1; (global void)
+0:2 Function Parameters:
+0:2 'f' (in float)
+0:? Sequence
+0:3 Test condition and select (temp void)
+0:3 Condition
+0:3 Compare Less Than (temp bool)
+0:3 'f' (in float)
+0:3 Constant:
+0:3 1.000000
+0:3 true case
+0:4 Branch: Kill
+0:15 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
+0:8 Function Parameters:
+0:8 'input' (in 4-component vector of float)
+0:? Sequence
+0:9 Function Call: foo(f1; (global void)
+0:9 direct index (temp float)
+0:9 'input' (in 4-component vector of float)
+0:9 Constant:
+0:9 2 (const int)
+0:10 Test condition and select (temp void)
+0:10 Condition
+0:10 direct index (temp float)
+0:10 'input' (in 4-component vector of float)
+0:10 Constant:
+0:10 0 (const int)
+0:10 true case
+0:11 Branch: Kill
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'f' (temp float)
+0:12 direct index (temp float)
+0:12 'input' (in 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:13 Branch: Kill
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7 Function Definition: foo(f1; (global void)
+0:2 Function Parameters:
+0:2 'f' (in float)
+0:? Sequence
+0:3 Test condition and select (temp void)
+0:3 Condition
+0:3 Compare Less Than (temp bool)
+0:3 'f' (in float)
+0:3 Constant:
+0:3 1.000000
+0:3 true case
+0:4 Branch: Kill
+0:15 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
+0:8 Function Parameters:
+0:8 'input' (in 4-component vector of float)
+0:? Sequence
+0:9 Function Call: foo(f1; (global void)
+0:9 direct index (temp float)
+0:9 'input' (in 4-component vector of float)
+0:9 Constant:
+0:9 2 (const int)
+0:10 Test condition and select (temp void)
+0:10 Condition
+0:10 direct index (temp float)
+0:10 'input' (in 4-component vector of float)
+0:10 Constant:
+0:10 0 (const int)
+0:10 true case
+0:11 Branch: Kill
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'f' (temp float)
+0:12 direct index (temp float)
+0:12 'input' (in 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:13 Branch: Kill
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 39
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction" 21
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 10 "foo(f1;"
+ Name 9 "f"
+ Name 21 "input"
+ Name 22 "param"
+ Name 35 "f"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeFunction 2 7(ptr)
+ 13: 6(float) Constant 1065353216
+ 14: TypeBool
+ 19: TypeVector 6(float) 4
+ 20: TypePointer Input 19(fvec4)
+ 21(input): 20(ptr) Variable Input
+ 23: TypeInt 32 0
+ 24: 23(int) Constant 2
+ 25: TypePointer Input 6(float)
+ 29: 23(int) Constant 0
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 22(param): 7(ptr) Variable Function
+ 35(f): 7(ptr) Variable Function
+ 26: 25(ptr) AccessChain 21(input) 24
+ 27: 6(float) Load 26
+ Store 22(param) 27
+ 28: 2 FunctionCall 10(foo(f1;) 22(param)
+ 30: 25(ptr) AccessChain 21(input) 29
+ 31: 6(float) Load 30
+ SelectionMerge 33 None
+ BranchConditional 31 32 33
+ 32: Label
+ Kill
+ 33: Label
+ 36: 25(ptr) AccessChain 21(input) 29
+ 37: 6(float) Load 36
+ Store 35(f) 37
+ Kill
+ FunctionEnd
+ 10(foo(f1;): 2 Function None 8
+ 9(f): 7(ptr) FunctionParameter
+ 11: Label
+ 12: 6(float) Load 9(f)
+ 15: 14(bool) FOrdLessThan 12 13
+ SelectionMerge 17 None
+ BranchConditional 15 16 17
+ 16: Label
+ Kill
+ 17: Label
+ Return
+ FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:7 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:7 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:7 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:7 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 1-component vector of float)
-0:1 'f1' (temp 1-component vector of float)
-0:1 Constant:
-0:1 1.000000
-0:2 move second child to first child (temp float)
-0:2 'scalar' (temp float)
-0:2 Constant:
-0:2 2.000000
-0:8 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (global 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:2 Sequence
+0:2 move second child to first child (temp float)
+0:2 'scalar' (global float)
+0:2 Constant:
+0:2 2.000000
+0:8 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
0:5 Function Parameters:
0:5 'inFloat1' (in 1-component vector of float)
0:5 'inScalar' (in float)
0:6 Branch: Return with expression
0:6 add (temp 1-component vector of float)
0:6 vector-scale (temp 1-component vector of float)
-0:6 'f1' (temp 1-component vector of float)
-0:6 'scalar' (temp float)
+0:6 'f1' (global 1-component vector of float)
+0:6 'scalar' (global float)
0:6 vector-scale (temp 1-component vector of float)
0:6 'inFloat1' (in 1-component vector of float)
0:6 'inScalar' (in float)
0:? Linker Objects
-0:? 'f1' (temp 1-component vector of float)
-0:? 'scalar' (temp float)
+0:? 'f1' (global 1-component vector of float)
+0:? 'scalar' (global float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 1-component vector of float)
-0:1 'f1' (temp 1-component vector of float)
-0:1 Constant:
-0:1 1.000000
-0:2 move second child to first child (temp float)
-0:2 'scalar' (temp float)
-0:2 Constant:
-0:2 2.000000
-0:8 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (global 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:2 Sequence
+0:2 move second child to first child (temp float)
+0:2 'scalar' (global float)
+0:2 Constant:
+0:2 2.000000
+0:8 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
0:5 Function Parameters:
0:5 'inFloat1' (in 1-component vector of float)
0:5 'inScalar' (in float)
0:6 Branch: Return with expression
0:6 add (temp 1-component vector of float)
0:6 vector-scale (temp 1-component vector of float)
-0:6 'f1' (temp 1-component vector of float)
-0:6 'scalar' (temp float)
+0:6 'f1' (global 1-component vector of float)
+0:6 'scalar' (global float)
0:6 vector-scale (temp 1-component vector of float)
0:6 'inFloat1' (in 1-component vector of float)
0:6 'inScalar' (in float)
0:? Linker Objects
-0:? 'f1' (temp 1-component vector of float)
-0:? 'scalar' (temp float)
+0:? 'f1' (global 1-component vector of float)
+0:? 'scalar' (global float)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 24
+// Id's are bound by 27
Capability Shader
1: ExtInstImport "GLSL.std.450"
Name 11 "ShaderFunction(vf1;f1;"
Name 9 "inFloat1"
Name 10 "inScalar"
- Name 13 "f1"
- Name 15 "scalar"
+ Name 14 "f1"
+ Name 16 "scalar"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeFunction 6(float) 7(ptr) 7(ptr)
+ 13: TypePointer Private 6(float)
+ 14(f1): 13(ptr) Variable Private
+ 15: 6(float) Constant 1065353216
+ 16(scalar): 13(ptr) Variable Private
+ 17: 6(float) Constant 1073741824
4(PixelShaderFunction): 2 Function None 3
5: Label
+ Store 14(f1) 15
+ Store 16(scalar) 17
FunctionEnd
11(ShaderFunction(vf1;f1;): 6(float) Function None 8
9(inFloat1): 7(ptr) FunctionParameter
10(inScalar): 7(ptr) FunctionParameter
12: Label
- 13(f1): 7(ptr) Variable Function
- 15(scalar): 7(ptr) Variable Function
- 14: 6(float) Load 13(f1)
- 16: 6(float) Load 15(scalar)
- 17: 6(float) IMul 14 16
- 18: 6(float) Load 9(inFloat1)
- 19: 6(float) Load 10(inScalar)
+ 18: 6(float) Load 14(f1)
+ 19: 6(float) Load 16(scalar)
20: 6(float) IMul 18 19
- 21: 6(float) FAdd 17 20
- ReturnValue 21
+ 21: 6(float) Load 9(inFloat1)
+ 22: 6(float) Load 10(inScalar)
+ 23: 6(float) IMul 21 22
+ 24: 6(float) FAdd 20 23
+ ReturnValue 24
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 4-component vector of float)
-0:1 'AmbientColor' (temp 4-component vector of float)
-0:? Constant:
-0:? 1.000000
-0:? 0.500000
-0:? 0.000000
-0:? 1.000000
-0:12 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (global 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:12 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:9 Function Parameters:
0:9 'input' (in 4-component vector of float)
0:? Sequence
0:10 Branch: Return with expression
0:10 component-wise multiply (temp 4-component vector of float)
0:10 'input' (in 4-component vector of float)
-0:10 'AmbientColor' (temp 4-component vector of float)
+0:10 'AmbientColor' (global 4-component vector of float)
0:? Linker Objects
-0:? 'AmbientColor' (temp 4-component vector of float)
-0:? 'ff1' (temp bool Face)
-0:? 'ff2' (temp 4-component vector of float)
-0:? 'ff3' (temp 4-component vector of float)
-0:? 'ff4' (temp 4-component vector of float FragCoord)
+0:? 'AmbientColor' (global 4-component vector of float)
+0:? 'ff1' (global bool Face)
+0:? 'ff2' (global 4-component vector of float)
+0:? 'ff3' (global 4-component vector of float)
+0:? 'ff4' (global 4-component vector of float FragCoord)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 4-component vector of float)
-0:1 'AmbientColor' (temp 4-component vector of float)
-0:? Constant:
-0:? 1.000000
-0:? 0.500000
-0:? 0.000000
-0:? 1.000000
-0:12 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (global 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:12 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:9 Function Parameters:
0:9 'input' (in 4-component vector of float)
0:? Sequence
0:10 Branch: Return with expression
0:10 component-wise multiply (temp 4-component vector of float)
0:10 'input' (in 4-component vector of float)
-0:10 'AmbientColor' (temp 4-component vector of float)
+0:10 'AmbientColor' (global 4-component vector of float)
0:? Linker Objects
-0:? 'AmbientColor' (temp 4-component vector of float)
-0:? 'ff1' (temp bool Face)
-0:? 'ff2' (temp 4-component vector of float)
-0:? 'ff3' (temp 4-component vector of float)
-0:? 'ff4' (temp 4-component vector of float FragCoord)
+0:? 'AmbientColor' (global 4-component vector of float)
+0:? 'ff1' (global bool Face)
+0:? 'ff2' (global 4-component vector of float)
+0:? 'ff3' (global 4-component vector of float)
+0:? 'ff4' (global 4-component vector of float FragCoord)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 25
+// Id's are bound by 30
Capability Shader
1: ExtInstImport "GLSL.std.450"
Name 11 "ShaderFunction(vf4;"
Name 10 "input"
Name 14 "AmbientColor"
- Name 21 "ff1"
- Name 22 "ff2"
- Name 23 "ff3"
- Name 24 "ff4"
- Decorate 21(ff1) BuiltIn FrontFacing
- Decorate 24(ff4) BuiltIn FragCoord
+ Name 26 "ff1"
+ Name 27 "ff2"
+ Name 28 "ff3"
+ Name 29 "ff4"
+ Decorate 26(ff1) BuiltIn FrontFacing
+ Decorate 29(ff4) BuiltIn FragCoord
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
- 19: TypeBool
- 20: TypePointer Function 19(bool)
+ 13: TypePointer Private 7(fvec4)
+14(AmbientColor): 13(ptr) Variable Private
+ 15: 6(float) Constant 1065353216
+ 16: 6(float) Constant 1056964608
+ 17: 6(float) Constant 0
+ 18: 7(fvec4) ConstantComposite 15 16 17 15
+ 24: TypeBool
+ 25: TypePointer Private 24(bool)
+ 26(ff1): 25(ptr) Variable Private
+ 27(ff2): 13(ptr) Variable Private
+ 28(ff3): 13(ptr) Variable Private
+ 29(ff4): 13(ptr) Variable Private
4(PixelShaderFunction): 2 Function None 3
5: Label
+ Store 14(AmbientColor) 18
FunctionEnd
11(ShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
-14(AmbientColor): 8(ptr) Variable Function
- 21(ff1): 20(ptr) Variable Function
- 22(ff2): 8(ptr) Variable Function
- 23(ff3): 8(ptr) Variable Function
- 24(ff4): 8(ptr) Variable Function
- 13: 7(fvec4) Load 10(input)
- 15: 7(fvec4) Load 14(AmbientColor)
- 16: 7(fvec4) FMul 13 15
- ReturnValue 16
+ 19: 7(fvec4) Load 10(input)
+ 20: 7(fvec4) Load 14(AmbientColor)
+ 21: 7(fvec4) FMul 19 20
+ ReturnValue 21
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:9 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:7 'input' (in 4-component vector of float)
0:7 Constant:
0:7 2.000000
+0:? Sequence
+0:8 Loop with condition tested first
+0:8 No loop condition
+0:8 Loop Body
+0:8 Test condition and select (temp void)
+0:8 Condition
+0:8 Compare Greater Than (temp bool)
+0:8 direct index (temp float)
+0:8 'input' (in 4-component vector of float)
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 2.000000
+0:8 true case
+0:8 Branch: Break
+0:? Sequence
+0:9 Loop with condition tested first
+0:9 No loop condition
+0:9 Loop Body
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Compare Greater Than (temp bool)
+0:9 direct index (temp float)
+0:9 'input' (in 4-component vector of float)
+0:9 Constant:
+0:9 0 (const int)
+0:9 Constant:
+0:9 2.000000
+0:9 true case
+0:9 Branch: Continue
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'ii' (temp int)
+0:11 Constant:
+0:11 -1 (const int)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 'ii' (temp int)
+0:11 Constant:
+0:11 3 (const int)
+0:11 Loop Body
+0:11 Test condition and select (temp void)
+0:11 Condition
+0:11 Compare Equal (temp bool)
+0:11 'ii' (temp int)
+0:11 Constant:
+0:11 2 (const int)
+0:11 true case
+0:11 Branch: Continue
+0:11 Loop Terminal Expression
+0:11 Pre-Increment (temp int)
+0:11 'ii' (temp int)
+0:12 Pre-Decrement (temp float)
+0:12 'ii' (temp float)
0:? Linker Objects
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:9 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:7 'input' (in 4-component vector of float)
0:7 Constant:
0:7 2.000000
+0:? Sequence
+0:8 Loop with condition tested first
+0:8 No loop condition
+0:8 Loop Body
+0:8 Test condition and select (temp void)
+0:8 Condition
+0:8 Compare Greater Than (temp bool)
+0:8 direct index (temp float)
+0:8 'input' (in 4-component vector of float)
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 2.000000
+0:8 true case
+0:8 Branch: Break
+0:? Sequence
+0:9 Loop with condition tested first
+0:9 No loop condition
+0:9 Loop Body
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Compare Greater Than (temp bool)
+0:9 direct index (temp float)
+0:9 'input' (in 4-component vector of float)
+0:9 Constant:
+0:9 0 (const int)
+0:9 Constant:
+0:9 2.000000
+0:9 true case
+0:9 Branch: Continue
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'ii' (temp int)
+0:11 Constant:
+0:11 -1 (const int)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 'ii' (temp int)
+0:11 Constant:
+0:11 3 (const int)
+0:11 Loop Body
+0:11 Test condition and select (temp void)
+0:11 Condition
+0:11 Compare Equal (temp bool)
+0:11 'ii' (temp int)
+0:11 Constant:
+0:11 2 (const int)
+0:11 true case
+0:11 Branch: Continue
+0:11 Loop Terminal Expression
+0:11 Pre-Increment (temp int)
+0:11 'ii' (temp int)
+0:12 Pre-Decrement (temp float)
+0:12 'ii' (temp float)
0:? Linker Objects
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 64
+// Id's are bound by 112
Capability Shader
1: ExtInstImport "GLSL.std.450"
Source HLSL 450
Name 4 "PixelShaderFunction"
Name 13 "input"
+ Name 89 "ii"
+ Name 109 "ii"
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
29: TypeBool
30: TypeVector 29(bool) 4
60: 10(float) Constant 1073741824
+ 68: TypeInt 32 0
+ 69: 68(int) Constant 0
+ 70: TypePointer Input 10(float)
+ 87: TypeInt 32 1
+ 88: TypePointer Function 87(int)
+ 90: 87(int) Constant 4294967295
+ 97: 87(int) Constant 3
+ 100: 87(int) Constant 2
+ 106: 87(int) Constant 1
+ 108: TypePointer Function 10(float)
4(PixelShaderFunction): 2 Function None 3
5: Label
+ 89(ii): 88(ptr) Variable Function
+ 109(ii): 108(ptr) Variable Function
Branch 6
6: Label
LoopMerge 8 9 None
Store 13(input) 63
Branch 48
50: Label
+ Branch 64
+ 64: Label
+ LoopMerge 66 67 None
+ Branch 65
+ 65: Label
+ 71: 70(ptr) AccessChain 13(input) 69
+ 72: 10(float) Load 71
+ 73: 29(bool) FOrdGreaterThan 72 60
+ SelectionMerge 75 None
+ BranchConditional 73 74 75
+ 74: Label
+ Branch 66
+ 75: Label
+ Branch 67
+ 67: Label
+ Branch 64
+ 66: Label
+ Branch 77
+ 77: Label
+ LoopMerge 79 80 None
+ Branch 78
+ 78: Label
+ 81: 70(ptr) AccessChain 13(input) 69
+ 82: 10(float) Load 81
+ 83: 29(bool) FOrdGreaterThan 82 60
+ SelectionMerge 85 None
+ BranchConditional 83 84 85
+ 84: Label
+ Branch 80
+ 85: Label
+ Branch 80
+ 80: Label
+ Branch 77
+ 79: Label
+ Store 89(ii) 90
+ Branch 91
+ 91: Label
+ LoopMerge 93 94 None
+ Branch 95
+ 95: Label
+ 96: 87(int) Load 89(ii)
+ 98: 29(bool) SLessThan 96 97
+ BranchConditional 98 92 93
+ 92: Label
+ 99: 87(int) Load 89(ii)
+ 101: 29(bool) IEqual 99 100
+ SelectionMerge 103 None
+ BranchConditional 101 102 103
+ 102: Label
+ Branch 94
+ 103: Label
+ Branch 94
+ 94: Label
+ 105: 87(int) Load 89(ii)
+ 107: 87(int) IAdd 105 106
+ Store 89(ii) 107
+ Branch 91
+ 93: Label
+ 110: 10(float) Load 109(ii)
+ 111: 10(float) FSub 110 15
+ Store 109(ii) 111
Return
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:34 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:26 Branch: Return with expression
0:26 Negate value (temp 4-component vector of float)
0:26 'input' (in 4-component vector of float)
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 move second child to first child (temp float)
+0:30 'ii' (temp float)
+0:30 direct index (temp float)
+0:30 'input' (in 4-component vector of float)
+0:30 Constant:
+0:30 2 (const int)
+0:30 true case
+0:31 Pre-Increment (temp float)
+0:31 'ii' (temp float)
+0:32 Pre-Increment (temp int)
+0:32 'ii' (temp int)
0:? Linker Objects
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:29 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:34 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
0:26 Branch: Return with expression
0:26 Negate value (temp 4-component vector of float)
0:26 'input' (in 4-component vector of float)
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 move second child to first child (temp float)
+0:30 'ii' (temp float)
+0:30 direct index (temp float)
+0:30 'input' (in 4-component vector of float)
+0:30 Constant:
+0:30 2 (const int)
+0:30 true case
+0:31 Pre-Increment (temp float)
+0:31 'ii' (temp float)
+0:32 Pre-Increment (temp int)
+0:32 'ii' (temp int)
0:? Linker Objects
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 64
+// Id's are bound by 82
Capability Shader
1: ExtInstImport "GLSL.std.450"
Source HLSL 450
Name 4 "PixelShaderFunction"
Name 9 "input"
+ Name 65 "ii"
+ Name 78 "ii"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
9(input): 8(ptr) Variable Input
12: TypeBool
13: TypeVector 12(bool) 4
+ 64: TypePointer Function 6(float)
+ 66: TypeInt 32 0
+ 67: 66(int) Constant 2
+ 68: TypePointer Input 6(float)
+ 74: 6(float) Constant 1065353216
+ 76: TypeInt 32 1
+ 77: TypePointer Function 76(int)
+ 80: 76(int) Constant 1
4(PixelShaderFunction): 2 Function None 3
5: Label
+ 65(ii): 64(ptr) Variable Function
+ 78(ii): 77(ptr) Variable Function
10: 7(fvec4) Load 9(input)
11: 7(fvec4) Load 9(input)
14: 13(bvec4) FOrdEqual 10 11
62: 7(fvec4) FNegate 61
ReturnValue 62
57: Label
+ 69: 68(ptr) AccessChain 9(input) 67
+ 70: 6(float) Load 69
+ Store 65(ii) 70
+ SelectionMerge 72 None
+ BranchConditional 70 71 72
+ 71: Label
+ 73: 6(float) Load 65(ii)
+ 75: 6(float) FAdd 73 74
+ Store 65(ii) 75
+ Branch 72
+ 72: Label
+ 79: 76(int) Load 78(ii)
+ 81: 76(int) IAdd 79 80
+ Store 78(ii) 81
Return
FunctionEnd
--- /dev/null
+hlsl.init.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'a1' (global 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'b1' (global 4-component vector of float)
+0:? Constant:
+0:? 2.000000
+0:? 2.500000
+0:? 2.100000
+0:? 2.200000
+0:2 Sequence
+0:2 move second child to first child (temp 4-component vector of float)
+0:2 'a1i' (global 4-component vector of float)
+0:2 Constant:
+0:2 1.000000
+0:2 0.500000
+0:2 0.000000
+0:2 1.000000
+0:2 move second child to first child (temp 4-component vector of float)
+0:2 'b1i' (global 4-component vector of float)
+0:2 Constant:
+0:2 2.000000
+0:2 2.500000
+0:2 2.100000
+0:2 2.200000
+0:3 Sequence
+0:3 move second child to first child (temp float)
+0:3 'a2' (global float)
+0:3 Constant:
+0:3 0.200000
+0:4 Sequence
+0:4 move second child to first child (temp float)
+0:4 'b3' (global float)
+0:4 Constant:
+0:4 0.300000
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'b4' (global float)
+0:5 Constant:
+0:5 0.400000
+0:6 Sequence
+0:6 move second child to first child (temp float)
+0:6 'a5' (global float)
+0:6 Constant:
+0:6 0.500000
+0:6 move second child to first child (temp float)
+0:6 'c5' (global float)
+0:6 Constant:
+0:6 1.500000
+0:25 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
+0:9 Function Parameters:
+0:9 'input' (in 4-component vector of float)
+0:? Sequence
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'a2' (temp 4-component vector of float)
+0:? Constant:
+0:? 0.200000
+0:? 0.300000
+0:? 0.400000
+0:? 0.500000
+0:20 Sequence
+0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 Constant:
+0:20 9 (const int)
+0:20 'a5' (global float)
+0:20 Construct structure (temp structure{temp float f, temp int i})
+0:20 Comma (temp float)
+0:20 'a3' (global float)
+0:20 'a4' (global float)
+0:20 Constant:
+0:20 12 (const int)
+0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 Constant:
+0:20 9 (const int)
+0:20 'a5' (global float)
+0:? Construct structure (temp structure{temp float f, temp int i})
+0:20 Comma (temp float)
+0:20 'a3' (global float)
+0:20 'a4' (global float)
+0:20 Constant:
+0:20 12 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'a8' (temp float)
+0:21 Comma (temp float)
+0:21 'a2' (temp 4-component vector of float)
+0:21 'b2' (global float)
+0:21 move second child to first child (temp float)
+0:21 'a9' (temp float)
+0:21 'a5' (global float)
+0:23 Branch: Return with expression
+0:23 component-wise multiply (temp 4-component vector of float)
+0:23 'input' (in 4-component vector of float)
+0:23 'a1' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'a1' (global 4-component vector of float)
+0:? 'b1' (global 4-component vector of float)
+0:? 'a1i' (global 4-component vector of float)
+0:? 'b1i' (global 4-component vector of float)
+0:? 'a2' (global float)
+0:? 'b2' (global float)
+0:? 'a3' (global float)
+0:? 'b3' (global float)
+0:? 'a4' (global float)
+0:? 'b4' (global float)
+0:? 'c4' (global float)
+0:? 'a5' (global float)
+0:? 'b5' (global float)
+0:? 'c5' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:1 Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'a1' (global 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'b1' (global 4-component vector of float)
+0:? Constant:
+0:? 2.000000
+0:? 2.500000
+0:? 2.100000
+0:? 2.200000
+0:2 Sequence
+0:2 move second child to first child (temp 4-component vector of float)
+0:2 'a1i' (global 4-component vector of float)
+0:2 Constant:
+0:2 1.000000
+0:2 0.500000
+0:2 0.000000
+0:2 1.000000
+0:2 move second child to first child (temp 4-component vector of float)
+0:2 'b1i' (global 4-component vector of float)
+0:2 Constant:
+0:2 2.000000
+0:2 2.500000
+0:2 2.100000
+0:2 2.200000
+0:3 Sequence
+0:3 move second child to first child (temp float)
+0:3 'a2' (global float)
+0:3 Constant:
+0:3 0.200000
+0:4 Sequence
+0:4 move second child to first child (temp float)
+0:4 'b3' (global float)
+0:4 Constant:
+0:4 0.300000
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'b4' (global float)
+0:5 Constant:
+0:5 0.400000
+0:6 Sequence
+0:6 move second child to first child (temp float)
+0:6 'a5' (global float)
+0:6 Constant:
+0:6 0.500000
+0:6 move second child to first child (temp float)
+0:6 'c5' (global float)
+0:6 Constant:
+0:6 1.500000
+0:25 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
+0:9 Function Parameters:
+0:9 'input' (in 4-component vector of float)
+0:? Sequence
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'a2' (temp 4-component vector of float)
+0:? Constant:
+0:? 0.200000
+0:? 0.300000
+0:? 0.400000
+0:? 0.500000
+0:20 Sequence
+0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 Constant:
+0:20 9 (const int)
+0:20 'a5' (global float)
+0:20 Construct structure (temp structure{temp float f, temp int i})
+0:20 Comma (temp float)
+0:20 'a3' (global float)
+0:20 'a4' (global float)
+0:20 Constant:
+0:20 12 (const int)
+0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
+0:20 Constant:
+0:20 9 (const int)
+0:20 'a5' (global float)
+0:? Construct structure (temp structure{temp float f, temp int i})
+0:20 Comma (temp float)
+0:20 'a3' (global float)
+0:20 'a4' (global float)
+0:20 Constant:
+0:20 12 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'a8' (temp float)
+0:21 Comma (temp float)
+0:21 'a2' (temp 4-component vector of float)
+0:21 'b2' (global float)
+0:21 move second child to first child (temp float)
+0:21 'a9' (temp float)
+0:21 'a5' (global float)
+0:23 Branch: Return with expression
+0:23 component-wise multiply (temp 4-component vector of float)
+0:23 'input' (in 4-component vector of float)
+0:23 'a1' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'a1' (global 4-component vector of float)
+0:? 'b1' (global 4-component vector of float)
+0:? 'a1i' (global 4-component vector of float)
+0:? 'b1i' (global 4-component vector of float)
+0:? 'a2' (global float)
+0:? 'b2' (global float)
+0:? 'a3' (global float)
+0:? 'b3' (global float)
+0:? 'a4' (global float)
+0:? 'b4' (global float)
+0:? 'c4' (global float)
+0:? 'a5' (global float)
+0:? 'b5' (global float)
+0:? 'c5' (global float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 67
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "ShaderFunction" 60
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "ShaderFunction"
+ Name 9 "a1"
+ Name 14 "b1"
+ Name 20 "a1i"
+ Name 21 "b1i"
+ Name 23 "a2"
+ Name 25 "b3"
+ Name 27 "b4"
+ Name 29 "a5"
+ Name 30 "c5"
+ Name 33 "a2"
+ Name 36 "S1"
+ MemberName 36(S1) 0 "f"
+ MemberName 36(S1) 1 "i"
+ Name 37 "S2"
+ MemberName 37(S2) 0 "j"
+ MemberName 37(S2) 1 "g"
+ MemberName 37(S2) 2 "s1"
+ Name 39 "s2i"
+ Name 42 "a3"
+ Name 43 "a4"
+ Name 48 "s2"
+ Name 54 "a8"
+ Name 55 "b2"
+ Name 57 "a9"
+ Name 60 "input"
+ Name 65 "c4"
+ Name 66 "b5"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Private 7(fvec4)
+ 9(a1): 8(ptr) Variable Private
+ 10: 6(float) Constant 1065353216
+ 11: 6(float) Constant 1056964608
+ 12: 6(float) Constant 0
+ 13: 7(fvec4) ConstantComposite 10 11 12 10
+ 14(b1): 8(ptr) Variable Private
+ 15: 6(float) Constant 1073741824
+ 16: 6(float) Constant 1075838976
+ 17: 6(float) Constant 1074161254
+ 18: 6(float) Constant 1074580685
+ 19: 7(fvec4) ConstantComposite 15 16 17 18
+ 20(a1i): 8(ptr) Variable Private
+ 21(b1i): 8(ptr) Variable Private
+ 22: TypePointer Private 6(float)
+ 23(a2): 22(ptr) Variable Private
+ 24: 6(float) Constant 1045220557
+ 25(b3): 22(ptr) Variable Private
+ 26: 6(float) Constant 1050253722
+ 27(b4): 22(ptr) Variable Private
+ 28: 6(float) Constant 1053609165
+ 29(a5): 22(ptr) Variable Private
+ 30(c5): 22(ptr) Variable Private
+ 31: 6(float) Constant 1069547520
+ 32: TypePointer Function 7(fvec4)
+ 34: 7(fvec4) ConstantComposite 24 26 28 11
+ 35: TypeInt 32 1
+ 36(S1): TypeStruct 6(float) 35(int)
+ 37(S2): TypeStruct 35(int) 6(float) 36(S1)
+ 38: TypePointer Function 37(S2)
+ 40: 35(int) Constant 9
+ 42(a3): 22(ptr) Variable Private
+ 43(a4): 22(ptr) Variable Private
+ 45: 35(int) Constant 12
+ 53: TypePointer Function 6(float)
+ 55(b2): 22(ptr) Variable Private
+ 59: TypePointer Input 7(fvec4)
+ 60(input): 59(ptr) Variable Input
+ 65(c4): 22(ptr) Variable Private
+ 66(b5): 22(ptr) Variable Private
+4(ShaderFunction): 2 Function None 3
+ 5: Label
+ 33(a2): 32(ptr) Variable Function
+ 39(s2i): 38(ptr) Variable Function
+ 48(s2): 38(ptr) Variable Function
+ 54(a8): 53(ptr) Variable Function
+ 57(a9): 53(ptr) Variable Function
+ Store 9(a1) 13
+ Store 14(b1) 19
+ Store 20(a1i) 13
+ Store 21(b1i) 19
+ Store 23(a2) 24
+ Store 25(b3) 26
+ Store 27(b4) 28
+ Store 29(a5) 11
+ Store 30(c5) 31
+ Store 33(a2) 34
+ 41: 6(float) Load 29(a5)
+ 44: 6(float) Load 43(a4)
+ 46: 36(S1) CompositeConstruct 44 45
+ 47: 37(S2) CompositeConstruct 40 41 46
+ Store 39(s2i) 47
+ 49: 6(float) Load 29(a5)
+ 50: 6(float) Load 43(a4)
+ 51: 36(S1) CompositeConstruct 50 45
+ 52: 37(S2) CompositeConstruct 40 49 51
+ Store 48(s2) 52
+ 56: 6(float) Load 55(b2)
+ Store 54(a8) 56
+ 58: 6(float) Load 29(a5)
+ Store 57(a9) 58
+ 61: 7(fvec4) Load 60(input)
+ 62: 7(fvec4) Load 9(a1)
+ 63: 7(fvec4) FMul 61 62
+ ReturnValue 63
+ FunctionEnd
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
-0:14 Function Definition: ComputeShaderFunction( (temp float)
+0:14 Function Definition: ComputeShaderFunction( (global float)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier (global void)
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
-0:14 Function Definition: ComputeShaderFunction( (temp float)
+0:14 Function Definition: ComputeShaderFunction( (global float)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier (global void)
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
-0:44 Function Definition: ComputeShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:44 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; (global float)
0:17 Function Parameters:
0:17 'inF0' (in float)
0:17 'inF1' (in float)
0:21 all (global bool)
0:21 'inF0' (in float)
0:24 AtomicAdd (global void)
-0:24 'gs_ua' (temp uint)
-0:24 'gs_ub' (temp uint)
+0:24 'gs_ua' (global uint)
+0:24 'gs_ub' (global uint)
0:25 move second child to first child (temp uint)
0:25 'out_u1' (temp uint)
0:25 AtomicAdd (temp uint)
-0:25 'gs_ua' (temp uint)
-0:25 'gs_ub' (temp uint)
+0:25 'gs_ua' (global uint)
+0:25 'gs_ub' (global uint)
0:26 AtomicAnd (global void)
-0:26 'gs_ua' (temp uint)
-0:26 'gs_ub' (temp uint)
+0:26 'gs_ua' (global uint)
+0:26 'gs_ub' (global uint)
0:27 move second child to first child (temp uint)
0:27 'out_u1' (temp uint)
0:27 AtomicAnd (temp uint)
-0:27 'gs_ua' (temp uint)
-0:27 'gs_ub' (temp uint)
+0:27 'gs_ua' (global uint)
+0:27 'gs_ub' (global uint)
0:28 move second child to first child (temp uint)
0:28 'out_u1' (temp uint)
0:28 AtomicCompSwap (temp uint)
-0:28 'gs_ua' (temp uint)
-0:28 'gs_ub' (temp uint)
-0:28 'gs_uc' (temp uint)
+0:28 'gs_ua' (global uint)
+0:28 'gs_ub' (global uint)
+0:28 'gs_uc' (global uint)
0:29 move second child to first child (temp uint)
0:29 'out_u1' (temp uint)
0:29 AtomicExchange (temp uint)
-0:29 'gs_ua' (temp uint)
-0:29 'gs_ub' (temp uint)
+0:29 'gs_ua' (global uint)
+0:29 'gs_ub' (global uint)
0:30 AtomicMax (global void)
-0:30 'gs_ua' (temp uint)
-0:30 'gs_ub' (temp uint)
+0:30 'gs_ua' (global uint)
+0:30 'gs_ub' (global uint)
0:31 move second child to first child (temp uint)
0:31 'out_u1' (temp uint)
0:31 AtomicMax (temp uint)
-0:31 'gs_ua' (temp uint)
-0:31 'gs_ub' (temp uint)
+0:31 'gs_ua' (global uint)
+0:31 'gs_ub' (global uint)
0:32 AtomicMin (global void)
-0:32 'gs_ua' (temp uint)
-0:32 'gs_ub' (temp uint)
+0:32 'gs_ua' (global uint)
+0:32 'gs_ub' (global uint)
0:33 move second child to first child (temp uint)
0:33 'out_u1' (temp uint)
0:33 AtomicMin (temp uint)
-0:33 'gs_ua' (temp uint)
-0:33 'gs_ub' (temp uint)
+0:33 'gs_ua' (global uint)
+0:33 'gs_ub' (global uint)
0:34 AtomicOr (global void)
-0:34 'gs_ua' (temp uint)
-0:34 'gs_ub' (temp uint)
+0:34 'gs_ua' (global uint)
+0:34 'gs_ub' (global uint)
0:35 move second child to first child (temp uint)
0:35 'out_u1' (temp uint)
0:35 AtomicOr (temp uint)
-0:35 'gs_ua' (temp uint)
-0:35 'gs_ub' (temp uint)
+0:35 'gs_ua' (global uint)
+0:35 'gs_ub' (global uint)
0:36 AtomicXor (global void)
-0:36 'gs_ua' (temp uint)
-0:36 'gs_ub' (temp uint)
+0:36 'gs_ua' (global uint)
+0:36 'gs_ub' (global uint)
0:37 move second child to first child (temp uint)
0:37 'out_u1' (temp uint)
0:37 AtomicXor (temp uint)
-0:37 'gs_ua' (temp uint)
-0:37 'gs_ub' (temp uint)
+0:37 'gs_ua' (global uint)
+0:37 'gs_ub' (global uint)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
-0:50 Function Definition: ComputeShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:50 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; (global 1-component vector of float)
0:45 Function Parameters:
0:45 'inF0' (in 1-component vector of float)
0:45 'inF1' (in 1-component vector of float)
0:47 Branch: Return with expression
0:47 Constant:
0:47 0.000000
-0:77 Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:77 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; (global 2-component vector of float)
0:51 Function Parameters:
0:51 'inF0' (in 2-component vector of float)
0:51 'inF1' (in 2-component vector of float)
0:55 all (global bool)
0:55 'inF0' (in 2-component vector of float)
0:58 AtomicAdd (global void)
-0:58 'gs_ua2' (temp 2-component vector of uint)
-0:58 'gs_ub2' (temp 2-component vector of uint)
+0:58 'gs_ua2' (global 2-component vector of uint)
+0:58 'gs_ub2' (global 2-component vector of uint)
0:59 move second child to first child (temp 2-component vector of uint)
0:59 'out_u2' (temp 2-component vector of uint)
0:59 AtomicAdd (temp 2-component vector of uint)
-0:59 'gs_ua2' (temp 2-component vector of uint)
-0:59 'gs_ub2' (temp 2-component vector of uint)
+0:59 'gs_ua2' (global 2-component vector of uint)
+0:59 'gs_ub2' (global 2-component vector of uint)
0:60 AtomicAnd (global void)
-0:60 'gs_ua2' (temp 2-component vector of uint)
-0:60 'gs_ub2' (temp 2-component vector of uint)
+0:60 'gs_ua2' (global 2-component vector of uint)
+0:60 'gs_ub2' (global 2-component vector of uint)
0:61 move second child to first child (temp 2-component vector of uint)
0:61 'out_u2' (temp 2-component vector of uint)
0:61 AtomicAnd (temp 2-component vector of uint)
-0:61 'gs_ua2' (temp 2-component vector of uint)
-0:61 'gs_ub2' (temp 2-component vector of uint)
+0:61 'gs_ua2' (global 2-component vector of uint)
+0:61 'gs_ub2' (global 2-component vector of uint)
0:62 move second child to first child (temp 2-component vector of uint)
0:62 'out_u2' (temp 2-component vector of uint)
0:62 AtomicCompSwap (temp 2-component vector of uint)
-0:62 'gs_ua2' (temp 2-component vector of uint)
-0:62 'gs_ub2' (temp 2-component vector of uint)
-0:62 'gs_uc2' (temp 2-component vector of uint)
+0:62 'gs_ua2' (global 2-component vector of uint)
+0:62 'gs_ub2' (global 2-component vector of uint)
+0:62 'gs_uc2' (global 2-component vector of uint)
0:63 move second child to first child (temp 2-component vector of uint)
0:63 'out_u2' (temp 2-component vector of uint)
0:63 AtomicExchange (temp 2-component vector of uint)
-0:63 'gs_ua2' (temp 2-component vector of uint)
-0:63 'gs_ub2' (temp 2-component vector of uint)
+0:63 'gs_ua2' (global 2-component vector of uint)
+0:63 'gs_ub2' (global 2-component vector of uint)
0:64 AtomicMax (global void)
-0:64 'gs_ua2' (temp 2-component vector of uint)
-0:64 'gs_ub2' (temp 2-component vector of uint)
+0:64 'gs_ua2' (global 2-component vector of uint)
+0:64 'gs_ub2' (global 2-component vector of uint)
0:65 move second child to first child (temp 2-component vector of uint)
0:65 'out_u2' (temp 2-component vector of uint)
0:65 AtomicMax (temp 2-component vector of uint)
-0:65 'gs_ua2' (temp 2-component vector of uint)
-0:65 'gs_ub2' (temp 2-component vector of uint)
+0:65 'gs_ua2' (global 2-component vector of uint)
+0:65 'gs_ub2' (global 2-component vector of uint)
0:66 AtomicMin (global void)
-0:66 'gs_ua2' (temp 2-component vector of uint)
-0:66 'gs_ub2' (temp 2-component vector of uint)
+0:66 'gs_ua2' (global 2-component vector of uint)
+0:66 'gs_ub2' (global 2-component vector of uint)
0:67 move second child to first child (temp 2-component vector of uint)
0:67 'out_u2' (temp 2-component vector of uint)
0:67 AtomicMin (temp 2-component vector of uint)
-0:67 'gs_ua2' (temp 2-component vector of uint)
-0:67 'gs_ub2' (temp 2-component vector of uint)
+0:67 'gs_ua2' (global 2-component vector of uint)
+0:67 'gs_ub2' (global 2-component vector of uint)
0:68 AtomicOr (global void)
-0:68 'gs_ua2' (temp 2-component vector of uint)
-0:68 'gs_ub2' (temp 2-component vector of uint)
+0:68 'gs_ua2' (global 2-component vector of uint)
+0:68 'gs_ub2' (global 2-component vector of uint)
0:69 move second child to first child (temp 2-component vector of uint)
0:69 'out_u2' (temp 2-component vector of uint)
0:69 AtomicOr (temp 2-component vector of uint)
-0:69 'gs_ua2' (temp 2-component vector of uint)
-0:69 'gs_ub2' (temp 2-component vector of uint)
+0:69 'gs_ua2' (global 2-component vector of uint)
+0:69 'gs_ub2' (global 2-component vector of uint)
0:70 AtomicXor (global void)
-0:70 'gs_ua2' (temp 2-component vector of uint)
-0:70 'gs_ub2' (temp 2-component vector of uint)
+0:70 'gs_ua2' (global 2-component vector of uint)
+0:70 'gs_ub2' (global 2-component vector of uint)
0:71 move second child to first child (temp 2-component vector of uint)
0:71 'out_u2' (temp 2-component vector of uint)
0:71 AtomicXor (temp 2-component vector of uint)
-0:71 'gs_ua2' (temp 2-component vector of uint)
-0:71 'gs_ub2' (temp 2-component vector of uint)
+0:71 'gs_ua2' (global 2-component vector of uint)
+0:71 'gs_ub2' (global 2-component vector of uint)
0:74 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:104 Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:104 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
0:78 Function Parameters:
0:78 'inF0' (in 3-component vector of float)
0:78 'inF1' (in 3-component vector of float)
0:82 all (global bool)
0:82 'inF0' (in 3-component vector of float)
0:85 AtomicAdd (global void)
-0:85 'gs_ua3' (temp 3-component vector of uint)
-0:85 'gs_ub3' (temp 3-component vector of uint)
+0:85 'gs_ua3' (global 3-component vector of uint)
+0:85 'gs_ub3' (global 3-component vector of uint)
0:86 move second child to first child (temp 3-component vector of uint)
0:86 'out_u3' (temp 3-component vector of uint)
0:86 AtomicAdd (temp 3-component vector of uint)
-0:86 'gs_ua3' (temp 3-component vector of uint)
-0:86 'gs_ub3' (temp 3-component vector of uint)
+0:86 'gs_ua3' (global 3-component vector of uint)
+0:86 'gs_ub3' (global 3-component vector of uint)
0:87 AtomicAnd (global void)
-0:87 'gs_ua3' (temp 3-component vector of uint)
-0:87 'gs_ub3' (temp 3-component vector of uint)
+0:87 'gs_ua3' (global 3-component vector of uint)
+0:87 'gs_ub3' (global 3-component vector of uint)
0:88 move second child to first child (temp 3-component vector of uint)
0:88 'out_u3' (temp 3-component vector of uint)
0:88 AtomicAnd (temp 3-component vector of uint)
-0:88 'gs_ua3' (temp 3-component vector of uint)
-0:88 'gs_ub3' (temp 3-component vector of uint)
+0:88 'gs_ua3' (global 3-component vector of uint)
+0:88 'gs_ub3' (global 3-component vector of uint)
0:89 move second child to first child (temp 3-component vector of uint)
0:89 'out_u3' (temp 3-component vector of uint)
0:89 AtomicCompSwap (temp 3-component vector of uint)
-0:89 'gs_ua3' (temp 3-component vector of uint)
-0:89 'gs_ub3' (temp 3-component vector of uint)
-0:89 'gs_uc3' (temp 3-component vector of uint)
+0:89 'gs_ua3' (global 3-component vector of uint)
+0:89 'gs_ub3' (global 3-component vector of uint)
+0:89 'gs_uc3' (global 3-component vector of uint)
0:90 move second child to first child (temp 3-component vector of uint)
0:90 'out_u3' (temp 3-component vector of uint)
0:90 AtomicExchange (temp 3-component vector of uint)
-0:90 'gs_ua3' (temp 3-component vector of uint)
-0:90 'gs_ub3' (temp 3-component vector of uint)
+0:90 'gs_ua3' (global 3-component vector of uint)
+0:90 'gs_ub3' (global 3-component vector of uint)
0:91 AtomicMax (global void)
-0:91 'gs_ua3' (temp 3-component vector of uint)
-0:91 'gs_ub3' (temp 3-component vector of uint)
+0:91 'gs_ua3' (global 3-component vector of uint)
+0:91 'gs_ub3' (global 3-component vector of uint)
0:92 move second child to first child (temp 3-component vector of uint)
0:92 'out_u3' (temp 3-component vector of uint)
0:92 AtomicMax (temp 3-component vector of uint)
-0:92 'gs_ua3' (temp 3-component vector of uint)
-0:92 'gs_ub3' (temp 3-component vector of uint)
+0:92 'gs_ua3' (global 3-component vector of uint)
+0:92 'gs_ub3' (global 3-component vector of uint)
0:93 AtomicMin (global void)
-0:93 'gs_ua3' (temp 3-component vector of uint)
-0:93 'gs_ub3' (temp 3-component vector of uint)
+0:93 'gs_ua3' (global 3-component vector of uint)
+0:93 'gs_ub3' (global 3-component vector of uint)
0:94 move second child to first child (temp 3-component vector of uint)
0:94 'out_u3' (temp 3-component vector of uint)
0:94 AtomicMin (temp 3-component vector of uint)
-0:94 'gs_ua3' (temp 3-component vector of uint)
-0:94 'gs_ub3' (temp 3-component vector of uint)
+0:94 'gs_ua3' (global 3-component vector of uint)
+0:94 'gs_ub3' (global 3-component vector of uint)
0:95 AtomicOr (global void)
-0:95 'gs_ua3' (temp 3-component vector of uint)
-0:95 'gs_ub3' (temp 3-component vector of uint)
+0:95 'gs_ua3' (global 3-component vector of uint)
+0:95 'gs_ub3' (global 3-component vector of uint)
0:96 move second child to first child (temp 3-component vector of uint)
0:96 'out_u3' (temp 3-component vector of uint)
0:96 AtomicOr (temp 3-component vector of uint)
-0:96 'gs_ua3' (temp 3-component vector of uint)
-0:96 'gs_ub3' (temp 3-component vector of uint)
+0:96 'gs_ua3' (global 3-component vector of uint)
+0:96 'gs_ub3' (global 3-component vector of uint)
0:97 AtomicXor (global void)
-0:97 'gs_ua3' (temp 3-component vector of uint)
-0:97 'gs_ub3' (temp 3-component vector of uint)
+0:97 'gs_ua3' (global 3-component vector of uint)
+0:97 'gs_ub3' (global 3-component vector of uint)
0:98 move second child to first child (temp 3-component vector of uint)
0:98 'out_u3' (temp 3-component vector of uint)
0:98 AtomicXor (temp 3-component vector of uint)
-0:98 'gs_ua3' (temp 3-component vector of uint)
-0:98 'gs_ub3' (temp 3-component vector of uint)
+0:98 'gs_ua3' (global 3-component vector of uint)
+0:98 'gs_ub3' (global 3-component vector of uint)
0:101 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:130 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
+0:130 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
0:105 Function Parameters:
0:105 'inF0' (in 4-component vector of float)
0:105 'inF1' (in 4-component vector of float)
0:109 all (global bool)
0:109 'inF0' (in 4-component vector of float)
0:112 AtomicAdd (global void)
-0:112 'gs_ua4' (temp 4-component vector of uint)
-0:112 'gs_ub4' (temp 4-component vector of uint)
+0:112 'gs_ua4' (global 4-component vector of uint)
+0:112 'gs_ub4' (global 4-component vector of uint)
0:113 move second child to first child (temp 4-component vector of uint)
0:113 'out_u4' (temp 4-component vector of uint)
0:113 AtomicAdd (temp 4-component vector of uint)
-0:113 'gs_ua4' (temp 4-component vector of uint)
-0:113 'gs_ub4' (temp 4-component vector of uint)
+0:113 'gs_ua4' (global 4-component vector of uint)
+0:113 'gs_ub4' (global 4-component vector of uint)
0:114 AtomicAnd (global void)
-0:114 'gs_ua4' (temp 4-component vector of uint)
-0:114 'gs_ub4' (temp 4-component vector of uint)
+0:114 'gs_ua4' (global 4-component vector of uint)
+0:114 'gs_ub4' (global 4-component vector of uint)
0:115 move second child to first child (temp 4-component vector of uint)
0:115 'out_u4' (temp 4-component vector of uint)
0:115 AtomicAnd (temp 4-component vector of uint)
-0:115 'gs_ua4' (temp 4-component vector of uint)
-0:115 'gs_ub4' (temp 4-component vector of uint)
+0:115 'gs_ua4' (global 4-component vector of uint)
+0:115 'gs_ub4' (global 4-component vector of uint)
0:116 move second child to first child (temp 4-component vector of uint)
0:116 'out_u4' (temp 4-component vector of uint)
0:116 AtomicCompSwap (temp 4-component vector of uint)
-0:116 'gs_ua4' (temp 4-component vector of uint)
-0:116 'gs_ub4' (temp 4-component vector of uint)
-0:116 'gs_uc4' (temp 4-component vector of uint)
+0:116 'gs_ua4' (global 4-component vector of uint)
+0:116 'gs_ub4' (global 4-component vector of uint)
+0:116 'gs_uc4' (global 4-component vector of uint)
0:117 move second child to first child (temp 4-component vector of uint)
0:117 'out_u4' (temp 4-component vector of uint)
0:117 AtomicExchange (temp 4-component vector of uint)
-0:117 'gs_ua4' (temp 4-component vector of uint)
-0:117 'gs_ub4' (temp 4-component vector of uint)
+0:117 'gs_ua4' (global 4-component vector of uint)
+0:117 'gs_ub4' (global 4-component vector of uint)
0:118 AtomicMax (global void)
-0:118 'gs_ua4' (temp 4-component vector of uint)
-0:118 'gs_ub4' (temp 4-component vector of uint)
+0:118 'gs_ua4' (global 4-component vector of uint)
+0:118 'gs_ub4' (global 4-component vector of uint)
0:119 move second child to first child (temp 4-component vector of uint)
0:119 'out_u4' (temp 4-component vector of uint)
0:119 AtomicMax (temp 4-component vector of uint)
-0:119 'gs_ua4' (temp 4-component vector of uint)
-0:119 'gs_ub4' (temp 4-component vector of uint)
+0:119 'gs_ua4' (global 4-component vector of uint)
+0:119 'gs_ub4' (global 4-component vector of uint)
0:120 AtomicMin (global void)
-0:120 'gs_ua4' (temp 4-component vector of uint)
-0:120 'gs_ub4' (temp 4-component vector of uint)
+0:120 'gs_ua4' (global 4-component vector of uint)
+0:120 'gs_ub4' (global 4-component vector of uint)
0:121 move second child to first child (temp 4-component vector of uint)
0:121 'out_u4' (temp 4-component vector of uint)
0:121 AtomicMin (temp 4-component vector of uint)
-0:121 'gs_ua4' (temp 4-component vector of uint)
-0:121 'gs_ub4' (temp 4-component vector of uint)
+0:121 'gs_ua4' (global 4-component vector of uint)
+0:121 'gs_ub4' (global 4-component vector of uint)
0:122 AtomicOr (global void)
-0:122 'gs_ua4' (temp 4-component vector of uint)
-0:122 'gs_ub4' (temp 4-component vector of uint)
+0:122 'gs_ua4' (global 4-component vector of uint)
+0:122 'gs_ub4' (global 4-component vector of uint)
0:123 move second child to first child (temp 4-component vector of uint)
0:123 'out_u4' (temp 4-component vector of uint)
0:123 AtomicOr (temp 4-component vector of uint)
-0:123 'gs_ua4' (temp 4-component vector of uint)
-0:123 'gs_ub4' (temp 4-component vector of uint)
+0:123 'gs_ua4' (global 4-component vector of uint)
+0:123 'gs_ub4' (global 4-component vector of uint)
0:124 AtomicXor (global void)
-0:124 'gs_ua4' (temp 4-component vector of uint)
-0:124 'gs_ub4' (temp 4-component vector of uint)
+0:124 'gs_ua4' (global 4-component vector of uint)
+0:124 'gs_ub4' (global 4-component vector of uint)
0:125 move second child to first child (temp 4-component vector of uint)
0:125 'out_u4' (temp 4-component vector of uint)
0:125 AtomicXor (temp 4-component vector of uint)
-0:125 'gs_ua4' (temp 4-component vector of uint)
-0:125 'gs_ub4' (temp 4-component vector of uint)
+0:125 'gs_ua4' (global 4-component vector of uint)
+0:125 'gs_ub4' (global 4-component vector of uint)
0:128 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 3.000000
0:? 4.000000
0:? Linker Objects
-0:? 'gs_ua' (temp uint)
-0:? 'gs_ub' (temp uint)
-0:? 'gs_uc' (temp uint)
-0:? 'gs_ua2' (temp 2-component vector of uint)
-0:? 'gs_ub2' (temp 2-component vector of uint)
-0:? 'gs_uc2' (temp 2-component vector of uint)
-0:? 'gs_ua3' (temp 3-component vector of uint)
-0:? 'gs_ub3' (temp 3-component vector of uint)
-0:? 'gs_uc3' (temp 3-component vector of uint)
-0:? 'gs_ua4' (temp 4-component vector of uint)
-0:? 'gs_ub4' (temp 4-component vector of uint)
-0:? 'gs_uc4' (temp 4-component vector of uint)
+0:? 'gs_ua' (global uint)
+0:? 'gs_ub' (global uint)
+0:? 'gs_uc' (global uint)
+0:? 'gs_ua2' (global 2-component vector of uint)
+0:? 'gs_ub2' (global 2-component vector of uint)
+0:? 'gs_uc2' (global 2-component vector of uint)
+0:? 'gs_ua3' (global 3-component vector of uint)
+0:? 'gs_ub3' (global 3-component vector of uint)
+0:? 'gs_uc3' (global 3-component vector of uint)
+0:? 'gs_ua4' (global 4-component vector of uint)
+0:? 'gs_ub4' (global 4-component vector of uint)
+0:? 'gs_uc4' (global 4-component vector of uint)
Linked compute stage:
Shader version: 450
local_size = (1, 1, 1)
0:? Sequence
-0:44 Function Definition: ComputeShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:44 Function Definition: ComputeShaderFunctionS(f1;f1;f1;u1;u1; (global float)
0:17 Function Parameters:
0:17 'inF0' (in float)
0:17 'inF1' (in float)
0:21 all (global bool)
0:21 'inF0' (in float)
0:24 AtomicAdd (global void)
-0:24 'gs_ua' (temp uint)
-0:24 'gs_ub' (temp uint)
+0:24 'gs_ua' (global uint)
+0:24 'gs_ub' (global uint)
0:25 move second child to first child (temp uint)
0:25 'out_u1' (temp uint)
0:25 AtomicAdd (temp uint)
-0:25 'gs_ua' (temp uint)
-0:25 'gs_ub' (temp uint)
+0:25 'gs_ua' (global uint)
+0:25 'gs_ub' (global uint)
0:26 AtomicAnd (global void)
-0:26 'gs_ua' (temp uint)
-0:26 'gs_ub' (temp uint)
+0:26 'gs_ua' (global uint)
+0:26 'gs_ub' (global uint)
0:27 move second child to first child (temp uint)
0:27 'out_u1' (temp uint)
0:27 AtomicAnd (temp uint)
-0:27 'gs_ua' (temp uint)
-0:27 'gs_ub' (temp uint)
+0:27 'gs_ua' (global uint)
+0:27 'gs_ub' (global uint)
0:28 move second child to first child (temp uint)
0:28 'out_u1' (temp uint)
0:28 AtomicCompSwap (temp uint)
-0:28 'gs_ua' (temp uint)
-0:28 'gs_ub' (temp uint)
-0:28 'gs_uc' (temp uint)
+0:28 'gs_ua' (global uint)
+0:28 'gs_ub' (global uint)
+0:28 'gs_uc' (global uint)
0:29 move second child to first child (temp uint)
0:29 'out_u1' (temp uint)
0:29 AtomicExchange (temp uint)
-0:29 'gs_ua' (temp uint)
-0:29 'gs_ub' (temp uint)
+0:29 'gs_ua' (global uint)
+0:29 'gs_ub' (global uint)
0:30 AtomicMax (global void)
-0:30 'gs_ua' (temp uint)
-0:30 'gs_ub' (temp uint)
+0:30 'gs_ua' (global uint)
+0:30 'gs_ub' (global uint)
0:31 move second child to first child (temp uint)
0:31 'out_u1' (temp uint)
0:31 AtomicMax (temp uint)
-0:31 'gs_ua' (temp uint)
-0:31 'gs_ub' (temp uint)
+0:31 'gs_ua' (global uint)
+0:31 'gs_ub' (global uint)
0:32 AtomicMin (global void)
-0:32 'gs_ua' (temp uint)
-0:32 'gs_ub' (temp uint)
+0:32 'gs_ua' (global uint)
+0:32 'gs_ub' (global uint)
0:33 move second child to first child (temp uint)
0:33 'out_u1' (temp uint)
0:33 AtomicMin (temp uint)
-0:33 'gs_ua' (temp uint)
-0:33 'gs_ub' (temp uint)
+0:33 'gs_ua' (global uint)
+0:33 'gs_ub' (global uint)
0:34 AtomicOr (global void)
-0:34 'gs_ua' (temp uint)
-0:34 'gs_ub' (temp uint)
+0:34 'gs_ua' (global uint)
+0:34 'gs_ub' (global uint)
0:35 move second child to first child (temp uint)
0:35 'out_u1' (temp uint)
0:35 AtomicOr (temp uint)
-0:35 'gs_ua' (temp uint)
-0:35 'gs_ub' (temp uint)
+0:35 'gs_ua' (global uint)
+0:35 'gs_ub' (global uint)
0:36 AtomicXor (global void)
-0:36 'gs_ua' (temp uint)
-0:36 'gs_ub' (temp uint)
+0:36 'gs_ua' (global uint)
+0:36 'gs_ub' (global uint)
0:37 move second child to first child (temp uint)
0:37 'out_u1' (temp uint)
0:37 AtomicXor (temp uint)
-0:37 'gs_ua' (temp uint)
-0:37 'gs_ub' (temp uint)
+0:37 'gs_ua' (global uint)
+0:37 'gs_ub' (global uint)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
-0:50 Function Definition: ComputeShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
+0:50 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1; (global 1-component vector of float)
0:45 Function Parameters:
0:45 'inF0' (in 1-component vector of float)
0:45 'inF1' (in 1-component vector of float)
0:47 Branch: Return with expression
0:47 Constant:
0:47 0.000000
-0:77 Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
+0:77 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2; (global 2-component vector of float)
0:51 Function Parameters:
0:51 'inF0' (in 2-component vector of float)
0:51 'inF1' (in 2-component vector of float)
0:55 all (global bool)
0:55 'inF0' (in 2-component vector of float)
0:58 AtomicAdd (global void)
-0:58 'gs_ua2' (temp 2-component vector of uint)
-0:58 'gs_ub2' (temp 2-component vector of uint)
+0:58 'gs_ua2' (global 2-component vector of uint)
+0:58 'gs_ub2' (global 2-component vector of uint)
0:59 move second child to first child (temp 2-component vector of uint)
0:59 'out_u2' (temp 2-component vector of uint)
0:59 AtomicAdd (temp 2-component vector of uint)
-0:59 'gs_ua2' (temp 2-component vector of uint)
-0:59 'gs_ub2' (temp 2-component vector of uint)
+0:59 'gs_ua2' (global 2-component vector of uint)
+0:59 'gs_ub2' (global 2-component vector of uint)
0:60 AtomicAnd (global void)
-0:60 'gs_ua2' (temp 2-component vector of uint)
-0:60 'gs_ub2' (temp 2-component vector of uint)
+0:60 'gs_ua2' (global 2-component vector of uint)
+0:60 'gs_ub2' (global 2-component vector of uint)
0:61 move second child to first child (temp 2-component vector of uint)
0:61 'out_u2' (temp 2-component vector of uint)
0:61 AtomicAnd (temp 2-component vector of uint)
-0:61 'gs_ua2' (temp 2-component vector of uint)
-0:61 'gs_ub2' (temp 2-component vector of uint)
+0:61 'gs_ua2' (global 2-component vector of uint)
+0:61 'gs_ub2' (global 2-component vector of uint)
0:62 move second child to first child (temp 2-component vector of uint)
0:62 'out_u2' (temp 2-component vector of uint)
0:62 AtomicCompSwap (temp 2-component vector of uint)
-0:62 'gs_ua2' (temp 2-component vector of uint)
-0:62 'gs_ub2' (temp 2-component vector of uint)
-0:62 'gs_uc2' (temp 2-component vector of uint)
+0:62 'gs_ua2' (global 2-component vector of uint)
+0:62 'gs_ub2' (global 2-component vector of uint)
+0:62 'gs_uc2' (global 2-component vector of uint)
0:63 move second child to first child (temp 2-component vector of uint)
0:63 'out_u2' (temp 2-component vector of uint)
0:63 AtomicExchange (temp 2-component vector of uint)
-0:63 'gs_ua2' (temp 2-component vector of uint)
-0:63 'gs_ub2' (temp 2-component vector of uint)
+0:63 'gs_ua2' (global 2-component vector of uint)
+0:63 'gs_ub2' (global 2-component vector of uint)
0:64 AtomicMax (global void)
-0:64 'gs_ua2' (temp 2-component vector of uint)
-0:64 'gs_ub2' (temp 2-component vector of uint)
+0:64 'gs_ua2' (global 2-component vector of uint)
+0:64 'gs_ub2' (global 2-component vector of uint)
0:65 move second child to first child (temp 2-component vector of uint)
0:65 'out_u2' (temp 2-component vector of uint)
0:65 AtomicMax (temp 2-component vector of uint)
-0:65 'gs_ua2' (temp 2-component vector of uint)
-0:65 'gs_ub2' (temp 2-component vector of uint)
+0:65 'gs_ua2' (global 2-component vector of uint)
+0:65 'gs_ub2' (global 2-component vector of uint)
0:66 AtomicMin (global void)
-0:66 'gs_ua2' (temp 2-component vector of uint)
-0:66 'gs_ub2' (temp 2-component vector of uint)
+0:66 'gs_ua2' (global 2-component vector of uint)
+0:66 'gs_ub2' (global 2-component vector of uint)
0:67 move second child to first child (temp 2-component vector of uint)
0:67 'out_u2' (temp 2-component vector of uint)
0:67 AtomicMin (temp 2-component vector of uint)
-0:67 'gs_ua2' (temp 2-component vector of uint)
-0:67 'gs_ub2' (temp 2-component vector of uint)
+0:67 'gs_ua2' (global 2-component vector of uint)
+0:67 'gs_ub2' (global 2-component vector of uint)
0:68 AtomicOr (global void)
-0:68 'gs_ua2' (temp 2-component vector of uint)
-0:68 'gs_ub2' (temp 2-component vector of uint)
+0:68 'gs_ua2' (global 2-component vector of uint)
+0:68 'gs_ub2' (global 2-component vector of uint)
0:69 move second child to first child (temp 2-component vector of uint)
0:69 'out_u2' (temp 2-component vector of uint)
0:69 AtomicOr (temp 2-component vector of uint)
-0:69 'gs_ua2' (temp 2-component vector of uint)
-0:69 'gs_ub2' (temp 2-component vector of uint)
+0:69 'gs_ua2' (global 2-component vector of uint)
+0:69 'gs_ub2' (global 2-component vector of uint)
0:70 AtomicXor (global void)
-0:70 'gs_ua2' (temp 2-component vector of uint)
-0:70 'gs_ub2' (temp 2-component vector of uint)
+0:70 'gs_ua2' (global 2-component vector of uint)
+0:70 'gs_ub2' (global 2-component vector of uint)
0:71 move second child to first child (temp 2-component vector of uint)
0:71 'out_u2' (temp 2-component vector of uint)
0:71 AtomicXor (temp 2-component vector of uint)
-0:71 'gs_ua2' (temp 2-component vector of uint)
-0:71 'gs_ub2' (temp 2-component vector of uint)
+0:71 'gs_ua2' (global 2-component vector of uint)
+0:71 'gs_ub2' (global 2-component vector of uint)
0:74 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:104 Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
+0:104 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
0:78 Function Parameters:
0:78 'inF0' (in 3-component vector of float)
0:78 'inF1' (in 3-component vector of float)
0:82 all (global bool)
0:82 'inF0' (in 3-component vector of float)
0:85 AtomicAdd (global void)
-0:85 'gs_ua3' (temp 3-component vector of uint)
-0:85 'gs_ub3' (temp 3-component vector of uint)
+0:85 'gs_ua3' (global 3-component vector of uint)
+0:85 'gs_ub3' (global 3-component vector of uint)
0:86 move second child to first child (temp 3-component vector of uint)
0:86 'out_u3' (temp 3-component vector of uint)
0:86 AtomicAdd (temp 3-component vector of uint)
-0:86 'gs_ua3' (temp 3-component vector of uint)
-0:86 'gs_ub3' (temp 3-component vector of uint)
+0:86 'gs_ua3' (global 3-component vector of uint)
+0:86 'gs_ub3' (global 3-component vector of uint)
0:87 AtomicAnd (global void)
-0:87 'gs_ua3' (temp 3-component vector of uint)
-0:87 'gs_ub3' (temp 3-component vector of uint)
+0:87 'gs_ua3' (global 3-component vector of uint)
+0:87 'gs_ub3' (global 3-component vector of uint)
0:88 move second child to first child (temp 3-component vector of uint)
0:88 'out_u3' (temp 3-component vector of uint)
0:88 AtomicAnd (temp 3-component vector of uint)
-0:88 'gs_ua3' (temp 3-component vector of uint)
-0:88 'gs_ub3' (temp 3-component vector of uint)
+0:88 'gs_ua3' (global 3-component vector of uint)
+0:88 'gs_ub3' (global 3-component vector of uint)
0:89 move second child to first child (temp 3-component vector of uint)
0:89 'out_u3' (temp 3-component vector of uint)
0:89 AtomicCompSwap (temp 3-component vector of uint)
-0:89 'gs_ua3' (temp 3-component vector of uint)
-0:89 'gs_ub3' (temp 3-component vector of uint)
-0:89 'gs_uc3' (temp 3-component vector of uint)
+0:89 'gs_ua3' (global 3-component vector of uint)
+0:89 'gs_ub3' (global 3-component vector of uint)
+0:89 'gs_uc3' (global 3-component vector of uint)
0:90 move second child to first child (temp 3-component vector of uint)
0:90 'out_u3' (temp 3-component vector of uint)
0:90 AtomicExchange (temp 3-component vector of uint)
-0:90 'gs_ua3' (temp 3-component vector of uint)
-0:90 'gs_ub3' (temp 3-component vector of uint)
+0:90 'gs_ua3' (global 3-component vector of uint)
+0:90 'gs_ub3' (global 3-component vector of uint)
0:91 AtomicMax (global void)
-0:91 'gs_ua3' (temp 3-component vector of uint)
-0:91 'gs_ub3' (temp 3-component vector of uint)
+0:91 'gs_ua3' (global 3-component vector of uint)
+0:91 'gs_ub3' (global 3-component vector of uint)
0:92 move second child to first child (temp 3-component vector of uint)
0:92 'out_u3' (temp 3-component vector of uint)
0:92 AtomicMax (temp 3-component vector of uint)
-0:92 'gs_ua3' (temp 3-component vector of uint)
-0:92 'gs_ub3' (temp 3-component vector of uint)
+0:92 'gs_ua3' (global 3-component vector of uint)
+0:92 'gs_ub3' (global 3-component vector of uint)
0:93 AtomicMin (global void)
-0:93 'gs_ua3' (temp 3-component vector of uint)
-0:93 'gs_ub3' (temp 3-component vector of uint)
+0:93 'gs_ua3' (global 3-component vector of uint)
+0:93 'gs_ub3' (global 3-component vector of uint)
0:94 move second child to first child (temp 3-component vector of uint)
0:94 'out_u3' (temp 3-component vector of uint)
0:94 AtomicMin (temp 3-component vector of uint)
-0:94 'gs_ua3' (temp 3-component vector of uint)
-0:94 'gs_ub3' (temp 3-component vector of uint)
+0:94 'gs_ua3' (global 3-component vector of uint)
+0:94 'gs_ub3' (global 3-component vector of uint)
0:95 AtomicOr (global void)
-0:95 'gs_ua3' (temp 3-component vector of uint)
-0:95 'gs_ub3' (temp 3-component vector of uint)
+0:95 'gs_ua3' (global 3-component vector of uint)
+0:95 'gs_ub3' (global 3-component vector of uint)
0:96 move second child to first child (temp 3-component vector of uint)
0:96 'out_u3' (temp 3-component vector of uint)
0:96 AtomicOr (temp 3-component vector of uint)
-0:96 'gs_ua3' (temp 3-component vector of uint)
-0:96 'gs_ub3' (temp 3-component vector of uint)
+0:96 'gs_ua3' (global 3-component vector of uint)
+0:96 'gs_ub3' (global 3-component vector of uint)
0:97 AtomicXor (global void)
-0:97 'gs_ua3' (temp 3-component vector of uint)
-0:97 'gs_ub3' (temp 3-component vector of uint)
+0:97 'gs_ua3' (global 3-component vector of uint)
+0:97 'gs_ub3' (global 3-component vector of uint)
0:98 move second child to first child (temp 3-component vector of uint)
0:98 'out_u3' (temp 3-component vector of uint)
0:98 AtomicXor (temp 3-component vector of uint)
-0:98 'gs_ua3' (temp 3-component vector of uint)
-0:98 'gs_ub3' (temp 3-component vector of uint)
+0:98 'gs_ua3' (global 3-component vector of uint)
+0:98 'gs_ub3' (global 3-component vector of uint)
0:101 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:130 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
+0:130 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
0:105 Function Parameters:
0:105 'inF0' (in 4-component vector of float)
0:105 'inF1' (in 4-component vector of float)
0:109 all (global bool)
0:109 'inF0' (in 4-component vector of float)
0:112 AtomicAdd (global void)
-0:112 'gs_ua4' (temp 4-component vector of uint)
-0:112 'gs_ub4' (temp 4-component vector of uint)
+0:112 'gs_ua4' (global 4-component vector of uint)
+0:112 'gs_ub4' (global 4-component vector of uint)
0:113 move second child to first child (temp 4-component vector of uint)
0:113 'out_u4' (temp 4-component vector of uint)
0:113 AtomicAdd (temp 4-component vector of uint)
-0:113 'gs_ua4' (temp 4-component vector of uint)
-0:113 'gs_ub4' (temp 4-component vector of uint)
+0:113 'gs_ua4' (global 4-component vector of uint)
+0:113 'gs_ub4' (global 4-component vector of uint)
0:114 AtomicAnd (global void)
-0:114 'gs_ua4' (temp 4-component vector of uint)
-0:114 'gs_ub4' (temp 4-component vector of uint)
+0:114 'gs_ua4' (global 4-component vector of uint)
+0:114 'gs_ub4' (global 4-component vector of uint)
0:115 move second child to first child (temp 4-component vector of uint)
0:115 'out_u4' (temp 4-component vector of uint)
0:115 AtomicAnd (temp 4-component vector of uint)
-0:115 'gs_ua4' (temp 4-component vector of uint)
-0:115 'gs_ub4' (temp 4-component vector of uint)
+0:115 'gs_ua4' (global 4-component vector of uint)
+0:115 'gs_ub4' (global 4-component vector of uint)
0:116 move second child to first child (temp 4-component vector of uint)
0:116 'out_u4' (temp 4-component vector of uint)
0:116 AtomicCompSwap (temp 4-component vector of uint)
-0:116 'gs_ua4' (temp 4-component vector of uint)
-0:116 'gs_ub4' (temp 4-component vector of uint)
-0:116 'gs_uc4' (temp 4-component vector of uint)
+0:116 'gs_ua4' (global 4-component vector of uint)
+0:116 'gs_ub4' (global 4-component vector of uint)
+0:116 'gs_uc4' (global 4-component vector of uint)
0:117 move second child to first child (temp 4-component vector of uint)
0:117 'out_u4' (temp 4-component vector of uint)
0:117 AtomicExchange (temp 4-component vector of uint)
-0:117 'gs_ua4' (temp 4-component vector of uint)
-0:117 'gs_ub4' (temp 4-component vector of uint)
+0:117 'gs_ua4' (global 4-component vector of uint)
+0:117 'gs_ub4' (global 4-component vector of uint)
0:118 AtomicMax (global void)
-0:118 'gs_ua4' (temp 4-component vector of uint)
-0:118 'gs_ub4' (temp 4-component vector of uint)
+0:118 'gs_ua4' (global 4-component vector of uint)
+0:118 'gs_ub4' (global 4-component vector of uint)
0:119 move second child to first child (temp 4-component vector of uint)
0:119 'out_u4' (temp 4-component vector of uint)
0:119 AtomicMax (temp 4-component vector of uint)
-0:119 'gs_ua4' (temp 4-component vector of uint)
-0:119 'gs_ub4' (temp 4-component vector of uint)
+0:119 'gs_ua4' (global 4-component vector of uint)
+0:119 'gs_ub4' (global 4-component vector of uint)
0:120 AtomicMin (global void)
-0:120 'gs_ua4' (temp 4-component vector of uint)
-0:120 'gs_ub4' (temp 4-component vector of uint)
+0:120 'gs_ua4' (global 4-component vector of uint)
+0:120 'gs_ub4' (global 4-component vector of uint)
0:121 move second child to first child (temp 4-component vector of uint)
0:121 'out_u4' (temp 4-component vector of uint)
0:121 AtomicMin (temp 4-component vector of uint)
-0:121 'gs_ua4' (temp 4-component vector of uint)
-0:121 'gs_ub4' (temp 4-component vector of uint)
+0:121 'gs_ua4' (global 4-component vector of uint)
+0:121 'gs_ub4' (global 4-component vector of uint)
0:122 AtomicOr (global void)
-0:122 'gs_ua4' (temp 4-component vector of uint)
-0:122 'gs_ub4' (temp 4-component vector of uint)
+0:122 'gs_ua4' (global 4-component vector of uint)
+0:122 'gs_ub4' (global 4-component vector of uint)
0:123 move second child to first child (temp 4-component vector of uint)
0:123 'out_u4' (temp 4-component vector of uint)
0:123 AtomicOr (temp 4-component vector of uint)
-0:123 'gs_ua4' (temp 4-component vector of uint)
-0:123 'gs_ub4' (temp 4-component vector of uint)
+0:123 'gs_ua4' (global 4-component vector of uint)
+0:123 'gs_ub4' (global 4-component vector of uint)
0:124 AtomicXor (global void)
-0:124 'gs_ua4' (temp 4-component vector of uint)
-0:124 'gs_ub4' (temp 4-component vector of uint)
+0:124 'gs_ua4' (global 4-component vector of uint)
+0:124 'gs_ub4' (global 4-component vector of uint)
0:125 move second child to first child (temp 4-component vector of uint)
0:125 'out_u4' (temp 4-component vector of uint)
0:125 AtomicXor (temp 4-component vector of uint)
-0:125 'gs_ua4' (temp 4-component vector of uint)
-0:125 'gs_ub4' (temp 4-component vector of uint)
+0:125 'gs_ua4' (global 4-component vector of uint)
+0:125 'gs_ub4' (global 4-component vector of uint)
0:128 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 3.000000
0:? 4.000000
0:? Linker Objects
-0:? 'gs_ua' (temp uint)
-0:? 'gs_ub' (temp uint)
-0:? 'gs_uc' (temp uint)
-0:? 'gs_ua2' (temp 2-component vector of uint)
-0:? 'gs_ub2' (temp 2-component vector of uint)
-0:? 'gs_uc2' (temp 2-component vector of uint)
-0:? 'gs_ua3' (temp 3-component vector of uint)
-0:? 'gs_ub3' (temp 3-component vector of uint)
-0:? 'gs_uc3' (temp 3-component vector of uint)
-0:? 'gs_ua4' (temp 4-component vector of uint)
-0:? 'gs_ub4' (temp 4-component vector of uint)
-0:? 'gs_uc4' (temp 4-component vector of uint)
+0:? 'gs_ua' (global uint)
+0:? 'gs_ub' (global uint)
+0:? 'gs_uc' (global uint)
+0:? 'gs_ua2' (global 2-component vector of uint)
+0:? 'gs_ub2' (global 2-component vector of uint)
+0:? 'gs_uc2' (global 2-component vector of uint)
+0:? 'gs_ua3' (global 3-component vector of uint)
+0:? 'gs_ub3' (global 3-component vector of uint)
+0:? 'gs_uc3' (global 3-component vector of uint)
+0:? 'gs_ua4' (global 4-component vector of uint)
+0:? 'gs_ub4' (global 4-component vector of uint)
+0:? 'gs_uc4' (global 4-component vector of uint)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 182
+// Id's are bound by 217
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "ComputeShaderFunction" 8 54 98 141
+ EntryPoint GLCompute 4 "ComputeShaderFunction" 175
ExecutionMode 4 LocalSize 1 1 1
Source HLSL 450
Name 4 "ComputeShaderFunction"
- Name 8 "inF0"
- Name 14 "gs_ua"
- Name 15 "gs_ub"
- Name 20 "out_u1"
- Name 28 "gs_uc"
- Name 54 "inF0"
- Name 59 "gs_ua2"
- Name 60 "gs_ub2"
- Name 63 "out_u2"
- Name 71 "gs_uc2"
- Name 98 "inF0"
- Name 103 "gs_ua3"
- Name 104 "gs_ub3"
- Name 107 "out_u3"
- Name 115 "gs_uc3"
- Name 141 "inF0"
- Name 146 "gs_ua4"
- Name 147 "gs_ub4"
- Name 150 "out_u4"
- Name 158 "gs_uc4"
+ Name 16 "ComputeShaderFunctionS(f1;f1;f1;u1;u1;"
+ Name 11 "inF0"
+ Name 12 "inF1"
+ Name 13 "inF2"
+ Name 14 "inU0"
+ Name 15 "inU1"
+ Name 22 "ComputeShaderFunction1(vf1;vf1;vf1;"
+ Name 19 "inF0"
+ Name 20 "inF1"
+ Name 21 "inF2"
+ Name 34 "ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
+ Name 29 "inF0"
+ Name 30 "inF1"
+ Name 31 "inF2"
+ Name 32 "inU0"
+ Name 33 "inU1"
+ Name 46 "ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
+ Name 41 "inF0"
+ Name 42 "inF1"
+ Name 43 "inF2"
+ Name 44 "inU0"
+ Name 45 "inU1"
+ Name 52 "gs_ua"
+ Name 53 "gs_ub"
+ Name 58 "out_u1"
+ Name 66 "gs_uc"
+ Name 95 "gs_ua2"
+ Name 96 "gs_ub2"
+ Name 99 "out_u2"
+ Name 107 "gs_uc2"
+ Name 136 "gs_ua3"
+ Name 137 "gs_ub3"
+ Name 140 "out_u3"
+ Name 148 "gs_uc3"
+ Name 175 "inF0"
+ Name 180 "gs_ua4"
+ Name 181 "gs_ub4"
+ Name 185 "out_u4"
+ Name 193 "gs_uc4"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
- 7: TypePointer Input 6(float)
- 8(inF0): 7(ptr) Variable Input
- 10: TypeBool
- 12: TypeInt 32 0
- 13: TypePointer Function 12(int)
- 17: 12(int) Constant 1
- 18: 12(int) Constant 0
- 49: 6(float) Constant 0
- 52: TypeVector 6(float) 2
- 53: TypePointer Input 52(fvec2)
- 54(inF0): 53(ptr) Variable Input
- 57: TypeVector 12(int) 2
- 58: TypePointer Function 57(ivec2)
- 92: 6(float) Constant 1065353216
- 93: 6(float) Constant 1073741824
- 94: 52(fvec2) ConstantComposite 92 93
- 96: TypeVector 6(float) 3
- 97: TypePointer Input 96(fvec3)
- 98(inF0): 97(ptr) Variable Input
- 101: TypeVector 12(int) 3
- 102: TypePointer Function 101(ivec3)
- 136: 6(float) Constant 1077936128
- 137: 96(fvec3) ConstantComposite 92 93 136
- 139: TypeVector 6(float) 4
- 140: TypePointer Input 139(fvec4)
- 141(inF0): 140(ptr) Variable Input
- 144: TypeVector 12(int) 4
- 145: TypePointer Function 144(ivec4)
- 179: 6(float) Constant 1082130432
- 180: 139(fvec4) ConstantComposite 92 93 136 179
+ 7: TypePointer Function 6(float)
+ 8: TypeInt 32 0
+ 9: TypePointer Function 8(int)
+ 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
+ 18: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
+ 24: TypeVector 6(float) 2
+ 25: TypePointer Function 24(fvec2)
+ 26: TypeVector 8(int) 2
+ 27: TypePointer Function 26(ivec2)
+ 28: TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Function 36(fvec3)
+ 38: TypeVector 8(int) 3
+ 39: TypePointer Function 38(ivec3)
+ 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
+ 49: TypeBool
+ 51: TypePointer Private 8(int)
+ 52(gs_ua): 51(ptr) Variable Private
+ 53(gs_ub): 51(ptr) Variable Private
+ 55: 8(int) Constant 1
+ 56: 8(int) Constant 0
+ 66(gs_uc): 51(ptr) Variable Private
+ 87: 6(float) Constant 0
+ 94: TypePointer Private 26(ivec2)
+ 95(gs_ua2): 94(ptr) Variable Private
+ 96(gs_ub2): 94(ptr) Variable Private
+ 107(gs_uc2): 94(ptr) Variable Private
+ 128: 6(float) Constant 1065353216
+ 129: 6(float) Constant 1073741824
+ 130: 24(fvec2) ConstantComposite 128 129
+ 135: TypePointer Private 38(ivec3)
+ 136(gs_ua3): 135(ptr) Variable Private
+ 137(gs_ub3): 135(ptr) Variable Private
+ 148(gs_uc3): 135(ptr) Variable Private
+ 169: 6(float) Constant 1077936128
+ 170: 36(fvec3) ConstantComposite 128 129 169
+ 173: TypeVector 6(float) 4
+ 174: TypePointer Input 173(fvec4)
+ 175(inF0): 174(ptr) Variable Input
+ 178: TypeVector 8(int) 4
+ 179: TypePointer Private 178(ivec4)
+ 180(gs_ua4): 179(ptr) Variable Private
+ 181(gs_ub4): 179(ptr) Variable Private
+ 184: TypePointer Function 178(ivec4)
+ 193(gs_uc4): 179(ptr) Variable Private
+ 214: 6(float) Constant 1082130432
+ 215: 173(fvec4) ConstantComposite 128 129 169 214
4(ComputeShaderFunction): 2 Function None 3
5: Label
- 14(gs_ua): 13(ptr) Variable Function
- 15(gs_ub): 13(ptr) Variable Function
- 20(out_u1): 13(ptr) Variable Function
- 28(gs_uc): 13(ptr) Variable Function
- 59(gs_ua2): 58(ptr) Variable Function
- 60(gs_ub2): 58(ptr) Variable Function
- 63(out_u2): 58(ptr) Variable Function
- 71(gs_uc2): 58(ptr) Variable Function
- 103(gs_ua3): 102(ptr) Variable Function
- 104(gs_ub3): 102(ptr) Variable Function
- 107(out_u3): 102(ptr) Variable Function
- 115(gs_uc3): 102(ptr) Variable Function
- 146(gs_ua4): 145(ptr) Variable Function
- 147(gs_ub4): 145(ptr) Variable Function
- 150(out_u4): 145(ptr) Variable Function
- 158(gs_uc4): 145(ptr) Variable Function
- 9: 6(float) Load 8(inF0)
- 11: 10(bool) All 9
- 16: 12(int) Load 15(gs_ub)
- 19: 2 AtomicIAdd 14(gs_ua) 17 18 16
- 21: 12(int) Load 15(gs_ub)
- 22: 12(int) AtomicIAdd 14(gs_ua) 17 18 21
- Store 20(out_u1) 22
- 23: 12(int) Load 15(gs_ub)
- 24: 2 AtomicAnd 14(gs_ua) 17 18 23
- 25: 12(int) Load 15(gs_ub)
- 26: 12(int) AtomicAnd 14(gs_ua) 17 18 25
- Store 20(out_u1) 26
- 27: 12(int) Load 15(gs_ub)
- 29: 12(int) Load 28(gs_uc)
- 30: 12(int) AtomicCompareExchange 14(gs_ua) 17 18 18 29 27
- Store 20(out_u1) 30
- 31: 12(int) Load 15(gs_ub)
- 32: 12(int) AtomicExchange 14(gs_ua) 17 18 31
- Store 20(out_u1) 32
- 33: 12(int) Load 15(gs_ub)
- 34: 2 AtomicSMax 14(gs_ua) 17 18 33
- 35: 12(int) Load 15(gs_ub)
- 36: 12(int) AtomicUMax 14(gs_ua) 17 18 35
- Store 20(out_u1) 36
- 37: 12(int) Load 15(gs_ub)
- 38: 2 AtomicSMin 14(gs_ua) 17 18 37
- 39: 12(int) Load 15(gs_ub)
- 40: 12(int) AtomicUMin 14(gs_ua) 17 18 39
- Store 20(out_u1) 40
- 41: 12(int) Load 15(gs_ub)
- 42: 2 AtomicOr 14(gs_ua) 17 18 41
- 43: 12(int) Load 15(gs_ub)
- 44: 12(int) AtomicOr 14(gs_ua) 17 18 43
- Store 20(out_u1) 44
- 45: 12(int) Load 15(gs_ub)
- 46: 2 AtomicXor 14(gs_ua) 17 18 45
- 47: 12(int) Load 15(gs_ub)
- 48: 12(int) AtomicXor 14(gs_ua) 17 18 47
- Store 20(out_u1) 48
- ReturnValue 49
+ 185(out_u4): 184(ptr) Variable Function
+ 176: 173(fvec4) Load 175(inF0)
+ 177: 49(bool) All 176
+ 182: 178(ivec4) Load 181(gs_ub4)
+ 183: 2 AtomicIAdd 180(gs_ua4) 55 56 182
+ 186: 178(ivec4) Load 181(gs_ub4)
+ 187: 178(ivec4) AtomicIAdd 180(gs_ua4) 55 56 186
+ Store 185(out_u4) 187
+ 188: 178(ivec4) Load 181(gs_ub4)
+ 189: 2 AtomicAnd 180(gs_ua4) 55 56 188
+ 190: 178(ivec4) Load 181(gs_ub4)
+ 191: 178(ivec4) AtomicAnd 180(gs_ua4) 55 56 190
+ Store 185(out_u4) 191
+ 192: 178(ivec4) Load 181(gs_ub4)
+ 194: 178(ivec4) Load 193(gs_uc4)
+ 195: 178(ivec4) AtomicCompareExchange 180(gs_ua4) 55 56 56 194 192
+ Store 185(out_u4) 195
+ 196: 178(ivec4) Load 181(gs_ub4)
+ 197: 178(ivec4) AtomicExchange 180(gs_ua4) 55 56 196
+ Store 185(out_u4) 197
+ 198: 178(ivec4) Load 181(gs_ub4)
+ 199: 2 AtomicSMax 180(gs_ua4) 55 56 198
+ 200: 178(ivec4) Load 181(gs_ub4)
+ 201: 178(ivec4) AtomicUMax 180(gs_ua4) 55 56 200
+ Store 185(out_u4) 201
+ 202: 178(ivec4) Load 181(gs_ub4)
+ 203: 2 AtomicSMin 180(gs_ua4) 55 56 202
+ 204: 178(ivec4) Load 181(gs_ub4)
+ 205: 178(ivec4) AtomicUMin 180(gs_ua4) 55 56 204
+ Store 185(out_u4) 205
+ 206: 178(ivec4) Load 181(gs_ub4)
+ 207: 2 AtomicOr 180(gs_ua4) 55 56 206
+ 208: 178(ivec4) Load 181(gs_ub4)
+ 209: 178(ivec4) AtomicOr 180(gs_ua4) 55 56 208
+ Store 185(out_u4) 209
+ 210: 178(ivec4) Load 181(gs_ub4)
+ 211: 2 AtomicXor 180(gs_ua4) 55 56 210
+ 212: 178(ivec4) Load 181(gs_ub4)
+ 213: 178(ivec4) AtomicXor 180(gs_ua4) 55 56 212
+ Store 185(out_u4) 213
+ ReturnValue 215
+ FunctionEnd
+16(ComputeShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10
+ 11(inF0): 7(ptr) FunctionParameter
+ 12(inF1): 7(ptr) FunctionParameter
+ 13(inF2): 7(ptr) FunctionParameter
+ 14(inU0): 9(ptr) FunctionParameter
+ 15(inU1): 9(ptr) FunctionParameter
+ 17: Label
+ 58(out_u1): 9(ptr) Variable Function
+ 48: 6(float) Load 11(inF0)
+ 50: 49(bool) All 48
+ 54: 8(int) Load 53(gs_ub)
+ 57: 2 AtomicIAdd 52(gs_ua) 55 56 54
+ 59: 8(int) Load 53(gs_ub)
+ 60: 8(int) AtomicIAdd 52(gs_ua) 55 56 59
+ Store 58(out_u1) 60
+ 61: 8(int) Load 53(gs_ub)
+ 62: 2 AtomicAnd 52(gs_ua) 55 56 61
+ 63: 8(int) Load 53(gs_ub)
+ 64: 8(int) AtomicAnd 52(gs_ua) 55 56 63
+ Store 58(out_u1) 64
+ 65: 8(int) Load 53(gs_ub)
+ 67: 8(int) Load 66(gs_uc)
+ 68: 8(int) AtomicCompareExchange 52(gs_ua) 55 56 56 67 65
+ Store 58(out_u1) 68
+ 69: 8(int) Load 53(gs_ub)
+ 70: 8(int) AtomicExchange 52(gs_ua) 55 56 69
+ Store 58(out_u1) 70
+ 71: 8(int) Load 53(gs_ub)
+ 72: 2 AtomicSMax 52(gs_ua) 55 56 71
+ 73: 8(int) Load 53(gs_ub)
+ 74: 8(int) AtomicUMax 52(gs_ua) 55 56 73
+ Store 58(out_u1) 74
+ 75: 8(int) Load 53(gs_ub)
+ 76: 2 AtomicSMin 52(gs_ua) 55 56 75
+ 77: 8(int) Load 53(gs_ub)
+ 78: 8(int) AtomicUMin 52(gs_ua) 55 56 77
+ Store 58(out_u1) 78
+ 79: 8(int) Load 53(gs_ub)
+ 80: 2 AtomicOr 52(gs_ua) 55 56 79
+ 81: 8(int) Load 53(gs_ub)
+ 82: 8(int) AtomicOr 52(gs_ua) 55 56 81
+ Store 58(out_u1) 82
+ 83: 8(int) Load 53(gs_ub)
+ 84: 2 AtomicXor 52(gs_ua) 55 56 83
+ 85: 8(int) Load 53(gs_ub)
+ 86: 8(int) AtomicXor 52(gs_ua) 55 56 85
+ Store 58(out_u1) 86
+ ReturnValue 87
+ FunctionEnd
+22(ComputeShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18
+ 19(inF0): 7(ptr) FunctionParameter
+ 20(inF1): 7(ptr) FunctionParameter
+ 21(inF2): 7(ptr) FunctionParameter
+ 23: Label
+ ReturnValue 87
+ FunctionEnd
+34(ComputeShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28
+ 29(inF0): 25(ptr) FunctionParameter
+ 30(inF1): 25(ptr) FunctionParameter
+ 31(inF2): 25(ptr) FunctionParameter
+ 32(inU0): 27(ptr) FunctionParameter
+ 33(inU1): 27(ptr) FunctionParameter
+ 35: Label
+ 99(out_u2): 27(ptr) Variable Function
+ 92: 24(fvec2) Load 29(inF0)
+ 93: 49(bool) All 92
+ 97: 26(ivec2) Load 96(gs_ub2)
+ 98: 2 AtomicIAdd 95(gs_ua2) 55 56 97
+ 100: 26(ivec2) Load 96(gs_ub2)
+ 101: 26(ivec2) AtomicIAdd 95(gs_ua2) 55 56 100
+ Store 99(out_u2) 101
+ 102: 26(ivec2) Load 96(gs_ub2)
+ 103: 2 AtomicAnd 95(gs_ua2) 55 56 102
+ 104: 26(ivec2) Load 96(gs_ub2)
+ 105: 26(ivec2) AtomicAnd 95(gs_ua2) 55 56 104
+ Store 99(out_u2) 105
+ 106: 26(ivec2) Load 96(gs_ub2)
+ 108: 26(ivec2) Load 107(gs_uc2)
+ 109: 26(ivec2) AtomicCompareExchange 95(gs_ua2) 55 56 56 108 106
+ Store 99(out_u2) 109
+ 110: 26(ivec2) Load 96(gs_ub2)
+ 111: 26(ivec2) AtomicExchange 95(gs_ua2) 55 56 110
+ Store 99(out_u2) 111
+ 112: 26(ivec2) Load 96(gs_ub2)
+ 113: 2 AtomicSMax 95(gs_ua2) 55 56 112
+ 114: 26(ivec2) Load 96(gs_ub2)
+ 115: 26(ivec2) AtomicUMax 95(gs_ua2) 55 56 114
+ Store 99(out_u2) 115
+ 116: 26(ivec2) Load 96(gs_ub2)
+ 117: 2 AtomicSMin 95(gs_ua2) 55 56 116
+ 118: 26(ivec2) Load 96(gs_ub2)
+ 119: 26(ivec2) AtomicUMin 95(gs_ua2) 55 56 118
+ Store 99(out_u2) 119
+ 120: 26(ivec2) Load 96(gs_ub2)
+ 121: 2 AtomicOr 95(gs_ua2) 55 56 120
+ 122: 26(ivec2) Load 96(gs_ub2)
+ 123: 26(ivec2) AtomicOr 95(gs_ua2) 55 56 122
+ Store 99(out_u2) 123
+ 124: 26(ivec2) Load 96(gs_ub2)
+ 125: 2 AtomicXor 95(gs_ua2) 55 56 124
+ 126: 26(ivec2) Load 96(gs_ub2)
+ 127: 26(ivec2) AtomicXor 95(gs_ua2) 55 56 126
+ Store 99(out_u2) 127
+ ReturnValue 130
+ FunctionEnd
+46(ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40
+ 41(inF0): 37(ptr) FunctionParameter
+ 42(inF1): 37(ptr) FunctionParameter
+ 43(inF2): 37(ptr) FunctionParameter
+ 44(inU0): 39(ptr) FunctionParameter
+ 45(inU1): 39(ptr) FunctionParameter
+ 47: Label
+ 140(out_u3): 39(ptr) Variable Function
+ 133: 36(fvec3) Load 41(inF0)
+ 134: 49(bool) All 133
+ 138: 38(ivec3) Load 137(gs_ub3)
+ 139: 2 AtomicIAdd 136(gs_ua3) 55 56 138
+ 141: 38(ivec3) Load 137(gs_ub3)
+ 142: 38(ivec3) AtomicIAdd 136(gs_ua3) 55 56 141
+ Store 140(out_u3) 142
+ 143: 38(ivec3) Load 137(gs_ub3)
+ 144: 2 AtomicAnd 136(gs_ua3) 55 56 143
+ 145: 38(ivec3) Load 137(gs_ub3)
+ 146: 38(ivec3) AtomicAnd 136(gs_ua3) 55 56 145
+ Store 140(out_u3) 146
+ 147: 38(ivec3) Load 137(gs_ub3)
+ 149: 38(ivec3) Load 148(gs_uc3)
+ 150: 38(ivec3) AtomicCompareExchange 136(gs_ua3) 55 56 56 149 147
+ Store 140(out_u3) 150
+ 151: 38(ivec3) Load 137(gs_ub3)
+ 152: 38(ivec3) AtomicExchange 136(gs_ua3) 55 56 151
+ Store 140(out_u3) 152
+ 153: 38(ivec3) Load 137(gs_ub3)
+ 154: 2 AtomicSMax 136(gs_ua3) 55 56 153
+ 155: 38(ivec3) Load 137(gs_ub3)
+ 156: 38(ivec3) AtomicUMax 136(gs_ua3) 55 56 155
+ Store 140(out_u3) 156
+ 157: 38(ivec3) Load 137(gs_ub3)
+ 158: 2 AtomicSMin 136(gs_ua3) 55 56 157
+ 159: 38(ivec3) Load 137(gs_ub3)
+ 160: 38(ivec3) AtomicUMin 136(gs_ua3) 55 56 159
+ Store 140(out_u3) 160
+ 161: 38(ivec3) Load 137(gs_ub3)
+ 162: 2 AtomicOr 136(gs_ua3) 55 56 161
+ 163: 38(ivec3) Load 137(gs_ub3)
+ 164: 38(ivec3) AtomicOr 136(gs_ua3) 55 56 163
+ Store 140(out_u3) 164
+ 165: 38(ivec3) Load 137(gs_ub3)
+ 166: 2 AtomicXor 136(gs_ua3) 55 56 165
+ 167: 38(ivec3) Load 137(gs_ub3)
+ 168: 38(ivec3) AtomicXor 136(gs_ua3) 55 56 167
+ Store 140(out_u3) 168
+ ReturnValue 170
FunctionEnd
--- /dev/null
+hlsl.intrinsics.double.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (global float)
+0:5 Function Parameters:
+0:5 'inDV1a' (in double)
+0:5 'inDV1b' (in double)
+0:5 'inDV1c' (in double)
+0:5 'inDV2' (in 2-component vector of double)
+0:5 'inDV3' (in 3-component vector of double)
+0:5 'inDV4' (in 4-component vector of double)
+0:5 'inU1a' (in uint)
+0:5 'inU1b' (in uint)
+0:? Sequence
+0:6 Sequence
+0:6 move second child to first child (temp double)
+0:6 'r00' (temp double)
+0:6 fma (global double)
+0:6 'inDV1a' (in double)
+0:6 'inDV1b' (in double)
+0:6 'inDV1c' (in double)
+0:7 Sequence
+0:7 move second child to first child (temp double)
+0:7 'r01' (temp double)
+0:7 uint64BitsToDouble (temp double)
+0:7 Construct uvec2 (temp 2-component vector of uint)
+0:7 'inU1a' (in uint)
+0:7 'inU1b' (in uint)
+0:9 Branch: Return with expression
+0:9 Constant:
+0:9 0.000000
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (global float)
+0:5 Function Parameters:
+0:5 'inDV1a' (in double)
+0:5 'inDV1b' (in double)
+0:5 'inDV1c' (in double)
+0:5 'inDV2' (in 2-component vector of double)
+0:5 'inDV3' (in 3-component vector of double)
+0:5 'inDV4' (in 4-component vector of double)
+0:5 'inU1a' (in uint)
+0:5 'inU1b' (in uint)
+0:? Sequence
+0:6 Sequence
+0:6 move second child to first child (temp double)
+0:6 'r00' (temp double)
+0:6 fma (global double)
+0:6 'inDV1a' (in double)
+0:6 'inDV1b' (in double)
+0:6 'inDV1c' (in double)
+0:7 Sequence
+0:7 move second child to first child (temp double)
+0:7 'r01' (temp double)
+0:7 uint64BitsToDouble (temp double)
+0:7 Construct uvec2 (temp 2-component vector of uint)
+0:7 'inU1a' (in uint)
+0:7 'inU1b' (in uint)
+0:9 Branch: Return with expression
+0:9 Constant:
+0:9 0.000000
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 30
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 8 "r00"
+ Name 10 "inDV1a"
+ Name 12 "inDV1b"
+ Name 14 "inDV1c"
+ Name 17 "r01"
+ Name 20 "inU1a"
+ Name 22 "inU1b"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 64
+ 7: TypePointer Function 6(float)
+ 9: TypePointer Input 6(float)
+ 10(inDV1a): 9(ptr) Variable Input
+ 12(inDV1b): 9(ptr) Variable Input
+ 14(inDV1c): 9(ptr) Variable Input
+ 18: TypeInt 32 0
+ 19: TypePointer Input 18(int)
+ 20(inU1a): 19(ptr) Variable Input
+ 22(inU1b): 19(ptr) Variable Input
+ 24: TypeVector 18(int) 2
+ 27: TypeFloat 32
+ 28: 27(float) Constant 0
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 8(r00): 7(ptr) Variable Function
+ 17(r01): 7(ptr) Variable Function
+ 11: 6(float) Load 10(inDV1a)
+ 13: 6(float) Load 12(inDV1b)
+ 15: 6(float) Load 14(inDV1c)
+ 16: 6(float) ExtInst 1(GLSL.std.450) 50(Fma) 11 13 15
+ Store 8(r00) 16
+ 21: 18(int) Load 20(inU1a)
+ 23: 18(int) Load 22(inU1b)
+ 25: 24(ivec2) CompositeConstruct 21 23
+ 26: 6(float) Bitcast 25
+ Store 17(r01) 26
+ ReturnValue 28
+ FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:11 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void)
+0:11 Function Definition: main(f1;vf2;vf3;vf4;vi2; (global void)
0:3 Function Parameters:
0:3 'inF1' (in float)
0:3 'inF2' (in 2-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:11 Function Definition: main(f1;vf2;vf3;vf4;vi2; (temp void)
+0:11 Function Definition: main(f1;vf2;vf3;vf4;vi2; (global void)
0:3 Function Parameters:
0:3 'inF1' (in float)
0:3 'inF2' (in 2-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
-0:8 Function Definition: PixelShaderFunction(f1; (temp float)
+0:8 Function Definition: PixelShaderFunctionS(f1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:? Sequence
0:5 Branch: Return with expression
0:5 Constant:
0:5 0.000000
-0:14 Function Definition: PixelShaderFunction(vf1; (temp 1-component vector of float)
+0:14 Function Definition: PixelShaderFunction1(vf1; (global 1-component vector of float)
0:9 Function Parameters:
0:9 'inF0' (in 1-component vector of float)
0:? Sequence
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
-0:21 Function Definition: PixelShaderFunction(vf2; (temp 2-component vector of float)
+0:21 Function Definition: PixelShaderFunction2(vf2; (global 2-component vector of float)
0:15 Function Parameters:
0:15 'inF0' (in 2-component vector of float)
0:? Sequence
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:28 Function Definition: PixelShaderFunction(vf3; (temp 3-component vector of float)
+0:28 Function Definition: PixelShaderFunction3(vf3; (global 3-component vector of float)
0:22 Function Parameters:
0:22 'inF0' (in 3-component vector of float)
0:? Sequence
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:35 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:35 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:29 Function Parameters:
0:29 'inF0' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
-0:8 Function Definition: PixelShaderFunction(f1; (temp float)
+0:8 Function Definition: PixelShaderFunctionS(f1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:? Sequence
0:5 Branch: Return with expression
0:5 Constant:
0:5 0.000000
-0:14 Function Definition: PixelShaderFunction(vf1; (temp 1-component vector of float)
+0:14 Function Definition: PixelShaderFunction1(vf1; (global 1-component vector of float)
0:9 Function Parameters:
0:9 'inF0' (in 1-component vector of float)
0:? Sequence
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
-0:21 Function Definition: PixelShaderFunction(vf2; (temp 2-component vector of float)
+0:21 Function Definition: PixelShaderFunction2(vf2; (global 2-component vector of float)
0:15 Function Parameters:
0:15 'inF0' (in 2-component vector of float)
0:? Sequence
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:28 Function Definition: PixelShaderFunction(vf3; (temp 3-component vector of float)
+0:28 Function Definition: PixelShaderFunction3(vf3; (global 3-component vector of float)
0:22 Function Parameters:
0:22 'inF0' (in 3-component vector of float)
0:? Sequence
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:35 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:35 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:29 Function Parameters:
0:29 'inF0' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:87 Function Definition: PixelShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:88 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; (global float)
0:17 Function Parameters:
0:17 'inF0' (in float)
0:17 'inF1' (in float)
0:17 'inU0' (in uint)
0:17 'inU1' (in uint)
0:? Sequence
-0:20 all (global bool)
-0:20 'inF0' (in float)
-0:21 Absolute value (global float)
-0:21 'inF0' (in float)
-0:22 arc cosine (global float)
-0:22 'inF0' (in float)
-0:23 any (global bool)
-0:23 'inF0' (in float)
-0:24 arc sine (global float)
-0:24 'inF0' (in float)
-0:25 floatBitsToInt (global int)
-0:25 'inF0' (in float)
-0:26 floatBitsToUint (global uint)
-0:26 'inF0' (in float)
-0:27 intBitsToFloat (global float)
-0:27 'inU0' (in uint)
-0:29 arc tangent (global float)
-0:29 'inF0' (in float)
-0:30 arc tangent (global float)
-0:30 'inF0' (in float)
-0:30 'inF1' (in float)
-0:31 Ceiling (global float)
-0:31 'inF0' (in float)
-0:32 clamp (global float)
-0:32 'inF0' (in float)
-0:32 'inF1' (in float)
-0:32 'inF2' (in float)
+0:20 Sequence
+0:20 move second child to first child (temp bool)
+0:20 'r000' (temp bool)
+0:20 all (global bool)
+0:20 'inF0' (in float)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'r001' (temp float)
+0:21 Absolute value (global float)
+0:21 'inF0' (in float)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'r002' (temp float)
+0:22 arc cosine (global float)
+0:22 'inF0' (in float)
+0:23 Sequence
+0:23 move second child to first child (temp bool)
+0:23 'r003' (temp bool)
+0:23 any (global bool)
+0:23 'inF0' (in float)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'r004' (temp float)
+0:24 arc sine (global float)
+0:24 'inF0' (in float)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'r005' (temp int)
+0:25 floatBitsToInt (global int)
+0:25 'inF0' (in float)
+0:26 Sequence
+0:26 move second child to first child (temp uint)
+0:26 'r006' (temp uint)
+0:26 floatBitsToUint (global uint)
+0:26 'inF0' (in float)
+0:27 Sequence
+0:27 move second child to first child (temp float)
+0:27 'r007' (temp float)
+0:27 intBitsToFloat (global float)
+0:27 'inU0' (in uint)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'r009' (temp float)
+0:29 arc tangent (global float)
+0:29 'inF0' (in float)
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'r010' (temp float)
+0:30 arc tangent (global float)
+0:30 'inF0' (in float)
+0:30 'inF1' (in float)
+0:31 Sequence
+0:31 move second child to first child (temp float)
+0:31 'r011' (temp float)
+0:31 Ceiling (global float)
+0:31 'inF0' (in float)
+0:32 Sequence
+0:32 move second child to first child (temp float)
+0:32 'r012' (temp float)
+0:32 clamp (global float)
+0:32 'inF0' (in float)
+0:32 'inF1' (in float)
+0:32 'inF2' (in float)
0:33 Test condition and select (temp void)
0:33 Condition
0:33 Compare Less Than (temp bool)
0:33 0.000000
0:33 true case
0:33 Branch: Kill
-0:34 cosine (global float)
-0:34 'inF0' (in float)
-0:35 hyp. cosine (global float)
-0:35 'inF0' (in float)
-0:36 bitCount (global uint)
-0:36 Constant:
-0:36 7 (const uint)
-0:37 dPdx (global float)
-0:37 'inF0' (in float)
-0:38 dPdxCoarse (global float)
-0:38 'inF0' (in float)
-0:39 dPdxFine (global float)
-0:39 'inF0' (in float)
-0:40 dPdy (global float)
-0:40 'inF0' (in float)
-0:41 dPdyCoarse (global float)
-0:41 'inF0' (in float)
-0:42 dPdyFine (global float)
-0:42 'inF0' (in float)
-0:43 degrees (global float)
-0:43 'inF0' (in float)
-0:47 exp (global float)
-0:47 'inF0' (in float)
-0:48 exp2 (global float)
-0:48 'inF0' (in float)
-0:49 findMSB (global int)
-0:49 Constant:
-0:49 7 (const int)
-0:50 findLSB (global int)
-0:50 Constant:
-0:50 7 (const int)
-0:51 Floor (global float)
-0:51 'inF0' (in float)
-0:53 mod (global float)
-0:53 'inF0' (in float)
-0:53 'inF1' (in float)
-0:54 Fraction (global float)
-0:54 'inF0' (in float)
-0:55 frexp (global float)
-0:55 'inF0' (in float)
-0:55 'inF1' (in float)
-0:56 fwidth (global float)
-0:56 'inF0' (in float)
-0:57 isinf (global bool)
-0:57 'inF0' (in float)
-0:58 isnan (global bool)
-0:58 'inF0' (in float)
-0:59 ldexp (global float)
-0:59 'inF0' (in float)
-0:59 'inF1' (in float)
-0:60 log (global float)
-0:60 'inF0' (in float)
-0:61 component-wise multiply (temp float)
-0:61 log2 (temp float)
-0:61 'inF0' (in float)
-0:61 Constant:
-0:61 0.301030
-0:62 log2 (global float)
-0:62 'inF0' (in float)
-0:63 max (global float)
-0:63 'inF0' (in float)
-0:63 'inF1' (in float)
-0:64 min (global float)
-0:64 'inF0' (in float)
-0:64 'inF1' (in float)
-0:65 pow (global float)
-0:65 'inF0' (in float)
-0:65 'inF1' (in float)
-0:66 radians (global float)
-0:66 'inF0' (in float)
-0:67 divide (temp float)
-0:67 Constant:
-0:67 1.000000
-0:67 'inF0' (in float)
-0:68 bitFieldReverse (global uint)
-0:68 Constant:
-0:68 2 (const uint)
-0:69 roundEven (global float)
-0:69 'inF0' (in float)
-0:70 inverse sqrt (global float)
-0:70 'inF0' (in float)
-0:71 clamp (temp float)
-0:71 'inF0' (in float)
-0:71 Constant:
-0:71 0.000000
-0:71 Constant:
-0:71 1.000000
-0:72 Sign (global float)
-0:72 'inF0' (in float)
-0:73 sine (global float)
-0:73 'inF0' (in float)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'r014' (temp float)
+0:34 cosine (global float)
+0:34 'inF0' (in float)
+0:35 Sequence
+0:35 move second child to first child (temp float)
+0:35 'r015' (temp float)
+0:35 hyp. cosine (global float)
+0:35 'inF0' (in float)
+0:36 Sequence
+0:36 move second child to first child (temp uint)
+0:36 'r016' (temp uint)
+0:36 bitCount (global uint)
+0:36 Constant:
+0:36 7 (const uint)
+0:37 Sequence
+0:37 move second child to first child (temp float)
+0:37 'r017' (temp float)
+0:37 dPdx (global float)
+0:37 'inF0' (in float)
+0:38 Sequence
+0:38 move second child to first child (temp float)
+0:38 'r018' (temp float)
+0:38 dPdxCoarse (global float)
+0:38 'inF0' (in float)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'r019' (temp float)
+0:39 dPdxFine (global float)
+0:39 'inF0' (in float)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'r020' (temp float)
+0:40 dPdy (global float)
+0:40 'inF0' (in float)
+0:41 Sequence
+0:41 move second child to first child (temp float)
+0:41 'r021' (temp float)
+0:41 dPdyCoarse (global float)
+0:41 'inF0' (in float)
+0:42 Sequence
+0:42 move second child to first child (temp float)
+0:42 'r022' (temp float)
+0:42 dPdyFine (global float)
+0:42 'inF0' (in float)
+0:43 Sequence
+0:43 move second child to first child (temp float)
+0:43 'r023' (temp float)
+0:43 degrees (global float)
+0:43 'inF0' (in float)
+0:47 Sequence
+0:47 move second child to first child (temp float)
+0:47 'r027' (temp float)
+0:47 exp (global float)
+0:47 'inF0' (in float)
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'r028' (temp float)
+0:48 exp2 (global float)
+0:48 'inF0' (in float)
+0:49 Sequence
+0:49 move second child to first child (temp uint)
+0:49 'r029' (temp uint)
+0:49 Convert int to uint (temp uint)
+0:49 findMSB (global int)
+0:49 Constant:
+0:49 7 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp uint)
+0:50 'r030' (temp uint)
+0:50 Convert int to uint (temp uint)
+0:50 findLSB (global int)
+0:50 Constant:
+0:50 7 (const int)
+0:51 Sequence
+0:51 move second child to first child (temp float)
+0:51 'r031' (temp float)
+0:51 Floor (global float)
+0:51 'inF0' (in float)
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'r033' (temp float)
+0:53 mod (global float)
+0:53 'inF0' (in float)
+0:53 'inF1' (in float)
+0:54 Sequence
+0:54 move second child to first child (temp float)
+0:54 'r034' (temp float)
+0:54 Fraction (global float)
+0:54 'inF0' (in float)
+0:55 Sequence
+0:55 move second child to first child (temp float)
+0:55 'r035' (temp float)
+0:55 frexp (global float)
+0:55 'inF0' (in float)
+0:55 'inF1' (in float)
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'r036' (temp float)
+0:56 fwidth (global float)
+0:56 'inF0' (in float)
+0:57 Sequence
+0:57 move second child to first child (temp bool)
+0:57 'r037' (temp bool)
+0:57 isinf (global bool)
+0:57 'inF0' (in float)
+0:58 Sequence
+0:58 move second child to first child (temp bool)
+0:58 'r038' (temp bool)
+0:58 isnan (global bool)
+0:58 'inF0' (in float)
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'r039' (temp float)
+0:59 ldexp (global float)
+0:59 'inF0' (in float)
+0:59 'inF1' (in float)
+0:60 Sequence
+0:60 move second child to first child (temp float)
+0:60 'r039a' (temp float)
+0:60 mix (global float)
+0:60 'inF0' (in float)
+0:60 'inF1' (in float)
+0:60 'inF2' (in float)
+0:61 Sequence
+0:61 move second child to first child (temp float)
+0:61 'r040' (temp float)
+0:61 log (global float)
+0:61 'inF0' (in float)
+0:62 Sequence
+0:62 move second child to first child (temp float)
+0:62 'r041' (temp float)
+0:62 component-wise multiply (temp float)
+0:62 log2 (temp float)
+0:62 'inF0' (in float)
+0:62 Constant:
+0:62 0.301030
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'r042' (temp float)
+0:63 log2 (global float)
+0:63 'inF0' (in float)
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'r043' (temp float)
+0:64 max (global float)
+0:64 'inF0' (in float)
+0:64 'inF1' (in float)
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 'r044' (temp float)
+0:65 min (global float)
+0:65 'inF0' (in float)
+0:65 'inF1' (in float)
+0:66 Sequence
+0:66 move second child to first child (temp float)
+0:66 'r045' (temp float)
+0:66 pow (global float)
+0:66 'inF0' (in float)
+0:66 'inF1' (in float)
+0:67 Sequence
+0:67 move second child to first child (temp float)
+0:67 'r046' (temp float)
+0:67 radians (global float)
+0:67 'inF0' (in float)
+0:68 Sequence
+0:68 move second child to first child (temp float)
+0:68 'r047' (temp float)
+0:68 divide (temp float)
+0:68 Constant:
+0:68 1.000000
+0:68 'inF0' (in float)
+0:69 Sequence
+0:69 move second child to first child (temp uint)
+0:69 'r048' (temp uint)
+0:69 bitFieldReverse (global uint)
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp float)
+0:70 'r049' (temp float)
+0:70 roundEven (global float)
+0:70 'inF0' (in float)
+0:71 Sequence
+0:71 move second child to first child (temp float)
+0:71 'r050' (temp float)
+0:71 inverse sqrt (global float)
+0:71 'inF0' (in float)
+0:72 Sequence
+0:72 move second child to first child (temp float)
+0:72 'r051' (temp float)
+0:72 clamp (temp float)
+0:72 'inF0' (in float)
+0:72 Constant:
+0:72 0.000000
+0:72 Constant:
+0:72 1.000000
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'r052' (temp float)
+0:73 Sign (global float)
+0:73 'inF0' (in float)
0:74 Sequence
0:74 move second child to first child (temp float)
-0:74 'inF1' (in float)
-0:74 sine (temp float)
+0:74 'r053' (temp float)
+0:74 sine (global float)
0:74 'inF0' (in float)
-0:74 move second child to first child (temp float)
-0:74 'inF2' (in float)
-0:74 cosine (temp float)
-0:74 'inF0' (in float)
-0:75 hyp. sine (global float)
-0:75 'inF0' (in float)
-0:76 smoothstep (global float)
-0:76 'inF0' (in float)
-0:76 'inF1' (in float)
-0:76 'inF2' (in float)
-0:77 sqrt (global float)
-0:77 'inF0' (in float)
-0:78 step (global float)
-0:78 'inF0' (in float)
-0:78 'inF1' (in float)
-0:79 tangent (global float)
-0:79 'inF0' (in float)
-0:80 hyp. tangent (global float)
-0:80 'inF0' (in float)
-0:82 trunc (global float)
-0:82 'inF0' (in float)
-0:84 Branch: Return with expression
-0:84 Constant:
-0:84 0.000000
-0:93 Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
-0:88 Function Parameters:
-0:88 'inF0' (in 1-component vector of float)
-0:88 'inF1' (in 1-component vector of float)
-0:88 'inF2' (in 1-component vector of float)
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'inF1' (in float)
+0:75 sine (temp float)
+0:75 'inF0' (in float)
+0:75 move second child to first child (temp float)
+0:75 'inF2' (in float)
+0:75 cosine (temp float)
+0:75 'inF0' (in float)
+0:76 Sequence
+0:76 move second child to first child (temp float)
+0:76 'r055' (temp float)
+0:76 hyp. sine (global float)
+0:76 'inF0' (in float)
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'r056' (temp float)
+0:77 smoothstep (global float)
+0:77 'inF0' (in float)
+0:77 'inF1' (in float)
+0:77 'inF2' (in float)
+0:78 Sequence
+0:78 move second child to first child (temp float)
+0:78 'r057' (temp float)
+0:78 sqrt (global float)
+0:78 'inF0' (in float)
+0:79 Sequence
+0:79 move second child to first child (temp float)
+0:79 'r058' (temp float)
+0:79 step (global float)
+0:79 'inF0' (in float)
+0:79 'inF1' (in float)
+0:80 Sequence
+0:80 move second child to first child (temp float)
+0:80 'r059' (temp float)
+0:80 tangent (global float)
+0:80 'inF0' (in float)
+0:81 Sequence
+0:81 move second child to first child (temp float)
+0:81 'r060' (temp float)
+0:81 hyp. tangent (global float)
+0:81 'inF0' (in float)
+0:83 Sequence
+0:83 move second child to first child (temp float)
+0:83 'r061' (temp float)
+0:83 trunc (global float)
+0:83 'inF0' (in float)
+0:85 Branch: Return with expression
+0:85 Constant:
+0:85 0.000000
+0:94 Function Definition: PixelShaderFunction1(vf1;vf1;vf1; (global 1-component vector of float)
+0:89 Function Parameters:
+0:89 'inF0' (in 1-component vector of float)
+0:89 'inF1' (in 1-component vector of float)
+0:89 'inF2' (in 1-component vector of float)
0:? Sequence
-0:90 Branch: Return with expression
-0:90 Constant:
-0:90 0.000000
-0:172 Function Definition: PixelShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
-0:94 Function Parameters:
-0:94 'inF0' (in 2-component vector of float)
-0:94 'inF1' (in 2-component vector of float)
-0:94 'inF2' (in 2-component vector of float)
-0:94 'inU0' (in 2-component vector of uint)
-0:94 'inU1' (in 2-component vector of uint)
+0:91 Branch: Return with expression
+0:91 Constant:
+0:91 0.000000
+0:177 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; (global 2-component vector of float)
+0:95 Function Parameters:
+0:95 'inF0' (in 2-component vector of float)
+0:95 'inF1' (in 2-component vector of float)
+0:95 'inF2' (in 2-component vector of float)
+0:95 'inU0' (in 2-component vector of uint)
+0:95 'inU1' (in 2-component vector of uint)
0:? Sequence
-0:97 all (global bool)
-0:97 'inF0' (in 2-component vector of float)
-0:98 Absolute value (global 2-component vector of float)
-0:98 'inF0' (in 2-component vector of float)
-0:99 arc cosine (global 2-component vector of float)
-0:99 'inF0' (in 2-component vector of float)
-0:100 any (global bool)
-0:100 'inF0' (in 2-component vector of float)
-0:101 arc sine (global 2-component vector of float)
-0:101 'inF0' (in 2-component vector of float)
-0:102 floatBitsToInt (global 2-component vector of int)
-0:102 'inF0' (in 2-component vector of float)
-0:103 floatBitsToUint (global 2-component vector of uint)
-0:103 'inF0' (in 2-component vector of float)
-0:104 intBitsToFloat (global 2-component vector of float)
-0:104 'inU0' (in 2-component vector of uint)
-0:106 arc tangent (global 2-component vector of float)
-0:106 'inF0' (in 2-component vector of float)
-0:107 arc tangent (global 2-component vector of float)
-0:107 'inF0' (in 2-component vector of float)
-0:107 'inF1' (in 2-component vector of float)
-0:108 Ceiling (global 2-component vector of float)
-0:108 'inF0' (in 2-component vector of float)
-0:109 clamp (global 2-component vector of float)
-0:109 'inF0' (in 2-component vector of float)
-0:109 'inF1' (in 2-component vector of float)
-0:109 'inF2' (in 2-component vector of float)
-0:110 Test condition and select (temp void)
-0:110 Condition
-0:110 any (temp bool)
-0:110 Compare Less Than (temp 2-component vector of bool)
+0:98 Sequence
+0:98 move second child to first child (temp bool)
+0:98 'r000' (temp bool)
+0:98 all (global bool)
+0:98 'inF0' (in 2-component vector of float)
+0:99 Sequence
+0:99 move second child to first child (temp 2-component vector of float)
+0:99 'r001' (temp 2-component vector of float)
+0:99 Absolute value (global 2-component vector of float)
+0:99 'inF0' (in 2-component vector of float)
+0:100 Sequence
+0:100 move second child to first child (temp 2-component vector of float)
+0:100 'r002' (temp 2-component vector of float)
+0:100 arc cosine (global 2-component vector of float)
+0:100 'inF0' (in 2-component vector of float)
+0:101 Sequence
+0:101 move second child to first child (temp bool)
+0:101 'r003' (temp bool)
+0:101 any (global bool)
+0:101 'inF0' (in 2-component vector of float)
+0:102 Sequence
+0:102 move second child to first child (temp 2-component vector of float)
+0:102 'r004' (temp 2-component vector of float)
+0:102 arc sine (global 2-component vector of float)
+0:102 'inF0' (in 2-component vector of float)
+0:103 Sequence
+0:103 move second child to first child (temp 2-component vector of int)
+0:103 'r005' (temp 2-component vector of int)
+0:103 floatBitsToInt (global 2-component vector of int)
+0:103 'inF0' (in 2-component vector of float)
+0:104 Sequence
+0:104 move second child to first child (temp 2-component vector of uint)
+0:104 'r006' (temp 2-component vector of uint)
+0:104 floatBitsToUint (global 2-component vector of uint)
+0:104 'inF0' (in 2-component vector of float)
+0:105 Sequence
+0:105 move second child to first child (temp 2-component vector of float)
+0:105 'r007' (temp 2-component vector of float)
+0:105 intBitsToFloat (global 2-component vector of float)
+0:105 'inU0' (in 2-component vector of uint)
+0:107 Sequence
+0:107 move second child to first child (temp 2-component vector of float)
+0:107 'r009' (temp 2-component vector of float)
+0:107 arc tangent (global 2-component vector of float)
+0:107 'inF0' (in 2-component vector of float)
+0:108 Sequence
+0:108 move second child to first child (temp 2-component vector of float)
+0:108 'r010' (temp 2-component vector of float)
+0:108 arc tangent (global 2-component vector of float)
+0:108 'inF0' (in 2-component vector of float)
+0:108 'inF1' (in 2-component vector of float)
+0:109 Sequence
+0:109 move second child to first child (temp 2-component vector of float)
+0:109 'r011' (temp 2-component vector of float)
+0:109 Ceiling (global 2-component vector of float)
+0:109 'inF0' (in 2-component vector of float)
+0:110 Sequence
+0:110 move second child to first child (temp 2-component vector of float)
+0:110 'r012' (temp 2-component vector of float)
+0:110 clamp (global 2-component vector of float)
0:110 'inF0' (in 2-component vector of float)
-0:110 Constant:
-0:110 0.000000
-0:110 0.000000
-0:110 true case
-0:110 Branch: Kill
-0:111 cosine (global 2-component vector of float)
-0:111 'inF0' (in 2-component vector of float)
-0:112 hyp. cosine (global 2-component vector of float)
-0:112 'inF0' (in 2-component vector of float)
-0:? bitCount (global 2-component vector of uint)
-0:? Constant:
-0:? 7 (const uint)
-0:? 3 (const uint)
-0:114 dPdx (global 2-component vector of float)
-0:114 'inF0' (in 2-component vector of float)
-0:115 dPdxCoarse (global 2-component vector of float)
-0:115 'inF0' (in 2-component vector of float)
-0:116 dPdxFine (global 2-component vector of float)
-0:116 'inF0' (in 2-component vector of float)
-0:117 dPdy (global 2-component vector of float)
-0:117 'inF0' (in 2-component vector of float)
-0:118 dPdyCoarse (global 2-component vector of float)
-0:118 'inF0' (in 2-component vector of float)
-0:119 dPdyFine (global 2-component vector of float)
-0:119 'inF0' (in 2-component vector of float)
-0:120 degrees (global 2-component vector of float)
-0:120 'inF0' (in 2-component vector of float)
-0:121 distance (global float)
-0:121 'inF0' (in 2-component vector of float)
-0:121 'inF1' (in 2-component vector of float)
-0:122 dot-product (global float)
-0:122 'inF0' (in 2-component vector of float)
-0:122 'inF1' (in 2-component vector of float)
-0:126 exp (global 2-component vector of float)
-0:126 'inF0' (in 2-component vector of float)
-0:127 exp2 (global 2-component vector of float)
-0:127 'inF0' (in 2-component vector of float)
-0:128 face-forward (global 2-component vector of float)
-0:128 'inF0' (in 2-component vector of float)
-0:128 'inF1' (in 2-component vector of float)
-0:128 'inF2' (in 2-component vector of float)
-0:129 findMSB (global int)
-0:129 Constant:
-0:129 7 (const int)
-0:130 findLSB (global int)
-0:130 Constant:
-0:130 7 (const int)
-0:131 Floor (global 2-component vector of float)
-0:131 'inF0' (in 2-component vector of float)
-0:133 mod (global 2-component vector of float)
-0:133 'inF0' (in 2-component vector of float)
-0:133 'inF1' (in 2-component vector of float)
-0:134 Fraction (global 2-component vector of float)
-0:134 'inF0' (in 2-component vector of float)
-0:135 frexp (global 2-component vector of float)
-0:135 'inF0' (in 2-component vector of float)
-0:135 'inF1' (in 2-component vector of float)
-0:136 fwidth (global 2-component vector of float)
-0:136 'inF0' (in 2-component vector of float)
-0:137 isinf (global 2-component vector of bool)
-0:137 'inF0' (in 2-component vector of float)
-0:138 isnan (global 2-component vector of bool)
-0:138 'inF0' (in 2-component vector of float)
-0:139 ldexp (global 2-component vector of float)
-0:139 'inF0' (in 2-component vector of float)
-0:139 'inF1' (in 2-component vector of float)
-0:140 length (global float)
-0:140 'inF0' (in 2-component vector of float)
-0:141 log (global 2-component vector of float)
-0:141 'inF0' (in 2-component vector of float)
-0:142 vector-scale (temp 2-component vector of float)
-0:142 log2 (temp 2-component vector of float)
-0:142 'inF0' (in 2-component vector of float)
-0:142 Constant:
-0:142 0.301030
-0:143 log2 (global 2-component vector of float)
-0:143 'inF0' (in 2-component vector of float)
-0:144 max (global 2-component vector of float)
-0:144 'inF0' (in 2-component vector of float)
-0:144 'inF1' (in 2-component vector of float)
-0:145 min (global 2-component vector of float)
-0:145 'inF0' (in 2-component vector of float)
-0:145 'inF1' (in 2-component vector of float)
-0:146 normalize (global 2-component vector of float)
-0:146 'inF0' (in 2-component vector of float)
-0:147 pow (global 2-component vector of float)
-0:147 'inF0' (in 2-component vector of float)
-0:147 'inF1' (in 2-component vector of float)
-0:148 radians (global 2-component vector of float)
-0:148 'inF0' (in 2-component vector of float)
-0:149 divide (temp 2-component vector of float)
-0:149 Constant:
-0:149 1.000000
-0:149 'inF0' (in 2-component vector of float)
-0:150 reflect (global 2-component vector of float)
-0:150 'inF0' (in 2-component vector of float)
-0:150 'inF1' (in 2-component vector of float)
-0:151 refract (global 2-component vector of float)
-0:151 'inF0' (in 2-component vector of float)
-0:151 'inF1' (in 2-component vector of float)
-0:151 Constant:
-0:151 2.000000
-0:? bitFieldReverse (global 2-component vector of uint)
-0:? Constant:
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:153 roundEven (global 2-component vector of float)
-0:153 'inF0' (in 2-component vector of float)
-0:154 inverse sqrt (global 2-component vector of float)
-0:154 'inF0' (in 2-component vector of float)
-0:155 clamp (temp 2-component vector of float)
-0:155 'inF0' (in 2-component vector of float)
-0:155 Constant:
-0:155 0.000000
-0:155 Constant:
-0:155 1.000000
-0:156 Sign (global 2-component vector of float)
-0:156 'inF0' (in 2-component vector of float)
-0:157 sine (global 2-component vector of float)
-0:157 'inF0' (in 2-component vector of float)
+0:110 'inF1' (in 2-component vector of float)
+0:110 'inF2' (in 2-component vector of float)
+0:111 Test condition and select (temp void)
+0:111 Condition
+0:111 any (temp bool)
+0:111 Compare Less Than (temp 2-component vector of bool)
+0:111 'inF0' (in 2-component vector of float)
+0:111 Constant:
+0:111 0.000000
+0:111 0.000000
+0:111 true case
+0:111 Branch: Kill
+0:112 Sequence
+0:112 move second child to first child (temp 2-component vector of float)
+0:112 'r013' (temp 2-component vector of float)
+0:112 cosine (global 2-component vector of float)
+0:112 'inF0' (in 2-component vector of float)
+0:113 Sequence
+0:113 move second child to first child (temp 2-component vector of float)
+0:113 'r015' (temp 2-component vector of float)
+0:113 hyp. cosine (global 2-component vector of float)
+0:113 'inF0' (in 2-component vector of float)
+0:114 Sequence
+0:114 move second child to first child (temp 2-component vector of uint)
+0:114 'r016' (temp 2-component vector of uint)
+0:? bitCount (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:115 Sequence
+0:115 move second child to first child (temp 2-component vector of float)
+0:115 'r017' (temp 2-component vector of float)
+0:115 dPdx (global 2-component vector of float)
+0:115 'inF0' (in 2-component vector of float)
+0:116 Sequence
+0:116 move second child to first child (temp 2-component vector of float)
+0:116 'r018' (temp 2-component vector of float)
+0:116 dPdxCoarse (global 2-component vector of float)
+0:116 'inF0' (in 2-component vector of float)
+0:117 Sequence
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'r019' (temp 2-component vector of float)
+0:117 dPdxFine (global 2-component vector of float)
+0:117 'inF0' (in 2-component vector of float)
+0:118 Sequence
+0:118 move second child to first child (temp 2-component vector of float)
+0:118 'r020' (temp 2-component vector of float)
+0:118 dPdy (global 2-component vector of float)
+0:118 'inF0' (in 2-component vector of float)
+0:119 Sequence
+0:119 move second child to first child (temp 2-component vector of float)
+0:119 'r021' (temp 2-component vector of float)
+0:119 dPdyCoarse (global 2-component vector of float)
+0:119 'inF0' (in 2-component vector of float)
+0:120 Sequence
+0:120 move second child to first child (temp 2-component vector of float)
+0:120 'r022' (temp 2-component vector of float)
+0:120 dPdyFine (global 2-component vector of float)
+0:120 'inF0' (in 2-component vector of float)
+0:121 Sequence
+0:121 move second child to first child (temp 2-component vector of float)
+0:121 'r023' (temp 2-component vector of float)
+0:121 degrees (global 2-component vector of float)
+0:121 'inF0' (in 2-component vector of float)
+0:125 Sequence
+0:125 move second child to first child (temp float)
+0:125 'r026' (temp float)
+0:125 distance (global float)
+0:125 'inF0' (in 2-component vector of float)
+0:125 'inF1' (in 2-component vector of float)
+0:126 Sequence
+0:126 move second child to first child (temp float)
+0:126 'r027' (temp float)
+0:126 dot-product (global float)
+0:126 'inF0' (in 2-component vector of float)
+0:126 'inF1' (in 2-component vector of float)
+0:130 Sequence
+0:130 move second child to first child (temp 2-component vector of float)
+0:130 'r028' (temp 2-component vector of float)
+0:130 exp (global 2-component vector of float)
+0:130 'inF0' (in 2-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp 2-component vector of float)
+0:131 'r029' (temp 2-component vector of float)
+0:131 exp2 (global 2-component vector of float)
+0:131 'inF0' (in 2-component vector of float)
+0:132 Sequence
+0:132 move second child to first child (temp 2-component vector of float)
+0:132 'r030' (temp 2-component vector of float)
+0:132 face-forward (global 2-component vector of float)
+0:132 'inF0' (in 2-component vector of float)
+0:132 'inF1' (in 2-component vector of float)
+0:132 'inF2' (in 2-component vector of float)
+0:133 Sequence
+0:133 move second child to first child (temp 2-component vector of uint)
+0:133 'r031' (temp 2-component vector of uint)
+0:? findMSB (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:134 Sequence
+0:134 move second child to first child (temp 2-component vector of uint)
+0:134 'r032' (temp 2-component vector of uint)
+0:? findLSB (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:135 Sequence
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'r033' (temp 2-component vector of float)
+0:135 Floor (global 2-component vector of float)
+0:135 'inF0' (in 2-component vector of float)
+0:137 Sequence
+0:137 move second child to first child (temp 2-component vector of float)
+0:137 'r035' (temp 2-component vector of float)
+0:137 mod (global 2-component vector of float)
+0:137 'inF0' (in 2-component vector of float)
+0:137 'inF1' (in 2-component vector of float)
+0:138 Sequence
+0:138 move second child to first child (temp 2-component vector of float)
+0:138 'r036' (temp 2-component vector of float)
+0:138 Fraction (global 2-component vector of float)
+0:138 'inF0' (in 2-component vector of float)
+0:139 Sequence
+0:139 move second child to first child (temp 2-component vector of float)
+0:139 'r037' (temp 2-component vector of float)
+0:139 frexp (global 2-component vector of float)
+0:139 'inF0' (in 2-component vector of float)
+0:139 'inF1' (in 2-component vector of float)
+0:140 Sequence
+0:140 move second child to first child (temp 2-component vector of float)
+0:140 'r038' (temp 2-component vector of float)
+0:140 fwidth (global 2-component vector of float)
+0:140 'inF0' (in 2-component vector of float)
+0:141 Sequence
+0:141 move second child to first child (temp 2-component vector of bool)
+0:141 'r039' (temp 2-component vector of bool)
+0:141 isinf (global 2-component vector of bool)
+0:141 'inF0' (in 2-component vector of float)
+0:142 Sequence
+0:142 move second child to first child (temp 2-component vector of bool)
+0:142 'r040' (temp 2-component vector of bool)
+0:142 isnan (global 2-component vector of bool)
+0:142 'inF0' (in 2-component vector of float)
+0:143 Sequence
+0:143 move second child to first child (temp 2-component vector of float)
+0:143 'r041' (temp 2-component vector of float)
+0:143 ldexp (global 2-component vector of float)
+0:143 'inF0' (in 2-component vector of float)
+0:143 'inF1' (in 2-component vector of float)
+0:144 Sequence
+0:144 move second child to first child (temp 2-component vector of float)
+0:144 'r039a' (temp 2-component vector of float)
+0:144 mix (global 2-component vector of float)
+0:144 'inF0' (in 2-component vector of float)
+0:144 'inF1' (in 2-component vector of float)
+0:144 'inF2' (in 2-component vector of float)
+0:145 Sequence
+0:145 move second child to first child (temp float)
+0:145 'r042' (temp float)
+0:145 length (global float)
+0:145 'inF0' (in 2-component vector of float)
+0:146 Sequence
+0:146 move second child to first child (temp 2-component vector of float)
+0:146 'r043' (temp 2-component vector of float)
+0:146 log (global 2-component vector of float)
+0:146 'inF0' (in 2-component vector of float)
+0:147 Sequence
+0:147 move second child to first child (temp 2-component vector of float)
+0:147 'r044' (temp 2-component vector of float)
+0:147 vector-scale (temp 2-component vector of float)
+0:147 log2 (temp 2-component vector of float)
+0:147 'inF0' (in 2-component vector of float)
+0:147 Constant:
+0:147 0.301030
+0:148 Sequence
+0:148 move second child to first child (temp 2-component vector of float)
+0:148 'r045' (temp 2-component vector of float)
+0:148 log2 (global 2-component vector of float)
+0:148 'inF0' (in 2-component vector of float)
+0:149 Sequence
+0:149 move second child to first child (temp 2-component vector of float)
+0:149 'r046' (temp 2-component vector of float)
+0:149 max (global 2-component vector of float)
+0:149 'inF0' (in 2-component vector of float)
+0:149 'inF1' (in 2-component vector of float)
+0:150 Sequence
+0:150 move second child to first child (temp 2-component vector of float)
+0:150 'r047' (temp 2-component vector of float)
+0:150 min (global 2-component vector of float)
+0:150 'inF0' (in 2-component vector of float)
+0:150 'inF1' (in 2-component vector of float)
+0:151 Sequence
+0:151 move second child to first child (temp 2-component vector of float)
+0:151 'r048' (temp 2-component vector of float)
+0:151 normalize (global 2-component vector of float)
+0:151 'inF0' (in 2-component vector of float)
+0:152 Sequence
+0:152 move second child to first child (temp 2-component vector of float)
+0:152 'r049' (temp 2-component vector of float)
+0:152 pow (global 2-component vector of float)
+0:152 'inF0' (in 2-component vector of float)
+0:152 'inF1' (in 2-component vector of float)
+0:153 Sequence
+0:153 move second child to first child (temp 2-component vector of float)
+0:153 'r050' (temp 2-component vector of float)
+0:153 radians (global 2-component vector of float)
+0:153 'inF0' (in 2-component vector of float)
+0:154 Sequence
+0:154 move second child to first child (temp 2-component vector of float)
+0:154 'r051' (temp 2-component vector of float)
+0:154 divide (temp 2-component vector of float)
+0:154 Constant:
+0:154 1.000000
+0:154 'inF0' (in 2-component vector of float)
+0:155 Sequence
+0:155 move second child to first child (temp 2-component vector of float)
+0:155 'r052' (temp 2-component vector of float)
+0:155 reflect (global 2-component vector of float)
+0:155 'inF0' (in 2-component vector of float)
+0:155 'inF1' (in 2-component vector of float)
+0:156 Sequence
+0:156 move second child to first child (temp 2-component vector of float)
+0:156 'r053' (temp 2-component vector of float)
+0:156 refract (global 2-component vector of float)
+0:156 'inF0' (in 2-component vector of float)
+0:156 'inF1' (in 2-component vector of float)
+0:156 Constant:
+0:156 2.000000
+0:157 Sequence
+0:157 move second child to first child (temp 2-component vector of uint)
+0:157 'r054' (temp 2-component vector of uint)
+0:? bitFieldReverse (global 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
0:158 Sequence
0:158 move second child to first child (temp 2-component vector of float)
-0:158 'inF1' (in 2-component vector of float)
-0:158 sine (temp 2-component vector of float)
-0:158 'inF0' (in 2-component vector of float)
-0:158 move second child to first child (temp 2-component vector of float)
-0:158 'inF2' (in 2-component vector of float)
-0:158 cosine (temp 2-component vector of float)
+0:158 'r055' (temp 2-component vector of float)
+0:158 roundEven (global 2-component vector of float)
0:158 'inF0' (in 2-component vector of float)
-0:159 hyp. sine (global 2-component vector of float)
-0:159 'inF0' (in 2-component vector of float)
-0:160 smoothstep (global 2-component vector of float)
-0:160 'inF0' (in 2-component vector of float)
-0:160 'inF1' (in 2-component vector of float)
-0:160 'inF2' (in 2-component vector of float)
-0:161 sqrt (global 2-component vector of float)
-0:161 'inF0' (in 2-component vector of float)
-0:162 step (global 2-component vector of float)
-0:162 'inF0' (in 2-component vector of float)
-0:162 'inF1' (in 2-component vector of float)
-0:163 tangent (global 2-component vector of float)
-0:163 'inF0' (in 2-component vector of float)
-0:164 hyp. tangent (global 2-component vector of float)
-0:164 'inF0' (in 2-component vector of float)
-0:166 trunc (global 2-component vector of float)
-0:166 'inF0' (in 2-component vector of float)
-0:169 Branch: Return with expression
+0:159 Sequence
+0:159 move second child to first child (temp 2-component vector of float)
+0:159 'r056' (temp 2-component vector of float)
+0:159 inverse sqrt (global 2-component vector of float)
+0:159 'inF0' (in 2-component vector of float)
+0:160 Sequence
+0:160 move second child to first child (temp 2-component vector of float)
+0:160 'r057' (temp 2-component vector of float)
+0:160 clamp (temp 2-component vector of float)
+0:160 'inF0' (in 2-component vector of float)
+0:160 Constant:
+0:160 0.000000
+0:160 Constant:
+0:160 1.000000
+0:161 Sequence
+0:161 move second child to first child (temp 2-component vector of float)
+0:161 'r058' (temp 2-component vector of float)
+0:161 Sign (global 2-component vector of float)
+0:161 'inF0' (in 2-component vector of float)
+0:162 Sequence
+0:162 move second child to first child (temp 2-component vector of float)
+0:162 'r059' (temp 2-component vector of float)
+0:162 sine (global 2-component vector of float)
+0:162 'inF0' (in 2-component vector of float)
+0:163 Sequence
+0:163 move second child to first child (temp 2-component vector of float)
+0:163 'inF1' (in 2-component vector of float)
+0:163 sine (temp 2-component vector of float)
+0:163 'inF0' (in 2-component vector of float)
+0:163 move second child to first child (temp 2-component vector of float)
+0:163 'inF2' (in 2-component vector of float)
+0:163 cosine (temp 2-component vector of float)
+0:163 'inF0' (in 2-component vector of float)
+0:164 Sequence
+0:164 move second child to first child (temp 2-component vector of float)
+0:164 'r060' (temp 2-component vector of float)
+0:164 hyp. sine (global 2-component vector of float)
+0:164 'inF0' (in 2-component vector of float)
+0:165 Sequence
+0:165 move second child to first child (temp 2-component vector of float)
+0:165 'r061' (temp 2-component vector of float)
+0:165 smoothstep (global 2-component vector of float)
+0:165 'inF0' (in 2-component vector of float)
+0:165 'inF1' (in 2-component vector of float)
+0:165 'inF2' (in 2-component vector of float)
+0:166 Sequence
+0:166 move second child to first child (temp 2-component vector of float)
+0:166 'r062' (temp 2-component vector of float)
+0:166 sqrt (global 2-component vector of float)
+0:166 'inF0' (in 2-component vector of float)
+0:167 Sequence
+0:167 move second child to first child (temp 2-component vector of float)
+0:167 'r063' (temp 2-component vector of float)
+0:167 step (global 2-component vector of float)
+0:167 'inF0' (in 2-component vector of float)
+0:167 'inF1' (in 2-component vector of float)
+0:168 Sequence
+0:168 move second child to first child (temp 2-component vector of float)
+0:168 'r064' (temp 2-component vector of float)
+0:168 tangent (global 2-component vector of float)
+0:168 'inF0' (in 2-component vector of float)
+0:169 Sequence
+0:169 move second child to first child (temp 2-component vector of float)
+0:169 'r065' (temp 2-component vector of float)
+0:169 hyp. tangent (global 2-component vector of float)
+0:169 'inF0' (in 2-component vector of float)
+0:171 Sequence
+0:171 move second child to first child (temp 2-component vector of float)
+0:171 'r066' (temp 2-component vector of float)
+0:171 trunc (global 2-component vector of float)
+0:171 'inF0' (in 2-component vector of float)
+0:174 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:252 Function Definition: PixelShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
-0:173 Function Parameters:
-0:173 'inF0' (in 3-component vector of float)
-0:173 'inF1' (in 3-component vector of float)
-0:173 'inF2' (in 3-component vector of float)
-0:173 'inU0' (in 3-component vector of uint)
-0:173 'inU1' (in 3-component vector of uint)
+0:258 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
+0:178 Function Parameters:
+0:178 'inF0' (in 3-component vector of float)
+0:178 'inF1' (in 3-component vector of float)
+0:178 'inF2' (in 3-component vector of float)
+0:178 'inU0' (in 3-component vector of uint)
+0:178 'inU1' (in 3-component vector of uint)
0:? Sequence
-0:176 all (global bool)
-0:176 'inF0' (in 3-component vector of float)
-0:177 Absolute value (global 3-component vector of float)
-0:177 'inF0' (in 3-component vector of float)
-0:178 arc cosine (global 3-component vector of float)
-0:178 'inF0' (in 3-component vector of float)
-0:179 any (global bool)
-0:179 'inF0' (in 3-component vector of float)
-0:180 arc sine (global 3-component vector of float)
-0:180 'inF0' (in 3-component vector of float)
-0:181 floatBitsToInt (global 3-component vector of int)
-0:181 'inF0' (in 3-component vector of float)
-0:182 floatBitsToUint (global 3-component vector of uint)
-0:182 'inF0' (in 3-component vector of float)
-0:183 intBitsToFloat (global 3-component vector of float)
-0:183 'inU0' (in 3-component vector of uint)
-0:185 arc tangent (global 3-component vector of float)
-0:185 'inF0' (in 3-component vector of float)
-0:186 arc tangent (global 3-component vector of float)
-0:186 'inF0' (in 3-component vector of float)
-0:186 'inF1' (in 3-component vector of float)
-0:187 Ceiling (global 3-component vector of float)
-0:187 'inF0' (in 3-component vector of float)
-0:188 clamp (global 3-component vector of float)
-0:188 'inF0' (in 3-component vector of float)
-0:188 'inF1' (in 3-component vector of float)
-0:188 'inF2' (in 3-component vector of float)
-0:189 Test condition and select (temp void)
-0:189 Condition
-0:189 any (temp bool)
-0:189 Compare Less Than (temp 3-component vector of bool)
-0:189 'inF0' (in 3-component vector of float)
-0:189 Constant:
-0:189 0.000000
-0:189 0.000000
-0:189 0.000000
-0:189 true case
-0:189 Branch: Kill
-0:190 cosine (global 3-component vector of float)
-0:190 'inF0' (in 3-component vector of float)
-0:191 hyp. cosine (global 3-component vector of float)
-0:191 'inF0' (in 3-component vector of float)
-0:? bitCount (global 3-component vector of uint)
-0:? Constant:
-0:? 7 (const uint)
-0:? 3 (const uint)
-0:? 5 (const uint)
-0:193 cross-product (global 3-component vector of float)
-0:193 'inF0' (in 3-component vector of float)
-0:193 'inF1' (in 3-component vector of float)
-0:194 dPdx (global 3-component vector of float)
-0:194 'inF0' (in 3-component vector of float)
-0:195 dPdxCoarse (global 3-component vector of float)
-0:195 'inF0' (in 3-component vector of float)
-0:196 dPdxFine (global 3-component vector of float)
-0:196 'inF0' (in 3-component vector of float)
-0:197 dPdy (global 3-component vector of float)
-0:197 'inF0' (in 3-component vector of float)
-0:198 dPdyCoarse (global 3-component vector of float)
-0:198 'inF0' (in 3-component vector of float)
-0:199 dPdyFine (global 3-component vector of float)
-0:199 'inF0' (in 3-component vector of float)
-0:200 degrees (global 3-component vector of float)
-0:200 'inF0' (in 3-component vector of float)
-0:201 distance (global float)
-0:201 'inF0' (in 3-component vector of float)
-0:201 'inF1' (in 3-component vector of float)
-0:202 dot-product (global float)
-0:202 'inF0' (in 3-component vector of float)
-0:202 'inF1' (in 3-component vector of float)
-0:206 exp (global 3-component vector of float)
-0:206 'inF0' (in 3-component vector of float)
-0:207 exp2 (global 3-component vector of float)
-0:207 'inF0' (in 3-component vector of float)
-0:208 face-forward (global 3-component vector of float)
-0:208 'inF0' (in 3-component vector of float)
-0:208 'inF1' (in 3-component vector of float)
-0:208 'inF2' (in 3-component vector of float)
-0:209 findMSB (global int)
-0:209 Constant:
-0:209 7 (const int)
-0:210 findLSB (global int)
-0:210 Constant:
-0:210 7 (const int)
-0:211 Floor (global 3-component vector of float)
-0:211 'inF0' (in 3-component vector of float)
-0:213 mod (global 3-component vector of float)
-0:213 'inF0' (in 3-component vector of float)
-0:213 'inF1' (in 3-component vector of float)
-0:214 Fraction (global 3-component vector of float)
-0:214 'inF0' (in 3-component vector of float)
-0:215 frexp (global 3-component vector of float)
-0:215 'inF0' (in 3-component vector of float)
-0:215 'inF1' (in 3-component vector of float)
-0:216 fwidth (global 3-component vector of float)
-0:216 'inF0' (in 3-component vector of float)
-0:217 isinf (global 3-component vector of bool)
-0:217 'inF0' (in 3-component vector of float)
-0:218 isnan (global 3-component vector of bool)
-0:218 'inF0' (in 3-component vector of float)
-0:219 ldexp (global 3-component vector of float)
-0:219 'inF0' (in 3-component vector of float)
-0:219 'inF1' (in 3-component vector of float)
-0:220 length (global float)
-0:220 'inF0' (in 3-component vector of float)
-0:221 log (global 3-component vector of float)
-0:221 'inF0' (in 3-component vector of float)
-0:222 vector-scale (temp 3-component vector of float)
-0:222 log2 (temp 3-component vector of float)
-0:222 'inF0' (in 3-component vector of float)
-0:222 Constant:
-0:222 0.301030
-0:223 log2 (global 3-component vector of float)
-0:223 'inF0' (in 3-component vector of float)
-0:224 max (global 3-component vector of float)
-0:224 'inF0' (in 3-component vector of float)
-0:224 'inF1' (in 3-component vector of float)
-0:225 min (global 3-component vector of float)
-0:225 'inF0' (in 3-component vector of float)
-0:225 'inF1' (in 3-component vector of float)
-0:226 normalize (global 3-component vector of float)
-0:226 'inF0' (in 3-component vector of float)
-0:227 pow (global 3-component vector of float)
-0:227 'inF0' (in 3-component vector of float)
-0:227 'inF1' (in 3-component vector of float)
-0:228 radians (global 3-component vector of float)
-0:228 'inF0' (in 3-component vector of float)
-0:229 divide (temp 3-component vector of float)
-0:229 Constant:
-0:229 1.000000
-0:229 'inF0' (in 3-component vector of float)
-0:230 reflect (global 3-component vector of float)
-0:230 'inF0' (in 3-component vector of float)
-0:230 'inF1' (in 3-component vector of float)
-0:231 refract (global 3-component vector of float)
-0:231 'inF0' (in 3-component vector of float)
-0:231 'inF1' (in 3-component vector of float)
-0:231 Constant:
-0:231 2.000000
-0:? bitFieldReverse (global 3-component vector of uint)
-0:? Constant:
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3 (const uint)
-0:233 roundEven (global 3-component vector of float)
-0:233 'inF0' (in 3-component vector of float)
-0:234 inverse sqrt (global 3-component vector of float)
-0:234 'inF0' (in 3-component vector of float)
-0:235 clamp (temp 3-component vector of float)
-0:235 'inF0' (in 3-component vector of float)
-0:235 Constant:
-0:235 0.000000
-0:235 Constant:
-0:235 1.000000
-0:236 Sign (global 3-component vector of float)
-0:236 'inF0' (in 3-component vector of float)
-0:237 sine (global 3-component vector of float)
-0:237 'inF0' (in 3-component vector of float)
+0:181 Sequence
+0:181 move second child to first child (temp bool)
+0:181 'r000' (temp bool)
+0:181 all (global bool)
+0:181 'inF0' (in 3-component vector of float)
+0:182 Sequence
+0:182 move second child to first child (temp 3-component vector of float)
+0:182 'r001' (temp 3-component vector of float)
+0:182 Absolute value (global 3-component vector of float)
+0:182 'inF0' (in 3-component vector of float)
+0:183 Sequence
+0:183 move second child to first child (temp 3-component vector of float)
+0:183 'r002' (temp 3-component vector of float)
+0:183 arc cosine (global 3-component vector of float)
+0:183 'inF0' (in 3-component vector of float)
+0:184 Sequence
+0:184 move second child to first child (temp bool)
+0:184 'r003' (temp bool)
+0:184 any (global bool)
+0:184 'inF0' (in 3-component vector of float)
+0:185 Sequence
+0:185 move second child to first child (temp 3-component vector of float)
+0:185 'r004' (temp 3-component vector of float)
+0:185 arc sine (global 3-component vector of float)
+0:185 'inF0' (in 3-component vector of float)
+0:186 Sequence
+0:186 move second child to first child (temp 3-component vector of int)
+0:186 'r005' (temp 3-component vector of int)
+0:186 floatBitsToInt (global 3-component vector of int)
+0:186 'inF0' (in 3-component vector of float)
+0:187 Sequence
+0:187 move second child to first child (temp 3-component vector of uint)
+0:187 'r006' (temp 3-component vector of uint)
+0:187 floatBitsToUint (global 3-component vector of uint)
+0:187 'inF0' (in 3-component vector of float)
+0:188 Sequence
+0:188 move second child to first child (temp 3-component vector of float)
+0:188 'r007' (temp 3-component vector of float)
+0:188 intBitsToFloat (global 3-component vector of float)
+0:188 'inU0' (in 3-component vector of uint)
+0:190 Sequence
+0:190 move second child to first child (temp 3-component vector of float)
+0:190 'r009' (temp 3-component vector of float)
+0:190 arc tangent (global 3-component vector of float)
+0:190 'inF0' (in 3-component vector of float)
+0:191 Sequence
+0:191 move second child to first child (temp 3-component vector of float)
+0:191 'r010' (temp 3-component vector of float)
+0:191 arc tangent (global 3-component vector of float)
+0:191 'inF0' (in 3-component vector of float)
+0:191 'inF1' (in 3-component vector of float)
+0:192 Sequence
+0:192 move second child to first child (temp 3-component vector of float)
+0:192 'r011' (temp 3-component vector of float)
+0:192 Ceiling (global 3-component vector of float)
+0:192 'inF0' (in 3-component vector of float)
+0:193 Sequence
+0:193 move second child to first child (temp 3-component vector of float)
+0:193 'r012' (temp 3-component vector of float)
+0:193 clamp (global 3-component vector of float)
+0:193 'inF0' (in 3-component vector of float)
+0:193 'inF1' (in 3-component vector of float)
+0:193 'inF2' (in 3-component vector of float)
+0:194 Test condition and select (temp void)
+0:194 Condition
+0:194 any (temp bool)
+0:194 Compare Less Than (temp 3-component vector of bool)
+0:194 'inF0' (in 3-component vector of float)
+0:194 Constant:
+0:194 0.000000
+0:194 0.000000
+0:194 0.000000
+0:194 true case
+0:194 Branch: Kill
+0:195 Sequence
+0:195 move second child to first child (temp 3-component vector of float)
+0:195 'r013' (temp 3-component vector of float)
+0:195 cosine (global 3-component vector of float)
+0:195 'inF0' (in 3-component vector of float)
+0:196 Sequence
+0:196 move second child to first child (temp 3-component vector of float)
+0:196 'r014' (temp 3-component vector of float)
+0:196 hyp. cosine (global 3-component vector of float)
+0:196 'inF0' (in 3-component vector of float)
+0:197 Sequence
+0:197 move second child to first child (temp 3-component vector of uint)
+0:197 'r015' (temp 3-component vector of uint)
+0:? bitCount (global 3-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:198 Sequence
+0:198 move second child to first child (temp 3-component vector of float)
+0:198 'r016' (temp 3-component vector of float)
+0:198 cross-product (global 3-component vector of float)
+0:198 'inF0' (in 3-component vector of float)
+0:198 'inF1' (in 3-component vector of float)
+0:199 Sequence
+0:199 move second child to first child (temp 3-component vector of float)
+0:199 'r017' (temp 3-component vector of float)
+0:199 dPdx (global 3-component vector of float)
+0:199 'inF0' (in 3-component vector of float)
+0:200 Sequence
+0:200 move second child to first child (temp 3-component vector of float)
+0:200 'r018' (temp 3-component vector of float)
+0:200 dPdxCoarse (global 3-component vector of float)
+0:200 'inF0' (in 3-component vector of float)
+0:201 Sequence
+0:201 move second child to first child (temp 3-component vector of float)
+0:201 'r019' (temp 3-component vector of float)
+0:201 dPdxFine (global 3-component vector of float)
+0:201 'inF0' (in 3-component vector of float)
+0:202 Sequence
+0:202 move second child to first child (temp 3-component vector of float)
+0:202 'r020' (temp 3-component vector of float)
+0:202 dPdy (global 3-component vector of float)
+0:202 'inF0' (in 3-component vector of float)
+0:203 Sequence
+0:203 move second child to first child (temp 3-component vector of float)
+0:203 'r021' (temp 3-component vector of float)
+0:203 dPdyCoarse (global 3-component vector of float)
+0:203 'inF0' (in 3-component vector of float)
+0:204 Sequence
+0:204 move second child to first child (temp 3-component vector of float)
+0:204 'r022' (temp 3-component vector of float)
+0:204 dPdyFine (global 3-component vector of float)
+0:204 'inF0' (in 3-component vector of float)
+0:205 Sequence
+0:205 move second child to first child (temp 3-component vector of float)
+0:205 'r023' (temp 3-component vector of float)
+0:205 degrees (global 3-component vector of float)
+0:205 'inF0' (in 3-component vector of float)
+0:206 Sequence
+0:206 move second child to first child (temp float)
+0:206 'r024' (temp float)
+0:206 distance (global float)
+0:206 'inF0' (in 3-component vector of float)
+0:206 'inF1' (in 3-component vector of float)
+0:207 Sequence
+0:207 move second child to first child (temp float)
+0:207 'r025' (temp float)
+0:207 dot-product (global float)
+0:207 'inF0' (in 3-component vector of float)
+0:207 'inF1' (in 3-component vector of float)
+0:211 Sequence
+0:211 move second child to first child (temp 3-component vector of float)
+0:211 'r029' (temp 3-component vector of float)
+0:211 exp (global 3-component vector of float)
+0:211 'inF0' (in 3-component vector of float)
+0:212 Sequence
+0:212 move second child to first child (temp 3-component vector of float)
+0:212 'r030' (temp 3-component vector of float)
+0:212 exp2 (global 3-component vector of float)
+0:212 'inF0' (in 3-component vector of float)
+0:213 Sequence
+0:213 move second child to first child (temp 3-component vector of float)
+0:213 'r031' (temp 3-component vector of float)
+0:213 face-forward (global 3-component vector of float)
+0:213 'inF0' (in 3-component vector of float)
+0:213 'inF1' (in 3-component vector of float)
+0:213 'inF2' (in 3-component vector of float)
+0:214 Sequence
+0:214 move second child to first child (temp 3-component vector of uint)
+0:214 'r032' (temp 3-component vector of uint)
+0:? findMSB (global 3-component vector of uint)
+0:? Constant:
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:215 Sequence
+0:215 move second child to first child (temp 3-component vector of uint)
+0:215 'r033' (temp 3-component vector of uint)
+0:? findLSB (global 3-component vector of uint)
+0:? Constant:
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:216 Sequence
+0:216 move second child to first child (temp 3-component vector of float)
+0:216 'r034' (temp 3-component vector of float)
+0:216 Floor (global 3-component vector of float)
+0:216 'inF0' (in 3-component vector of float)
+0:218 Sequence
+0:218 move second child to first child (temp 3-component vector of float)
+0:218 'r036' (temp 3-component vector of float)
+0:218 mod (global 3-component vector of float)
+0:218 'inF0' (in 3-component vector of float)
+0:218 'inF1' (in 3-component vector of float)
+0:219 Sequence
+0:219 move second child to first child (temp 3-component vector of float)
+0:219 'r037' (temp 3-component vector of float)
+0:219 Fraction (global 3-component vector of float)
+0:219 'inF0' (in 3-component vector of float)
+0:220 Sequence
+0:220 move second child to first child (temp 3-component vector of float)
+0:220 'r038' (temp 3-component vector of float)
+0:220 frexp (global 3-component vector of float)
+0:220 'inF0' (in 3-component vector of float)
+0:220 'inF1' (in 3-component vector of float)
+0:221 Sequence
+0:221 move second child to first child (temp 3-component vector of float)
+0:221 'r039' (temp 3-component vector of float)
+0:221 fwidth (global 3-component vector of float)
+0:221 'inF0' (in 3-component vector of float)
+0:222 Sequence
+0:222 move second child to first child (temp 3-component vector of bool)
+0:222 'r040' (temp 3-component vector of bool)
+0:222 isinf (global 3-component vector of bool)
+0:222 'inF0' (in 3-component vector of float)
+0:223 Sequence
+0:223 move second child to first child (temp 3-component vector of bool)
+0:223 'r041' (temp 3-component vector of bool)
+0:223 isnan (global 3-component vector of bool)
+0:223 'inF0' (in 3-component vector of float)
+0:224 Sequence
+0:224 move second child to first child (temp 3-component vector of float)
+0:224 'r042' (temp 3-component vector of float)
+0:224 ldexp (global 3-component vector of float)
+0:224 'inF0' (in 3-component vector of float)
+0:224 'inF1' (in 3-component vector of float)
+0:225 Sequence
+0:225 move second child to first child (temp 3-component vector of float)
+0:225 'r039a' (temp 3-component vector of float)
+0:225 mix (global 3-component vector of float)
+0:225 'inF0' (in 3-component vector of float)
+0:225 'inF1' (in 3-component vector of float)
+0:225 'inF2' (in 3-component vector of float)
+0:226 Sequence
+0:226 move second child to first child (temp float)
+0:226 'r043' (temp float)
+0:226 length (global float)
+0:226 'inF0' (in 3-component vector of float)
+0:227 Sequence
+0:227 move second child to first child (temp 3-component vector of float)
+0:227 'r044' (temp 3-component vector of float)
+0:227 log (global 3-component vector of float)
+0:227 'inF0' (in 3-component vector of float)
+0:228 Sequence
+0:228 move second child to first child (temp 3-component vector of float)
+0:228 'r045' (temp 3-component vector of float)
+0:228 vector-scale (temp 3-component vector of float)
+0:228 log2 (temp 3-component vector of float)
+0:228 'inF0' (in 3-component vector of float)
+0:228 Constant:
+0:228 0.301030
+0:229 Sequence
+0:229 move second child to first child (temp 3-component vector of float)
+0:229 'r046' (temp 3-component vector of float)
+0:229 log2 (global 3-component vector of float)
+0:229 'inF0' (in 3-component vector of float)
+0:230 Sequence
+0:230 move second child to first child (temp 3-component vector of float)
+0:230 'r047' (temp 3-component vector of float)
+0:230 max (global 3-component vector of float)
+0:230 'inF0' (in 3-component vector of float)
+0:230 'inF1' (in 3-component vector of float)
+0:231 Sequence
+0:231 move second child to first child (temp 3-component vector of float)
+0:231 'r048' (temp 3-component vector of float)
+0:231 min (global 3-component vector of float)
+0:231 'inF0' (in 3-component vector of float)
+0:231 'inF1' (in 3-component vector of float)
+0:232 Sequence
+0:232 move second child to first child (temp 3-component vector of float)
+0:232 'r049' (temp 3-component vector of float)
+0:232 normalize (global 3-component vector of float)
+0:232 'inF0' (in 3-component vector of float)
+0:233 Sequence
+0:233 move second child to first child (temp 3-component vector of float)
+0:233 'r050' (temp 3-component vector of float)
+0:233 pow (global 3-component vector of float)
+0:233 'inF0' (in 3-component vector of float)
+0:233 'inF1' (in 3-component vector of float)
+0:234 Sequence
+0:234 move second child to first child (temp 3-component vector of float)
+0:234 'r051' (temp 3-component vector of float)
+0:234 radians (global 3-component vector of float)
+0:234 'inF0' (in 3-component vector of float)
+0:235 Sequence
+0:235 move second child to first child (temp 3-component vector of float)
+0:235 'r052' (temp 3-component vector of float)
+0:235 divide (temp 3-component vector of float)
+0:235 Constant:
+0:235 1.000000
+0:235 'inF0' (in 3-component vector of float)
+0:236 Sequence
+0:236 move second child to first child (temp 3-component vector of float)
+0:236 'r053' (temp 3-component vector of float)
+0:236 reflect (global 3-component vector of float)
+0:236 'inF0' (in 3-component vector of float)
+0:236 'inF1' (in 3-component vector of float)
+0:237 Sequence
+0:237 move second child to first child (temp 3-component vector of float)
+0:237 'r054' (temp 3-component vector of float)
+0:237 refract (global 3-component vector of float)
+0:237 'inF0' (in 3-component vector of float)
+0:237 'inF1' (in 3-component vector of float)
+0:237 Constant:
+0:237 2.000000
0:238 Sequence
-0:238 move second child to first child (temp 3-component vector of float)
-0:238 'inF1' (in 3-component vector of float)
-0:238 sine (temp 3-component vector of float)
-0:238 'inF0' (in 3-component vector of float)
-0:238 move second child to first child (temp 3-component vector of float)
-0:238 'inF2' (in 3-component vector of float)
-0:238 cosine (temp 3-component vector of float)
-0:238 'inF0' (in 3-component vector of float)
-0:239 hyp. sine (global 3-component vector of float)
-0:239 'inF0' (in 3-component vector of float)
-0:240 smoothstep (global 3-component vector of float)
-0:240 'inF0' (in 3-component vector of float)
-0:240 'inF1' (in 3-component vector of float)
-0:240 'inF2' (in 3-component vector of float)
-0:241 sqrt (global 3-component vector of float)
-0:241 'inF0' (in 3-component vector of float)
-0:242 step (global 3-component vector of float)
-0:242 'inF0' (in 3-component vector of float)
-0:242 'inF1' (in 3-component vector of float)
-0:243 tangent (global 3-component vector of float)
-0:243 'inF0' (in 3-component vector of float)
-0:244 hyp. tangent (global 3-component vector of float)
-0:244 'inF0' (in 3-component vector of float)
-0:246 trunc (global 3-component vector of float)
-0:246 'inF0' (in 3-component vector of float)
-0:249 Branch: Return with expression
+0:238 move second child to first child (temp 3-component vector of uint)
+0:238 'r055' (temp 3-component vector of uint)
+0:? bitFieldReverse (global 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:239 Sequence
+0:239 move second child to first child (temp 3-component vector of float)
+0:239 'r056' (temp 3-component vector of float)
+0:239 roundEven (global 3-component vector of float)
+0:239 'inF0' (in 3-component vector of float)
+0:240 Sequence
+0:240 move second child to first child (temp 3-component vector of float)
+0:240 'r057' (temp 3-component vector of float)
+0:240 inverse sqrt (global 3-component vector of float)
+0:240 'inF0' (in 3-component vector of float)
+0:241 Sequence
+0:241 move second child to first child (temp 3-component vector of float)
+0:241 'r058' (temp 3-component vector of float)
+0:241 clamp (temp 3-component vector of float)
+0:241 'inF0' (in 3-component vector of float)
+0:241 Constant:
+0:241 0.000000
+0:241 Constant:
+0:241 1.000000
+0:242 Sequence
+0:242 move second child to first child (temp 3-component vector of float)
+0:242 'r059' (temp 3-component vector of float)
+0:242 Sign (global 3-component vector of float)
+0:242 'inF0' (in 3-component vector of float)
+0:243 Sequence
+0:243 move second child to first child (temp 3-component vector of float)
+0:243 'r060' (temp 3-component vector of float)
+0:243 sine (global 3-component vector of float)
+0:243 'inF0' (in 3-component vector of float)
+0:244 Sequence
+0:244 move second child to first child (temp 3-component vector of float)
+0:244 'inF1' (in 3-component vector of float)
+0:244 sine (temp 3-component vector of float)
+0:244 'inF0' (in 3-component vector of float)
+0:244 move second child to first child (temp 3-component vector of float)
+0:244 'inF2' (in 3-component vector of float)
+0:244 cosine (temp 3-component vector of float)
+0:244 'inF0' (in 3-component vector of float)
+0:245 Sequence
+0:245 move second child to first child (temp 3-component vector of float)
+0:245 'r061' (temp 3-component vector of float)
+0:245 hyp. sine (global 3-component vector of float)
+0:245 'inF0' (in 3-component vector of float)
+0:246 Sequence
+0:246 move second child to first child (temp 3-component vector of float)
+0:246 'r062' (temp 3-component vector of float)
+0:246 smoothstep (global 3-component vector of float)
+0:246 'inF0' (in 3-component vector of float)
+0:246 'inF1' (in 3-component vector of float)
+0:246 'inF2' (in 3-component vector of float)
+0:247 Sequence
+0:247 move second child to first child (temp 3-component vector of float)
+0:247 'r063' (temp 3-component vector of float)
+0:247 sqrt (global 3-component vector of float)
+0:247 'inF0' (in 3-component vector of float)
+0:248 Sequence
+0:248 move second child to first child (temp 3-component vector of float)
+0:248 'r064' (temp 3-component vector of float)
+0:248 step (global 3-component vector of float)
+0:248 'inF0' (in 3-component vector of float)
+0:248 'inF1' (in 3-component vector of float)
+0:249 Sequence
+0:249 move second child to first child (temp 3-component vector of float)
+0:249 'r065' (temp 3-component vector of float)
+0:249 tangent (global 3-component vector of float)
+0:249 'inF0' (in 3-component vector of float)
+0:250 Sequence
+0:250 move second child to first child (temp 3-component vector of float)
+0:250 'r066' (temp 3-component vector of float)
+0:250 hyp. tangent (global 3-component vector of float)
+0:250 'inF0' (in 3-component vector of float)
+0:252 Sequence
+0:252 move second child to first child (temp 3-component vector of float)
+0:252 'r067' (temp 3-component vector of float)
+0:252 trunc (global 3-component vector of float)
+0:252 'inF0' (in 3-component vector of float)
+0:255 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:393 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
-0:253 Function Parameters:
-0:253 'inF0' (in 4-component vector of float)
-0:253 'inF1' (in 4-component vector of float)
-0:253 'inF2' (in 4-component vector of float)
-0:253 'inU0' (in 4-component vector of uint)
-0:253 'inU1' (in 4-component vector of uint)
+0:399 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
+0:259 Function Parameters:
+0:259 'inF0' (in 4-component vector of float)
+0:259 'inF1' (in 4-component vector of float)
+0:259 'inF2' (in 4-component vector of float)
+0:259 'inU0' (in 4-component vector of uint)
+0:259 'inU1' (in 4-component vector of uint)
0:? Sequence
-0:256 all (global bool)
-0:256 'inF0' (in 4-component vector of float)
-0:257 Absolute value (global 4-component vector of float)
-0:257 'inF0' (in 4-component vector of float)
-0:258 arc cosine (global 4-component vector of float)
-0:258 'inF0' (in 4-component vector of float)
-0:259 any (global bool)
-0:259 'inF0' (in 4-component vector of float)
-0:260 arc sine (global 4-component vector of float)
-0:260 'inF0' (in 4-component vector of float)
-0:261 floatBitsToInt (global 4-component vector of int)
-0:261 'inF0' (in 4-component vector of float)
-0:262 floatBitsToUint (global 4-component vector of uint)
-0:262 'inF0' (in 4-component vector of float)
-0:263 intBitsToFloat (global 4-component vector of float)
-0:263 'inU0' (in 4-component vector of uint)
-0:265 arc tangent (global 4-component vector of float)
-0:265 'inF0' (in 4-component vector of float)
-0:266 arc tangent (global 4-component vector of float)
-0:266 'inF0' (in 4-component vector of float)
-0:266 'inF1' (in 4-component vector of float)
-0:267 Ceiling (global 4-component vector of float)
-0:267 'inF0' (in 4-component vector of float)
-0:268 clamp (global 4-component vector of float)
-0:268 'inF0' (in 4-component vector of float)
-0:268 'inF1' (in 4-component vector of float)
-0:268 'inF2' (in 4-component vector of float)
-0:269 Test condition and select (temp void)
-0:269 Condition
-0:269 any (temp bool)
-0:269 Compare Less Than (temp 4-component vector of bool)
-0:269 'inF0' (in 4-component vector of float)
-0:269 Constant:
-0:269 0.000000
-0:269 0.000000
-0:269 0.000000
-0:269 0.000000
-0:269 true case
-0:269 Branch: Kill
-0:270 cosine (global 4-component vector of float)
-0:270 'inF0' (in 4-component vector of float)
-0:271 hyp. cosine (global 4-component vector of float)
-0:271 'inF0' (in 4-component vector of float)
-0:? bitCount (global 4-component vector of uint)
-0:? Constant:
-0:? 7 (const uint)
-0:? 3 (const uint)
-0:? 5 (const uint)
-0:? 2 (const uint)
-0:273 dPdx (global 4-component vector of float)
-0:273 'inF0' (in 4-component vector of float)
-0:274 dPdxCoarse (global 4-component vector of float)
-0:274 'inF0' (in 4-component vector of float)
-0:275 dPdxFine (global 4-component vector of float)
-0:275 'inF0' (in 4-component vector of float)
-0:276 dPdy (global 4-component vector of float)
-0:276 'inF0' (in 4-component vector of float)
-0:277 dPdyCoarse (global 4-component vector of float)
-0:277 'inF0' (in 4-component vector of float)
-0:278 dPdyFine (global 4-component vector of float)
-0:278 'inF0' (in 4-component vector of float)
-0:279 degrees (global 4-component vector of float)
-0:279 'inF0' (in 4-component vector of float)
-0:280 distance (global float)
-0:280 'inF0' (in 4-component vector of float)
-0:280 'inF1' (in 4-component vector of float)
-0:281 dot-product (global float)
-0:281 'inF0' (in 4-component vector of float)
-0:281 'inF1' (in 4-component vector of float)
-0:282 Construct vec4 (temp 4-component vector of float)
-0:282 Constant:
-0:282 1.000000
-0:282 component-wise multiply (temp float)
-0:282 direct index (temp float)
+0:262 Sequence
+0:262 move second child to first child (temp bool)
+0:262 'r000' (temp bool)
+0:262 all (global bool)
+0:262 'inF0' (in 4-component vector of float)
+0:263 Sequence
+0:263 move second child to first child (temp 4-component vector of float)
+0:263 'r001' (temp 4-component vector of float)
+0:263 Absolute value (global 4-component vector of float)
+0:263 'inF0' (in 4-component vector of float)
+0:264 Sequence
+0:264 move second child to first child (temp 4-component vector of float)
+0:264 'r002' (temp 4-component vector of float)
+0:264 arc cosine (global 4-component vector of float)
+0:264 'inF0' (in 4-component vector of float)
+0:265 Sequence
+0:265 move second child to first child (temp bool)
+0:265 'r003' (temp bool)
+0:265 any (global bool)
+0:265 'inF0' (in 4-component vector of float)
+0:266 Sequence
+0:266 move second child to first child (temp 4-component vector of float)
+0:266 'r004' (temp 4-component vector of float)
+0:266 arc sine (global 4-component vector of float)
+0:266 'inF0' (in 4-component vector of float)
+0:267 Sequence
+0:267 move second child to first child (temp 4-component vector of int)
+0:267 'r005' (temp 4-component vector of int)
+0:267 floatBitsToInt (global 4-component vector of int)
+0:267 'inF0' (in 4-component vector of float)
+0:268 Sequence
+0:268 move second child to first child (temp 4-component vector of uint)
+0:268 'r006' (temp 4-component vector of uint)
+0:268 floatBitsToUint (global 4-component vector of uint)
+0:268 'inF0' (in 4-component vector of float)
+0:269 Sequence
+0:269 move second child to first child (temp 4-component vector of float)
+0:269 'r007' (temp 4-component vector of float)
+0:269 intBitsToFloat (global 4-component vector of float)
+0:269 'inU0' (in 4-component vector of uint)
+0:271 Sequence
+0:271 move second child to first child (temp 4-component vector of float)
+0:271 'r009' (temp 4-component vector of float)
+0:271 arc tangent (global 4-component vector of float)
+0:271 'inF0' (in 4-component vector of float)
+0:272 Sequence
+0:272 move second child to first child (temp 4-component vector of float)
+0:272 'r010' (temp 4-component vector of float)
+0:272 arc tangent (global 4-component vector of float)
+0:272 'inF0' (in 4-component vector of float)
+0:272 'inF1' (in 4-component vector of float)
+0:273 Sequence
+0:273 move second child to first child (temp 4-component vector of float)
+0:273 'r011' (temp 4-component vector of float)
+0:273 Ceiling (global 4-component vector of float)
+0:273 'inF0' (in 4-component vector of float)
+0:274 Sequence
+0:274 move second child to first child (temp 4-component vector of float)
+0:274 'r012' (temp 4-component vector of float)
+0:274 clamp (global 4-component vector of float)
+0:274 'inF0' (in 4-component vector of float)
+0:274 'inF1' (in 4-component vector of float)
+0:274 'inF2' (in 4-component vector of float)
+0:275 Test condition and select (temp void)
+0:275 Condition
+0:275 any (temp bool)
+0:275 Compare Less Than (temp 4-component vector of bool)
+0:275 'inF0' (in 4-component vector of float)
+0:275 Constant:
+0:275 0.000000
+0:275 0.000000
+0:275 0.000000
+0:275 0.000000
+0:275 true case
+0:275 Branch: Kill
+0:276 Sequence
+0:276 move second child to first child (temp 4-component vector of float)
+0:276 'r013' (temp 4-component vector of float)
+0:276 cosine (global 4-component vector of float)
+0:276 'inF0' (in 4-component vector of float)
+0:277 Sequence
+0:277 move second child to first child (temp 4-component vector of float)
+0:277 'r014' (temp 4-component vector of float)
+0:277 hyp. cosine (global 4-component vector of float)
+0:277 'inF0' (in 4-component vector of float)
+0:278 Sequence
+0:278 move second child to first child (temp 4-component vector of uint)
+0:278 'r015' (temp 4-component vector of uint)
+0:? bitCount (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:? 2 (const uint)
+0:279 Sequence
+0:279 move second child to first child (temp 4-component vector of float)
+0:279 'r016' (temp 4-component vector of float)
+0:279 dPdx (global 4-component vector of float)
+0:279 'inF0' (in 4-component vector of float)
+0:280 Sequence
+0:280 move second child to first child (temp 4-component vector of float)
+0:280 'r017' (temp 4-component vector of float)
+0:280 dPdxCoarse (global 4-component vector of float)
+0:280 'inF0' (in 4-component vector of float)
+0:281 Sequence
+0:281 move second child to first child (temp 4-component vector of float)
+0:281 'r018' (temp 4-component vector of float)
+0:281 dPdxFine (global 4-component vector of float)
+0:281 'inF0' (in 4-component vector of float)
+0:282 Sequence
+0:282 move second child to first child (temp 4-component vector of float)
+0:282 'r019' (temp 4-component vector of float)
+0:282 dPdy (global 4-component vector of float)
0:282 'inF0' (in 4-component vector of float)
-0:282 Constant:
-0:282 1 (const int)
-0:282 direct index (temp float)
-0:282 'inF1' (in 4-component vector of float)
-0:282 Constant:
-0:282 1 (const int)
-0:282 direct index (temp float)
-0:282 'inF0' (in 4-component vector of float)
-0:282 Constant:
-0:282 2 (const int)
-0:282 direct index (temp float)
-0:282 'inF1' (in 4-component vector of float)
-0:282 Constant:
-0:282 3 (const int)
-0:286 exp (global 4-component vector of float)
-0:286 'inF0' (in 4-component vector of float)
-0:287 exp2 (global 4-component vector of float)
-0:287 'inF0' (in 4-component vector of float)
-0:288 face-forward (global 4-component vector of float)
-0:288 'inF0' (in 4-component vector of float)
-0:288 'inF1' (in 4-component vector of float)
-0:288 'inF2' (in 4-component vector of float)
-0:289 findMSB (global int)
-0:289 Constant:
-0:289 7 (const int)
-0:290 findLSB (global int)
-0:290 Constant:
-0:290 7 (const int)
-0:291 Floor (global 4-component vector of float)
-0:291 'inF0' (in 4-component vector of float)
-0:293 mod (global 4-component vector of float)
-0:293 'inF0' (in 4-component vector of float)
-0:293 'inF1' (in 4-component vector of float)
-0:294 Fraction (global 4-component vector of float)
-0:294 'inF0' (in 4-component vector of float)
-0:295 frexp (global 4-component vector of float)
-0:295 'inF0' (in 4-component vector of float)
-0:295 'inF1' (in 4-component vector of float)
-0:296 fwidth (global 4-component vector of float)
-0:296 'inF0' (in 4-component vector of float)
-0:297 isinf (global 4-component vector of bool)
-0:297 'inF0' (in 4-component vector of float)
-0:298 isnan (global 4-component vector of bool)
-0:298 'inF0' (in 4-component vector of float)
-0:299 ldexp (global 4-component vector of float)
-0:299 'inF0' (in 4-component vector of float)
-0:299 'inF1' (in 4-component vector of float)
-0:300 length (global float)
-0:300 'inF0' (in 4-component vector of float)
-0:301 log (global 4-component vector of float)
-0:301 'inF0' (in 4-component vector of float)
-0:302 vector-scale (temp 4-component vector of float)
-0:302 log2 (temp 4-component vector of float)
-0:302 'inF0' (in 4-component vector of float)
-0:302 Constant:
-0:302 0.301030
-0:303 log2 (global 4-component vector of float)
-0:303 'inF0' (in 4-component vector of float)
-0:304 max (global 4-component vector of float)
-0:304 'inF0' (in 4-component vector of float)
-0:304 'inF1' (in 4-component vector of float)
-0:305 min (global 4-component vector of float)
-0:305 'inF0' (in 4-component vector of float)
-0:305 'inF1' (in 4-component vector of float)
-0:306 normalize (global 4-component vector of float)
-0:306 'inF0' (in 4-component vector of float)
-0:307 pow (global 4-component vector of float)
-0:307 'inF0' (in 4-component vector of float)
-0:307 'inF1' (in 4-component vector of float)
-0:308 radians (global 4-component vector of float)
-0:308 'inF0' (in 4-component vector of float)
-0:309 divide (temp 4-component vector of float)
-0:309 Constant:
-0:309 1.000000
-0:309 'inF0' (in 4-component vector of float)
-0:310 reflect (global 4-component vector of float)
-0:310 'inF0' (in 4-component vector of float)
-0:310 'inF1' (in 4-component vector of float)
-0:311 refract (global 4-component vector of float)
-0:311 'inF0' (in 4-component vector of float)
-0:311 'inF1' (in 4-component vector of float)
-0:311 Constant:
-0:311 2.000000
-0:? bitFieldReverse (global 4-component vector of uint)
-0:? Constant:
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3 (const uint)
-0:? 4 (const uint)
-0:313 roundEven (global 4-component vector of float)
-0:313 'inF0' (in 4-component vector of float)
-0:314 inverse sqrt (global 4-component vector of float)
-0:314 'inF0' (in 4-component vector of float)
-0:315 clamp (temp 4-component vector of float)
-0:315 'inF0' (in 4-component vector of float)
-0:315 Constant:
-0:315 0.000000
-0:315 Constant:
-0:315 1.000000
-0:316 Sign (global 4-component vector of float)
-0:316 'inF0' (in 4-component vector of float)
-0:317 sine (global 4-component vector of float)
-0:317 'inF0' (in 4-component vector of float)
+0:283 Sequence
+0:283 move second child to first child (temp 4-component vector of float)
+0:283 'r020' (temp 4-component vector of float)
+0:283 dPdyCoarse (global 4-component vector of float)
+0:283 'inF0' (in 4-component vector of float)
+0:284 Sequence
+0:284 move second child to first child (temp 4-component vector of float)
+0:284 'r021' (temp 4-component vector of float)
+0:284 dPdyFine (global 4-component vector of float)
+0:284 'inF0' (in 4-component vector of float)
+0:285 Sequence
+0:285 move second child to first child (temp 4-component vector of float)
+0:285 'r022' (temp 4-component vector of float)
+0:285 degrees (global 4-component vector of float)
+0:285 'inF0' (in 4-component vector of float)
+0:286 Sequence
+0:286 move second child to first child (temp float)
+0:286 'r023' (temp float)
+0:286 distance (global float)
+0:286 'inF0' (in 4-component vector of float)
+0:286 'inF1' (in 4-component vector of float)
+0:287 Sequence
+0:287 move second child to first child (temp float)
+0:287 'r024' (temp float)
+0:287 dot-product (global float)
+0:287 'inF0' (in 4-component vector of float)
+0:287 'inF1' (in 4-component vector of float)
+0:288 Sequence
+0:288 move second child to first child (temp 4-component vector of float)
+0:288 'r025' (temp 4-component vector of float)
+0:288 Construct vec4 (temp 4-component vector of float)
+0:288 Constant:
+0:288 1.000000
+0:288 component-wise multiply (temp float)
+0:288 direct index (temp float)
+0:288 'inF0' (in 4-component vector of float)
+0:288 Constant:
+0:288 1 (const int)
+0:288 direct index (temp float)
+0:288 'inF1' (in 4-component vector of float)
+0:288 Constant:
+0:288 1 (const int)
+0:288 direct index (temp float)
+0:288 'inF0' (in 4-component vector of float)
+0:288 Constant:
+0:288 2 (const int)
+0:288 direct index (temp float)
+0:288 'inF1' (in 4-component vector of float)
+0:288 Constant:
+0:288 3 (const int)
+0:292 Sequence
+0:292 move second child to first child (temp 4-component vector of float)
+0:292 'r029' (temp 4-component vector of float)
+0:292 exp (global 4-component vector of float)
+0:292 'inF0' (in 4-component vector of float)
+0:293 Sequence
+0:293 move second child to first child (temp 4-component vector of float)
+0:293 'r030' (temp 4-component vector of float)
+0:293 exp2 (global 4-component vector of float)
+0:293 'inF0' (in 4-component vector of float)
+0:294 Sequence
+0:294 move second child to first child (temp 4-component vector of float)
+0:294 'r031' (temp 4-component vector of float)
+0:294 face-forward (global 4-component vector of float)
+0:294 'inF0' (in 4-component vector of float)
+0:294 'inF1' (in 4-component vector of float)
+0:294 'inF2' (in 4-component vector of float)
+0:295 Sequence
+0:295 move second child to first child (temp 4-component vector of uint)
+0:295 'r032' (temp 4-component vector of uint)
+0:? findMSB (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:? 9 (const uint)
+0:? 10 (const uint)
+0:296 Sequence
+0:296 move second child to first child (temp 4-component vector of uint)
+0:296 'r033' (temp 4-component vector of uint)
+0:? findLSB (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:? 9 (const uint)
+0:? 10 (const uint)
+0:297 Sequence
+0:297 move second child to first child (temp 4-component vector of float)
+0:297 'r034' (temp 4-component vector of float)
+0:297 Floor (global 4-component vector of float)
+0:297 'inF0' (in 4-component vector of float)
+0:299 Sequence
+0:299 move second child to first child (temp 4-component vector of float)
+0:299 'r036' (temp 4-component vector of float)
+0:299 mod (global 4-component vector of float)
+0:299 'inF0' (in 4-component vector of float)
+0:299 'inF1' (in 4-component vector of float)
+0:300 Sequence
+0:300 move second child to first child (temp 4-component vector of float)
+0:300 'r037' (temp 4-component vector of float)
+0:300 Fraction (global 4-component vector of float)
+0:300 'inF0' (in 4-component vector of float)
+0:301 Sequence
+0:301 move second child to first child (temp 4-component vector of float)
+0:301 'r038' (temp 4-component vector of float)
+0:301 frexp (global 4-component vector of float)
+0:301 'inF0' (in 4-component vector of float)
+0:301 'inF1' (in 4-component vector of float)
+0:302 Sequence
+0:302 move second child to first child (temp 4-component vector of float)
+0:302 'r039' (temp 4-component vector of float)
+0:302 fwidth (global 4-component vector of float)
+0:302 'inF0' (in 4-component vector of float)
+0:303 Sequence
+0:303 move second child to first child (temp 4-component vector of bool)
+0:303 'r040' (temp 4-component vector of bool)
+0:303 isinf (global 4-component vector of bool)
+0:303 'inF0' (in 4-component vector of float)
+0:304 Sequence
+0:304 move second child to first child (temp 4-component vector of bool)
+0:304 'r041' (temp 4-component vector of bool)
+0:304 isnan (global 4-component vector of bool)
+0:304 'inF0' (in 4-component vector of float)
+0:305 Sequence
+0:305 move second child to first child (temp 4-component vector of float)
+0:305 'r042' (temp 4-component vector of float)
+0:305 ldexp (global 4-component vector of float)
+0:305 'inF0' (in 4-component vector of float)
+0:305 'inF1' (in 4-component vector of float)
+0:306 Sequence
+0:306 move second child to first child (temp 4-component vector of float)
+0:306 'r039a' (temp 4-component vector of float)
+0:306 mix (global 4-component vector of float)
+0:306 'inF0' (in 4-component vector of float)
+0:306 'inF1' (in 4-component vector of float)
+0:306 'inF2' (in 4-component vector of float)
+0:307 Sequence
+0:307 move second child to first child (temp float)
+0:307 'r043' (temp float)
+0:307 length (global float)
+0:307 'inF0' (in 4-component vector of float)
+0:308 Sequence
+0:308 move second child to first child (temp 4-component vector of float)
+0:308 'r044' (temp 4-component vector of float)
+0:308 log (global 4-component vector of float)
+0:308 'inF0' (in 4-component vector of float)
+0:309 Sequence
+0:309 move second child to first child (temp 4-component vector of float)
+0:309 'r045' (temp 4-component vector of float)
+0:309 vector-scale (temp 4-component vector of float)
+0:309 log2 (temp 4-component vector of float)
+0:309 'inF0' (in 4-component vector of float)
+0:309 Constant:
+0:309 0.301030
+0:310 Sequence
+0:310 move second child to first child (temp 4-component vector of float)
+0:310 'r046' (temp 4-component vector of float)
+0:310 log2 (global 4-component vector of float)
+0:310 'inF0' (in 4-component vector of float)
+0:311 Sequence
+0:311 move second child to first child (temp 4-component vector of float)
+0:311 'r047' (temp 4-component vector of float)
+0:311 max (global 4-component vector of float)
+0:311 'inF0' (in 4-component vector of float)
+0:311 'inF1' (in 4-component vector of float)
+0:312 Sequence
+0:312 move second child to first child (temp 4-component vector of float)
+0:312 'r048' (temp 4-component vector of float)
+0:312 min (global 4-component vector of float)
+0:312 'inF0' (in 4-component vector of float)
+0:312 'inF1' (in 4-component vector of float)
+0:313 Sequence
+0:313 move second child to first child (temp 4-component vector of float)
+0:313 'r049' (temp 4-component vector of float)
+0:313 normalize (global 4-component vector of float)
+0:313 'inF0' (in 4-component vector of float)
+0:314 Sequence
+0:314 move second child to first child (temp 4-component vector of float)
+0:314 'r050' (temp 4-component vector of float)
+0:314 pow (global 4-component vector of float)
+0:314 'inF0' (in 4-component vector of float)
+0:314 'inF1' (in 4-component vector of float)
+0:315 Sequence
+0:315 move second child to first child (temp 4-component vector of float)
+0:315 'r051' (temp 4-component vector of float)
+0:315 radians (global 4-component vector of float)
+0:315 'inF0' (in 4-component vector of float)
+0:316 Sequence
+0:316 move second child to first child (temp 4-component vector of float)
+0:316 'r052' (temp 4-component vector of float)
+0:316 divide (temp 4-component vector of float)
+0:316 Constant:
+0:316 1.000000
+0:316 'inF0' (in 4-component vector of float)
+0:317 Sequence
+0:317 move second child to first child (temp 4-component vector of float)
+0:317 'r053' (temp 4-component vector of float)
+0:317 reflect (global 4-component vector of float)
+0:317 'inF0' (in 4-component vector of float)
+0:317 'inF1' (in 4-component vector of float)
0:318 Sequence
0:318 move second child to first child (temp 4-component vector of float)
-0:318 'inF1' (in 4-component vector of float)
-0:318 sine (temp 4-component vector of float)
+0:318 'r054' (temp 4-component vector of float)
+0:318 refract (global 4-component vector of float)
0:318 'inF0' (in 4-component vector of float)
-0:318 move second child to first child (temp 4-component vector of float)
-0:318 'inF2' (in 4-component vector of float)
-0:318 cosine (temp 4-component vector of float)
-0:318 'inF0' (in 4-component vector of float)
-0:319 hyp. sine (global 4-component vector of float)
-0:319 'inF0' (in 4-component vector of float)
-0:320 smoothstep (global 4-component vector of float)
-0:320 'inF0' (in 4-component vector of float)
-0:320 'inF1' (in 4-component vector of float)
-0:320 'inF2' (in 4-component vector of float)
-0:321 sqrt (global 4-component vector of float)
-0:321 'inF0' (in 4-component vector of float)
-0:322 step (global 4-component vector of float)
-0:322 'inF0' (in 4-component vector of float)
-0:322 'inF1' (in 4-component vector of float)
-0:323 tangent (global 4-component vector of float)
-0:323 'inF0' (in 4-component vector of float)
-0:324 hyp. tangent (global 4-component vector of float)
-0:324 'inF0' (in 4-component vector of float)
-0:326 trunc (global 4-component vector of float)
-0:326 'inF0' (in 4-component vector of float)
-0:329 Branch: Return with expression
+0:318 'inF1' (in 4-component vector of float)
+0:318 Constant:
+0:318 2.000000
+0:319 Sequence
+0:319 move second child to first child (temp 4-component vector of uint)
+0:319 'r055' (temp 4-component vector of uint)
+0:? bitFieldReverse (global 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:320 Sequence
+0:320 move second child to first child (temp 4-component vector of float)
+0:320 'r056' (temp 4-component vector of float)
+0:320 roundEven (global 4-component vector of float)
+0:320 'inF0' (in 4-component vector of float)
+0:321 Sequence
+0:321 move second child to first child (temp 4-component vector of float)
+0:321 'r057' (temp 4-component vector of float)
+0:321 inverse sqrt (global 4-component vector of float)
+0:321 'inF0' (in 4-component vector of float)
+0:322 Sequence
+0:322 move second child to first child (temp 4-component vector of float)
+0:322 'r058' (temp 4-component vector of float)
+0:322 clamp (temp 4-component vector of float)
+0:322 'inF0' (in 4-component vector of float)
+0:322 Constant:
+0:322 0.000000
+0:322 Constant:
+0:322 1.000000
+0:323 Sequence
+0:323 move second child to first child (temp 4-component vector of float)
+0:323 'r059' (temp 4-component vector of float)
+0:323 Sign (global 4-component vector of float)
+0:323 'inF0' (in 4-component vector of float)
+0:324 Sequence
+0:324 move second child to first child (temp 4-component vector of float)
+0:324 'r060' (temp 4-component vector of float)
+0:324 sine (global 4-component vector of float)
+0:324 'inF0' (in 4-component vector of float)
+0:325 Sequence
+0:325 move second child to first child (temp 4-component vector of float)
+0:325 'inF1' (in 4-component vector of float)
+0:325 sine (temp 4-component vector of float)
+0:325 'inF0' (in 4-component vector of float)
+0:325 move second child to first child (temp 4-component vector of float)
+0:325 'inF2' (in 4-component vector of float)
+0:325 cosine (temp 4-component vector of float)
+0:325 'inF0' (in 4-component vector of float)
+0:326 Sequence
+0:326 move second child to first child (temp 4-component vector of float)
+0:326 'r061' (temp 4-component vector of float)
+0:326 hyp. sine (global 4-component vector of float)
+0:326 'inF0' (in 4-component vector of float)
+0:327 Sequence
+0:327 move second child to first child (temp 4-component vector of float)
+0:327 'r062' (temp 4-component vector of float)
+0:327 smoothstep (global 4-component vector of float)
+0:327 'inF0' (in 4-component vector of float)
+0:327 'inF1' (in 4-component vector of float)
+0:327 'inF2' (in 4-component vector of float)
+0:328 Sequence
+0:328 move second child to first child (temp 4-component vector of float)
+0:328 'r063' (temp 4-component vector of float)
+0:328 sqrt (global 4-component vector of float)
+0:328 'inF0' (in 4-component vector of float)
+0:329 Sequence
+0:329 move second child to first child (temp 4-component vector of float)
+0:329 'r064' (temp 4-component vector of float)
+0:329 step (global 4-component vector of float)
+0:329 'inF0' (in 4-component vector of float)
+0:329 'inF1' (in 4-component vector of float)
+0:330 Sequence
+0:330 move second child to first child (temp 4-component vector of float)
+0:330 'r065' (temp 4-component vector of float)
+0:330 tangent (global 4-component vector of float)
+0:330 'inF0' (in 4-component vector of float)
+0:331 Sequence
+0:331 move second child to first child (temp 4-component vector of float)
+0:331 'r066' (temp 4-component vector of float)
+0:331 hyp. tangent (global 4-component vector of float)
+0:331 'inF0' (in 4-component vector of float)
+0:333 Sequence
+0:333 move second child to first child (temp 4-component vector of float)
+0:333 'r067' (temp 4-component vector of float)
+0:333 trunc (global 4-component vector of float)
+0:333 'inF0' (in 4-component vector of float)
+0:336 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:402 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:394 Function Parameters:
-0:394 'inF0' (in 2X2 matrix of float)
-0:394 'inF1' (in 2X2 matrix of float)
-0:394 'inF2' (in 2X2 matrix of float)
+0:408 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:400 Function Parameters:
+0:400 'inF0' (in 2X2 matrix of float)
+0:400 'inF1' (in 2X2 matrix of float)
+0:400 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:396 all (global bool)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Absolute value (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc cosine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 any (global bool)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc sine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 Ceiling (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Test condition and select (temp void)
-0:396 Condition
-0:396 any (temp bool)
-0:396 Compare Less Than (temp 2X2 matrix of bool)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Constant:
-0:396 0.000000
-0:396 0.000000
-0:396 0.000000
-0:396 0.000000
-0:396 true case
-0:396 Branch: Kill
-0:396 clamp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 'inF2' (in 2X2 matrix of float)
-0:396 cosine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 hyp. cosine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdx (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdxCoarse (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdxFine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdy (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdyCoarse (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdyFine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 degrees (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 determinant (global float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 exp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 exp2 (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 findMSB (global int)
-0:396 Constant:
-0:396 7 (const int)
-0:396 findLSB (global int)
-0:396 Constant:
-0:396 7 (const int)
-0:396 Floor (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 mod (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 Fraction (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 frexp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 fwidth (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 ldexp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 log (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 matrix-scale (temp 2X2 matrix of float)
-0:396 log2 (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Constant:
-0:396 0.301030
-0:396 log2 (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 max (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 min (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 pow (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 radians (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 roundEven (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 inverse sqrt (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 clamp (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Constant:
-0:396 0.000000
-0:396 Constant:
-0:396 1.000000
-0:396 Sign (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 sine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Sequence
-0:396 move second child to first child (temp 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 sine (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 move second child to first child (temp 2X2 matrix of float)
-0:396 'inF2' (in 2X2 matrix of float)
-0:396 cosine (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 hyp. sine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 smoothstep (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 'inF2' (in 2X2 matrix of float)
-0:396 sqrt (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 step (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 hyp. tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 transpose (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 trunc (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:399 Branch: Return with expression
+0:402 Sequence
+0:402 move second child to first child (temp bool)
+0:402 'r000' (temp bool)
+0:402 all (global bool)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r001' (temp 2X2 matrix of float)
+0:402 Absolute value (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 arc cosine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp bool)
+0:402 'r003' (temp bool)
+0:402 any (global bool)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r004' (temp 2X2 matrix of float)
+0:402 arc sine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r005' (temp 2X2 matrix of float)
+0:402 arc tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r006' (temp 2X2 matrix of float)
+0:402 arc tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r007' (temp 2X2 matrix of float)
+0:402 Ceiling (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Test condition and select (temp void)
+0:402 Condition
+0:402 any (temp bool)
+0:402 Compare Less Than (temp 2X2 matrix of bool)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Constant:
+0:402 0.000000
+0:402 0.000000
+0:402 0.000000
+0:402 0.000000
+0:402 true case
+0:402 Branch: Kill
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r008' (temp 2X2 matrix of float)
+0:402 clamp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r009' (temp 2X2 matrix of float)
+0:402 cosine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r010' (temp 2X2 matrix of float)
+0:402 hyp. cosine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r011' (temp 2X2 matrix of float)
+0:402 dPdx (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r012' (temp 2X2 matrix of float)
+0:402 dPdxCoarse (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r013' (temp 2X2 matrix of float)
+0:402 dPdxFine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r014' (temp 2X2 matrix of float)
+0:402 dPdy (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r015' (temp 2X2 matrix of float)
+0:402 dPdyCoarse (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r016' (temp 2X2 matrix of float)
+0:402 dPdyFine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r017' (temp 2X2 matrix of float)
+0:402 degrees (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp float)
+0:402 'r018' (temp float)
+0:402 determinant (global float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r019' (temp 2X2 matrix of float)
+0:402 exp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'R020' (temp 2X2 matrix of float)
+0:402 exp2 (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r021' (temp 2X2 matrix of float)
+0:402 Floor (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r022' (temp 2X2 matrix of float)
+0:402 mod (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r023' (temp 2X2 matrix of float)
+0:402 Fraction (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r024' (temp 2X2 matrix of float)
+0:402 frexp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r025' (temp 2X2 matrix of float)
+0:402 fwidth (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r026' (temp 2X2 matrix of float)
+0:402 ldexp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r026a' (temp 2X2 matrix of float)
+0:402 mix (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r027' (temp 2X2 matrix of float)
+0:402 log (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r028' (temp 2X2 matrix of float)
+0:402 matrix-scale (temp 2X2 matrix of float)
+0:402 log2 (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Constant:
+0:402 0.301030
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r029' (temp 2X2 matrix of float)
+0:402 log2 (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r030' (temp 2X2 matrix of float)
+0:402 max (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r031' (temp 2X2 matrix of float)
+0:402 min (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r032' (temp 2X2 matrix of float)
+0:402 pow (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r033' (temp 2X2 matrix of float)
+0:402 radians (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r034' (temp 2X2 matrix of float)
+0:402 roundEven (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r035' (temp 2X2 matrix of float)
+0:402 inverse sqrt (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r036' (temp 2X2 matrix of float)
+0:402 clamp (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Constant:
+0:402 0.000000
+0:402 Constant:
+0:402 1.000000
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r037' (temp 2X2 matrix of float)
+0:402 Sign (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r038' (temp 2X2 matrix of float)
+0:402 sine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 sine (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 cosine (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r039' (temp 2X2 matrix of float)
+0:402 hyp. sine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r049' (temp 2X2 matrix of float)
+0:402 smoothstep (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r041' (temp 2X2 matrix of float)
+0:402 sqrt (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r042' (temp 2X2 matrix of float)
+0:402 step (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r043' (temp 2X2 matrix of float)
+0:402 tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r044' (temp 2X2 matrix of float)
+0:402 hyp. tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 transpose (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r046' (temp 2X2 matrix of float)
+0:402 trunc (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:405 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:411 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:403 Function Parameters:
-0:403 'inF0' (in 3X3 matrix of float)
-0:403 'inF1' (in 3X3 matrix of float)
-0:403 'inF2' (in 3X3 matrix of float)
+0:417 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:409 Function Parameters:
+0:409 'inF0' (in 3X3 matrix of float)
+0:409 'inF1' (in 3X3 matrix of float)
+0:409 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:405 all (global bool)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Absolute value (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc cosine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 any (global bool)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc sine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 Ceiling (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Test condition and select (temp void)
-0:405 Condition
-0:405 any (temp bool)
-0:405 Compare Less Than (temp 3X3 matrix of bool)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Constant:
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 true case
-0:405 Branch: Kill
-0:405 clamp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 'inF2' (in 3X3 matrix of float)
-0:405 cosine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 hyp. cosine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdx (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdxCoarse (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdxFine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdy (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdyCoarse (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdyFine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 degrees (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 determinant (global float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 exp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 exp2 (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 findMSB (global int)
-0:405 Constant:
-0:405 7 (const int)
-0:405 findLSB (global int)
-0:405 Constant:
-0:405 7 (const int)
-0:405 Floor (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 mod (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 Fraction (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 frexp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 fwidth (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 ldexp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 log (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 matrix-scale (temp 3X3 matrix of float)
-0:405 log2 (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Constant:
-0:405 0.301030
-0:405 log2 (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 max (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 min (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 pow (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 radians (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 roundEven (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 inverse sqrt (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 clamp (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Constant:
-0:405 0.000000
-0:405 Constant:
-0:405 1.000000
-0:405 Sign (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 sine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Sequence
-0:405 move second child to first child (temp 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 sine (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 move second child to first child (temp 3X3 matrix of float)
-0:405 'inF2' (in 3X3 matrix of float)
-0:405 cosine (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 hyp. sine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 smoothstep (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 'inF2' (in 3X3 matrix of float)
-0:405 sqrt (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 step (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 hyp. tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 transpose (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 trunc (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:408 Branch: Return with expression
+0:411 Sequence
+0:411 move second child to first child (temp bool)
+0:411 'r000' (temp bool)
+0:411 all (global bool)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r001' (temp 3X3 matrix of float)
+0:411 Absolute value (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 arc cosine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp bool)
+0:411 'r003' (temp bool)
+0:411 any (global bool)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r004' (temp 3X3 matrix of float)
+0:411 arc sine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r005' (temp 3X3 matrix of float)
+0:411 arc tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r006' (temp 3X3 matrix of float)
+0:411 arc tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r007' (temp 3X3 matrix of float)
+0:411 Ceiling (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Test condition and select (temp void)
+0:411 Condition
+0:411 any (temp bool)
+0:411 Compare Less Than (temp 3X3 matrix of bool)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Constant:
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 true case
+0:411 Branch: Kill
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r008' (temp 3X3 matrix of float)
+0:411 clamp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r009' (temp 3X3 matrix of float)
+0:411 cosine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r010' (temp 3X3 matrix of float)
+0:411 hyp. cosine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r011' (temp 3X3 matrix of float)
+0:411 dPdx (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r012' (temp 3X3 matrix of float)
+0:411 dPdxCoarse (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r013' (temp 3X3 matrix of float)
+0:411 dPdxFine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r014' (temp 3X3 matrix of float)
+0:411 dPdy (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r015' (temp 3X3 matrix of float)
+0:411 dPdyCoarse (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r016' (temp 3X3 matrix of float)
+0:411 dPdyFine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r017' (temp 3X3 matrix of float)
+0:411 degrees (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp float)
+0:411 'r018' (temp float)
+0:411 determinant (global float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r019' (temp 3X3 matrix of float)
+0:411 exp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'R020' (temp 3X3 matrix of float)
+0:411 exp2 (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r021' (temp 3X3 matrix of float)
+0:411 Floor (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r022' (temp 3X3 matrix of float)
+0:411 mod (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r023' (temp 3X3 matrix of float)
+0:411 Fraction (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r024' (temp 3X3 matrix of float)
+0:411 frexp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r025' (temp 3X3 matrix of float)
+0:411 fwidth (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r026' (temp 3X3 matrix of float)
+0:411 ldexp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r026a' (temp 3X3 matrix of float)
+0:411 mix (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r027' (temp 3X3 matrix of float)
+0:411 log (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r028' (temp 3X3 matrix of float)
+0:411 matrix-scale (temp 3X3 matrix of float)
+0:411 log2 (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Constant:
+0:411 0.301030
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r029' (temp 3X3 matrix of float)
+0:411 log2 (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r030' (temp 3X3 matrix of float)
+0:411 max (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r031' (temp 3X3 matrix of float)
+0:411 min (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r032' (temp 3X3 matrix of float)
+0:411 pow (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r033' (temp 3X3 matrix of float)
+0:411 radians (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r034' (temp 3X3 matrix of float)
+0:411 roundEven (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r035' (temp 3X3 matrix of float)
+0:411 inverse sqrt (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r036' (temp 3X3 matrix of float)
+0:411 clamp (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Constant:
+0:411 0.000000
+0:411 Constant:
+0:411 1.000000
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r037' (temp 3X3 matrix of float)
+0:411 Sign (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r038' (temp 3X3 matrix of float)
+0:411 sine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 sine (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 cosine (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r039' (temp 3X3 matrix of float)
+0:411 hyp. sine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r049' (temp 3X3 matrix of float)
+0:411 smoothstep (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r041' (temp 3X3 matrix of float)
+0:411 sqrt (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r042' (temp 3X3 matrix of float)
+0:411 step (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r043' (temp 3X3 matrix of float)
+0:411 tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r044' (temp 3X3 matrix of float)
+0:411 hyp. tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 transpose (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r046' (temp 3X3 matrix of float)
+0:411 trunc (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:414 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:432 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:412 Function Parameters:
-0:412 'inF0' (in 4X4 matrix of float)
-0:412 'inF1' (in 4X4 matrix of float)
-0:412 'inF2' (in 4X4 matrix of float)
+0:438 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:418 Function Parameters:
+0:418 'inF0' (in 4X4 matrix of float)
+0:418 'inF1' (in 4X4 matrix of float)
+0:418 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:414 all (global bool)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Absolute value (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc cosine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 any (global bool)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc sine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 Ceiling (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Test condition and select (temp void)
-0:414 Condition
-0:414 any (temp bool)
-0:414 Compare Less Than (temp 4X4 matrix of bool)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Constant:
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 true case
-0:414 Branch: Kill
-0:414 clamp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 'inF2' (in 4X4 matrix of float)
-0:414 cosine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 hyp. cosine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdx (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdxCoarse (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdxFine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdy (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdyCoarse (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdyFine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 degrees (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 determinant (global float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 exp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 exp2 (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 findMSB (global int)
-0:414 Constant:
-0:414 7 (const int)
-0:414 findLSB (global int)
-0:414 Constant:
-0:414 7 (const int)
-0:414 Floor (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 mod (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 Fraction (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 frexp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 fwidth (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 ldexp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 log (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 matrix-scale (temp 4X4 matrix of float)
-0:414 log2 (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Constant:
-0:414 0.301030
-0:414 log2 (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 max (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 min (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 pow (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 radians (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 roundEven (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 inverse sqrt (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 clamp (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Constant:
-0:414 0.000000
-0:414 Constant:
-0:414 1.000000
-0:414 Sign (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 sine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Sequence
-0:414 move second child to first child (temp 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 sine (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 move second child to first child (temp 4X4 matrix of float)
-0:414 'inF2' (in 4X4 matrix of float)
-0:414 cosine (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 hyp. sine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 smoothstep (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 'inF2' (in 4X4 matrix of float)
-0:414 sqrt (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 step (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 hyp. tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 transpose (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 trunc (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:417 Branch: Return with expression
+0:420 Sequence
+0:420 move second child to first child (temp bool)
+0:420 'r000' (temp bool)
+0:420 all (global bool)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r001' (temp 4X4 matrix of float)
+0:420 Absolute value (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 arc cosine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp bool)
+0:420 'r003' (temp bool)
+0:420 any (global bool)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r004' (temp 4X4 matrix of float)
+0:420 arc sine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r005' (temp 4X4 matrix of float)
+0:420 arc tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r006' (temp 4X4 matrix of float)
+0:420 arc tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r007' (temp 4X4 matrix of float)
+0:420 Ceiling (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Test condition and select (temp void)
+0:420 Condition
+0:420 any (temp bool)
+0:420 Compare Less Than (temp 4X4 matrix of bool)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Constant:
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 true case
+0:420 Branch: Kill
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r008' (temp 4X4 matrix of float)
+0:420 clamp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r009' (temp 4X4 matrix of float)
+0:420 cosine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r010' (temp 4X4 matrix of float)
+0:420 hyp. cosine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r011' (temp 4X4 matrix of float)
+0:420 dPdx (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r012' (temp 4X4 matrix of float)
+0:420 dPdxCoarse (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r013' (temp 4X4 matrix of float)
+0:420 dPdxFine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r014' (temp 4X4 matrix of float)
+0:420 dPdy (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r015' (temp 4X4 matrix of float)
+0:420 dPdyCoarse (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r016' (temp 4X4 matrix of float)
+0:420 dPdyFine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r017' (temp 4X4 matrix of float)
+0:420 degrees (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp float)
+0:420 'r018' (temp float)
+0:420 determinant (global float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r019' (temp 4X4 matrix of float)
+0:420 exp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'R020' (temp 4X4 matrix of float)
+0:420 exp2 (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r021' (temp 4X4 matrix of float)
+0:420 Floor (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r022' (temp 4X4 matrix of float)
+0:420 mod (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r023' (temp 4X4 matrix of float)
+0:420 Fraction (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r024' (temp 4X4 matrix of float)
+0:420 frexp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r025' (temp 4X4 matrix of float)
+0:420 fwidth (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r026' (temp 4X4 matrix of float)
+0:420 ldexp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r026a' (temp 4X4 matrix of float)
+0:420 mix (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r027' (temp 4X4 matrix of float)
+0:420 log (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r028' (temp 4X4 matrix of float)
+0:420 matrix-scale (temp 4X4 matrix of float)
+0:420 log2 (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Constant:
+0:420 0.301030
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r029' (temp 4X4 matrix of float)
+0:420 log2 (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r030' (temp 4X4 matrix of float)
+0:420 max (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r031' (temp 4X4 matrix of float)
+0:420 min (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r032' (temp 4X4 matrix of float)
+0:420 pow (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r033' (temp 4X4 matrix of float)
+0:420 radians (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r034' (temp 4X4 matrix of float)
+0:420 roundEven (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r035' (temp 4X4 matrix of float)
+0:420 inverse sqrt (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r036' (temp 4X4 matrix of float)
+0:420 clamp (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Constant:
+0:420 0.000000
+0:420 Constant:
+0:420 1.000000
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r037' (temp 4X4 matrix of float)
+0:420 Sign (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r038' (temp 4X4 matrix of float)
+0:420 sine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 sine (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 cosine (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r039' (temp 4X4 matrix of float)
+0:420 hyp. sine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r049' (temp 4X4 matrix of float)
+0:420 smoothstep (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r041' (temp 4X4 matrix of float)
+0:420 sqrt (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r042' (temp 4X4 matrix of float)
+0:420 step (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r043' (temp 4X4 matrix of float)
+0:420 tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r044' (temp 4X4 matrix of float)
+0:420 hyp. tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 transpose (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r046' (temp 4X4 matrix of float)
+0:420 trunc (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:423 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
-0:439 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
-0:435 Function Parameters:
-0:435 'inF0' (in float)
-0:435 'inF1' (in float)
-0:435 'inFV0' (in 2-component vector of float)
-0:435 'inFV1' (in 2-component vector of float)
-0:435 'inFM0' (in 2X2 matrix of float)
-0:435 'inFM1' (in 2X2 matrix of float)
+0:445 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global void)
+0:441 Function Parameters:
+0:441 'inF0' (in float)
+0:441 'inF1' (in float)
+0:441 'inFV0' (in 2-component vector of float)
+0:441 'inFV1' (in 2-component vector of float)
+0:441 'inFM0' (in 2X2 matrix of float)
+0:441 'inFM1' (in 2X2 matrix of float)
+0:? Sequence
+0:442 Sequence
+0:442 move second child to first child (temp float)
+0:442 'r0' (temp float)
+0:442 component-wise multiply (temp float)
+0:442 'inF0' (in float)
+0:442 'inF1' (in float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r1' (temp 2-component vector of float)
+0:442 vector-scale (temp 2-component vector of float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 'inF0' (in float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r2' (temp 2-component vector of float)
+0:442 vector-scale (temp 2-component vector of float)
+0:442 'inF0' (in float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 Sequence
+0:442 move second child to first child (temp float)
+0:442 'r3' (temp float)
+0:442 dot-product (global float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 'inFV1' (in 2-component vector of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r4' (temp 2-component vector of float)
+0:442 matrix-times-vector (temp 2-component vector of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r5' (temp 2-component vector of float)
+0:442 vector-times-matrix (temp 2-component vector of float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2X2 matrix of float)
+0:442 'r6' (temp 2X2 matrix of float)
+0:442 matrix-scale (temp 2X2 matrix of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 'inF0' (in float)
+0:442 Sequence
+0:442 move second child to first child (temp 2X2 matrix of float)
+0:442 'r7' (temp 2X2 matrix of float)
+0:442 matrix-scale (temp 2X2 matrix of float)
+0:442 'inF0' (in float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2X2 matrix of float)
+0:442 'r8' (temp 2X2 matrix of float)
+0:442 matrix-multiply (temp 2X2 matrix of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 'inFM1' (in 2X2 matrix of float)
+0:452 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void)
+0:448 Function Parameters:
+0:448 'inF0' (in float)
+0:448 'inF1' (in float)
+0:448 'inFV0' (in 3-component vector of float)
+0:448 'inFV1' (in 3-component vector of float)
+0:448 'inFM0' (in 3X3 matrix of float)
+0:448 'inFM1' (in 3X3 matrix of float)
0:? Sequence
-0:436 move second child to first child (temp float)
-0:436 'r0' (temp float)
-0:436 component-wise multiply (temp float)
-0:436 'inF0' (in float)
-0:436 'inF1' (in float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r1' (temp 2-component vector of float)
-0:436 vector-scale (temp 2-component vector of float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 'inF0' (in float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r2' (temp 2-component vector of float)
-0:436 vector-scale (temp 2-component vector of float)
-0:436 'inF0' (in float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 move second child to first child (temp float)
-0:436 'r3' (temp float)
-0:436 dot-product (global float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 'inFV1' (in 2-component vector of float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r4' (temp 2-component vector of float)
-0:436 matrix-times-vector (temp 2-component vector of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r5' (temp 2-component vector of float)
-0:436 vector-times-matrix (temp 2-component vector of float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 move second child to first child (temp 2X2 matrix of float)
-0:436 'r6' (temp 2X2 matrix of float)
-0:436 matrix-scale (temp 2X2 matrix of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 'inF0' (in float)
-0:436 move second child to first child (temp 2X2 matrix of float)
-0:436 'r7' (temp 2X2 matrix of float)
-0:436 matrix-scale (temp 2X2 matrix of float)
-0:436 'inF0' (in float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 move second child to first child (temp 2X2 matrix of float)
-0:436 'r8' (temp 2X2 matrix of float)
-0:436 matrix-multiply (temp 2X2 matrix of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 'inFM1' (in 2X2 matrix of float)
-0:446 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
-0:442 Function Parameters:
-0:442 'inF0' (in float)
-0:442 'inF1' (in float)
-0:442 'inFV0' (in 3-component vector of float)
-0:442 'inFV1' (in 3-component vector of float)
-0:442 'inFM0' (in 3X3 matrix of float)
-0:442 'inFM1' (in 3X3 matrix of float)
+0:449 Sequence
+0:449 move second child to first child (temp float)
+0:449 'r0' (temp float)
+0:449 component-wise multiply (temp float)
+0:449 'inF0' (in float)
+0:449 'inF1' (in float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r1' (temp 3-component vector of float)
+0:449 vector-scale (temp 3-component vector of float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 'inF0' (in float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r2' (temp 3-component vector of float)
+0:449 vector-scale (temp 3-component vector of float)
+0:449 'inF0' (in float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 Sequence
+0:449 move second child to first child (temp float)
+0:449 'r3' (temp float)
+0:449 dot-product (global float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 'inFV1' (in 3-component vector of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r4' (temp 3-component vector of float)
+0:449 matrix-times-vector (temp 3-component vector of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r5' (temp 3-component vector of float)
+0:449 vector-times-matrix (temp 3-component vector of float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3X3 matrix of float)
+0:449 'r6' (temp 3X3 matrix of float)
+0:449 matrix-scale (temp 3X3 matrix of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 'inF0' (in float)
+0:449 Sequence
+0:449 move second child to first child (temp 3X3 matrix of float)
+0:449 'r7' (temp 3X3 matrix of float)
+0:449 matrix-scale (temp 3X3 matrix of float)
+0:449 'inF0' (in float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3X3 matrix of float)
+0:449 'r8' (temp 3X3 matrix of float)
+0:449 matrix-multiply (temp 3X3 matrix of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 'inFM1' (in 3X3 matrix of float)
+0:460 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void)
+0:455 Function Parameters:
+0:455 'inF0' (in float)
+0:455 'inF1' (in float)
+0:455 'inFV0' (in 4-component vector of float)
+0:455 'inFV1' (in 4-component vector of float)
+0:455 'inFM0' (in 4X4 matrix of float)
+0:455 'inFM1' (in 4X4 matrix of float)
0:? Sequence
-0:443 move second child to first child (temp float)
-0:443 'r0' (temp float)
-0:443 component-wise multiply (temp float)
-0:443 'inF0' (in float)
-0:443 'inF1' (in float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r1' (temp 3-component vector of float)
-0:443 vector-scale (temp 3-component vector of float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 'inF0' (in float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r2' (temp 3-component vector of float)
-0:443 vector-scale (temp 3-component vector of float)
-0:443 'inF0' (in float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 move second child to first child (temp float)
-0:443 'r3' (temp float)
-0:443 dot-product (global float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 'inFV1' (in 3-component vector of float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r4' (temp 3-component vector of float)
-0:443 matrix-times-vector (temp 3-component vector of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r5' (temp 3-component vector of float)
-0:443 vector-times-matrix (temp 3-component vector of float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 move second child to first child (temp 3X3 matrix of float)
-0:443 'r6' (temp 3X3 matrix of float)
-0:443 matrix-scale (temp 3X3 matrix of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 'inF0' (in float)
-0:443 move second child to first child (temp 3X3 matrix of float)
-0:443 'r7' (temp 3X3 matrix of float)
-0:443 matrix-scale (temp 3X3 matrix of float)
-0:443 'inF0' (in float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 move second child to first child (temp 3X3 matrix of float)
-0:443 'r8' (temp 3X3 matrix of float)
-0:443 matrix-multiply (temp 3X3 matrix of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 'inFM1' (in 3X3 matrix of float)
-0:452 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
-0:449 Function Parameters:
-0:449 'inF0' (in float)
-0:449 'inF1' (in float)
-0:449 'inFV0' (in 4-component vector of float)
-0:449 'inFV1' (in 4-component vector of float)
-0:449 'inFM0' (in 4X4 matrix of float)
-0:449 'inFM1' (in 4X4 matrix of float)
+0:456 Sequence
+0:456 move second child to first child (temp float)
+0:456 'r0' (temp float)
+0:456 component-wise multiply (temp float)
+0:456 'inF0' (in float)
+0:456 'inF1' (in float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r1' (temp 4-component vector of float)
+0:456 vector-scale (temp 4-component vector of float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 'inF0' (in float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r2' (temp 4-component vector of float)
+0:456 vector-scale (temp 4-component vector of float)
+0:456 'inF0' (in float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 Sequence
+0:456 move second child to first child (temp float)
+0:456 'r3' (temp float)
+0:456 dot-product (global float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 'inFV1' (in 4-component vector of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r4' (temp 4-component vector of float)
+0:456 matrix-times-vector (temp 4-component vector of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r5' (temp 4-component vector of float)
+0:456 vector-times-matrix (temp 4-component vector of float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4X4 matrix of float)
+0:456 'r6' (temp 4X4 matrix of float)
+0:456 matrix-scale (temp 4X4 matrix of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 'inF0' (in float)
+0:456 Sequence
+0:456 move second child to first child (temp 4X4 matrix of float)
+0:456 'r7' (temp 4X4 matrix of float)
+0:456 matrix-scale (temp 4X4 matrix of float)
+0:456 'inF0' (in float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4X4 matrix of float)
+0:456 'r8' (temp 4X4 matrix of float)
+0:456 matrix-multiply (temp 4X4 matrix of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 'inFM1' (in 4X4 matrix of float)
+0:484 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void)
+0:465 Function Parameters:
+0:465 'inF0' (in float)
+0:465 'inF1' (in float)
+0:465 'inFV2' (in 2-component vector of float)
+0:465 'inFV3' (in 3-component vector of float)
+0:465 'inFM2x3' (in 3X2 matrix of float)
+0:465 'inFM3x2' (in 2X3 matrix of float)
+0:465 'inFM3x3' (in 3X3 matrix of float)
+0:465 'inFM3x4' (in 4X3 matrix of float)
+0:465 'inFM2x4' (in 4X2 matrix of float)
0:? Sequence
-0:450 move second child to first child (temp float)
-0:450 'r0' (temp float)
-0:450 component-wise multiply (temp float)
-0:450 'inF0' (in float)
-0:450 'inF1' (in float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r1' (temp 4-component vector of float)
-0:450 vector-scale (temp 4-component vector of float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 'inF0' (in float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r2' (temp 4-component vector of float)
-0:450 vector-scale (temp 4-component vector of float)
-0:450 'inF0' (in float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 move second child to first child (temp float)
-0:450 'r3' (temp float)
-0:450 dot-product (global float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 'inFV1' (in 4-component vector of float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r4' (temp 4-component vector of float)
-0:450 matrix-times-vector (temp 4-component vector of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r5' (temp 4-component vector of float)
-0:450 vector-times-matrix (temp 4-component vector of float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 move second child to first child (temp 4X4 matrix of float)
-0:450 'r6' (temp 4X4 matrix of float)
-0:450 matrix-scale (temp 4X4 matrix of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 'inF0' (in float)
-0:450 move second child to first child (temp 4X4 matrix of float)
-0:450 'r7' (temp 4X4 matrix of float)
-0:450 matrix-scale (temp 4X4 matrix of float)
-0:450 'inF0' (in float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 move second child to first child (temp 4X4 matrix of float)
-0:450 'r8' (temp 4X4 matrix of float)
-0:450 matrix-multiply (temp 4X4 matrix of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 'inFM1' (in 4X4 matrix of float)
+0:466 Sequence
+0:466 move second child to first child (temp float)
+0:466 'r00' (temp float)
+0:466 component-wise multiply (temp float)
+0:466 'inF0' (in float)
+0:466 'inF1' (in float)
+0:467 Sequence
+0:467 move second child to first child (temp 2-component vector of float)
+0:467 'r01' (temp 2-component vector of float)
+0:467 vector-scale (temp 2-component vector of float)
+0:467 'inFV2' (in 2-component vector of float)
+0:467 'inF0' (in float)
+0:468 Sequence
+0:468 move second child to first child (temp 3-component vector of float)
+0:468 'r02' (temp 3-component vector of float)
+0:468 vector-scale (temp 3-component vector of float)
+0:468 'inFV3' (in 3-component vector of float)
+0:468 'inF0' (in float)
+0:469 Sequence
+0:469 move second child to first child (temp 2-component vector of float)
+0:469 'r03' (temp 2-component vector of float)
+0:469 vector-scale (temp 2-component vector of float)
+0:469 'inF0' (in float)
+0:469 'inFV2' (in 2-component vector of float)
+0:470 Sequence
+0:470 move second child to first child (temp 3-component vector of float)
+0:470 'r04' (temp 3-component vector of float)
+0:470 vector-scale (temp 3-component vector of float)
+0:470 'inF0' (in float)
+0:470 'inFV3' (in 3-component vector of float)
+0:471 Sequence
+0:471 move second child to first child (temp float)
+0:471 'r05' (temp float)
+0:471 dot-product (global float)
+0:471 'inFV2' (in 2-component vector of float)
+0:471 'inFV2' (in 2-component vector of float)
+0:472 Sequence
+0:472 move second child to first child (temp float)
+0:472 'r06' (temp float)
+0:472 dot-product (global float)
+0:472 'inFV3' (in 3-component vector of float)
+0:472 'inFV3' (in 3-component vector of float)
+0:473 Sequence
+0:473 move second child to first child (temp 3-component vector of float)
+0:473 'r07' (temp 3-component vector of float)
+0:473 vector-times-matrix (temp 3-component vector of float)
+0:473 'inFV2' (in 2-component vector of float)
+0:473 'inFM2x3' (in 3X2 matrix of float)
+0:474 Sequence
+0:474 move second child to first child (temp 2-component vector of float)
+0:474 'r08' (temp 2-component vector of float)
+0:474 vector-times-matrix (temp 2-component vector of float)
+0:474 'inFV3' (in 3-component vector of float)
+0:474 'inFM3x2' (in 2X3 matrix of float)
+0:475 Sequence
+0:475 move second child to first child (temp 2-component vector of float)
+0:475 'r09' (temp 2-component vector of float)
+0:475 matrix-times-vector (temp 2-component vector of float)
+0:475 'inFM2x3' (in 3X2 matrix of float)
+0:475 'inFV3' (in 3-component vector of float)
+0:476 Sequence
+0:476 move second child to first child (temp 3-component vector of float)
+0:476 'r10' (temp 3-component vector of float)
+0:476 matrix-times-vector (temp 3-component vector of float)
+0:476 'inFM3x2' (in 2X3 matrix of float)
+0:476 'inFV2' (in 2-component vector of float)
+0:477 Sequence
+0:477 move second child to first child (temp 3X2 matrix of float)
+0:477 'r11' (temp 3X2 matrix of float)
+0:477 matrix-scale (temp 3X2 matrix of float)
+0:477 'inFM2x3' (in 3X2 matrix of float)
+0:477 'inF0' (in float)
+0:478 Sequence
+0:478 move second child to first child (temp 2X3 matrix of float)
+0:478 'r12' (temp 2X3 matrix of float)
+0:478 matrix-scale (temp 2X3 matrix of float)
+0:478 'inFM3x2' (in 2X3 matrix of float)
+0:478 'inF0' (in float)
+0:479 Sequence
+0:479 move second child to first child (temp 2X2 matrix of float)
+0:479 'r13' (temp 2X2 matrix of float)
+0:479 matrix-multiply (temp 2X2 matrix of float)
+0:479 'inFM2x3' (in 3X2 matrix of float)
+0:479 'inFM3x2' (in 2X3 matrix of float)
+0:480 Sequence
+0:480 move second child to first child (temp 3X2 matrix of float)
+0:480 'r14' (temp 3X2 matrix of float)
+0:480 matrix-multiply (temp 3X2 matrix of float)
+0:480 'inFM2x3' (in 3X2 matrix of float)
+0:480 'inFM3x3' (in 3X3 matrix of float)
+0:481 Sequence
+0:481 move second child to first child (temp 4X2 matrix of float)
+0:481 'r15' (temp 4X2 matrix of float)
+0:481 matrix-multiply (temp 4X2 matrix of float)
+0:481 'inFM2x3' (in 3X2 matrix of float)
+0:481 'inFM3x4' (in 4X3 matrix of float)
+0:482 Sequence
+0:482 move second child to first child (temp 4X3 matrix of float)
+0:482 'r16' (temp 4X3 matrix of float)
+0:482 matrix-multiply (temp 4X3 matrix of float)
+0:482 'inFM3x2' (in 2X3 matrix of float)
+0:482 'inFM2x4' (in 4X2 matrix of float)
0:? Linker Objects
-0:? 'gs_ua' (temp uint)
-0:? 'gs_ub' (temp uint)
-0:? 'gs_uc' (temp uint)
-0:? 'gs_ua2' (temp 2-component vector of uint)
-0:? 'gs_ub2' (temp 2-component vector of uint)
-0:? 'gs_uc2' (temp 2-component vector of uint)
-0:? 'gs_ua3' (temp 3-component vector of uint)
-0:? 'gs_ub3' (temp 3-component vector of uint)
-0:? 'gs_uc3' (temp 3-component vector of uint)
-0:? 'gs_ua4' (temp 4-component vector of uint)
-0:? 'gs_ub4' (temp 4-component vector of uint)
-0:? 'gs_uc4' (temp 4-component vector of uint)
+0:? 'gs_ua' (global uint)
+0:? 'gs_ub' (global uint)
+0:? 'gs_uc' (global uint)
+0:? 'gs_ua2' (global 2-component vector of uint)
+0:? 'gs_ub2' (global 2-component vector of uint)
+0:? 'gs_uc2' (global 2-component vector of uint)
+0:? 'gs_ua3' (global 3-component vector of uint)
+0:? 'gs_ub3' (global 3-component vector of uint)
+0:? 'gs_uc3' (global 3-component vector of uint)
+0:? 'gs_ua4' (global 4-component vector of uint)
+0:? 'gs_ub4' (global 4-component vector of uint)
+0:? 'gs_uc4' (global 4-component vector of uint)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:87 Function Definition: PixelShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:88 Function Definition: PixelShaderFunctionS(f1;f1;f1;u1;u1; (global float)
0:17 Function Parameters:
0:17 'inF0' (in float)
0:17 'inF1' (in float)
0:17 'inU0' (in uint)
0:17 'inU1' (in uint)
0:? Sequence
-0:20 all (global bool)
-0:20 'inF0' (in float)
-0:21 Absolute value (global float)
-0:21 'inF0' (in float)
-0:22 arc cosine (global float)
-0:22 'inF0' (in float)
-0:23 any (global bool)
-0:23 'inF0' (in float)
-0:24 arc sine (global float)
-0:24 'inF0' (in float)
-0:25 floatBitsToInt (global int)
-0:25 'inF0' (in float)
-0:26 floatBitsToUint (global uint)
-0:26 'inF0' (in float)
-0:27 intBitsToFloat (global float)
-0:27 'inU0' (in uint)
-0:29 arc tangent (global float)
-0:29 'inF0' (in float)
-0:30 arc tangent (global float)
-0:30 'inF0' (in float)
-0:30 'inF1' (in float)
-0:31 Ceiling (global float)
-0:31 'inF0' (in float)
-0:32 clamp (global float)
-0:32 'inF0' (in float)
-0:32 'inF1' (in float)
-0:32 'inF2' (in float)
+0:20 Sequence
+0:20 move second child to first child (temp bool)
+0:20 'r000' (temp bool)
+0:20 all (global bool)
+0:20 'inF0' (in float)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'r001' (temp float)
+0:21 Absolute value (global float)
+0:21 'inF0' (in float)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'r002' (temp float)
+0:22 arc cosine (global float)
+0:22 'inF0' (in float)
+0:23 Sequence
+0:23 move second child to first child (temp bool)
+0:23 'r003' (temp bool)
+0:23 any (global bool)
+0:23 'inF0' (in float)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'r004' (temp float)
+0:24 arc sine (global float)
+0:24 'inF0' (in float)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'r005' (temp int)
+0:25 floatBitsToInt (global int)
+0:25 'inF0' (in float)
+0:26 Sequence
+0:26 move second child to first child (temp uint)
+0:26 'r006' (temp uint)
+0:26 floatBitsToUint (global uint)
+0:26 'inF0' (in float)
+0:27 Sequence
+0:27 move second child to first child (temp float)
+0:27 'r007' (temp float)
+0:27 intBitsToFloat (global float)
+0:27 'inU0' (in uint)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'r009' (temp float)
+0:29 arc tangent (global float)
+0:29 'inF0' (in float)
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'r010' (temp float)
+0:30 arc tangent (global float)
+0:30 'inF0' (in float)
+0:30 'inF1' (in float)
+0:31 Sequence
+0:31 move second child to first child (temp float)
+0:31 'r011' (temp float)
+0:31 Ceiling (global float)
+0:31 'inF0' (in float)
+0:32 Sequence
+0:32 move second child to first child (temp float)
+0:32 'r012' (temp float)
+0:32 clamp (global float)
+0:32 'inF0' (in float)
+0:32 'inF1' (in float)
+0:32 'inF2' (in float)
0:33 Test condition and select (temp void)
0:33 Condition
0:33 Compare Less Than (temp bool)
0:33 0.000000
0:33 true case
0:33 Branch: Kill
-0:34 cosine (global float)
-0:34 'inF0' (in float)
-0:35 hyp. cosine (global float)
-0:35 'inF0' (in float)
-0:36 bitCount (global uint)
-0:36 Constant:
-0:36 7 (const uint)
-0:37 dPdx (global float)
-0:37 'inF0' (in float)
-0:38 dPdxCoarse (global float)
-0:38 'inF0' (in float)
-0:39 dPdxFine (global float)
-0:39 'inF0' (in float)
-0:40 dPdy (global float)
-0:40 'inF0' (in float)
-0:41 dPdyCoarse (global float)
-0:41 'inF0' (in float)
-0:42 dPdyFine (global float)
-0:42 'inF0' (in float)
-0:43 degrees (global float)
-0:43 'inF0' (in float)
-0:47 exp (global float)
-0:47 'inF0' (in float)
-0:48 exp2 (global float)
-0:48 'inF0' (in float)
-0:49 findMSB (global int)
-0:49 Constant:
-0:49 7 (const int)
-0:50 findLSB (global int)
-0:50 Constant:
-0:50 7 (const int)
-0:51 Floor (global float)
-0:51 'inF0' (in float)
-0:53 mod (global float)
-0:53 'inF0' (in float)
-0:53 'inF1' (in float)
-0:54 Fraction (global float)
-0:54 'inF0' (in float)
-0:55 frexp (global float)
-0:55 'inF0' (in float)
-0:55 'inF1' (in float)
-0:56 fwidth (global float)
-0:56 'inF0' (in float)
-0:57 isinf (global bool)
-0:57 'inF0' (in float)
-0:58 isnan (global bool)
-0:58 'inF0' (in float)
-0:59 ldexp (global float)
-0:59 'inF0' (in float)
-0:59 'inF1' (in float)
-0:60 log (global float)
-0:60 'inF0' (in float)
-0:61 component-wise multiply (temp float)
-0:61 log2 (temp float)
-0:61 'inF0' (in float)
-0:61 Constant:
-0:61 0.301030
-0:62 log2 (global float)
-0:62 'inF0' (in float)
-0:63 max (global float)
-0:63 'inF0' (in float)
-0:63 'inF1' (in float)
-0:64 min (global float)
-0:64 'inF0' (in float)
-0:64 'inF1' (in float)
-0:65 pow (global float)
-0:65 'inF0' (in float)
-0:65 'inF1' (in float)
-0:66 radians (global float)
-0:66 'inF0' (in float)
-0:67 divide (temp float)
-0:67 Constant:
-0:67 1.000000
-0:67 'inF0' (in float)
-0:68 bitFieldReverse (global uint)
-0:68 Constant:
-0:68 2 (const uint)
-0:69 roundEven (global float)
-0:69 'inF0' (in float)
-0:70 inverse sqrt (global float)
-0:70 'inF0' (in float)
-0:71 clamp (temp float)
-0:71 'inF0' (in float)
-0:71 Constant:
-0:71 0.000000
-0:71 Constant:
-0:71 1.000000
-0:72 Sign (global float)
-0:72 'inF0' (in float)
-0:73 sine (global float)
-0:73 'inF0' (in float)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'r014' (temp float)
+0:34 cosine (global float)
+0:34 'inF0' (in float)
+0:35 Sequence
+0:35 move second child to first child (temp float)
+0:35 'r015' (temp float)
+0:35 hyp. cosine (global float)
+0:35 'inF0' (in float)
+0:36 Sequence
+0:36 move second child to first child (temp uint)
+0:36 'r016' (temp uint)
+0:36 bitCount (global uint)
+0:36 Constant:
+0:36 7 (const uint)
+0:37 Sequence
+0:37 move second child to first child (temp float)
+0:37 'r017' (temp float)
+0:37 dPdx (global float)
+0:37 'inF0' (in float)
+0:38 Sequence
+0:38 move second child to first child (temp float)
+0:38 'r018' (temp float)
+0:38 dPdxCoarse (global float)
+0:38 'inF0' (in float)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'r019' (temp float)
+0:39 dPdxFine (global float)
+0:39 'inF0' (in float)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'r020' (temp float)
+0:40 dPdy (global float)
+0:40 'inF0' (in float)
+0:41 Sequence
+0:41 move second child to first child (temp float)
+0:41 'r021' (temp float)
+0:41 dPdyCoarse (global float)
+0:41 'inF0' (in float)
+0:42 Sequence
+0:42 move second child to first child (temp float)
+0:42 'r022' (temp float)
+0:42 dPdyFine (global float)
+0:42 'inF0' (in float)
+0:43 Sequence
+0:43 move second child to first child (temp float)
+0:43 'r023' (temp float)
+0:43 degrees (global float)
+0:43 'inF0' (in float)
+0:47 Sequence
+0:47 move second child to first child (temp float)
+0:47 'r027' (temp float)
+0:47 exp (global float)
+0:47 'inF0' (in float)
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'r028' (temp float)
+0:48 exp2 (global float)
+0:48 'inF0' (in float)
+0:49 Sequence
+0:49 move second child to first child (temp uint)
+0:49 'r029' (temp uint)
+0:49 Convert int to uint (temp uint)
+0:49 findMSB (global int)
+0:49 Constant:
+0:49 7 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp uint)
+0:50 'r030' (temp uint)
+0:50 Convert int to uint (temp uint)
+0:50 findLSB (global int)
+0:50 Constant:
+0:50 7 (const int)
+0:51 Sequence
+0:51 move second child to first child (temp float)
+0:51 'r031' (temp float)
+0:51 Floor (global float)
+0:51 'inF0' (in float)
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'r033' (temp float)
+0:53 mod (global float)
+0:53 'inF0' (in float)
+0:53 'inF1' (in float)
+0:54 Sequence
+0:54 move second child to first child (temp float)
+0:54 'r034' (temp float)
+0:54 Fraction (global float)
+0:54 'inF0' (in float)
+0:55 Sequence
+0:55 move second child to first child (temp float)
+0:55 'r035' (temp float)
+0:55 frexp (global float)
+0:55 'inF0' (in float)
+0:55 'inF1' (in float)
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'r036' (temp float)
+0:56 fwidth (global float)
+0:56 'inF0' (in float)
+0:57 Sequence
+0:57 move second child to first child (temp bool)
+0:57 'r037' (temp bool)
+0:57 isinf (global bool)
+0:57 'inF0' (in float)
+0:58 Sequence
+0:58 move second child to first child (temp bool)
+0:58 'r038' (temp bool)
+0:58 isnan (global bool)
+0:58 'inF0' (in float)
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'r039' (temp float)
+0:59 ldexp (global float)
+0:59 'inF0' (in float)
+0:59 'inF1' (in float)
+0:60 Sequence
+0:60 move second child to first child (temp float)
+0:60 'r039a' (temp float)
+0:60 mix (global float)
+0:60 'inF0' (in float)
+0:60 'inF1' (in float)
+0:60 'inF2' (in float)
+0:61 Sequence
+0:61 move second child to first child (temp float)
+0:61 'r040' (temp float)
+0:61 log (global float)
+0:61 'inF0' (in float)
+0:62 Sequence
+0:62 move second child to first child (temp float)
+0:62 'r041' (temp float)
+0:62 component-wise multiply (temp float)
+0:62 log2 (temp float)
+0:62 'inF0' (in float)
+0:62 Constant:
+0:62 0.301030
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'r042' (temp float)
+0:63 log2 (global float)
+0:63 'inF0' (in float)
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'r043' (temp float)
+0:64 max (global float)
+0:64 'inF0' (in float)
+0:64 'inF1' (in float)
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 'r044' (temp float)
+0:65 min (global float)
+0:65 'inF0' (in float)
+0:65 'inF1' (in float)
+0:66 Sequence
+0:66 move second child to first child (temp float)
+0:66 'r045' (temp float)
+0:66 pow (global float)
+0:66 'inF0' (in float)
+0:66 'inF1' (in float)
+0:67 Sequence
+0:67 move second child to first child (temp float)
+0:67 'r046' (temp float)
+0:67 radians (global float)
+0:67 'inF0' (in float)
+0:68 Sequence
+0:68 move second child to first child (temp float)
+0:68 'r047' (temp float)
+0:68 divide (temp float)
+0:68 Constant:
+0:68 1.000000
+0:68 'inF0' (in float)
+0:69 Sequence
+0:69 move second child to first child (temp uint)
+0:69 'r048' (temp uint)
+0:69 bitFieldReverse (global uint)
+0:69 Constant:
+0:69 2 (const uint)
+0:70 Sequence
+0:70 move second child to first child (temp float)
+0:70 'r049' (temp float)
+0:70 roundEven (global float)
+0:70 'inF0' (in float)
+0:71 Sequence
+0:71 move second child to first child (temp float)
+0:71 'r050' (temp float)
+0:71 inverse sqrt (global float)
+0:71 'inF0' (in float)
+0:72 Sequence
+0:72 move second child to first child (temp float)
+0:72 'r051' (temp float)
+0:72 clamp (temp float)
+0:72 'inF0' (in float)
+0:72 Constant:
+0:72 0.000000
+0:72 Constant:
+0:72 1.000000
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'r052' (temp float)
+0:73 Sign (global float)
+0:73 'inF0' (in float)
0:74 Sequence
0:74 move second child to first child (temp float)
-0:74 'inF1' (in float)
-0:74 sine (temp float)
+0:74 'r053' (temp float)
+0:74 sine (global float)
0:74 'inF0' (in float)
-0:74 move second child to first child (temp float)
-0:74 'inF2' (in float)
-0:74 cosine (temp float)
-0:74 'inF0' (in float)
-0:75 hyp. sine (global float)
-0:75 'inF0' (in float)
-0:76 smoothstep (global float)
-0:76 'inF0' (in float)
-0:76 'inF1' (in float)
-0:76 'inF2' (in float)
-0:77 sqrt (global float)
-0:77 'inF0' (in float)
-0:78 step (global float)
-0:78 'inF0' (in float)
-0:78 'inF1' (in float)
-0:79 tangent (global float)
-0:79 'inF0' (in float)
-0:80 hyp. tangent (global float)
-0:80 'inF0' (in float)
-0:82 trunc (global float)
-0:82 'inF0' (in float)
-0:84 Branch: Return with expression
-0:84 Constant:
-0:84 0.000000
-0:93 Function Definition: PixelShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
-0:88 Function Parameters:
-0:88 'inF0' (in 1-component vector of float)
-0:88 'inF1' (in 1-component vector of float)
-0:88 'inF2' (in 1-component vector of float)
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'inF1' (in float)
+0:75 sine (temp float)
+0:75 'inF0' (in float)
+0:75 move second child to first child (temp float)
+0:75 'inF2' (in float)
+0:75 cosine (temp float)
+0:75 'inF0' (in float)
+0:76 Sequence
+0:76 move second child to first child (temp float)
+0:76 'r055' (temp float)
+0:76 hyp. sine (global float)
+0:76 'inF0' (in float)
+0:77 Sequence
+0:77 move second child to first child (temp float)
+0:77 'r056' (temp float)
+0:77 smoothstep (global float)
+0:77 'inF0' (in float)
+0:77 'inF1' (in float)
+0:77 'inF2' (in float)
+0:78 Sequence
+0:78 move second child to first child (temp float)
+0:78 'r057' (temp float)
+0:78 sqrt (global float)
+0:78 'inF0' (in float)
+0:79 Sequence
+0:79 move second child to first child (temp float)
+0:79 'r058' (temp float)
+0:79 step (global float)
+0:79 'inF0' (in float)
+0:79 'inF1' (in float)
+0:80 Sequence
+0:80 move second child to first child (temp float)
+0:80 'r059' (temp float)
+0:80 tangent (global float)
+0:80 'inF0' (in float)
+0:81 Sequence
+0:81 move second child to first child (temp float)
+0:81 'r060' (temp float)
+0:81 hyp. tangent (global float)
+0:81 'inF0' (in float)
+0:83 Sequence
+0:83 move second child to first child (temp float)
+0:83 'r061' (temp float)
+0:83 trunc (global float)
+0:83 'inF0' (in float)
+0:85 Branch: Return with expression
+0:85 Constant:
+0:85 0.000000
+0:94 Function Definition: PixelShaderFunction1(vf1;vf1;vf1; (global 1-component vector of float)
+0:89 Function Parameters:
+0:89 'inF0' (in 1-component vector of float)
+0:89 'inF1' (in 1-component vector of float)
+0:89 'inF2' (in 1-component vector of float)
0:? Sequence
-0:90 Branch: Return with expression
-0:90 Constant:
-0:90 0.000000
-0:172 Function Definition: PixelShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
-0:94 Function Parameters:
-0:94 'inF0' (in 2-component vector of float)
-0:94 'inF1' (in 2-component vector of float)
-0:94 'inF2' (in 2-component vector of float)
-0:94 'inU0' (in 2-component vector of uint)
-0:94 'inU1' (in 2-component vector of uint)
+0:91 Branch: Return with expression
+0:91 Constant:
+0:91 0.000000
+0:177 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; (global 2-component vector of float)
+0:95 Function Parameters:
+0:95 'inF0' (in 2-component vector of float)
+0:95 'inF1' (in 2-component vector of float)
+0:95 'inF2' (in 2-component vector of float)
+0:95 'inU0' (in 2-component vector of uint)
+0:95 'inU1' (in 2-component vector of uint)
0:? Sequence
-0:97 all (global bool)
-0:97 'inF0' (in 2-component vector of float)
-0:98 Absolute value (global 2-component vector of float)
-0:98 'inF0' (in 2-component vector of float)
-0:99 arc cosine (global 2-component vector of float)
-0:99 'inF0' (in 2-component vector of float)
-0:100 any (global bool)
-0:100 'inF0' (in 2-component vector of float)
-0:101 arc sine (global 2-component vector of float)
-0:101 'inF0' (in 2-component vector of float)
-0:102 floatBitsToInt (global 2-component vector of int)
-0:102 'inF0' (in 2-component vector of float)
-0:103 floatBitsToUint (global 2-component vector of uint)
-0:103 'inF0' (in 2-component vector of float)
-0:104 intBitsToFloat (global 2-component vector of float)
-0:104 'inU0' (in 2-component vector of uint)
-0:106 arc tangent (global 2-component vector of float)
-0:106 'inF0' (in 2-component vector of float)
-0:107 arc tangent (global 2-component vector of float)
-0:107 'inF0' (in 2-component vector of float)
-0:107 'inF1' (in 2-component vector of float)
-0:108 Ceiling (global 2-component vector of float)
-0:108 'inF0' (in 2-component vector of float)
-0:109 clamp (global 2-component vector of float)
-0:109 'inF0' (in 2-component vector of float)
-0:109 'inF1' (in 2-component vector of float)
-0:109 'inF2' (in 2-component vector of float)
-0:110 Test condition and select (temp void)
-0:110 Condition
-0:110 any (temp bool)
-0:110 Compare Less Than (temp 2-component vector of bool)
+0:98 Sequence
+0:98 move second child to first child (temp bool)
+0:98 'r000' (temp bool)
+0:98 all (global bool)
+0:98 'inF0' (in 2-component vector of float)
+0:99 Sequence
+0:99 move second child to first child (temp 2-component vector of float)
+0:99 'r001' (temp 2-component vector of float)
+0:99 Absolute value (global 2-component vector of float)
+0:99 'inF0' (in 2-component vector of float)
+0:100 Sequence
+0:100 move second child to first child (temp 2-component vector of float)
+0:100 'r002' (temp 2-component vector of float)
+0:100 arc cosine (global 2-component vector of float)
+0:100 'inF0' (in 2-component vector of float)
+0:101 Sequence
+0:101 move second child to first child (temp bool)
+0:101 'r003' (temp bool)
+0:101 any (global bool)
+0:101 'inF0' (in 2-component vector of float)
+0:102 Sequence
+0:102 move second child to first child (temp 2-component vector of float)
+0:102 'r004' (temp 2-component vector of float)
+0:102 arc sine (global 2-component vector of float)
+0:102 'inF0' (in 2-component vector of float)
+0:103 Sequence
+0:103 move second child to first child (temp 2-component vector of int)
+0:103 'r005' (temp 2-component vector of int)
+0:103 floatBitsToInt (global 2-component vector of int)
+0:103 'inF0' (in 2-component vector of float)
+0:104 Sequence
+0:104 move second child to first child (temp 2-component vector of uint)
+0:104 'r006' (temp 2-component vector of uint)
+0:104 floatBitsToUint (global 2-component vector of uint)
+0:104 'inF0' (in 2-component vector of float)
+0:105 Sequence
+0:105 move second child to first child (temp 2-component vector of float)
+0:105 'r007' (temp 2-component vector of float)
+0:105 intBitsToFloat (global 2-component vector of float)
+0:105 'inU0' (in 2-component vector of uint)
+0:107 Sequence
+0:107 move second child to first child (temp 2-component vector of float)
+0:107 'r009' (temp 2-component vector of float)
+0:107 arc tangent (global 2-component vector of float)
+0:107 'inF0' (in 2-component vector of float)
+0:108 Sequence
+0:108 move second child to first child (temp 2-component vector of float)
+0:108 'r010' (temp 2-component vector of float)
+0:108 arc tangent (global 2-component vector of float)
+0:108 'inF0' (in 2-component vector of float)
+0:108 'inF1' (in 2-component vector of float)
+0:109 Sequence
+0:109 move second child to first child (temp 2-component vector of float)
+0:109 'r011' (temp 2-component vector of float)
+0:109 Ceiling (global 2-component vector of float)
+0:109 'inF0' (in 2-component vector of float)
+0:110 Sequence
+0:110 move second child to first child (temp 2-component vector of float)
+0:110 'r012' (temp 2-component vector of float)
+0:110 clamp (global 2-component vector of float)
0:110 'inF0' (in 2-component vector of float)
-0:110 Constant:
-0:110 0.000000
-0:110 0.000000
-0:110 true case
-0:110 Branch: Kill
-0:111 cosine (global 2-component vector of float)
-0:111 'inF0' (in 2-component vector of float)
-0:112 hyp. cosine (global 2-component vector of float)
-0:112 'inF0' (in 2-component vector of float)
-0:? bitCount (global 2-component vector of uint)
-0:? Constant:
-0:? 7 (const uint)
-0:? 3 (const uint)
-0:114 dPdx (global 2-component vector of float)
-0:114 'inF0' (in 2-component vector of float)
-0:115 dPdxCoarse (global 2-component vector of float)
-0:115 'inF0' (in 2-component vector of float)
-0:116 dPdxFine (global 2-component vector of float)
-0:116 'inF0' (in 2-component vector of float)
-0:117 dPdy (global 2-component vector of float)
-0:117 'inF0' (in 2-component vector of float)
-0:118 dPdyCoarse (global 2-component vector of float)
-0:118 'inF0' (in 2-component vector of float)
-0:119 dPdyFine (global 2-component vector of float)
-0:119 'inF0' (in 2-component vector of float)
-0:120 degrees (global 2-component vector of float)
-0:120 'inF0' (in 2-component vector of float)
-0:121 distance (global float)
-0:121 'inF0' (in 2-component vector of float)
-0:121 'inF1' (in 2-component vector of float)
-0:122 dot-product (global float)
-0:122 'inF0' (in 2-component vector of float)
-0:122 'inF1' (in 2-component vector of float)
-0:126 exp (global 2-component vector of float)
-0:126 'inF0' (in 2-component vector of float)
-0:127 exp2 (global 2-component vector of float)
-0:127 'inF0' (in 2-component vector of float)
-0:128 face-forward (global 2-component vector of float)
-0:128 'inF0' (in 2-component vector of float)
-0:128 'inF1' (in 2-component vector of float)
-0:128 'inF2' (in 2-component vector of float)
-0:129 findMSB (global int)
-0:129 Constant:
-0:129 7 (const int)
-0:130 findLSB (global int)
-0:130 Constant:
-0:130 7 (const int)
-0:131 Floor (global 2-component vector of float)
-0:131 'inF0' (in 2-component vector of float)
-0:133 mod (global 2-component vector of float)
-0:133 'inF0' (in 2-component vector of float)
-0:133 'inF1' (in 2-component vector of float)
-0:134 Fraction (global 2-component vector of float)
-0:134 'inF0' (in 2-component vector of float)
-0:135 frexp (global 2-component vector of float)
-0:135 'inF0' (in 2-component vector of float)
-0:135 'inF1' (in 2-component vector of float)
-0:136 fwidth (global 2-component vector of float)
-0:136 'inF0' (in 2-component vector of float)
-0:137 isinf (global 2-component vector of bool)
-0:137 'inF0' (in 2-component vector of float)
-0:138 isnan (global 2-component vector of bool)
-0:138 'inF0' (in 2-component vector of float)
-0:139 ldexp (global 2-component vector of float)
-0:139 'inF0' (in 2-component vector of float)
-0:139 'inF1' (in 2-component vector of float)
-0:140 length (global float)
-0:140 'inF0' (in 2-component vector of float)
-0:141 log (global 2-component vector of float)
-0:141 'inF0' (in 2-component vector of float)
-0:142 vector-scale (temp 2-component vector of float)
-0:142 log2 (temp 2-component vector of float)
-0:142 'inF0' (in 2-component vector of float)
-0:142 Constant:
-0:142 0.301030
-0:143 log2 (global 2-component vector of float)
-0:143 'inF0' (in 2-component vector of float)
-0:144 max (global 2-component vector of float)
-0:144 'inF0' (in 2-component vector of float)
-0:144 'inF1' (in 2-component vector of float)
-0:145 min (global 2-component vector of float)
-0:145 'inF0' (in 2-component vector of float)
-0:145 'inF1' (in 2-component vector of float)
-0:146 normalize (global 2-component vector of float)
-0:146 'inF0' (in 2-component vector of float)
-0:147 pow (global 2-component vector of float)
-0:147 'inF0' (in 2-component vector of float)
-0:147 'inF1' (in 2-component vector of float)
-0:148 radians (global 2-component vector of float)
-0:148 'inF0' (in 2-component vector of float)
-0:149 divide (temp 2-component vector of float)
-0:149 Constant:
-0:149 1.000000
-0:149 'inF0' (in 2-component vector of float)
-0:150 reflect (global 2-component vector of float)
-0:150 'inF0' (in 2-component vector of float)
-0:150 'inF1' (in 2-component vector of float)
-0:151 refract (global 2-component vector of float)
-0:151 'inF0' (in 2-component vector of float)
-0:151 'inF1' (in 2-component vector of float)
-0:151 Constant:
-0:151 2.000000
-0:? bitFieldReverse (global 2-component vector of uint)
-0:? Constant:
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:153 roundEven (global 2-component vector of float)
-0:153 'inF0' (in 2-component vector of float)
-0:154 inverse sqrt (global 2-component vector of float)
-0:154 'inF0' (in 2-component vector of float)
-0:155 clamp (temp 2-component vector of float)
-0:155 'inF0' (in 2-component vector of float)
-0:155 Constant:
-0:155 0.000000
-0:155 Constant:
-0:155 1.000000
-0:156 Sign (global 2-component vector of float)
-0:156 'inF0' (in 2-component vector of float)
-0:157 sine (global 2-component vector of float)
-0:157 'inF0' (in 2-component vector of float)
+0:110 'inF1' (in 2-component vector of float)
+0:110 'inF2' (in 2-component vector of float)
+0:111 Test condition and select (temp void)
+0:111 Condition
+0:111 any (temp bool)
+0:111 Compare Less Than (temp 2-component vector of bool)
+0:111 'inF0' (in 2-component vector of float)
+0:111 Constant:
+0:111 0.000000
+0:111 0.000000
+0:111 true case
+0:111 Branch: Kill
+0:112 Sequence
+0:112 move second child to first child (temp 2-component vector of float)
+0:112 'r013' (temp 2-component vector of float)
+0:112 cosine (global 2-component vector of float)
+0:112 'inF0' (in 2-component vector of float)
+0:113 Sequence
+0:113 move second child to first child (temp 2-component vector of float)
+0:113 'r015' (temp 2-component vector of float)
+0:113 hyp. cosine (global 2-component vector of float)
+0:113 'inF0' (in 2-component vector of float)
+0:114 Sequence
+0:114 move second child to first child (temp 2-component vector of uint)
+0:114 'r016' (temp 2-component vector of uint)
+0:? bitCount (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:115 Sequence
+0:115 move second child to first child (temp 2-component vector of float)
+0:115 'r017' (temp 2-component vector of float)
+0:115 dPdx (global 2-component vector of float)
+0:115 'inF0' (in 2-component vector of float)
+0:116 Sequence
+0:116 move second child to first child (temp 2-component vector of float)
+0:116 'r018' (temp 2-component vector of float)
+0:116 dPdxCoarse (global 2-component vector of float)
+0:116 'inF0' (in 2-component vector of float)
+0:117 Sequence
+0:117 move second child to first child (temp 2-component vector of float)
+0:117 'r019' (temp 2-component vector of float)
+0:117 dPdxFine (global 2-component vector of float)
+0:117 'inF0' (in 2-component vector of float)
+0:118 Sequence
+0:118 move second child to first child (temp 2-component vector of float)
+0:118 'r020' (temp 2-component vector of float)
+0:118 dPdy (global 2-component vector of float)
+0:118 'inF0' (in 2-component vector of float)
+0:119 Sequence
+0:119 move second child to first child (temp 2-component vector of float)
+0:119 'r021' (temp 2-component vector of float)
+0:119 dPdyCoarse (global 2-component vector of float)
+0:119 'inF0' (in 2-component vector of float)
+0:120 Sequence
+0:120 move second child to first child (temp 2-component vector of float)
+0:120 'r022' (temp 2-component vector of float)
+0:120 dPdyFine (global 2-component vector of float)
+0:120 'inF0' (in 2-component vector of float)
+0:121 Sequence
+0:121 move second child to first child (temp 2-component vector of float)
+0:121 'r023' (temp 2-component vector of float)
+0:121 degrees (global 2-component vector of float)
+0:121 'inF0' (in 2-component vector of float)
+0:125 Sequence
+0:125 move second child to first child (temp float)
+0:125 'r026' (temp float)
+0:125 distance (global float)
+0:125 'inF0' (in 2-component vector of float)
+0:125 'inF1' (in 2-component vector of float)
+0:126 Sequence
+0:126 move second child to first child (temp float)
+0:126 'r027' (temp float)
+0:126 dot-product (global float)
+0:126 'inF0' (in 2-component vector of float)
+0:126 'inF1' (in 2-component vector of float)
+0:130 Sequence
+0:130 move second child to first child (temp 2-component vector of float)
+0:130 'r028' (temp 2-component vector of float)
+0:130 exp (global 2-component vector of float)
+0:130 'inF0' (in 2-component vector of float)
+0:131 Sequence
+0:131 move second child to first child (temp 2-component vector of float)
+0:131 'r029' (temp 2-component vector of float)
+0:131 exp2 (global 2-component vector of float)
+0:131 'inF0' (in 2-component vector of float)
+0:132 Sequence
+0:132 move second child to first child (temp 2-component vector of float)
+0:132 'r030' (temp 2-component vector of float)
+0:132 face-forward (global 2-component vector of float)
+0:132 'inF0' (in 2-component vector of float)
+0:132 'inF1' (in 2-component vector of float)
+0:132 'inF2' (in 2-component vector of float)
+0:133 Sequence
+0:133 move second child to first child (temp 2-component vector of uint)
+0:133 'r031' (temp 2-component vector of uint)
+0:? findMSB (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:134 Sequence
+0:134 move second child to first child (temp 2-component vector of uint)
+0:134 'r032' (temp 2-component vector of uint)
+0:? findLSB (global 2-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:135 Sequence
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'r033' (temp 2-component vector of float)
+0:135 Floor (global 2-component vector of float)
+0:135 'inF0' (in 2-component vector of float)
+0:137 Sequence
+0:137 move second child to first child (temp 2-component vector of float)
+0:137 'r035' (temp 2-component vector of float)
+0:137 mod (global 2-component vector of float)
+0:137 'inF0' (in 2-component vector of float)
+0:137 'inF1' (in 2-component vector of float)
+0:138 Sequence
+0:138 move second child to first child (temp 2-component vector of float)
+0:138 'r036' (temp 2-component vector of float)
+0:138 Fraction (global 2-component vector of float)
+0:138 'inF0' (in 2-component vector of float)
+0:139 Sequence
+0:139 move second child to first child (temp 2-component vector of float)
+0:139 'r037' (temp 2-component vector of float)
+0:139 frexp (global 2-component vector of float)
+0:139 'inF0' (in 2-component vector of float)
+0:139 'inF1' (in 2-component vector of float)
+0:140 Sequence
+0:140 move second child to first child (temp 2-component vector of float)
+0:140 'r038' (temp 2-component vector of float)
+0:140 fwidth (global 2-component vector of float)
+0:140 'inF0' (in 2-component vector of float)
+0:141 Sequence
+0:141 move second child to first child (temp 2-component vector of bool)
+0:141 'r039' (temp 2-component vector of bool)
+0:141 isinf (global 2-component vector of bool)
+0:141 'inF0' (in 2-component vector of float)
+0:142 Sequence
+0:142 move second child to first child (temp 2-component vector of bool)
+0:142 'r040' (temp 2-component vector of bool)
+0:142 isnan (global 2-component vector of bool)
+0:142 'inF0' (in 2-component vector of float)
+0:143 Sequence
+0:143 move second child to first child (temp 2-component vector of float)
+0:143 'r041' (temp 2-component vector of float)
+0:143 ldexp (global 2-component vector of float)
+0:143 'inF0' (in 2-component vector of float)
+0:143 'inF1' (in 2-component vector of float)
+0:144 Sequence
+0:144 move second child to first child (temp 2-component vector of float)
+0:144 'r039a' (temp 2-component vector of float)
+0:144 mix (global 2-component vector of float)
+0:144 'inF0' (in 2-component vector of float)
+0:144 'inF1' (in 2-component vector of float)
+0:144 'inF2' (in 2-component vector of float)
+0:145 Sequence
+0:145 move second child to first child (temp float)
+0:145 'r042' (temp float)
+0:145 length (global float)
+0:145 'inF0' (in 2-component vector of float)
+0:146 Sequence
+0:146 move second child to first child (temp 2-component vector of float)
+0:146 'r043' (temp 2-component vector of float)
+0:146 log (global 2-component vector of float)
+0:146 'inF0' (in 2-component vector of float)
+0:147 Sequence
+0:147 move second child to first child (temp 2-component vector of float)
+0:147 'r044' (temp 2-component vector of float)
+0:147 vector-scale (temp 2-component vector of float)
+0:147 log2 (temp 2-component vector of float)
+0:147 'inF0' (in 2-component vector of float)
+0:147 Constant:
+0:147 0.301030
+0:148 Sequence
+0:148 move second child to first child (temp 2-component vector of float)
+0:148 'r045' (temp 2-component vector of float)
+0:148 log2 (global 2-component vector of float)
+0:148 'inF0' (in 2-component vector of float)
+0:149 Sequence
+0:149 move second child to first child (temp 2-component vector of float)
+0:149 'r046' (temp 2-component vector of float)
+0:149 max (global 2-component vector of float)
+0:149 'inF0' (in 2-component vector of float)
+0:149 'inF1' (in 2-component vector of float)
+0:150 Sequence
+0:150 move second child to first child (temp 2-component vector of float)
+0:150 'r047' (temp 2-component vector of float)
+0:150 min (global 2-component vector of float)
+0:150 'inF0' (in 2-component vector of float)
+0:150 'inF1' (in 2-component vector of float)
+0:151 Sequence
+0:151 move second child to first child (temp 2-component vector of float)
+0:151 'r048' (temp 2-component vector of float)
+0:151 normalize (global 2-component vector of float)
+0:151 'inF0' (in 2-component vector of float)
+0:152 Sequence
+0:152 move second child to first child (temp 2-component vector of float)
+0:152 'r049' (temp 2-component vector of float)
+0:152 pow (global 2-component vector of float)
+0:152 'inF0' (in 2-component vector of float)
+0:152 'inF1' (in 2-component vector of float)
+0:153 Sequence
+0:153 move second child to first child (temp 2-component vector of float)
+0:153 'r050' (temp 2-component vector of float)
+0:153 radians (global 2-component vector of float)
+0:153 'inF0' (in 2-component vector of float)
+0:154 Sequence
+0:154 move second child to first child (temp 2-component vector of float)
+0:154 'r051' (temp 2-component vector of float)
+0:154 divide (temp 2-component vector of float)
+0:154 Constant:
+0:154 1.000000
+0:154 'inF0' (in 2-component vector of float)
+0:155 Sequence
+0:155 move second child to first child (temp 2-component vector of float)
+0:155 'r052' (temp 2-component vector of float)
+0:155 reflect (global 2-component vector of float)
+0:155 'inF0' (in 2-component vector of float)
+0:155 'inF1' (in 2-component vector of float)
+0:156 Sequence
+0:156 move second child to first child (temp 2-component vector of float)
+0:156 'r053' (temp 2-component vector of float)
+0:156 refract (global 2-component vector of float)
+0:156 'inF0' (in 2-component vector of float)
+0:156 'inF1' (in 2-component vector of float)
+0:156 Constant:
+0:156 2.000000
+0:157 Sequence
+0:157 move second child to first child (temp 2-component vector of uint)
+0:157 'r054' (temp 2-component vector of uint)
+0:? bitFieldReverse (global 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
0:158 Sequence
0:158 move second child to first child (temp 2-component vector of float)
-0:158 'inF1' (in 2-component vector of float)
-0:158 sine (temp 2-component vector of float)
-0:158 'inF0' (in 2-component vector of float)
-0:158 move second child to first child (temp 2-component vector of float)
-0:158 'inF2' (in 2-component vector of float)
-0:158 cosine (temp 2-component vector of float)
+0:158 'r055' (temp 2-component vector of float)
+0:158 roundEven (global 2-component vector of float)
0:158 'inF0' (in 2-component vector of float)
-0:159 hyp. sine (global 2-component vector of float)
-0:159 'inF0' (in 2-component vector of float)
-0:160 smoothstep (global 2-component vector of float)
-0:160 'inF0' (in 2-component vector of float)
-0:160 'inF1' (in 2-component vector of float)
-0:160 'inF2' (in 2-component vector of float)
-0:161 sqrt (global 2-component vector of float)
-0:161 'inF0' (in 2-component vector of float)
-0:162 step (global 2-component vector of float)
-0:162 'inF0' (in 2-component vector of float)
-0:162 'inF1' (in 2-component vector of float)
-0:163 tangent (global 2-component vector of float)
-0:163 'inF0' (in 2-component vector of float)
-0:164 hyp. tangent (global 2-component vector of float)
-0:164 'inF0' (in 2-component vector of float)
-0:166 trunc (global 2-component vector of float)
-0:166 'inF0' (in 2-component vector of float)
-0:169 Branch: Return with expression
+0:159 Sequence
+0:159 move second child to first child (temp 2-component vector of float)
+0:159 'r056' (temp 2-component vector of float)
+0:159 inverse sqrt (global 2-component vector of float)
+0:159 'inF0' (in 2-component vector of float)
+0:160 Sequence
+0:160 move second child to first child (temp 2-component vector of float)
+0:160 'r057' (temp 2-component vector of float)
+0:160 clamp (temp 2-component vector of float)
+0:160 'inF0' (in 2-component vector of float)
+0:160 Constant:
+0:160 0.000000
+0:160 Constant:
+0:160 1.000000
+0:161 Sequence
+0:161 move second child to first child (temp 2-component vector of float)
+0:161 'r058' (temp 2-component vector of float)
+0:161 Sign (global 2-component vector of float)
+0:161 'inF0' (in 2-component vector of float)
+0:162 Sequence
+0:162 move second child to first child (temp 2-component vector of float)
+0:162 'r059' (temp 2-component vector of float)
+0:162 sine (global 2-component vector of float)
+0:162 'inF0' (in 2-component vector of float)
+0:163 Sequence
+0:163 move second child to first child (temp 2-component vector of float)
+0:163 'inF1' (in 2-component vector of float)
+0:163 sine (temp 2-component vector of float)
+0:163 'inF0' (in 2-component vector of float)
+0:163 move second child to first child (temp 2-component vector of float)
+0:163 'inF2' (in 2-component vector of float)
+0:163 cosine (temp 2-component vector of float)
+0:163 'inF0' (in 2-component vector of float)
+0:164 Sequence
+0:164 move second child to first child (temp 2-component vector of float)
+0:164 'r060' (temp 2-component vector of float)
+0:164 hyp. sine (global 2-component vector of float)
+0:164 'inF0' (in 2-component vector of float)
+0:165 Sequence
+0:165 move second child to first child (temp 2-component vector of float)
+0:165 'r061' (temp 2-component vector of float)
+0:165 smoothstep (global 2-component vector of float)
+0:165 'inF0' (in 2-component vector of float)
+0:165 'inF1' (in 2-component vector of float)
+0:165 'inF2' (in 2-component vector of float)
+0:166 Sequence
+0:166 move second child to first child (temp 2-component vector of float)
+0:166 'r062' (temp 2-component vector of float)
+0:166 sqrt (global 2-component vector of float)
+0:166 'inF0' (in 2-component vector of float)
+0:167 Sequence
+0:167 move second child to first child (temp 2-component vector of float)
+0:167 'r063' (temp 2-component vector of float)
+0:167 step (global 2-component vector of float)
+0:167 'inF0' (in 2-component vector of float)
+0:167 'inF1' (in 2-component vector of float)
+0:168 Sequence
+0:168 move second child to first child (temp 2-component vector of float)
+0:168 'r064' (temp 2-component vector of float)
+0:168 tangent (global 2-component vector of float)
+0:168 'inF0' (in 2-component vector of float)
+0:169 Sequence
+0:169 move second child to first child (temp 2-component vector of float)
+0:169 'r065' (temp 2-component vector of float)
+0:169 hyp. tangent (global 2-component vector of float)
+0:169 'inF0' (in 2-component vector of float)
+0:171 Sequence
+0:171 move second child to first child (temp 2-component vector of float)
+0:171 'r066' (temp 2-component vector of float)
+0:171 trunc (global 2-component vector of float)
+0:171 'inF0' (in 2-component vector of float)
+0:174 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:252 Function Definition: PixelShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
-0:173 Function Parameters:
-0:173 'inF0' (in 3-component vector of float)
-0:173 'inF1' (in 3-component vector of float)
-0:173 'inF2' (in 3-component vector of float)
-0:173 'inU0' (in 3-component vector of uint)
-0:173 'inU1' (in 3-component vector of uint)
+0:258 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
+0:178 Function Parameters:
+0:178 'inF0' (in 3-component vector of float)
+0:178 'inF1' (in 3-component vector of float)
+0:178 'inF2' (in 3-component vector of float)
+0:178 'inU0' (in 3-component vector of uint)
+0:178 'inU1' (in 3-component vector of uint)
0:? Sequence
-0:176 all (global bool)
-0:176 'inF0' (in 3-component vector of float)
-0:177 Absolute value (global 3-component vector of float)
-0:177 'inF0' (in 3-component vector of float)
-0:178 arc cosine (global 3-component vector of float)
-0:178 'inF0' (in 3-component vector of float)
-0:179 any (global bool)
-0:179 'inF0' (in 3-component vector of float)
-0:180 arc sine (global 3-component vector of float)
-0:180 'inF0' (in 3-component vector of float)
-0:181 floatBitsToInt (global 3-component vector of int)
-0:181 'inF0' (in 3-component vector of float)
-0:182 floatBitsToUint (global 3-component vector of uint)
-0:182 'inF0' (in 3-component vector of float)
-0:183 intBitsToFloat (global 3-component vector of float)
-0:183 'inU0' (in 3-component vector of uint)
-0:185 arc tangent (global 3-component vector of float)
-0:185 'inF0' (in 3-component vector of float)
-0:186 arc tangent (global 3-component vector of float)
-0:186 'inF0' (in 3-component vector of float)
-0:186 'inF1' (in 3-component vector of float)
-0:187 Ceiling (global 3-component vector of float)
-0:187 'inF0' (in 3-component vector of float)
-0:188 clamp (global 3-component vector of float)
-0:188 'inF0' (in 3-component vector of float)
-0:188 'inF1' (in 3-component vector of float)
-0:188 'inF2' (in 3-component vector of float)
-0:189 Test condition and select (temp void)
-0:189 Condition
-0:189 any (temp bool)
-0:189 Compare Less Than (temp 3-component vector of bool)
-0:189 'inF0' (in 3-component vector of float)
-0:189 Constant:
-0:189 0.000000
-0:189 0.000000
-0:189 0.000000
-0:189 true case
-0:189 Branch: Kill
-0:190 cosine (global 3-component vector of float)
-0:190 'inF0' (in 3-component vector of float)
-0:191 hyp. cosine (global 3-component vector of float)
-0:191 'inF0' (in 3-component vector of float)
-0:? bitCount (global 3-component vector of uint)
-0:? Constant:
-0:? 7 (const uint)
-0:? 3 (const uint)
-0:? 5 (const uint)
-0:193 cross-product (global 3-component vector of float)
-0:193 'inF0' (in 3-component vector of float)
-0:193 'inF1' (in 3-component vector of float)
-0:194 dPdx (global 3-component vector of float)
-0:194 'inF0' (in 3-component vector of float)
-0:195 dPdxCoarse (global 3-component vector of float)
-0:195 'inF0' (in 3-component vector of float)
-0:196 dPdxFine (global 3-component vector of float)
-0:196 'inF0' (in 3-component vector of float)
-0:197 dPdy (global 3-component vector of float)
-0:197 'inF0' (in 3-component vector of float)
-0:198 dPdyCoarse (global 3-component vector of float)
-0:198 'inF0' (in 3-component vector of float)
-0:199 dPdyFine (global 3-component vector of float)
-0:199 'inF0' (in 3-component vector of float)
-0:200 degrees (global 3-component vector of float)
-0:200 'inF0' (in 3-component vector of float)
-0:201 distance (global float)
-0:201 'inF0' (in 3-component vector of float)
-0:201 'inF1' (in 3-component vector of float)
-0:202 dot-product (global float)
-0:202 'inF0' (in 3-component vector of float)
-0:202 'inF1' (in 3-component vector of float)
-0:206 exp (global 3-component vector of float)
-0:206 'inF0' (in 3-component vector of float)
-0:207 exp2 (global 3-component vector of float)
-0:207 'inF0' (in 3-component vector of float)
-0:208 face-forward (global 3-component vector of float)
-0:208 'inF0' (in 3-component vector of float)
-0:208 'inF1' (in 3-component vector of float)
-0:208 'inF2' (in 3-component vector of float)
-0:209 findMSB (global int)
-0:209 Constant:
-0:209 7 (const int)
-0:210 findLSB (global int)
-0:210 Constant:
-0:210 7 (const int)
-0:211 Floor (global 3-component vector of float)
-0:211 'inF0' (in 3-component vector of float)
-0:213 mod (global 3-component vector of float)
-0:213 'inF0' (in 3-component vector of float)
-0:213 'inF1' (in 3-component vector of float)
-0:214 Fraction (global 3-component vector of float)
-0:214 'inF0' (in 3-component vector of float)
-0:215 frexp (global 3-component vector of float)
-0:215 'inF0' (in 3-component vector of float)
-0:215 'inF1' (in 3-component vector of float)
-0:216 fwidth (global 3-component vector of float)
-0:216 'inF0' (in 3-component vector of float)
-0:217 isinf (global 3-component vector of bool)
-0:217 'inF0' (in 3-component vector of float)
-0:218 isnan (global 3-component vector of bool)
-0:218 'inF0' (in 3-component vector of float)
-0:219 ldexp (global 3-component vector of float)
-0:219 'inF0' (in 3-component vector of float)
-0:219 'inF1' (in 3-component vector of float)
-0:220 length (global float)
-0:220 'inF0' (in 3-component vector of float)
-0:221 log (global 3-component vector of float)
-0:221 'inF0' (in 3-component vector of float)
-0:222 vector-scale (temp 3-component vector of float)
-0:222 log2 (temp 3-component vector of float)
-0:222 'inF0' (in 3-component vector of float)
-0:222 Constant:
-0:222 0.301030
-0:223 log2 (global 3-component vector of float)
-0:223 'inF0' (in 3-component vector of float)
-0:224 max (global 3-component vector of float)
-0:224 'inF0' (in 3-component vector of float)
-0:224 'inF1' (in 3-component vector of float)
-0:225 min (global 3-component vector of float)
-0:225 'inF0' (in 3-component vector of float)
-0:225 'inF1' (in 3-component vector of float)
-0:226 normalize (global 3-component vector of float)
-0:226 'inF0' (in 3-component vector of float)
-0:227 pow (global 3-component vector of float)
-0:227 'inF0' (in 3-component vector of float)
-0:227 'inF1' (in 3-component vector of float)
-0:228 radians (global 3-component vector of float)
-0:228 'inF0' (in 3-component vector of float)
-0:229 divide (temp 3-component vector of float)
-0:229 Constant:
-0:229 1.000000
-0:229 'inF0' (in 3-component vector of float)
-0:230 reflect (global 3-component vector of float)
-0:230 'inF0' (in 3-component vector of float)
-0:230 'inF1' (in 3-component vector of float)
-0:231 refract (global 3-component vector of float)
-0:231 'inF0' (in 3-component vector of float)
-0:231 'inF1' (in 3-component vector of float)
-0:231 Constant:
-0:231 2.000000
-0:? bitFieldReverse (global 3-component vector of uint)
-0:? Constant:
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3 (const uint)
-0:233 roundEven (global 3-component vector of float)
-0:233 'inF0' (in 3-component vector of float)
-0:234 inverse sqrt (global 3-component vector of float)
-0:234 'inF0' (in 3-component vector of float)
-0:235 clamp (temp 3-component vector of float)
-0:235 'inF0' (in 3-component vector of float)
-0:235 Constant:
-0:235 0.000000
-0:235 Constant:
-0:235 1.000000
-0:236 Sign (global 3-component vector of float)
-0:236 'inF0' (in 3-component vector of float)
-0:237 sine (global 3-component vector of float)
-0:237 'inF0' (in 3-component vector of float)
+0:181 Sequence
+0:181 move second child to first child (temp bool)
+0:181 'r000' (temp bool)
+0:181 all (global bool)
+0:181 'inF0' (in 3-component vector of float)
+0:182 Sequence
+0:182 move second child to first child (temp 3-component vector of float)
+0:182 'r001' (temp 3-component vector of float)
+0:182 Absolute value (global 3-component vector of float)
+0:182 'inF0' (in 3-component vector of float)
+0:183 Sequence
+0:183 move second child to first child (temp 3-component vector of float)
+0:183 'r002' (temp 3-component vector of float)
+0:183 arc cosine (global 3-component vector of float)
+0:183 'inF0' (in 3-component vector of float)
+0:184 Sequence
+0:184 move second child to first child (temp bool)
+0:184 'r003' (temp bool)
+0:184 any (global bool)
+0:184 'inF0' (in 3-component vector of float)
+0:185 Sequence
+0:185 move second child to first child (temp 3-component vector of float)
+0:185 'r004' (temp 3-component vector of float)
+0:185 arc sine (global 3-component vector of float)
+0:185 'inF0' (in 3-component vector of float)
+0:186 Sequence
+0:186 move second child to first child (temp 3-component vector of int)
+0:186 'r005' (temp 3-component vector of int)
+0:186 floatBitsToInt (global 3-component vector of int)
+0:186 'inF0' (in 3-component vector of float)
+0:187 Sequence
+0:187 move second child to first child (temp 3-component vector of uint)
+0:187 'r006' (temp 3-component vector of uint)
+0:187 floatBitsToUint (global 3-component vector of uint)
+0:187 'inF0' (in 3-component vector of float)
+0:188 Sequence
+0:188 move second child to first child (temp 3-component vector of float)
+0:188 'r007' (temp 3-component vector of float)
+0:188 intBitsToFloat (global 3-component vector of float)
+0:188 'inU0' (in 3-component vector of uint)
+0:190 Sequence
+0:190 move second child to first child (temp 3-component vector of float)
+0:190 'r009' (temp 3-component vector of float)
+0:190 arc tangent (global 3-component vector of float)
+0:190 'inF0' (in 3-component vector of float)
+0:191 Sequence
+0:191 move second child to first child (temp 3-component vector of float)
+0:191 'r010' (temp 3-component vector of float)
+0:191 arc tangent (global 3-component vector of float)
+0:191 'inF0' (in 3-component vector of float)
+0:191 'inF1' (in 3-component vector of float)
+0:192 Sequence
+0:192 move second child to first child (temp 3-component vector of float)
+0:192 'r011' (temp 3-component vector of float)
+0:192 Ceiling (global 3-component vector of float)
+0:192 'inF0' (in 3-component vector of float)
+0:193 Sequence
+0:193 move second child to first child (temp 3-component vector of float)
+0:193 'r012' (temp 3-component vector of float)
+0:193 clamp (global 3-component vector of float)
+0:193 'inF0' (in 3-component vector of float)
+0:193 'inF1' (in 3-component vector of float)
+0:193 'inF2' (in 3-component vector of float)
+0:194 Test condition and select (temp void)
+0:194 Condition
+0:194 any (temp bool)
+0:194 Compare Less Than (temp 3-component vector of bool)
+0:194 'inF0' (in 3-component vector of float)
+0:194 Constant:
+0:194 0.000000
+0:194 0.000000
+0:194 0.000000
+0:194 true case
+0:194 Branch: Kill
+0:195 Sequence
+0:195 move second child to first child (temp 3-component vector of float)
+0:195 'r013' (temp 3-component vector of float)
+0:195 cosine (global 3-component vector of float)
+0:195 'inF0' (in 3-component vector of float)
+0:196 Sequence
+0:196 move second child to first child (temp 3-component vector of float)
+0:196 'r014' (temp 3-component vector of float)
+0:196 hyp. cosine (global 3-component vector of float)
+0:196 'inF0' (in 3-component vector of float)
+0:197 Sequence
+0:197 move second child to first child (temp 3-component vector of uint)
+0:197 'r015' (temp 3-component vector of uint)
+0:? bitCount (global 3-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:198 Sequence
+0:198 move second child to first child (temp 3-component vector of float)
+0:198 'r016' (temp 3-component vector of float)
+0:198 cross-product (global 3-component vector of float)
+0:198 'inF0' (in 3-component vector of float)
+0:198 'inF1' (in 3-component vector of float)
+0:199 Sequence
+0:199 move second child to first child (temp 3-component vector of float)
+0:199 'r017' (temp 3-component vector of float)
+0:199 dPdx (global 3-component vector of float)
+0:199 'inF0' (in 3-component vector of float)
+0:200 Sequence
+0:200 move second child to first child (temp 3-component vector of float)
+0:200 'r018' (temp 3-component vector of float)
+0:200 dPdxCoarse (global 3-component vector of float)
+0:200 'inF0' (in 3-component vector of float)
+0:201 Sequence
+0:201 move second child to first child (temp 3-component vector of float)
+0:201 'r019' (temp 3-component vector of float)
+0:201 dPdxFine (global 3-component vector of float)
+0:201 'inF0' (in 3-component vector of float)
+0:202 Sequence
+0:202 move second child to first child (temp 3-component vector of float)
+0:202 'r020' (temp 3-component vector of float)
+0:202 dPdy (global 3-component vector of float)
+0:202 'inF0' (in 3-component vector of float)
+0:203 Sequence
+0:203 move second child to first child (temp 3-component vector of float)
+0:203 'r021' (temp 3-component vector of float)
+0:203 dPdyCoarse (global 3-component vector of float)
+0:203 'inF0' (in 3-component vector of float)
+0:204 Sequence
+0:204 move second child to first child (temp 3-component vector of float)
+0:204 'r022' (temp 3-component vector of float)
+0:204 dPdyFine (global 3-component vector of float)
+0:204 'inF0' (in 3-component vector of float)
+0:205 Sequence
+0:205 move second child to first child (temp 3-component vector of float)
+0:205 'r023' (temp 3-component vector of float)
+0:205 degrees (global 3-component vector of float)
+0:205 'inF0' (in 3-component vector of float)
+0:206 Sequence
+0:206 move second child to first child (temp float)
+0:206 'r024' (temp float)
+0:206 distance (global float)
+0:206 'inF0' (in 3-component vector of float)
+0:206 'inF1' (in 3-component vector of float)
+0:207 Sequence
+0:207 move second child to first child (temp float)
+0:207 'r025' (temp float)
+0:207 dot-product (global float)
+0:207 'inF0' (in 3-component vector of float)
+0:207 'inF1' (in 3-component vector of float)
+0:211 Sequence
+0:211 move second child to first child (temp 3-component vector of float)
+0:211 'r029' (temp 3-component vector of float)
+0:211 exp (global 3-component vector of float)
+0:211 'inF0' (in 3-component vector of float)
+0:212 Sequence
+0:212 move second child to first child (temp 3-component vector of float)
+0:212 'r030' (temp 3-component vector of float)
+0:212 exp2 (global 3-component vector of float)
+0:212 'inF0' (in 3-component vector of float)
+0:213 Sequence
+0:213 move second child to first child (temp 3-component vector of float)
+0:213 'r031' (temp 3-component vector of float)
+0:213 face-forward (global 3-component vector of float)
+0:213 'inF0' (in 3-component vector of float)
+0:213 'inF1' (in 3-component vector of float)
+0:213 'inF2' (in 3-component vector of float)
+0:214 Sequence
+0:214 move second child to first child (temp 3-component vector of uint)
+0:214 'r032' (temp 3-component vector of uint)
+0:? findMSB (global 3-component vector of uint)
+0:? Constant:
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:215 Sequence
+0:215 move second child to first child (temp 3-component vector of uint)
+0:215 'r033' (temp 3-component vector of uint)
+0:? findLSB (global 3-component vector of uint)
+0:? Constant:
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:216 Sequence
+0:216 move second child to first child (temp 3-component vector of float)
+0:216 'r034' (temp 3-component vector of float)
+0:216 Floor (global 3-component vector of float)
+0:216 'inF0' (in 3-component vector of float)
+0:218 Sequence
+0:218 move second child to first child (temp 3-component vector of float)
+0:218 'r036' (temp 3-component vector of float)
+0:218 mod (global 3-component vector of float)
+0:218 'inF0' (in 3-component vector of float)
+0:218 'inF1' (in 3-component vector of float)
+0:219 Sequence
+0:219 move second child to first child (temp 3-component vector of float)
+0:219 'r037' (temp 3-component vector of float)
+0:219 Fraction (global 3-component vector of float)
+0:219 'inF0' (in 3-component vector of float)
+0:220 Sequence
+0:220 move second child to first child (temp 3-component vector of float)
+0:220 'r038' (temp 3-component vector of float)
+0:220 frexp (global 3-component vector of float)
+0:220 'inF0' (in 3-component vector of float)
+0:220 'inF1' (in 3-component vector of float)
+0:221 Sequence
+0:221 move second child to first child (temp 3-component vector of float)
+0:221 'r039' (temp 3-component vector of float)
+0:221 fwidth (global 3-component vector of float)
+0:221 'inF0' (in 3-component vector of float)
+0:222 Sequence
+0:222 move second child to first child (temp 3-component vector of bool)
+0:222 'r040' (temp 3-component vector of bool)
+0:222 isinf (global 3-component vector of bool)
+0:222 'inF0' (in 3-component vector of float)
+0:223 Sequence
+0:223 move second child to first child (temp 3-component vector of bool)
+0:223 'r041' (temp 3-component vector of bool)
+0:223 isnan (global 3-component vector of bool)
+0:223 'inF0' (in 3-component vector of float)
+0:224 Sequence
+0:224 move second child to first child (temp 3-component vector of float)
+0:224 'r042' (temp 3-component vector of float)
+0:224 ldexp (global 3-component vector of float)
+0:224 'inF0' (in 3-component vector of float)
+0:224 'inF1' (in 3-component vector of float)
+0:225 Sequence
+0:225 move second child to first child (temp 3-component vector of float)
+0:225 'r039a' (temp 3-component vector of float)
+0:225 mix (global 3-component vector of float)
+0:225 'inF0' (in 3-component vector of float)
+0:225 'inF1' (in 3-component vector of float)
+0:225 'inF2' (in 3-component vector of float)
+0:226 Sequence
+0:226 move second child to first child (temp float)
+0:226 'r043' (temp float)
+0:226 length (global float)
+0:226 'inF0' (in 3-component vector of float)
+0:227 Sequence
+0:227 move second child to first child (temp 3-component vector of float)
+0:227 'r044' (temp 3-component vector of float)
+0:227 log (global 3-component vector of float)
+0:227 'inF0' (in 3-component vector of float)
+0:228 Sequence
+0:228 move second child to first child (temp 3-component vector of float)
+0:228 'r045' (temp 3-component vector of float)
+0:228 vector-scale (temp 3-component vector of float)
+0:228 log2 (temp 3-component vector of float)
+0:228 'inF0' (in 3-component vector of float)
+0:228 Constant:
+0:228 0.301030
+0:229 Sequence
+0:229 move second child to first child (temp 3-component vector of float)
+0:229 'r046' (temp 3-component vector of float)
+0:229 log2 (global 3-component vector of float)
+0:229 'inF0' (in 3-component vector of float)
+0:230 Sequence
+0:230 move second child to first child (temp 3-component vector of float)
+0:230 'r047' (temp 3-component vector of float)
+0:230 max (global 3-component vector of float)
+0:230 'inF0' (in 3-component vector of float)
+0:230 'inF1' (in 3-component vector of float)
+0:231 Sequence
+0:231 move second child to first child (temp 3-component vector of float)
+0:231 'r048' (temp 3-component vector of float)
+0:231 min (global 3-component vector of float)
+0:231 'inF0' (in 3-component vector of float)
+0:231 'inF1' (in 3-component vector of float)
+0:232 Sequence
+0:232 move second child to first child (temp 3-component vector of float)
+0:232 'r049' (temp 3-component vector of float)
+0:232 normalize (global 3-component vector of float)
+0:232 'inF0' (in 3-component vector of float)
+0:233 Sequence
+0:233 move second child to first child (temp 3-component vector of float)
+0:233 'r050' (temp 3-component vector of float)
+0:233 pow (global 3-component vector of float)
+0:233 'inF0' (in 3-component vector of float)
+0:233 'inF1' (in 3-component vector of float)
+0:234 Sequence
+0:234 move second child to first child (temp 3-component vector of float)
+0:234 'r051' (temp 3-component vector of float)
+0:234 radians (global 3-component vector of float)
+0:234 'inF0' (in 3-component vector of float)
+0:235 Sequence
+0:235 move second child to first child (temp 3-component vector of float)
+0:235 'r052' (temp 3-component vector of float)
+0:235 divide (temp 3-component vector of float)
+0:235 Constant:
+0:235 1.000000
+0:235 'inF0' (in 3-component vector of float)
+0:236 Sequence
+0:236 move second child to first child (temp 3-component vector of float)
+0:236 'r053' (temp 3-component vector of float)
+0:236 reflect (global 3-component vector of float)
+0:236 'inF0' (in 3-component vector of float)
+0:236 'inF1' (in 3-component vector of float)
+0:237 Sequence
+0:237 move second child to first child (temp 3-component vector of float)
+0:237 'r054' (temp 3-component vector of float)
+0:237 refract (global 3-component vector of float)
+0:237 'inF0' (in 3-component vector of float)
+0:237 'inF1' (in 3-component vector of float)
+0:237 Constant:
+0:237 2.000000
0:238 Sequence
-0:238 move second child to first child (temp 3-component vector of float)
-0:238 'inF1' (in 3-component vector of float)
-0:238 sine (temp 3-component vector of float)
-0:238 'inF0' (in 3-component vector of float)
-0:238 move second child to first child (temp 3-component vector of float)
-0:238 'inF2' (in 3-component vector of float)
-0:238 cosine (temp 3-component vector of float)
-0:238 'inF0' (in 3-component vector of float)
-0:239 hyp. sine (global 3-component vector of float)
-0:239 'inF0' (in 3-component vector of float)
-0:240 smoothstep (global 3-component vector of float)
-0:240 'inF0' (in 3-component vector of float)
-0:240 'inF1' (in 3-component vector of float)
-0:240 'inF2' (in 3-component vector of float)
-0:241 sqrt (global 3-component vector of float)
-0:241 'inF0' (in 3-component vector of float)
-0:242 step (global 3-component vector of float)
-0:242 'inF0' (in 3-component vector of float)
-0:242 'inF1' (in 3-component vector of float)
-0:243 tangent (global 3-component vector of float)
-0:243 'inF0' (in 3-component vector of float)
-0:244 hyp. tangent (global 3-component vector of float)
-0:244 'inF0' (in 3-component vector of float)
-0:246 trunc (global 3-component vector of float)
-0:246 'inF0' (in 3-component vector of float)
-0:249 Branch: Return with expression
+0:238 move second child to first child (temp 3-component vector of uint)
+0:238 'r055' (temp 3-component vector of uint)
+0:? bitFieldReverse (global 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:239 Sequence
+0:239 move second child to first child (temp 3-component vector of float)
+0:239 'r056' (temp 3-component vector of float)
+0:239 roundEven (global 3-component vector of float)
+0:239 'inF0' (in 3-component vector of float)
+0:240 Sequence
+0:240 move second child to first child (temp 3-component vector of float)
+0:240 'r057' (temp 3-component vector of float)
+0:240 inverse sqrt (global 3-component vector of float)
+0:240 'inF0' (in 3-component vector of float)
+0:241 Sequence
+0:241 move second child to first child (temp 3-component vector of float)
+0:241 'r058' (temp 3-component vector of float)
+0:241 clamp (temp 3-component vector of float)
+0:241 'inF0' (in 3-component vector of float)
+0:241 Constant:
+0:241 0.000000
+0:241 Constant:
+0:241 1.000000
+0:242 Sequence
+0:242 move second child to first child (temp 3-component vector of float)
+0:242 'r059' (temp 3-component vector of float)
+0:242 Sign (global 3-component vector of float)
+0:242 'inF0' (in 3-component vector of float)
+0:243 Sequence
+0:243 move second child to first child (temp 3-component vector of float)
+0:243 'r060' (temp 3-component vector of float)
+0:243 sine (global 3-component vector of float)
+0:243 'inF0' (in 3-component vector of float)
+0:244 Sequence
+0:244 move second child to first child (temp 3-component vector of float)
+0:244 'inF1' (in 3-component vector of float)
+0:244 sine (temp 3-component vector of float)
+0:244 'inF0' (in 3-component vector of float)
+0:244 move second child to first child (temp 3-component vector of float)
+0:244 'inF2' (in 3-component vector of float)
+0:244 cosine (temp 3-component vector of float)
+0:244 'inF0' (in 3-component vector of float)
+0:245 Sequence
+0:245 move second child to first child (temp 3-component vector of float)
+0:245 'r061' (temp 3-component vector of float)
+0:245 hyp. sine (global 3-component vector of float)
+0:245 'inF0' (in 3-component vector of float)
+0:246 Sequence
+0:246 move second child to first child (temp 3-component vector of float)
+0:246 'r062' (temp 3-component vector of float)
+0:246 smoothstep (global 3-component vector of float)
+0:246 'inF0' (in 3-component vector of float)
+0:246 'inF1' (in 3-component vector of float)
+0:246 'inF2' (in 3-component vector of float)
+0:247 Sequence
+0:247 move second child to first child (temp 3-component vector of float)
+0:247 'r063' (temp 3-component vector of float)
+0:247 sqrt (global 3-component vector of float)
+0:247 'inF0' (in 3-component vector of float)
+0:248 Sequence
+0:248 move second child to first child (temp 3-component vector of float)
+0:248 'r064' (temp 3-component vector of float)
+0:248 step (global 3-component vector of float)
+0:248 'inF0' (in 3-component vector of float)
+0:248 'inF1' (in 3-component vector of float)
+0:249 Sequence
+0:249 move second child to first child (temp 3-component vector of float)
+0:249 'r065' (temp 3-component vector of float)
+0:249 tangent (global 3-component vector of float)
+0:249 'inF0' (in 3-component vector of float)
+0:250 Sequence
+0:250 move second child to first child (temp 3-component vector of float)
+0:250 'r066' (temp 3-component vector of float)
+0:250 hyp. tangent (global 3-component vector of float)
+0:250 'inF0' (in 3-component vector of float)
+0:252 Sequence
+0:252 move second child to first child (temp 3-component vector of float)
+0:252 'r067' (temp 3-component vector of float)
+0:252 trunc (global 3-component vector of float)
+0:252 'inF0' (in 3-component vector of float)
+0:255 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:393 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
-0:253 Function Parameters:
-0:253 'inF0' (in 4-component vector of float)
-0:253 'inF1' (in 4-component vector of float)
-0:253 'inF2' (in 4-component vector of float)
-0:253 'inU0' (in 4-component vector of uint)
-0:253 'inU1' (in 4-component vector of uint)
+0:399 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
+0:259 Function Parameters:
+0:259 'inF0' (in 4-component vector of float)
+0:259 'inF1' (in 4-component vector of float)
+0:259 'inF2' (in 4-component vector of float)
+0:259 'inU0' (in 4-component vector of uint)
+0:259 'inU1' (in 4-component vector of uint)
0:? Sequence
-0:256 all (global bool)
-0:256 'inF0' (in 4-component vector of float)
-0:257 Absolute value (global 4-component vector of float)
-0:257 'inF0' (in 4-component vector of float)
-0:258 arc cosine (global 4-component vector of float)
-0:258 'inF0' (in 4-component vector of float)
-0:259 any (global bool)
-0:259 'inF0' (in 4-component vector of float)
-0:260 arc sine (global 4-component vector of float)
-0:260 'inF0' (in 4-component vector of float)
-0:261 floatBitsToInt (global 4-component vector of int)
-0:261 'inF0' (in 4-component vector of float)
-0:262 floatBitsToUint (global 4-component vector of uint)
-0:262 'inF0' (in 4-component vector of float)
-0:263 intBitsToFloat (global 4-component vector of float)
-0:263 'inU0' (in 4-component vector of uint)
-0:265 arc tangent (global 4-component vector of float)
-0:265 'inF0' (in 4-component vector of float)
-0:266 arc tangent (global 4-component vector of float)
-0:266 'inF0' (in 4-component vector of float)
-0:266 'inF1' (in 4-component vector of float)
-0:267 Ceiling (global 4-component vector of float)
-0:267 'inF0' (in 4-component vector of float)
-0:268 clamp (global 4-component vector of float)
-0:268 'inF0' (in 4-component vector of float)
-0:268 'inF1' (in 4-component vector of float)
-0:268 'inF2' (in 4-component vector of float)
-0:269 Test condition and select (temp void)
-0:269 Condition
-0:269 any (temp bool)
-0:269 Compare Less Than (temp 4-component vector of bool)
-0:269 'inF0' (in 4-component vector of float)
-0:269 Constant:
-0:269 0.000000
-0:269 0.000000
-0:269 0.000000
-0:269 0.000000
-0:269 true case
-0:269 Branch: Kill
-0:270 cosine (global 4-component vector of float)
-0:270 'inF0' (in 4-component vector of float)
-0:271 hyp. cosine (global 4-component vector of float)
-0:271 'inF0' (in 4-component vector of float)
-0:? bitCount (global 4-component vector of uint)
-0:? Constant:
-0:? 7 (const uint)
-0:? 3 (const uint)
-0:? 5 (const uint)
-0:? 2 (const uint)
-0:273 dPdx (global 4-component vector of float)
-0:273 'inF0' (in 4-component vector of float)
-0:274 dPdxCoarse (global 4-component vector of float)
-0:274 'inF0' (in 4-component vector of float)
-0:275 dPdxFine (global 4-component vector of float)
-0:275 'inF0' (in 4-component vector of float)
-0:276 dPdy (global 4-component vector of float)
-0:276 'inF0' (in 4-component vector of float)
-0:277 dPdyCoarse (global 4-component vector of float)
-0:277 'inF0' (in 4-component vector of float)
-0:278 dPdyFine (global 4-component vector of float)
-0:278 'inF0' (in 4-component vector of float)
-0:279 degrees (global 4-component vector of float)
-0:279 'inF0' (in 4-component vector of float)
-0:280 distance (global float)
-0:280 'inF0' (in 4-component vector of float)
-0:280 'inF1' (in 4-component vector of float)
-0:281 dot-product (global float)
-0:281 'inF0' (in 4-component vector of float)
-0:281 'inF1' (in 4-component vector of float)
-0:282 Construct vec4 (temp 4-component vector of float)
-0:282 Constant:
-0:282 1.000000
-0:282 component-wise multiply (temp float)
-0:282 direct index (temp float)
+0:262 Sequence
+0:262 move second child to first child (temp bool)
+0:262 'r000' (temp bool)
+0:262 all (global bool)
+0:262 'inF0' (in 4-component vector of float)
+0:263 Sequence
+0:263 move second child to first child (temp 4-component vector of float)
+0:263 'r001' (temp 4-component vector of float)
+0:263 Absolute value (global 4-component vector of float)
+0:263 'inF0' (in 4-component vector of float)
+0:264 Sequence
+0:264 move second child to first child (temp 4-component vector of float)
+0:264 'r002' (temp 4-component vector of float)
+0:264 arc cosine (global 4-component vector of float)
+0:264 'inF0' (in 4-component vector of float)
+0:265 Sequence
+0:265 move second child to first child (temp bool)
+0:265 'r003' (temp bool)
+0:265 any (global bool)
+0:265 'inF0' (in 4-component vector of float)
+0:266 Sequence
+0:266 move second child to first child (temp 4-component vector of float)
+0:266 'r004' (temp 4-component vector of float)
+0:266 arc sine (global 4-component vector of float)
+0:266 'inF0' (in 4-component vector of float)
+0:267 Sequence
+0:267 move second child to first child (temp 4-component vector of int)
+0:267 'r005' (temp 4-component vector of int)
+0:267 floatBitsToInt (global 4-component vector of int)
+0:267 'inF0' (in 4-component vector of float)
+0:268 Sequence
+0:268 move second child to first child (temp 4-component vector of uint)
+0:268 'r006' (temp 4-component vector of uint)
+0:268 floatBitsToUint (global 4-component vector of uint)
+0:268 'inF0' (in 4-component vector of float)
+0:269 Sequence
+0:269 move second child to first child (temp 4-component vector of float)
+0:269 'r007' (temp 4-component vector of float)
+0:269 intBitsToFloat (global 4-component vector of float)
+0:269 'inU0' (in 4-component vector of uint)
+0:271 Sequence
+0:271 move second child to first child (temp 4-component vector of float)
+0:271 'r009' (temp 4-component vector of float)
+0:271 arc tangent (global 4-component vector of float)
+0:271 'inF0' (in 4-component vector of float)
+0:272 Sequence
+0:272 move second child to first child (temp 4-component vector of float)
+0:272 'r010' (temp 4-component vector of float)
+0:272 arc tangent (global 4-component vector of float)
+0:272 'inF0' (in 4-component vector of float)
+0:272 'inF1' (in 4-component vector of float)
+0:273 Sequence
+0:273 move second child to first child (temp 4-component vector of float)
+0:273 'r011' (temp 4-component vector of float)
+0:273 Ceiling (global 4-component vector of float)
+0:273 'inF0' (in 4-component vector of float)
+0:274 Sequence
+0:274 move second child to first child (temp 4-component vector of float)
+0:274 'r012' (temp 4-component vector of float)
+0:274 clamp (global 4-component vector of float)
+0:274 'inF0' (in 4-component vector of float)
+0:274 'inF1' (in 4-component vector of float)
+0:274 'inF2' (in 4-component vector of float)
+0:275 Test condition and select (temp void)
+0:275 Condition
+0:275 any (temp bool)
+0:275 Compare Less Than (temp 4-component vector of bool)
+0:275 'inF0' (in 4-component vector of float)
+0:275 Constant:
+0:275 0.000000
+0:275 0.000000
+0:275 0.000000
+0:275 0.000000
+0:275 true case
+0:275 Branch: Kill
+0:276 Sequence
+0:276 move second child to first child (temp 4-component vector of float)
+0:276 'r013' (temp 4-component vector of float)
+0:276 cosine (global 4-component vector of float)
+0:276 'inF0' (in 4-component vector of float)
+0:277 Sequence
+0:277 move second child to first child (temp 4-component vector of float)
+0:277 'r014' (temp 4-component vector of float)
+0:277 hyp. cosine (global 4-component vector of float)
+0:277 'inF0' (in 4-component vector of float)
+0:278 Sequence
+0:278 move second child to first child (temp 4-component vector of uint)
+0:278 'r015' (temp 4-component vector of uint)
+0:? bitCount (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 3 (const uint)
+0:? 5 (const uint)
+0:? 2 (const uint)
+0:279 Sequence
+0:279 move second child to first child (temp 4-component vector of float)
+0:279 'r016' (temp 4-component vector of float)
+0:279 dPdx (global 4-component vector of float)
+0:279 'inF0' (in 4-component vector of float)
+0:280 Sequence
+0:280 move second child to first child (temp 4-component vector of float)
+0:280 'r017' (temp 4-component vector of float)
+0:280 dPdxCoarse (global 4-component vector of float)
+0:280 'inF0' (in 4-component vector of float)
+0:281 Sequence
+0:281 move second child to first child (temp 4-component vector of float)
+0:281 'r018' (temp 4-component vector of float)
+0:281 dPdxFine (global 4-component vector of float)
+0:281 'inF0' (in 4-component vector of float)
+0:282 Sequence
+0:282 move second child to first child (temp 4-component vector of float)
+0:282 'r019' (temp 4-component vector of float)
+0:282 dPdy (global 4-component vector of float)
0:282 'inF0' (in 4-component vector of float)
-0:282 Constant:
-0:282 1 (const int)
-0:282 direct index (temp float)
-0:282 'inF1' (in 4-component vector of float)
-0:282 Constant:
-0:282 1 (const int)
-0:282 direct index (temp float)
-0:282 'inF0' (in 4-component vector of float)
-0:282 Constant:
-0:282 2 (const int)
-0:282 direct index (temp float)
-0:282 'inF1' (in 4-component vector of float)
-0:282 Constant:
-0:282 3 (const int)
-0:286 exp (global 4-component vector of float)
-0:286 'inF0' (in 4-component vector of float)
-0:287 exp2 (global 4-component vector of float)
-0:287 'inF0' (in 4-component vector of float)
-0:288 face-forward (global 4-component vector of float)
-0:288 'inF0' (in 4-component vector of float)
-0:288 'inF1' (in 4-component vector of float)
-0:288 'inF2' (in 4-component vector of float)
-0:289 findMSB (global int)
-0:289 Constant:
-0:289 7 (const int)
-0:290 findLSB (global int)
-0:290 Constant:
-0:290 7 (const int)
-0:291 Floor (global 4-component vector of float)
-0:291 'inF0' (in 4-component vector of float)
-0:293 mod (global 4-component vector of float)
-0:293 'inF0' (in 4-component vector of float)
-0:293 'inF1' (in 4-component vector of float)
-0:294 Fraction (global 4-component vector of float)
-0:294 'inF0' (in 4-component vector of float)
-0:295 frexp (global 4-component vector of float)
-0:295 'inF0' (in 4-component vector of float)
-0:295 'inF1' (in 4-component vector of float)
-0:296 fwidth (global 4-component vector of float)
-0:296 'inF0' (in 4-component vector of float)
-0:297 isinf (global 4-component vector of bool)
-0:297 'inF0' (in 4-component vector of float)
-0:298 isnan (global 4-component vector of bool)
-0:298 'inF0' (in 4-component vector of float)
-0:299 ldexp (global 4-component vector of float)
-0:299 'inF0' (in 4-component vector of float)
-0:299 'inF1' (in 4-component vector of float)
-0:300 length (global float)
-0:300 'inF0' (in 4-component vector of float)
-0:301 log (global 4-component vector of float)
-0:301 'inF0' (in 4-component vector of float)
-0:302 vector-scale (temp 4-component vector of float)
-0:302 log2 (temp 4-component vector of float)
-0:302 'inF0' (in 4-component vector of float)
-0:302 Constant:
-0:302 0.301030
-0:303 log2 (global 4-component vector of float)
-0:303 'inF0' (in 4-component vector of float)
-0:304 max (global 4-component vector of float)
-0:304 'inF0' (in 4-component vector of float)
-0:304 'inF1' (in 4-component vector of float)
-0:305 min (global 4-component vector of float)
-0:305 'inF0' (in 4-component vector of float)
-0:305 'inF1' (in 4-component vector of float)
-0:306 normalize (global 4-component vector of float)
-0:306 'inF0' (in 4-component vector of float)
-0:307 pow (global 4-component vector of float)
-0:307 'inF0' (in 4-component vector of float)
-0:307 'inF1' (in 4-component vector of float)
-0:308 radians (global 4-component vector of float)
-0:308 'inF0' (in 4-component vector of float)
-0:309 divide (temp 4-component vector of float)
-0:309 Constant:
-0:309 1.000000
-0:309 'inF0' (in 4-component vector of float)
-0:310 reflect (global 4-component vector of float)
-0:310 'inF0' (in 4-component vector of float)
-0:310 'inF1' (in 4-component vector of float)
-0:311 refract (global 4-component vector of float)
-0:311 'inF0' (in 4-component vector of float)
-0:311 'inF1' (in 4-component vector of float)
-0:311 Constant:
-0:311 2.000000
-0:? bitFieldReverse (global 4-component vector of uint)
-0:? Constant:
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3 (const uint)
-0:? 4 (const uint)
-0:313 roundEven (global 4-component vector of float)
-0:313 'inF0' (in 4-component vector of float)
-0:314 inverse sqrt (global 4-component vector of float)
-0:314 'inF0' (in 4-component vector of float)
-0:315 clamp (temp 4-component vector of float)
-0:315 'inF0' (in 4-component vector of float)
-0:315 Constant:
-0:315 0.000000
-0:315 Constant:
-0:315 1.000000
-0:316 Sign (global 4-component vector of float)
-0:316 'inF0' (in 4-component vector of float)
-0:317 sine (global 4-component vector of float)
-0:317 'inF0' (in 4-component vector of float)
+0:283 Sequence
+0:283 move second child to first child (temp 4-component vector of float)
+0:283 'r020' (temp 4-component vector of float)
+0:283 dPdyCoarse (global 4-component vector of float)
+0:283 'inF0' (in 4-component vector of float)
+0:284 Sequence
+0:284 move second child to first child (temp 4-component vector of float)
+0:284 'r021' (temp 4-component vector of float)
+0:284 dPdyFine (global 4-component vector of float)
+0:284 'inF0' (in 4-component vector of float)
+0:285 Sequence
+0:285 move second child to first child (temp 4-component vector of float)
+0:285 'r022' (temp 4-component vector of float)
+0:285 degrees (global 4-component vector of float)
+0:285 'inF0' (in 4-component vector of float)
+0:286 Sequence
+0:286 move second child to first child (temp float)
+0:286 'r023' (temp float)
+0:286 distance (global float)
+0:286 'inF0' (in 4-component vector of float)
+0:286 'inF1' (in 4-component vector of float)
+0:287 Sequence
+0:287 move second child to first child (temp float)
+0:287 'r024' (temp float)
+0:287 dot-product (global float)
+0:287 'inF0' (in 4-component vector of float)
+0:287 'inF1' (in 4-component vector of float)
+0:288 Sequence
+0:288 move second child to first child (temp 4-component vector of float)
+0:288 'r025' (temp 4-component vector of float)
+0:288 Construct vec4 (temp 4-component vector of float)
+0:288 Constant:
+0:288 1.000000
+0:288 component-wise multiply (temp float)
+0:288 direct index (temp float)
+0:288 'inF0' (in 4-component vector of float)
+0:288 Constant:
+0:288 1 (const int)
+0:288 direct index (temp float)
+0:288 'inF1' (in 4-component vector of float)
+0:288 Constant:
+0:288 1 (const int)
+0:288 direct index (temp float)
+0:288 'inF0' (in 4-component vector of float)
+0:288 Constant:
+0:288 2 (const int)
+0:288 direct index (temp float)
+0:288 'inF1' (in 4-component vector of float)
+0:288 Constant:
+0:288 3 (const int)
+0:292 Sequence
+0:292 move second child to first child (temp 4-component vector of float)
+0:292 'r029' (temp 4-component vector of float)
+0:292 exp (global 4-component vector of float)
+0:292 'inF0' (in 4-component vector of float)
+0:293 Sequence
+0:293 move second child to first child (temp 4-component vector of float)
+0:293 'r030' (temp 4-component vector of float)
+0:293 exp2 (global 4-component vector of float)
+0:293 'inF0' (in 4-component vector of float)
+0:294 Sequence
+0:294 move second child to first child (temp 4-component vector of float)
+0:294 'r031' (temp 4-component vector of float)
+0:294 face-forward (global 4-component vector of float)
+0:294 'inF0' (in 4-component vector of float)
+0:294 'inF1' (in 4-component vector of float)
+0:294 'inF2' (in 4-component vector of float)
+0:295 Sequence
+0:295 move second child to first child (temp 4-component vector of uint)
+0:295 'r032' (temp 4-component vector of uint)
+0:? findMSB (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:? 9 (const uint)
+0:? 10 (const uint)
+0:296 Sequence
+0:296 move second child to first child (temp 4-component vector of uint)
+0:296 'r033' (temp 4-component vector of uint)
+0:? findLSB (global 4-component vector of uint)
+0:? Constant:
+0:? 7 (const uint)
+0:? 8 (const uint)
+0:? 9 (const uint)
+0:? 10 (const uint)
+0:297 Sequence
+0:297 move second child to first child (temp 4-component vector of float)
+0:297 'r034' (temp 4-component vector of float)
+0:297 Floor (global 4-component vector of float)
+0:297 'inF0' (in 4-component vector of float)
+0:299 Sequence
+0:299 move second child to first child (temp 4-component vector of float)
+0:299 'r036' (temp 4-component vector of float)
+0:299 mod (global 4-component vector of float)
+0:299 'inF0' (in 4-component vector of float)
+0:299 'inF1' (in 4-component vector of float)
+0:300 Sequence
+0:300 move second child to first child (temp 4-component vector of float)
+0:300 'r037' (temp 4-component vector of float)
+0:300 Fraction (global 4-component vector of float)
+0:300 'inF0' (in 4-component vector of float)
+0:301 Sequence
+0:301 move second child to first child (temp 4-component vector of float)
+0:301 'r038' (temp 4-component vector of float)
+0:301 frexp (global 4-component vector of float)
+0:301 'inF0' (in 4-component vector of float)
+0:301 'inF1' (in 4-component vector of float)
+0:302 Sequence
+0:302 move second child to first child (temp 4-component vector of float)
+0:302 'r039' (temp 4-component vector of float)
+0:302 fwidth (global 4-component vector of float)
+0:302 'inF0' (in 4-component vector of float)
+0:303 Sequence
+0:303 move second child to first child (temp 4-component vector of bool)
+0:303 'r040' (temp 4-component vector of bool)
+0:303 isinf (global 4-component vector of bool)
+0:303 'inF0' (in 4-component vector of float)
+0:304 Sequence
+0:304 move second child to first child (temp 4-component vector of bool)
+0:304 'r041' (temp 4-component vector of bool)
+0:304 isnan (global 4-component vector of bool)
+0:304 'inF0' (in 4-component vector of float)
+0:305 Sequence
+0:305 move second child to first child (temp 4-component vector of float)
+0:305 'r042' (temp 4-component vector of float)
+0:305 ldexp (global 4-component vector of float)
+0:305 'inF0' (in 4-component vector of float)
+0:305 'inF1' (in 4-component vector of float)
+0:306 Sequence
+0:306 move second child to first child (temp 4-component vector of float)
+0:306 'r039a' (temp 4-component vector of float)
+0:306 mix (global 4-component vector of float)
+0:306 'inF0' (in 4-component vector of float)
+0:306 'inF1' (in 4-component vector of float)
+0:306 'inF2' (in 4-component vector of float)
+0:307 Sequence
+0:307 move second child to first child (temp float)
+0:307 'r043' (temp float)
+0:307 length (global float)
+0:307 'inF0' (in 4-component vector of float)
+0:308 Sequence
+0:308 move second child to first child (temp 4-component vector of float)
+0:308 'r044' (temp 4-component vector of float)
+0:308 log (global 4-component vector of float)
+0:308 'inF0' (in 4-component vector of float)
+0:309 Sequence
+0:309 move second child to first child (temp 4-component vector of float)
+0:309 'r045' (temp 4-component vector of float)
+0:309 vector-scale (temp 4-component vector of float)
+0:309 log2 (temp 4-component vector of float)
+0:309 'inF0' (in 4-component vector of float)
+0:309 Constant:
+0:309 0.301030
+0:310 Sequence
+0:310 move second child to first child (temp 4-component vector of float)
+0:310 'r046' (temp 4-component vector of float)
+0:310 log2 (global 4-component vector of float)
+0:310 'inF0' (in 4-component vector of float)
+0:311 Sequence
+0:311 move second child to first child (temp 4-component vector of float)
+0:311 'r047' (temp 4-component vector of float)
+0:311 max (global 4-component vector of float)
+0:311 'inF0' (in 4-component vector of float)
+0:311 'inF1' (in 4-component vector of float)
+0:312 Sequence
+0:312 move second child to first child (temp 4-component vector of float)
+0:312 'r048' (temp 4-component vector of float)
+0:312 min (global 4-component vector of float)
+0:312 'inF0' (in 4-component vector of float)
+0:312 'inF1' (in 4-component vector of float)
+0:313 Sequence
+0:313 move second child to first child (temp 4-component vector of float)
+0:313 'r049' (temp 4-component vector of float)
+0:313 normalize (global 4-component vector of float)
+0:313 'inF0' (in 4-component vector of float)
+0:314 Sequence
+0:314 move second child to first child (temp 4-component vector of float)
+0:314 'r050' (temp 4-component vector of float)
+0:314 pow (global 4-component vector of float)
+0:314 'inF0' (in 4-component vector of float)
+0:314 'inF1' (in 4-component vector of float)
+0:315 Sequence
+0:315 move second child to first child (temp 4-component vector of float)
+0:315 'r051' (temp 4-component vector of float)
+0:315 radians (global 4-component vector of float)
+0:315 'inF0' (in 4-component vector of float)
+0:316 Sequence
+0:316 move second child to first child (temp 4-component vector of float)
+0:316 'r052' (temp 4-component vector of float)
+0:316 divide (temp 4-component vector of float)
+0:316 Constant:
+0:316 1.000000
+0:316 'inF0' (in 4-component vector of float)
+0:317 Sequence
+0:317 move second child to first child (temp 4-component vector of float)
+0:317 'r053' (temp 4-component vector of float)
+0:317 reflect (global 4-component vector of float)
+0:317 'inF0' (in 4-component vector of float)
+0:317 'inF1' (in 4-component vector of float)
0:318 Sequence
0:318 move second child to first child (temp 4-component vector of float)
-0:318 'inF1' (in 4-component vector of float)
-0:318 sine (temp 4-component vector of float)
+0:318 'r054' (temp 4-component vector of float)
+0:318 refract (global 4-component vector of float)
0:318 'inF0' (in 4-component vector of float)
-0:318 move second child to first child (temp 4-component vector of float)
-0:318 'inF2' (in 4-component vector of float)
-0:318 cosine (temp 4-component vector of float)
-0:318 'inF0' (in 4-component vector of float)
-0:319 hyp. sine (global 4-component vector of float)
-0:319 'inF0' (in 4-component vector of float)
-0:320 smoothstep (global 4-component vector of float)
-0:320 'inF0' (in 4-component vector of float)
-0:320 'inF1' (in 4-component vector of float)
-0:320 'inF2' (in 4-component vector of float)
-0:321 sqrt (global 4-component vector of float)
-0:321 'inF0' (in 4-component vector of float)
-0:322 step (global 4-component vector of float)
-0:322 'inF0' (in 4-component vector of float)
-0:322 'inF1' (in 4-component vector of float)
-0:323 tangent (global 4-component vector of float)
-0:323 'inF0' (in 4-component vector of float)
-0:324 hyp. tangent (global 4-component vector of float)
-0:324 'inF0' (in 4-component vector of float)
-0:326 trunc (global 4-component vector of float)
-0:326 'inF0' (in 4-component vector of float)
-0:329 Branch: Return with expression
+0:318 'inF1' (in 4-component vector of float)
+0:318 Constant:
+0:318 2.000000
+0:319 Sequence
+0:319 move second child to first child (temp 4-component vector of uint)
+0:319 'r055' (temp 4-component vector of uint)
+0:? bitFieldReverse (global 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:320 Sequence
+0:320 move second child to first child (temp 4-component vector of float)
+0:320 'r056' (temp 4-component vector of float)
+0:320 roundEven (global 4-component vector of float)
+0:320 'inF0' (in 4-component vector of float)
+0:321 Sequence
+0:321 move second child to first child (temp 4-component vector of float)
+0:321 'r057' (temp 4-component vector of float)
+0:321 inverse sqrt (global 4-component vector of float)
+0:321 'inF0' (in 4-component vector of float)
+0:322 Sequence
+0:322 move second child to first child (temp 4-component vector of float)
+0:322 'r058' (temp 4-component vector of float)
+0:322 clamp (temp 4-component vector of float)
+0:322 'inF0' (in 4-component vector of float)
+0:322 Constant:
+0:322 0.000000
+0:322 Constant:
+0:322 1.000000
+0:323 Sequence
+0:323 move second child to first child (temp 4-component vector of float)
+0:323 'r059' (temp 4-component vector of float)
+0:323 Sign (global 4-component vector of float)
+0:323 'inF0' (in 4-component vector of float)
+0:324 Sequence
+0:324 move second child to first child (temp 4-component vector of float)
+0:324 'r060' (temp 4-component vector of float)
+0:324 sine (global 4-component vector of float)
+0:324 'inF0' (in 4-component vector of float)
+0:325 Sequence
+0:325 move second child to first child (temp 4-component vector of float)
+0:325 'inF1' (in 4-component vector of float)
+0:325 sine (temp 4-component vector of float)
+0:325 'inF0' (in 4-component vector of float)
+0:325 move second child to first child (temp 4-component vector of float)
+0:325 'inF2' (in 4-component vector of float)
+0:325 cosine (temp 4-component vector of float)
+0:325 'inF0' (in 4-component vector of float)
+0:326 Sequence
+0:326 move second child to first child (temp 4-component vector of float)
+0:326 'r061' (temp 4-component vector of float)
+0:326 hyp. sine (global 4-component vector of float)
+0:326 'inF0' (in 4-component vector of float)
+0:327 Sequence
+0:327 move second child to first child (temp 4-component vector of float)
+0:327 'r062' (temp 4-component vector of float)
+0:327 smoothstep (global 4-component vector of float)
+0:327 'inF0' (in 4-component vector of float)
+0:327 'inF1' (in 4-component vector of float)
+0:327 'inF2' (in 4-component vector of float)
+0:328 Sequence
+0:328 move second child to first child (temp 4-component vector of float)
+0:328 'r063' (temp 4-component vector of float)
+0:328 sqrt (global 4-component vector of float)
+0:328 'inF0' (in 4-component vector of float)
+0:329 Sequence
+0:329 move second child to first child (temp 4-component vector of float)
+0:329 'r064' (temp 4-component vector of float)
+0:329 step (global 4-component vector of float)
+0:329 'inF0' (in 4-component vector of float)
+0:329 'inF1' (in 4-component vector of float)
+0:330 Sequence
+0:330 move second child to first child (temp 4-component vector of float)
+0:330 'r065' (temp 4-component vector of float)
+0:330 tangent (global 4-component vector of float)
+0:330 'inF0' (in 4-component vector of float)
+0:331 Sequence
+0:331 move second child to first child (temp 4-component vector of float)
+0:331 'r066' (temp 4-component vector of float)
+0:331 hyp. tangent (global 4-component vector of float)
+0:331 'inF0' (in 4-component vector of float)
+0:333 Sequence
+0:333 move second child to first child (temp 4-component vector of float)
+0:333 'r067' (temp 4-component vector of float)
+0:333 trunc (global 4-component vector of float)
+0:333 'inF0' (in 4-component vector of float)
+0:336 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:402 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:394 Function Parameters:
-0:394 'inF0' (in 2X2 matrix of float)
-0:394 'inF1' (in 2X2 matrix of float)
-0:394 'inF2' (in 2X2 matrix of float)
+0:408 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:400 Function Parameters:
+0:400 'inF0' (in 2X2 matrix of float)
+0:400 'inF1' (in 2X2 matrix of float)
+0:400 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:396 all (global bool)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Absolute value (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc cosine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 any (global bool)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc sine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 arc tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 Ceiling (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Test condition and select (temp void)
-0:396 Condition
-0:396 any (temp bool)
-0:396 Compare Less Than (temp 2X2 matrix of bool)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Constant:
-0:396 0.000000
-0:396 0.000000
-0:396 0.000000
-0:396 0.000000
-0:396 true case
-0:396 Branch: Kill
-0:396 clamp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 'inF2' (in 2X2 matrix of float)
-0:396 cosine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 hyp. cosine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdx (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdxCoarse (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdxFine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdy (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdyCoarse (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 dPdyFine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 degrees (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 determinant (global float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 exp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 exp2 (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 findMSB (global int)
-0:396 Constant:
-0:396 7 (const int)
-0:396 findLSB (global int)
-0:396 Constant:
-0:396 7 (const int)
-0:396 Floor (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 mod (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 Fraction (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 frexp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 fwidth (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 ldexp (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 log (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 matrix-scale (temp 2X2 matrix of float)
-0:396 log2 (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Constant:
-0:396 0.301030
-0:396 log2 (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 max (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 min (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 pow (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 radians (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 roundEven (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 inverse sqrt (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 clamp (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Constant:
-0:396 0.000000
-0:396 Constant:
-0:396 1.000000
-0:396 Sign (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 sine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 Sequence
-0:396 move second child to first child (temp 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 sine (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 move second child to first child (temp 2X2 matrix of float)
-0:396 'inF2' (in 2X2 matrix of float)
-0:396 cosine (temp 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 hyp. sine (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 smoothstep (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 'inF2' (in 2X2 matrix of float)
-0:396 sqrt (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 step (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 'inF1' (in 2X2 matrix of float)
-0:396 tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 hyp. tangent (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 transpose (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:396 trunc (global 2X2 matrix of float)
-0:396 'inF0' (in 2X2 matrix of float)
-0:399 Branch: Return with expression
+0:402 Sequence
+0:402 move second child to first child (temp bool)
+0:402 'r000' (temp bool)
+0:402 all (global bool)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r001' (temp 2X2 matrix of float)
+0:402 Absolute value (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 arc cosine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp bool)
+0:402 'r003' (temp bool)
+0:402 any (global bool)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r004' (temp 2X2 matrix of float)
+0:402 arc sine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r005' (temp 2X2 matrix of float)
+0:402 arc tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r006' (temp 2X2 matrix of float)
+0:402 arc tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r007' (temp 2X2 matrix of float)
+0:402 Ceiling (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Test condition and select (temp void)
+0:402 Condition
+0:402 any (temp bool)
+0:402 Compare Less Than (temp 2X2 matrix of bool)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Constant:
+0:402 0.000000
+0:402 0.000000
+0:402 0.000000
+0:402 0.000000
+0:402 true case
+0:402 Branch: Kill
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r008' (temp 2X2 matrix of float)
+0:402 clamp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r009' (temp 2X2 matrix of float)
+0:402 cosine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r010' (temp 2X2 matrix of float)
+0:402 hyp. cosine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r011' (temp 2X2 matrix of float)
+0:402 dPdx (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r012' (temp 2X2 matrix of float)
+0:402 dPdxCoarse (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r013' (temp 2X2 matrix of float)
+0:402 dPdxFine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r014' (temp 2X2 matrix of float)
+0:402 dPdy (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r015' (temp 2X2 matrix of float)
+0:402 dPdyCoarse (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r016' (temp 2X2 matrix of float)
+0:402 dPdyFine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r017' (temp 2X2 matrix of float)
+0:402 degrees (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp float)
+0:402 'r018' (temp float)
+0:402 determinant (global float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r019' (temp 2X2 matrix of float)
+0:402 exp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'R020' (temp 2X2 matrix of float)
+0:402 exp2 (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r021' (temp 2X2 matrix of float)
+0:402 Floor (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r022' (temp 2X2 matrix of float)
+0:402 mod (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r023' (temp 2X2 matrix of float)
+0:402 Fraction (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r024' (temp 2X2 matrix of float)
+0:402 frexp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r025' (temp 2X2 matrix of float)
+0:402 fwidth (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r026' (temp 2X2 matrix of float)
+0:402 ldexp (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r026a' (temp 2X2 matrix of float)
+0:402 mix (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r027' (temp 2X2 matrix of float)
+0:402 log (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r028' (temp 2X2 matrix of float)
+0:402 matrix-scale (temp 2X2 matrix of float)
+0:402 log2 (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Constant:
+0:402 0.301030
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r029' (temp 2X2 matrix of float)
+0:402 log2 (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r030' (temp 2X2 matrix of float)
+0:402 max (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r031' (temp 2X2 matrix of float)
+0:402 min (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r032' (temp 2X2 matrix of float)
+0:402 pow (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r033' (temp 2X2 matrix of float)
+0:402 radians (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r034' (temp 2X2 matrix of float)
+0:402 roundEven (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r035' (temp 2X2 matrix of float)
+0:402 inverse sqrt (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r036' (temp 2X2 matrix of float)
+0:402 clamp (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Constant:
+0:402 0.000000
+0:402 Constant:
+0:402 1.000000
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r037' (temp 2X2 matrix of float)
+0:402 Sign (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r038' (temp 2X2 matrix of float)
+0:402 sine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 sine (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 cosine (temp 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r039' (temp 2X2 matrix of float)
+0:402 hyp. sine (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r049' (temp 2X2 matrix of float)
+0:402 smoothstep (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 'inF2' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r041' (temp 2X2 matrix of float)
+0:402 sqrt (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r042' (temp 2X2 matrix of float)
+0:402 step (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 'inF1' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r043' (temp 2X2 matrix of float)
+0:402 tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r044' (temp 2X2 matrix of float)
+0:402 hyp. tangent (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 transpose (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:402 Sequence
+0:402 move second child to first child (temp 2X2 matrix of float)
+0:402 'r046' (temp 2X2 matrix of float)
+0:402 trunc (global 2X2 matrix of float)
+0:402 'inF0' (in 2X2 matrix of float)
+0:405 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:411 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:403 Function Parameters:
-0:403 'inF0' (in 3X3 matrix of float)
-0:403 'inF1' (in 3X3 matrix of float)
-0:403 'inF2' (in 3X3 matrix of float)
+0:417 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:409 Function Parameters:
+0:409 'inF0' (in 3X3 matrix of float)
+0:409 'inF1' (in 3X3 matrix of float)
+0:409 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:405 all (global bool)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Absolute value (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc cosine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 any (global bool)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc sine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 arc tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 Ceiling (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Test condition and select (temp void)
-0:405 Condition
-0:405 any (temp bool)
-0:405 Compare Less Than (temp 3X3 matrix of bool)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Constant:
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 0.000000
-0:405 true case
-0:405 Branch: Kill
-0:405 clamp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 'inF2' (in 3X3 matrix of float)
-0:405 cosine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 hyp. cosine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdx (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdxCoarse (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdxFine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdy (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdyCoarse (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 dPdyFine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 degrees (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 determinant (global float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 exp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 exp2 (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 findMSB (global int)
-0:405 Constant:
-0:405 7 (const int)
-0:405 findLSB (global int)
-0:405 Constant:
-0:405 7 (const int)
-0:405 Floor (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 mod (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 Fraction (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 frexp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 fwidth (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 ldexp (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 log (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 matrix-scale (temp 3X3 matrix of float)
-0:405 log2 (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Constant:
-0:405 0.301030
-0:405 log2 (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 max (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 min (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 pow (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 radians (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 roundEven (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 inverse sqrt (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 clamp (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Constant:
-0:405 0.000000
-0:405 Constant:
-0:405 1.000000
-0:405 Sign (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 sine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 Sequence
-0:405 move second child to first child (temp 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 sine (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 move second child to first child (temp 3X3 matrix of float)
-0:405 'inF2' (in 3X3 matrix of float)
-0:405 cosine (temp 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 hyp. sine (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 smoothstep (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 'inF2' (in 3X3 matrix of float)
-0:405 sqrt (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 step (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 'inF1' (in 3X3 matrix of float)
-0:405 tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 hyp. tangent (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 transpose (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:405 trunc (global 3X3 matrix of float)
-0:405 'inF0' (in 3X3 matrix of float)
-0:408 Branch: Return with expression
+0:411 Sequence
+0:411 move second child to first child (temp bool)
+0:411 'r000' (temp bool)
+0:411 all (global bool)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r001' (temp 3X3 matrix of float)
+0:411 Absolute value (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 arc cosine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp bool)
+0:411 'r003' (temp bool)
+0:411 any (global bool)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r004' (temp 3X3 matrix of float)
+0:411 arc sine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r005' (temp 3X3 matrix of float)
+0:411 arc tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r006' (temp 3X3 matrix of float)
+0:411 arc tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r007' (temp 3X3 matrix of float)
+0:411 Ceiling (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Test condition and select (temp void)
+0:411 Condition
+0:411 any (temp bool)
+0:411 Compare Less Than (temp 3X3 matrix of bool)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Constant:
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 0.000000
+0:411 true case
+0:411 Branch: Kill
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r008' (temp 3X3 matrix of float)
+0:411 clamp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r009' (temp 3X3 matrix of float)
+0:411 cosine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r010' (temp 3X3 matrix of float)
+0:411 hyp. cosine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r011' (temp 3X3 matrix of float)
+0:411 dPdx (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r012' (temp 3X3 matrix of float)
+0:411 dPdxCoarse (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r013' (temp 3X3 matrix of float)
+0:411 dPdxFine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r014' (temp 3X3 matrix of float)
+0:411 dPdy (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r015' (temp 3X3 matrix of float)
+0:411 dPdyCoarse (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r016' (temp 3X3 matrix of float)
+0:411 dPdyFine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r017' (temp 3X3 matrix of float)
+0:411 degrees (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp float)
+0:411 'r018' (temp float)
+0:411 determinant (global float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r019' (temp 3X3 matrix of float)
+0:411 exp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'R020' (temp 3X3 matrix of float)
+0:411 exp2 (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r021' (temp 3X3 matrix of float)
+0:411 Floor (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r022' (temp 3X3 matrix of float)
+0:411 mod (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r023' (temp 3X3 matrix of float)
+0:411 Fraction (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r024' (temp 3X3 matrix of float)
+0:411 frexp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r025' (temp 3X3 matrix of float)
+0:411 fwidth (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r026' (temp 3X3 matrix of float)
+0:411 ldexp (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r026a' (temp 3X3 matrix of float)
+0:411 mix (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r027' (temp 3X3 matrix of float)
+0:411 log (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r028' (temp 3X3 matrix of float)
+0:411 matrix-scale (temp 3X3 matrix of float)
+0:411 log2 (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Constant:
+0:411 0.301030
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r029' (temp 3X3 matrix of float)
+0:411 log2 (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r030' (temp 3X3 matrix of float)
+0:411 max (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r031' (temp 3X3 matrix of float)
+0:411 min (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r032' (temp 3X3 matrix of float)
+0:411 pow (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r033' (temp 3X3 matrix of float)
+0:411 radians (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r034' (temp 3X3 matrix of float)
+0:411 roundEven (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r035' (temp 3X3 matrix of float)
+0:411 inverse sqrt (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r036' (temp 3X3 matrix of float)
+0:411 clamp (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Constant:
+0:411 0.000000
+0:411 Constant:
+0:411 1.000000
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r037' (temp 3X3 matrix of float)
+0:411 Sign (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r038' (temp 3X3 matrix of float)
+0:411 sine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 sine (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 cosine (temp 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r039' (temp 3X3 matrix of float)
+0:411 hyp. sine (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r049' (temp 3X3 matrix of float)
+0:411 smoothstep (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 'inF2' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r041' (temp 3X3 matrix of float)
+0:411 sqrt (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r042' (temp 3X3 matrix of float)
+0:411 step (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 'inF1' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r043' (temp 3X3 matrix of float)
+0:411 tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r044' (temp 3X3 matrix of float)
+0:411 hyp. tangent (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 transpose (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 3X3 matrix of float)
+0:411 'r046' (temp 3X3 matrix of float)
+0:411 trunc (global 3X3 matrix of float)
+0:411 'inF0' (in 3X3 matrix of float)
+0:414 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:432 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:412 Function Parameters:
-0:412 'inF0' (in 4X4 matrix of float)
-0:412 'inF1' (in 4X4 matrix of float)
-0:412 'inF2' (in 4X4 matrix of float)
+0:438 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:418 Function Parameters:
+0:418 'inF0' (in 4X4 matrix of float)
+0:418 'inF1' (in 4X4 matrix of float)
+0:418 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:414 all (global bool)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Absolute value (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc cosine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 any (global bool)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc sine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 arc tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 Ceiling (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Test condition and select (temp void)
-0:414 Condition
-0:414 any (temp bool)
-0:414 Compare Less Than (temp 4X4 matrix of bool)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Constant:
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 0.000000
-0:414 true case
-0:414 Branch: Kill
-0:414 clamp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 'inF2' (in 4X4 matrix of float)
-0:414 cosine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 hyp. cosine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdx (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdxCoarse (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdxFine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdy (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdyCoarse (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 dPdyFine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 degrees (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 determinant (global float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 exp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 exp2 (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 findMSB (global int)
-0:414 Constant:
-0:414 7 (const int)
-0:414 findLSB (global int)
-0:414 Constant:
-0:414 7 (const int)
-0:414 Floor (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 mod (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 Fraction (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 frexp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 fwidth (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 ldexp (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 log (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 matrix-scale (temp 4X4 matrix of float)
-0:414 log2 (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Constant:
-0:414 0.301030
-0:414 log2 (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 max (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 min (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 pow (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 radians (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 roundEven (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 inverse sqrt (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 clamp (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Constant:
-0:414 0.000000
-0:414 Constant:
-0:414 1.000000
-0:414 Sign (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 sine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 Sequence
-0:414 move second child to first child (temp 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 sine (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 move second child to first child (temp 4X4 matrix of float)
-0:414 'inF2' (in 4X4 matrix of float)
-0:414 cosine (temp 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 hyp. sine (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 smoothstep (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 'inF2' (in 4X4 matrix of float)
-0:414 sqrt (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 step (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 'inF1' (in 4X4 matrix of float)
-0:414 tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 hyp. tangent (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 transpose (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:414 trunc (global 4X4 matrix of float)
-0:414 'inF0' (in 4X4 matrix of float)
-0:417 Branch: Return with expression
+0:420 Sequence
+0:420 move second child to first child (temp bool)
+0:420 'r000' (temp bool)
+0:420 all (global bool)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r001' (temp 4X4 matrix of float)
+0:420 Absolute value (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 arc cosine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp bool)
+0:420 'r003' (temp bool)
+0:420 any (global bool)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r004' (temp 4X4 matrix of float)
+0:420 arc sine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r005' (temp 4X4 matrix of float)
+0:420 arc tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r006' (temp 4X4 matrix of float)
+0:420 arc tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r007' (temp 4X4 matrix of float)
+0:420 Ceiling (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Test condition and select (temp void)
+0:420 Condition
+0:420 any (temp bool)
+0:420 Compare Less Than (temp 4X4 matrix of bool)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Constant:
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 0.000000
+0:420 true case
+0:420 Branch: Kill
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r008' (temp 4X4 matrix of float)
+0:420 clamp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r009' (temp 4X4 matrix of float)
+0:420 cosine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r010' (temp 4X4 matrix of float)
+0:420 hyp. cosine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r011' (temp 4X4 matrix of float)
+0:420 dPdx (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r012' (temp 4X4 matrix of float)
+0:420 dPdxCoarse (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r013' (temp 4X4 matrix of float)
+0:420 dPdxFine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r014' (temp 4X4 matrix of float)
+0:420 dPdy (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r015' (temp 4X4 matrix of float)
+0:420 dPdyCoarse (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r016' (temp 4X4 matrix of float)
+0:420 dPdyFine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r017' (temp 4X4 matrix of float)
+0:420 degrees (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp float)
+0:420 'r018' (temp float)
+0:420 determinant (global float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r019' (temp 4X4 matrix of float)
+0:420 exp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'R020' (temp 4X4 matrix of float)
+0:420 exp2 (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r021' (temp 4X4 matrix of float)
+0:420 Floor (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r022' (temp 4X4 matrix of float)
+0:420 mod (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r023' (temp 4X4 matrix of float)
+0:420 Fraction (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r024' (temp 4X4 matrix of float)
+0:420 frexp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r025' (temp 4X4 matrix of float)
+0:420 fwidth (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r026' (temp 4X4 matrix of float)
+0:420 ldexp (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r026a' (temp 4X4 matrix of float)
+0:420 mix (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r027' (temp 4X4 matrix of float)
+0:420 log (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r028' (temp 4X4 matrix of float)
+0:420 matrix-scale (temp 4X4 matrix of float)
+0:420 log2 (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Constant:
+0:420 0.301030
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r029' (temp 4X4 matrix of float)
+0:420 log2 (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r030' (temp 4X4 matrix of float)
+0:420 max (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r031' (temp 4X4 matrix of float)
+0:420 min (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r032' (temp 4X4 matrix of float)
+0:420 pow (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r033' (temp 4X4 matrix of float)
+0:420 radians (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r034' (temp 4X4 matrix of float)
+0:420 roundEven (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r035' (temp 4X4 matrix of float)
+0:420 inverse sqrt (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r036' (temp 4X4 matrix of float)
+0:420 clamp (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Constant:
+0:420 0.000000
+0:420 Constant:
+0:420 1.000000
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r037' (temp 4X4 matrix of float)
+0:420 Sign (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r038' (temp 4X4 matrix of float)
+0:420 sine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 sine (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 cosine (temp 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r039' (temp 4X4 matrix of float)
+0:420 hyp. sine (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r049' (temp 4X4 matrix of float)
+0:420 smoothstep (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 'inF2' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r041' (temp 4X4 matrix of float)
+0:420 sqrt (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r042' (temp 4X4 matrix of float)
+0:420 step (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 'inF1' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r043' (temp 4X4 matrix of float)
+0:420 tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r044' (temp 4X4 matrix of float)
+0:420 hyp. tangent (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 transpose (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:420 Sequence
+0:420 move second child to first child (temp 4X4 matrix of float)
+0:420 'r046' (temp 4X4 matrix of float)
+0:420 trunc (global 4X4 matrix of float)
+0:420 'inF0' (in 4X4 matrix of float)
+0:423 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
-0:439 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
-0:435 Function Parameters:
-0:435 'inF0' (in float)
-0:435 'inF1' (in float)
-0:435 'inFV0' (in 2-component vector of float)
-0:435 'inFV1' (in 2-component vector of float)
-0:435 'inFM0' (in 2X2 matrix of float)
-0:435 'inFM1' (in 2X2 matrix of float)
+0:445 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global void)
+0:441 Function Parameters:
+0:441 'inF0' (in float)
+0:441 'inF1' (in float)
+0:441 'inFV0' (in 2-component vector of float)
+0:441 'inFV1' (in 2-component vector of float)
+0:441 'inFM0' (in 2X2 matrix of float)
+0:441 'inFM1' (in 2X2 matrix of float)
+0:? Sequence
+0:442 Sequence
+0:442 move second child to first child (temp float)
+0:442 'r0' (temp float)
+0:442 component-wise multiply (temp float)
+0:442 'inF0' (in float)
+0:442 'inF1' (in float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r1' (temp 2-component vector of float)
+0:442 vector-scale (temp 2-component vector of float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 'inF0' (in float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r2' (temp 2-component vector of float)
+0:442 vector-scale (temp 2-component vector of float)
+0:442 'inF0' (in float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 Sequence
+0:442 move second child to first child (temp float)
+0:442 'r3' (temp float)
+0:442 dot-product (global float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 'inFV1' (in 2-component vector of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r4' (temp 2-component vector of float)
+0:442 matrix-times-vector (temp 2-component vector of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2-component vector of float)
+0:442 'r5' (temp 2-component vector of float)
+0:442 vector-times-matrix (temp 2-component vector of float)
+0:442 'inFV0' (in 2-component vector of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2X2 matrix of float)
+0:442 'r6' (temp 2X2 matrix of float)
+0:442 matrix-scale (temp 2X2 matrix of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 'inF0' (in float)
+0:442 Sequence
+0:442 move second child to first child (temp 2X2 matrix of float)
+0:442 'r7' (temp 2X2 matrix of float)
+0:442 matrix-scale (temp 2X2 matrix of float)
+0:442 'inF0' (in float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 Sequence
+0:442 move second child to first child (temp 2X2 matrix of float)
+0:442 'r8' (temp 2X2 matrix of float)
+0:442 matrix-multiply (temp 2X2 matrix of float)
+0:442 'inFM0' (in 2X2 matrix of float)
+0:442 'inFM1' (in 2X2 matrix of float)
+0:452 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void)
+0:448 Function Parameters:
+0:448 'inF0' (in float)
+0:448 'inF1' (in float)
+0:448 'inFV0' (in 3-component vector of float)
+0:448 'inFV1' (in 3-component vector of float)
+0:448 'inFM0' (in 3X3 matrix of float)
+0:448 'inFM1' (in 3X3 matrix of float)
0:? Sequence
-0:436 move second child to first child (temp float)
-0:436 'r0' (temp float)
-0:436 component-wise multiply (temp float)
-0:436 'inF0' (in float)
-0:436 'inF1' (in float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r1' (temp 2-component vector of float)
-0:436 vector-scale (temp 2-component vector of float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 'inF0' (in float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r2' (temp 2-component vector of float)
-0:436 vector-scale (temp 2-component vector of float)
-0:436 'inF0' (in float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 move second child to first child (temp float)
-0:436 'r3' (temp float)
-0:436 dot-product (global float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 'inFV1' (in 2-component vector of float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r4' (temp 2-component vector of float)
-0:436 matrix-times-vector (temp 2-component vector of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 move second child to first child (temp 2-component vector of float)
-0:436 'r5' (temp 2-component vector of float)
-0:436 vector-times-matrix (temp 2-component vector of float)
-0:436 'inFV0' (in 2-component vector of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 move second child to first child (temp 2X2 matrix of float)
-0:436 'r6' (temp 2X2 matrix of float)
-0:436 matrix-scale (temp 2X2 matrix of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 'inF0' (in float)
-0:436 move second child to first child (temp 2X2 matrix of float)
-0:436 'r7' (temp 2X2 matrix of float)
-0:436 matrix-scale (temp 2X2 matrix of float)
-0:436 'inF0' (in float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 move second child to first child (temp 2X2 matrix of float)
-0:436 'r8' (temp 2X2 matrix of float)
-0:436 matrix-multiply (temp 2X2 matrix of float)
-0:436 'inFM0' (in 2X2 matrix of float)
-0:436 'inFM1' (in 2X2 matrix of float)
-0:446 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
-0:442 Function Parameters:
-0:442 'inF0' (in float)
-0:442 'inF1' (in float)
-0:442 'inFV0' (in 3-component vector of float)
-0:442 'inFV1' (in 3-component vector of float)
-0:442 'inFM0' (in 3X3 matrix of float)
-0:442 'inFM1' (in 3X3 matrix of float)
+0:449 Sequence
+0:449 move second child to first child (temp float)
+0:449 'r0' (temp float)
+0:449 component-wise multiply (temp float)
+0:449 'inF0' (in float)
+0:449 'inF1' (in float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r1' (temp 3-component vector of float)
+0:449 vector-scale (temp 3-component vector of float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 'inF0' (in float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r2' (temp 3-component vector of float)
+0:449 vector-scale (temp 3-component vector of float)
+0:449 'inF0' (in float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 Sequence
+0:449 move second child to first child (temp float)
+0:449 'r3' (temp float)
+0:449 dot-product (global float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 'inFV1' (in 3-component vector of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r4' (temp 3-component vector of float)
+0:449 matrix-times-vector (temp 3-component vector of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3-component vector of float)
+0:449 'r5' (temp 3-component vector of float)
+0:449 vector-times-matrix (temp 3-component vector of float)
+0:449 'inFV0' (in 3-component vector of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3X3 matrix of float)
+0:449 'r6' (temp 3X3 matrix of float)
+0:449 matrix-scale (temp 3X3 matrix of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 'inF0' (in float)
+0:449 Sequence
+0:449 move second child to first child (temp 3X3 matrix of float)
+0:449 'r7' (temp 3X3 matrix of float)
+0:449 matrix-scale (temp 3X3 matrix of float)
+0:449 'inF0' (in float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 Sequence
+0:449 move second child to first child (temp 3X3 matrix of float)
+0:449 'r8' (temp 3X3 matrix of float)
+0:449 matrix-multiply (temp 3X3 matrix of float)
+0:449 'inFM0' (in 3X3 matrix of float)
+0:449 'inFM1' (in 3X3 matrix of float)
+0:460 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void)
+0:455 Function Parameters:
+0:455 'inF0' (in float)
+0:455 'inF1' (in float)
+0:455 'inFV0' (in 4-component vector of float)
+0:455 'inFV1' (in 4-component vector of float)
+0:455 'inFM0' (in 4X4 matrix of float)
+0:455 'inFM1' (in 4X4 matrix of float)
0:? Sequence
-0:443 move second child to first child (temp float)
-0:443 'r0' (temp float)
-0:443 component-wise multiply (temp float)
-0:443 'inF0' (in float)
-0:443 'inF1' (in float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r1' (temp 3-component vector of float)
-0:443 vector-scale (temp 3-component vector of float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 'inF0' (in float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r2' (temp 3-component vector of float)
-0:443 vector-scale (temp 3-component vector of float)
-0:443 'inF0' (in float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 move second child to first child (temp float)
-0:443 'r3' (temp float)
-0:443 dot-product (global float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 'inFV1' (in 3-component vector of float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r4' (temp 3-component vector of float)
-0:443 matrix-times-vector (temp 3-component vector of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 move second child to first child (temp 3-component vector of float)
-0:443 'r5' (temp 3-component vector of float)
-0:443 vector-times-matrix (temp 3-component vector of float)
-0:443 'inFV0' (in 3-component vector of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 move second child to first child (temp 3X3 matrix of float)
-0:443 'r6' (temp 3X3 matrix of float)
-0:443 matrix-scale (temp 3X3 matrix of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 'inF0' (in float)
-0:443 move second child to first child (temp 3X3 matrix of float)
-0:443 'r7' (temp 3X3 matrix of float)
-0:443 matrix-scale (temp 3X3 matrix of float)
-0:443 'inF0' (in float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 move second child to first child (temp 3X3 matrix of float)
-0:443 'r8' (temp 3X3 matrix of float)
-0:443 matrix-multiply (temp 3X3 matrix of float)
-0:443 'inFM0' (in 3X3 matrix of float)
-0:443 'inFM1' (in 3X3 matrix of float)
-0:452 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
-0:449 Function Parameters:
-0:449 'inF0' (in float)
-0:449 'inF1' (in float)
-0:449 'inFV0' (in 4-component vector of float)
-0:449 'inFV1' (in 4-component vector of float)
-0:449 'inFM0' (in 4X4 matrix of float)
-0:449 'inFM1' (in 4X4 matrix of float)
+0:456 Sequence
+0:456 move second child to first child (temp float)
+0:456 'r0' (temp float)
+0:456 component-wise multiply (temp float)
+0:456 'inF0' (in float)
+0:456 'inF1' (in float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r1' (temp 4-component vector of float)
+0:456 vector-scale (temp 4-component vector of float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 'inF0' (in float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r2' (temp 4-component vector of float)
+0:456 vector-scale (temp 4-component vector of float)
+0:456 'inF0' (in float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 Sequence
+0:456 move second child to first child (temp float)
+0:456 'r3' (temp float)
+0:456 dot-product (global float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 'inFV1' (in 4-component vector of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r4' (temp 4-component vector of float)
+0:456 matrix-times-vector (temp 4-component vector of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4-component vector of float)
+0:456 'r5' (temp 4-component vector of float)
+0:456 vector-times-matrix (temp 4-component vector of float)
+0:456 'inFV0' (in 4-component vector of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4X4 matrix of float)
+0:456 'r6' (temp 4X4 matrix of float)
+0:456 matrix-scale (temp 4X4 matrix of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 'inF0' (in float)
+0:456 Sequence
+0:456 move second child to first child (temp 4X4 matrix of float)
+0:456 'r7' (temp 4X4 matrix of float)
+0:456 matrix-scale (temp 4X4 matrix of float)
+0:456 'inF0' (in float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 Sequence
+0:456 move second child to first child (temp 4X4 matrix of float)
+0:456 'r8' (temp 4X4 matrix of float)
+0:456 matrix-multiply (temp 4X4 matrix of float)
+0:456 'inFM0' (in 4X4 matrix of float)
+0:456 'inFM1' (in 4X4 matrix of float)
+0:484 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void)
+0:465 Function Parameters:
+0:465 'inF0' (in float)
+0:465 'inF1' (in float)
+0:465 'inFV2' (in 2-component vector of float)
+0:465 'inFV3' (in 3-component vector of float)
+0:465 'inFM2x3' (in 3X2 matrix of float)
+0:465 'inFM3x2' (in 2X3 matrix of float)
+0:465 'inFM3x3' (in 3X3 matrix of float)
+0:465 'inFM3x4' (in 4X3 matrix of float)
+0:465 'inFM2x4' (in 4X2 matrix of float)
0:? Sequence
-0:450 move second child to first child (temp float)
-0:450 'r0' (temp float)
-0:450 component-wise multiply (temp float)
-0:450 'inF0' (in float)
-0:450 'inF1' (in float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r1' (temp 4-component vector of float)
-0:450 vector-scale (temp 4-component vector of float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 'inF0' (in float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r2' (temp 4-component vector of float)
-0:450 vector-scale (temp 4-component vector of float)
-0:450 'inF0' (in float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 move second child to first child (temp float)
-0:450 'r3' (temp float)
-0:450 dot-product (global float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 'inFV1' (in 4-component vector of float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r4' (temp 4-component vector of float)
-0:450 matrix-times-vector (temp 4-component vector of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 move second child to first child (temp 4-component vector of float)
-0:450 'r5' (temp 4-component vector of float)
-0:450 vector-times-matrix (temp 4-component vector of float)
-0:450 'inFV0' (in 4-component vector of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 move second child to first child (temp 4X4 matrix of float)
-0:450 'r6' (temp 4X4 matrix of float)
-0:450 matrix-scale (temp 4X4 matrix of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 'inF0' (in float)
-0:450 move second child to first child (temp 4X4 matrix of float)
-0:450 'r7' (temp 4X4 matrix of float)
-0:450 matrix-scale (temp 4X4 matrix of float)
-0:450 'inF0' (in float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 move second child to first child (temp 4X4 matrix of float)
-0:450 'r8' (temp 4X4 matrix of float)
-0:450 matrix-multiply (temp 4X4 matrix of float)
-0:450 'inFM0' (in 4X4 matrix of float)
-0:450 'inFM1' (in 4X4 matrix of float)
+0:466 Sequence
+0:466 move second child to first child (temp float)
+0:466 'r00' (temp float)
+0:466 component-wise multiply (temp float)
+0:466 'inF0' (in float)
+0:466 'inF1' (in float)
+0:467 Sequence
+0:467 move second child to first child (temp 2-component vector of float)
+0:467 'r01' (temp 2-component vector of float)
+0:467 vector-scale (temp 2-component vector of float)
+0:467 'inFV2' (in 2-component vector of float)
+0:467 'inF0' (in float)
+0:468 Sequence
+0:468 move second child to first child (temp 3-component vector of float)
+0:468 'r02' (temp 3-component vector of float)
+0:468 vector-scale (temp 3-component vector of float)
+0:468 'inFV3' (in 3-component vector of float)
+0:468 'inF0' (in float)
+0:469 Sequence
+0:469 move second child to first child (temp 2-component vector of float)
+0:469 'r03' (temp 2-component vector of float)
+0:469 vector-scale (temp 2-component vector of float)
+0:469 'inF0' (in float)
+0:469 'inFV2' (in 2-component vector of float)
+0:470 Sequence
+0:470 move second child to first child (temp 3-component vector of float)
+0:470 'r04' (temp 3-component vector of float)
+0:470 vector-scale (temp 3-component vector of float)
+0:470 'inF0' (in float)
+0:470 'inFV3' (in 3-component vector of float)
+0:471 Sequence
+0:471 move second child to first child (temp float)
+0:471 'r05' (temp float)
+0:471 dot-product (global float)
+0:471 'inFV2' (in 2-component vector of float)
+0:471 'inFV2' (in 2-component vector of float)
+0:472 Sequence
+0:472 move second child to first child (temp float)
+0:472 'r06' (temp float)
+0:472 dot-product (global float)
+0:472 'inFV3' (in 3-component vector of float)
+0:472 'inFV3' (in 3-component vector of float)
+0:473 Sequence
+0:473 move second child to first child (temp 3-component vector of float)
+0:473 'r07' (temp 3-component vector of float)
+0:473 vector-times-matrix (temp 3-component vector of float)
+0:473 'inFV2' (in 2-component vector of float)
+0:473 'inFM2x3' (in 3X2 matrix of float)
+0:474 Sequence
+0:474 move second child to first child (temp 2-component vector of float)
+0:474 'r08' (temp 2-component vector of float)
+0:474 vector-times-matrix (temp 2-component vector of float)
+0:474 'inFV3' (in 3-component vector of float)
+0:474 'inFM3x2' (in 2X3 matrix of float)
+0:475 Sequence
+0:475 move second child to first child (temp 2-component vector of float)
+0:475 'r09' (temp 2-component vector of float)
+0:475 matrix-times-vector (temp 2-component vector of float)
+0:475 'inFM2x3' (in 3X2 matrix of float)
+0:475 'inFV3' (in 3-component vector of float)
+0:476 Sequence
+0:476 move second child to first child (temp 3-component vector of float)
+0:476 'r10' (temp 3-component vector of float)
+0:476 matrix-times-vector (temp 3-component vector of float)
+0:476 'inFM3x2' (in 2X3 matrix of float)
+0:476 'inFV2' (in 2-component vector of float)
+0:477 Sequence
+0:477 move second child to first child (temp 3X2 matrix of float)
+0:477 'r11' (temp 3X2 matrix of float)
+0:477 matrix-scale (temp 3X2 matrix of float)
+0:477 'inFM2x3' (in 3X2 matrix of float)
+0:477 'inF0' (in float)
+0:478 Sequence
+0:478 move second child to first child (temp 2X3 matrix of float)
+0:478 'r12' (temp 2X3 matrix of float)
+0:478 matrix-scale (temp 2X3 matrix of float)
+0:478 'inFM3x2' (in 2X3 matrix of float)
+0:478 'inF0' (in float)
+0:479 Sequence
+0:479 move second child to first child (temp 2X2 matrix of float)
+0:479 'r13' (temp 2X2 matrix of float)
+0:479 matrix-multiply (temp 2X2 matrix of float)
+0:479 'inFM2x3' (in 3X2 matrix of float)
+0:479 'inFM3x2' (in 2X3 matrix of float)
+0:480 Sequence
+0:480 move second child to first child (temp 3X2 matrix of float)
+0:480 'r14' (temp 3X2 matrix of float)
+0:480 matrix-multiply (temp 3X2 matrix of float)
+0:480 'inFM2x3' (in 3X2 matrix of float)
+0:480 'inFM3x3' (in 3X3 matrix of float)
+0:481 Sequence
+0:481 move second child to first child (temp 4X2 matrix of float)
+0:481 'r15' (temp 4X2 matrix of float)
+0:481 matrix-multiply (temp 4X2 matrix of float)
+0:481 'inFM2x3' (in 3X2 matrix of float)
+0:481 'inFM3x4' (in 4X3 matrix of float)
+0:482 Sequence
+0:482 move second child to first child (temp 4X3 matrix of float)
+0:482 'r16' (temp 4X3 matrix of float)
+0:482 matrix-multiply (temp 4X3 matrix of float)
+0:482 'inFM3x2' (in 2X3 matrix of float)
+0:482 'inFM2x4' (in 4X2 matrix of float)
0:? Linker Objects
-0:? 'gs_ua' (temp uint)
-0:? 'gs_ub' (temp uint)
-0:? 'gs_uc' (temp uint)
-0:? 'gs_ua2' (temp 2-component vector of uint)
-0:? 'gs_ub2' (temp 2-component vector of uint)
-0:? 'gs_uc2' (temp 2-component vector of uint)
-0:? 'gs_ua3' (temp 3-component vector of uint)
-0:? 'gs_ub3' (temp 3-component vector of uint)
-0:? 'gs_uc3' (temp 3-component vector of uint)
-0:? 'gs_ua4' (temp 4-component vector of uint)
-0:? 'gs_ub4' (temp 4-component vector of uint)
-0:? 'gs_uc4' (temp 4-component vector of uint)
+0:? 'gs_ua' (global uint)
+0:? 'gs_ub' (global uint)
+0:? 'gs_uc' (global uint)
+0:? 'gs_ua2' (global 2-component vector of uint)
+0:? 'gs_ub2' (global 2-component vector of uint)
+0:? 'gs_uc2' (global 2-component vector of uint)
+0:? 'gs_ua3' (global 3-component vector of uint)
+0:? 'gs_ub3' (global 3-component vector of uint)
+0:? 'gs_uc3' (global 3-component vector of uint)
+0:? 'gs_ua4' (global 4-component vector of uint)
+0:? 'gs_ub4' (global 4-component vector of uint)
+0:? 'gs_uc4' (global 4-component vector of uint)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 1265
+// Id's are bound by 1806
Capability Shader
Capability DerivativeControl
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "PixelShaderFunction" 48 67 73 80 195 213 219 226 366 384 390 397 539 557 563 570 719 733 748 857 871 886 998 1012 1027
+ EntryPoint Fragment 4 "PixelShaderFunction" 804 831 839 848
ExecutionMode 4 OriginUpperLeft
Source HLSL 450
Name 4 "PixelShaderFunction"
- Name 19 "TestGenMul(f1;f1;vf2;vf2;mf22;mf22;"
- Name 13 "inF0"
- Name 14 "inF1"
- Name 15 "inFV0"
- Name 16 "inFV1"
- Name 17 "inFM0"
- Name 18 "inFM1"
- Name 32 "TestGenMul(f1;f1;vf3;vf3;mf33;mf33;"
- Name 26 "inF0"
- Name 27 "inF1"
- Name 28 "inFV0"
- Name 29 "inFV1"
- Name 30 "inFM0"
- Name 31 "inFM1"
- Name 45 "TestGenMul(f1;f1;vf4;vf4;mf44;mf44;"
- Name 39 "inF0"
- Name 40 "inF1"
- Name 41 "inFV0"
- Name 42 "inFV1"
- Name 43 "inFM0"
- Name 44 "inFM1"
- Name 48 "inF0"
- Name 67 "inU0"
- Name 73 "inF1"
- Name 80 "inF2"
- Name 124 "ResType"
- Name 195 "inF0"
- Name 213 "inU0"
- Name 219 "inF1"
- Name 226 "inF2"
- Name 282 "ResType"
- Name 366 "inF0"
- Name 384 "inU0"
- Name 390 "inF1"
- Name 397 "inF2"
- Name 456 "ResType"
- Name 539 "inF0"
- Name 557 "inU0"
- Name 563 "inF1"
- Name 570 "inF2"
- Name 635 "ResType"
- Name 719 "inF0"
- Name 733 "inF1"
- Name 748 "inF2"
- Name 791 "ResType"
- Name 857 "inF0"
- Name 871 "inF1"
- Name 886 "inF2"
- Name 932 "ResType"
- Name 998 "inF0"
- Name 1012 "inF1"
- Name 1027 "inF2"
- Name 1076 "ResType"
- Name 1141 "r0"
- Name 1145 "r1"
- Name 1149 "r2"
- Name 1153 "r3"
- Name 1157 "r4"
- Name 1161 "r5"
- Name 1165 "r6"
- Name 1169 "r7"
- Name 1173 "r8"
- Name 1177 "r0"
- Name 1181 "r1"
- Name 1185 "r2"
- Name 1189 "r3"
- Name 1193 "r4"
- Name 1197 "r5"
- Name 1201 "r6"
- Name 1205 "r7"
- Name 1209 "r8"
- Name 1213 "r0"
- Name 1217 "r1"
- Name 1221 "r2"
- Name 1225 "r3"
- Name 1229 "r4"
- Name 1233 "r5"
- Name 1237 "r6"
- Name 1241 "r7"
- Name 1245 "r8"
- Name 1250 "gs_ua"
- Name 1251 "gs_ub"
- Name 1252 "gs_uc"
- Name 1254 "gs_ua2"
- Name 1255 "gs_ub2"
- Name 1256 "gs_uc2"
- Name 1258 "gs_ua3"
- Name 1259 "gs_ub3"
- Name 1260 "gs_uc3"
- Name 1262 "gs_ua4"
- Name 1263 "gs_ub4"
- Name 1264 "gs_uc4"
+ Name 16 "PixelShaderFunctionS(f1;f1;f1;u1;u1;"
+ Name 11 "inF0"
+ Name 12 "inF1"
+ Name 13 "inF2"
+ Name 14 "inU0"
+ Name 15 "inU1"
+ Name 22 "PixelShaderFunction1(vf1;vf1;vf1;"
+ Name 19 "inF0"
+ Name 20 "inF1"
+ Name 21 "inF2"
+ Name 34 "PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
+ Name 29 "inF0"
+ Name 30 "inF1"
+ Name 31 "inF2"
+ Name 32 "inU0"
+ Name 33 "inU1"
+ Name 46 "PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
+ Name 41 "inF0"
+ Name 42 "inF1"
+ Name 43 "inF2"
+ Name 44 "inU0"
+ Name 45 "inU1"
+ Name 54 "PixelShaderFunction2x2(mf22;mf22;mf22;"
+ Name 51 "inF0"
+ Name 52 "inF1"
+ Name 53 "inF2"
+ Name 62 "PixelShaderFunction3x3(mf33;mf33;mf33;"
+ Name 59 "inF0"
+ Name 60 "inF1"
+ Name 61 "inF2"
+ Name 71 "PixelShaderFunction4x4(mf44;mf44;mf44;"
+ Name 68 "inF0"
+ Name 69 "inF1"
+ Name 70 "inF2"
+ Name 80 "TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;"
+ Name 74 "inF0"
+ Name 75 "inF1"
+ Name 76 "inFV0"
+ Name 77 "inFV1"
+ Name 78 "inFM0"
+ Name 79 "inFM1"
+ Name 89 "TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;"
+ Name 83 "inF0"
+ Name 84 "inF1"
+ Name 85 "inFV0"
+ Name 86 "inFV1"
+ Name 87 "inFM0"
+ Name 88 "inFM1"
+ Name 99 "TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;"
+ Name 93 "inF0"
+ Name 94 "inF1"
+ Name 95 "inFV0"
+ Name 96 "inFV1"
+ Name 97 "inFM0"
+ Name 98 "inFM1"
+ Name 119 "TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;"
+ Name 110 "inF0"
+ Name 111 "inF1"
+ Name 112 "inFV2"
+ Name 113 "inFV3"
+ Name 114 "inFM2x3"
+ Name 115 "inFM3x2"
+ Name 116 "inFM3x3"
+ Name 117 "inFM3x4"
+ Name 118 "inFM2x4"
+ Name 123 "r000"
+ Name 126 "r001"
+ Name 129 "r002"
+ Name 132 "r003"
+ Name 135 "r004"
+ Name 140 "r005"
+ Name 143 "r006"
+ Name 146 "r007"
+ Name 149 "r009"
+ Name 152 "r010"
+ Name 156 "r011"
+ Name 159 "r012"
+ Name 170 "r014"
+ Name 173 "r015"
+ Name 176 "r016"
+ Name 179 "r017"
+ Name 182 "r018"
+ Name 185 "r019"
+ Name 188 "r020"
+ Name 191 "r021"
+ Name 194 "r022"
+ Name 197 "r023"
+ Name 200 "r027"
+ Name 203 "r028"
+ Name 206 "r029"
+ Name 210 "r030"
+ Name 213 "r031"
+ Name 216 "r033"
+ Name 220 "r034"
+ Name 223 "r035"
+ Name 225 "ResType"
+ Name 229 "r036"
+ Name 232 "r037"
+ Name 235 "r038"
+ Name 238 "r039"
+ Name 242 "r039a"
+ Name 247 "r040"
+ Name 250 "r041"
+ Name 255 "r042"
+ Name 258 "r043"
+ Name 262 "r044"
+ Name 266 "r045"
+ Name 270 "r046"
+ Name 273 "r047"
+ Name 277 "r048"
+ Name 280 "r049"
+ Name 283 "r050"
+ Name 286 "r051"
+ Name 289 "r052"
+ Name 292 "r053"
+ Name 299 "r055"
+ Name 302 "r056"
+ Name 307 "r057"
+ Name 310 "r058"
+ Name 314 "r059"
+ Name 317 "r060"
+ Name 320 "r061"
+ Name 327 "r000"
+ Name 330 "r001"
+ Name 333 "r002"
+ Name 336 "r003"
+ Name 339 "r004"
+ Name 344 "r005"
+ Name 347 "r006"
+ Name 350 "r007"
+ Name 353 "r009"
+ Name 356 "r010"
+ Name 360 "r011"
+ Name 363 "r012"
+ Name 376 "r013"
+ Name 379 "r015"
+ Name 382 "r016"
+ Name 386 "r017"
+ Name 389 "r018"
+ Name 392 "r019"
+ Name 395 "r020"
+ Name 398 "r021"
+ Name 401 "r022"
+ Name 404 "r023"
+ Name 407 "r026"
+ Name 411 "r027"
+ Name 415 "r028"
+ Name 418 "r029"
+ Name 421 "r030"
+ Name 426 "r031"
+ Name 430 "r032"
+ Name 432 "r033"
+ Name 435 "r035"
+ Name 439 "r036"
+ Name 442 "r037"
+ Name 444 "ResType"
+ Name 448 "r038"
+ Name 452 "r039"
+ Name 455 "r040"
+ Name 458 "r041"
+ Name 462 "r039a"
+ Name 467 "r042"
+ Name 470 "r043"
+ Name 473 "r044"
+ Name 477 "r045"
+ Name 480 "r046"
+ Name 484 "r047"
+ Name 488 "r048"
+ Name 491 "r049"
+ Name 495 "r050"
+ Name 498 "r051"
+ Name 502 "r052"
+ Name 506 "r053"
+ Name 511 "r054"
+ Name 515 "r055"
+ Name 518 "r056"
+ Name 521 "r057"
+ Name 526 "r058"
+ Name 529 "r059"
+ Name 536 "r060"
+ Name 539 "r061"
+ Name 544 "r062"
+ Name 547 "r063"
+ Name 551 "r064"
+ Name 554 "r065"
+ Name 557 "r066"
+ Name 563 "r000"
+ Name 566 "r001"
+ Name 569 "r002"
+ Name 572 "r003"
+ Name 575 "r004"
+ Name 580 "r005"
+ Name 583 "r006"
+ Name 586 "r007"
+ Name 589 "r009"
+ Name 592 "r010"
+ Name 596 "r011"
+ Name 599 "r012"
+ Name 612 "r013"
+ Name 615 "r014"
+ Name 618 "r015"
+ Name 622 "r016"
+ Name 626 "r017"
+ Name 629 "r018"
+ Name 632 "r019"
+ Name 635 "r020"
+ Name 638 "r021"
+ Name 641 "r022"
+ Name 644 "r023"
+ Name 647 "r024"
+ Name 651 "r025"
+ Name 655 "r029"
+ Name 658 "r030"
+ Name 661 "r031"
+ Name 666 "r032"
+ Name 670 "r033"
+ Name 672 "r034"
+ Name 675 "r036"
+ Name 679 "r037"
+ Name 682 "r038"
+ Name 684 "ResType"
+ Name 688 "r039"
+ Name 692 "r040"
+ Name 695 "r041"
+ Name 698 "r042"
+ Name 702 "r039a"
+ Name 707 "r043"
+ Name 710 "r044"
+ Name 713 "r045"
+ Name 717 "r046"
+ Name 720 "r047"
+ Name 724 "r048"
+ Name 728 "r049"
+ Name 731 "r050"
+ Name 735 "r051"
+ Name 738 "r052"
+ Name 742 "r053"
+ Name 746 "r054"
+ Name 750 "r055"
+ Name 753 "r056"
+ Name 756 "r057"
+ Name 759 "r058"
+ Name 764 "r059"
+ Name 767 "r060"
+ Name 774 "r061"
+ Name 777 "r062"
+ Name 782 "r063"
+ Name 785 "r064"
+ Name 789 "r065"
+ Name 792 "r066"
+ Name 795 "r067"
+ Name 802 "r000"
+ Name 804 "inF0"
+ Name 807 "r001"
+ Name 810 "r002"
+ Name 813 "r003"
+ Name 816 "r004"
+ Name 821 "r005"
+ Name 826 "r006"
+ Name 829 "r007"
+ Name 831 "inU0"
+ Name 834 "r009"
+ Name 837 "r010"
+ Name 839 "inF1"
+ Name 842 "r011"
+ Name 845 "r012"
+ Name 848 "inF2"
+ Name 859 "r013"
+ Name 862 "r014"
+ Name 865 "r015"
+ Name 868 "r016"
+ Name 871 "r017"
+ Name 874 "r018"
+ Name 877 "r019"
+ Name 880 "r020"
+ Name 883 "r021"
+ Name 886 "r022"
+ Name 889 "r023"
+ Name 893 "r024"
+ Name 897 "r025"
+ Name 909 "r029"
+ Name 912 "r030"
+ Name 915 "r031"
+ Name 920 "r032"
+ Name 925 "r033"
+ Name 927 "r034"
+ Name 930 "r036"
+ Name 934 "r037"
+ Name 937 "r038"
+ Name 939 "ResType"
+ Name 943 "r039"
+ Name 947 "r040"
+ Name 950 "r041"
+ Name 953 "r042"
+ Name 957 "r039a"
+ Name 962 "r043"
+ Name 965 "r044"
+ Name 968 "r045"
+ Name 972 "r046"
+ Name 975 "r047"
+ Name 979 "r048"
+ Name 983 "r049"
+ Name 986 "r050"
+ Name 990 "r051"
+ Name 993 "r052"
+ Name 997 "r053"
+ Name 1001 "r054"
+ Name 1005 "r055"
+ Name 1008 "r056"
+ Name 1011 "r057"
+ Name 1014 "r058"
+ Name 1019 "r059"
+ Name 1022 "r060"
+ Name 1029 "r061"
+ Name 1032 "r062"
+ Name 1037 "r063"
+ Name 1040 "r064"
+ Name 1044 "r065"
+ Name 1047 "r066"
+ Name 1050 "r067"
+ Name 1056 "r000"
+ Name 1059 "r001"
+ Name 1064 "r003"
+ Name 1067 "r004"
+ Name 1070 "r005"
+ Name 1073 "r006"
+ Name 1077 "r007"
+ Name 1088 "r008"
+ Name 1093 "r009"
+ Name 1096 "r010"
+ Name 1099 "r011"
+ Name 1102 "r012"
+ Name 1105 "r013"
+ Name 1108 "r014"
+ Name 1111 "r015"
+ Name 1114 "r016"
+ Name 1117 "r017"
+ Name 1120 "r018"
+ Name 1123 "r019"
+ Name 1126 "R020"
+ Name 1129 "r021"
+ Name 1132 "r022"
+ Name 1142 "r023"
+ Name 1145 "r024"
+ Name 1147 "ResType"
+ Name 1151 "r025"
+ Name 1154 "r026"
+ Name 1158 "r026a"
+ Name 1163 "r027"
+ Name 1166 "r028"
+ Name 1170 "r029"
+ Name 1173 "r030"
+ Name 1177 "r031"
+ Name 1181 "r032"
+ Name 1185 "r033"
+ Name 1188 "r034"
+ Name 1191 "r035"
+ Name 1194 "r036"
+ Name 1199 "r037"
+ Name 1202 "r038"
+ Name 1209 "r039"
+ Name 1212 "r049"
+ Name 1217 "r041"
+ Name 1220 "r042"
+ Name 1224 "r043"
+ Name 1227 "r044"
+ Name 1232 "r046"
+ Name 1239 "r000"
+ Name 1242 "r001"
+ Name 1247 "r003"
+ Name 1250 "r004"
+ Name 1253 "r005"
+ Name 1256 "r006"
+ Name 1260 "r007"
+ Name 1271 "r008"
+ Name 1276 "r009"
+ Name 1279 "r010"
+ Name 1282 "r011"
+ Name 1285 "r012"
+ Name 1288 "r013"
+ Name 1291 "r014"
+ Name 1294 "r015"
+ Name 1297 "r016"
+ Name 1300 "r017"
+ Name 1303 "r018"
+ Name 1306 "r019"
+ Name 1309 "R020"
+ Name 1312 "r021"
+ Name 1315 "r022"
+ Name 1328 "r023"
+ Name 1331 "r024"
+ Name 1333 "ResType"
+ Name 1337 "r025"
+ Name 1340 "r026"
+ Name 1344 "r026a"
+ Name 1349 "r027"
+ Name 1352 "r028"
+ Name 1356 "r029"
+ Name 1359 "r030"
+ Name 1363 "r031"
+ Name 1367 "r032"
+ Name 1371 "r033"
+ Name 1374 "r034"
+ Name 1377 "r035"
+ Name 1380 "r036"
+ Name 1385 "r037"
+ Name 1388 "r038"
+ Name 1395 "r039"
+ Name 1398 "r049"
+ Name 1403 "r041"
+ Name 1406 "r042"
+ Name 1410 "r043"
+ Name 1413 "r044"
+ Name 1418 "r046"
+ Name 1425 "r000"
+ Name 1428 "r001"
+ Name 1433 "r003"
+ Name 1436 "r004"
+ Name 1439 "r005"
+ Name 1442 "r006"
+ Name 1446 "r007"
+ Name 1457 "r008"
+ Name 1462 "r009"
+ Name 1465 "r010"
+ Name 1468 "r011"
+ Name 1471 "r012"
+ Name 1474 "r013"
+ Name 1477 "r014"
+ Name 1480 "r015"
+ Name 1483 "r016"
+ Name 1486 "r017"
+ Name 1489 "r018"
+ Name 1492 "r019"
+ Name 1495 "R020"
+ Name 1498 "r021"
+ Name 1501 "r022"
+ Name 1517 "r023"
+ Name 1520 "r024"
+ Name 1522 "ResType"
+ Name 1526 "r025"
+ Name 1529 "r026"
+ Name 1533 "r026a"
+ Name 1538 "r027"
+ Name 1541 "r028"
+ Name 1545 "r029"
+ Name 1548 "r030"
+ Name 1552 "r031"
+ Name 1556 "r032"
+ Name 1560 "r033"
+ Name 1563 "r034"
+ Name 1566 "r035"
+ Name 1569 "r036"
+ Name 1574 "r037"
+ Name 1577 "r038"
+ Name 1584 "r039"
+ Name 1587 "r049"
+ Name 1592 "r041"
+ Name 1595 "r042"
+ Name 1599 "r043"
+ Name 1602 "r044"
+ Name 1607 "r046"
+ Name 1614 "r0"
+ Name 1618 "r1"
+ Name 1622 "r2"
+ Name 1626 "r3"
+ Name 1630 "r4"
+ Name 1634 "r5"
+ Name 1638 "r6"
+ Name 1642 "r7"
+ Name 1646 "r8"
+ Name 1650 "r0"
+ Name 1654 "r1"
+ Name 1658 "r2"
+ Name 1662 "r3"
+ Name 1666 "r4"
+ Name 1670 "r5"
+ Name 1674 "r6"
+ Name 1678 "r7"
+ Name 1682 "r8"
+ Name 1686 "r0"
+ Name 1690 "r1"
+ Name 1694 "r2"
+ Name 1698 "r3"
+ Name 1702 "r4"
+ Name 1706 "r5"
+ Name 1710 "r6"
+ Name 1714 "r7"
+ Name 1718 "r8"
+ Name 1722 "r00"
+ Name 1726 "r01"
+ Name 1730 "r02"
+ Name 1734 "r03"
+ Name 1738 "r04"
+ Name 1742 "r05"
+ Name 1746 "r06"
+ Name 1750 "r07"
+ Name 1754 "r08"
+ Name 1758 "r09"
+ Name 1762 "r10"
+ Name 1766 "r11"
+ Name 1770 "r12"
+ Name 1774 "r13"
+ Name 1778 "r14"
+ Name 1782 "r15"
+ Name 1786 "r16"
+ Name 1791 "gs_ua"
+ Name 1792 "gs_ub"
+ Name 1793 "gs_uc"
+ Name 1795 "gs_ua2"
+ Name 1796 "gs_ub2"
+ Name 1797 "gs_uc2"
+ Name 1799 "gs_ua3"
+ Name 1800 "gs_ub3"
+ Name 1801 "gs_uc3"
+ Name 1803 "gs_ua4"
+ Name 1804 "gs_ub4"
+ Name 1805 "gs_uc4"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
- 8: TypeVector 6(float) 2
- 9: TypePointer Function 8(fvec2)
- 10: TypeMatrix 8(fvec2) 2
- 11: TypePointer Function 10
- 12: TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 9(ptr) 11(ptr) 11(ptr)
- 21: TypeVector 6(float) 3
- 22: TypePointer Function 21(fvec3)
- 23: TypeMatrix 21(fvec3) 3
- 24: TypePointer Function 23
- 25: TypeFunction 2 7(ptr) 7(ptr) 22(ptr) 22(ptr) 24(ptr) 24(ptr)
- 34: TypeVector 6(float) 4
- 35: TypePointer Function 34(fvec4)
- 36: TypeMatrix 34(fvec4) 4
- 37: TypePointer Function 36
- 38: TypeFunction 2 7(ptr) 7(ptr) 35(ptr) 35(ptr) 37(ptr) 37(ptr)
- 47: TypePointer Input 6(float)
- 48(inF0): 47(ptr) Variable Input
- 50: TypeBool
- 61: TypeInt 32 1
- 64: TypeInt 32 0
- 66: TypePointer Input 64(int)
- 67(inU0): 66(ptr) Variable Input
- 73(inF1): 47(ptr) Variable Input
- 80(inF2): 47(ptr) Variable Input
- 84: 6(float) Constant 0
- 93: 64(int) Constant 7
- 113: 61(int) Constant 7
- 124(ResType): TypeStruct 6(float) 61(int)
- 141: 6(float) Constant 1050288283
- 156: 6(float) Constant 1065353216
- 159: 64(int) Constant 2
- 194: TypePointer Input 8(fvec2)
- 195(inF0): 194(ptr) Variable Input
- 207: TypeVector 61(int) 2
- 210: TypeVector 64(int) 2
- 212: TypePointer Input 210(ivec2)
- 213(inU0): 212(ptr) Variable Input
- 219(inF1): 194(ptr) Variable Input
- 226(inF2): 194(ptr) Variable Input
- 230: 8(fvec2) ConstantComposite 84 84
- 231: TypeVector 50(bool) 2
- 241: 64(int) Constant 3
- 242: 210(ivec2) ConstantComposite 93 241
- 282(ResType): TypeStruct 8(fvec2) 207(ivec2)
- 325: 6(float) Constant 1073741824
- 327: 64(int) Constant 1
- 328: 210(ivec2) ConstantComposite 327 159
- 363: 8(fvec2) ConstantComposite 156 325
- 365: TypePointer Input 21(fvec3)
- 366(inF0): 365(ptr) Variable Input
- 378: TypeVector 61(int) 3
- 381: TypeVector 64(int) 3
- 383: TypePointer Input 381(ivec3)
- 384(inU0): 383(ptr) Variable Input
- 390(inF1): 365(ptr) Variable Input
- 397(inF2): 365(ptr) Variable Input
- 401: 21(fvec3) ConstantComposite 84 84 84
- 402: TypeVector 50(bool) 3
- 412: 64(int) Constant 5
- 413: 381(ivec3) ConstantComposite 93 241 412
- 456(ResType): TypeStruct 21(fvec3) 378(ivec3)
- 500: 381(ivec3) ConstantComposite 327 159 241
- 535: 6(float) Constant 1077936128
- 536: 21(fvec3) ConstantComposite 156 325 535
- 538: TypePointer Input 34(fvec4)
- 539(inF0): 538(ptr) Variable Input
- 551: TypeVector 61(int) 4
- 554: TypeVector 64(int) 4
- 556: TypePointer Input 554(ivec4)
- 557(inU0): 556(ptr) Variable Input
- 563(inF1): 538(ptr) Variable Input
- 570(inF2): 538(ptr) Variable Input
- 574: 34(fvec4) ConstantComposite 84 84 84 84
- 575: TypeVector 50(bool) 4
- 585: 554(ivec4) ConstantComposite 93 241 412 159
- 635(ResType): TypeStruct 34(fvec4) 551(ivec4)
- 679: 64(int) Constant 4
- 680: 554(ivec4) ConstantComposite 327 159 241 679
- 715: 6(float) Constant 1082130432
- 716: 34(fvec4) ConstantComposite 156 325 535 715
- 718: TypePointer Input 10
- 719(inF0): 718(ptr) Variable Input
- 733(inF1): 718(ptr) Variable Input
- 739: 10 ConstantComposite 230 230
- 740: TypeMatrix 231(bvec2) 2
- 748(inF2): 718(ptr) Variable Input
- 791(ResType): TypeStruct 10 207(ivec2)
- 853: 8(fvec2) ConstantComposite 325 325
- 854: 10 ConstantComposite 853 853
- 856: TypePointer Input 23
- 857(inF0): 856(ptr) Variable Input
- 871(inF1): 856(ptr) Variable Input
- 877: 23 ConstantComposite 401 401 401
- 878: TypeMatrix 402(bvec3) 3
- 886(inF2): 856(ptr) Variable Input
- 932(ResType): TypeStruct 23 378(ivec3)
- 994: 21(fvec3) ConstantComposite 535 535 535
- 995: 23 ConstantComposite 994 994 994
- 997: TypePointer Input 36
- 998(inF0): 997(ptr) Variable Input
- 1012(inF1): 997(ptr) Variable Input
- 1018: 36 ConstantComposite 574 574 574 574
- 1019: TypeMatrix 575(bvec4) 4
- 1027(inF2): 997(ptr) Variable Input
- 1076(ResType): TypeStruct 36 551(ivec4)
- 1138: 34(fvec4) ConstantComposite 715 715 715 715
- 1139: 36 ConstantComposite 1138 1138 1138 1138
- 1249: TypePointer Function 64(int)
- 1253: TypePointer Function 210(ivec2)
- 1257: TypePointer Function 381(ivec3)
- 1261: TypePointer Function 554(ivec4)
+ 8: TypeInt 32 0
+ 9: TypePointer Function 8(int)
+ 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
+ 18: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
+ 24: TypeVector 6(float) 2
+ 25: TypePointer Function 24(fvec2)
+ 26: TypeVector 8(int) 2
+ 27: TypePointer Function 26(ivec2)
+ 28: TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Function 36(fvec3)
+ 38: TypeVector 8(int) 3
+ 39: TypePointer Function 38(ivec3)
+ 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
+ 48: TypeMatrix 24(fvec2) 2
+ 49: TypePointer Function 48
+ 50: TypeFunction 48 49(ptr) 49(ptr) 49(ptr)
+ 56: TypeMatrix 36(fvec3) 3
+ 57: TypePointer Function 56
+ 58: TypeFunction 56 57(ptr) 57(ptr) 57(ptr)
+ 64: TypeVector 6(float) 4
+ 65: TypeMatrix 64(fvec4) 4
+ 66: TypePointer Function 65
+ 67: TypeFunction 65 66(ptr) 66(ptr) 66(ptr)
+ 73: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 49(ptr) 49(ptr)
+ 82: TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 57(ptr) 57(ptr)
+ 91: TypePointer Function 64(fvec4)
+ 92: TypeFunction 2 7(ptr) 7(ptr) 91(ptr) 91(ptr) 66(ptr) 66(ptr)
+ 101: TypeMatrix 24(fvec2) 3
+ 102: TypePointer Function 101
+ 103: TypeMatrix 36(fvec3) 2
+ 104: TypePointer Function 103
+ 105: TypeMatrix 36(fvec3) 4
+ 106: TypePointer Function 105
+ 107: TypeMatrix 24(fvec2) 4
+ 108: TypePointer Function 107
+ 109: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 102(ptr) 104(ptr) 57(ptr) 106(ptr) 108(ptr)
+ 121: TypeBool
+ 122: TypePointer Function 121(bool)
+ 138: TypeInt 32 1
+ 139: TypePointer Function 138(int)
+ 165: 6(float) Constant 0
+ 177: 8(int) Constant 7
+ 207: 138(int) Constant 7
+ 225(ResType): TypeStruct 6(float) 138(int)
+ 253: 6(float) Constant 1050288283
+ 274: 6(float) Constant 1065353216
+ 278: 8(int) Constant 2
+ 342: TypeVector 138(int) 2
+ 343: TypePointer Function 342(ivec2)
+ 369: 24(fvec2) ConstantComposite 165 165
+ 370: TypeVector 121(bool) 2
+ 383: 8(int) Constant 3
+ 384: 26(ivec2) ConstantComposite 177 383
+ 427: 8(int) Constant 8
+ 428: 26(ivec2) ConstantComposite 177 427
+ 444(ResType): TypeStruct 24(fvec2) 342(ivec2)
+ 451: TypePointer Function 370(bvec2)
+ 509: 6(float) Constant 1073741824
+ 512: 8(int) Constant 1
+ 513: 26(ivec2) ConstantComposite 512 278
+ 560: 24(fvec2) ConstantComposite 274 509
+ 578: TypeVector 138(int) 3
+ 579: TypePointer Function 578(ivec3)
+ 605: 36(fvec3) ConstantComposite 165 165 165
+ 606: TypeVector 121(bool) 3
+ 619: 8(int) Constant 5
+ 620: 38(ivec3) ConstantComposite 177 383 619
+ 667: 8(int) Constant 4
+ 668: 38(ivec3) ConstantComposite 278 383 667
+ 684(ResType): TypeStruct 36(fvec3) 578(ivec3)
+ 691: TypePointer Function 606(bvec3)
+ 751: 38(ivec3) ConstantComposite 512 278 383
+ 798: 6(float) Constant 1077936128
+ 799: 36(fvec3) ConstantComposite 274 509 798
+ 803: TypePointer Input 64(fvec4)
+ 804(inF0): 803(ptr) Variable Input
+ 819: TypeVector 138(int) 4
+ 820: TypePointer Function 819(ivec4)
+ 824: TypeVector 8(int) 4
+ 825: TypePointer Function 824(ivec4)
+ 830: TypePointer Input 824(ivec4)
+ 831(inU0): 830(ptr) Variable Input
+ 839(inF1): 803(ptr) Variable Input
+ 848(inF2): 803(ptr) Variable Input
+ 852: 64(fvec4) ConstantComposite 165 165 165 165
+ 853: TypeVector 121(bool) 4
+ 866: 824(ivec4) ConstantComposite 177 383 619 278
+ 898: TypePointer Input 6(float)
+ 921: 8(int) Constant 9
+ 922: 8(int) Constant 10
+ 923: 824(ivec4) ConstantComposite 177 427 921 922
+ 939(ResType): TypeStruct 64(fvec4) 819(ivec4)
+ 946: TypePointer Function 853(bvec4)
+ 1006: 824(ivec4) ConstantComposite 512 278 383 667
+ 1053: 6(float) Constant 1082130432
+ 1054: 64(fvec4) ConstantComposite 274 509 798 1053
+ 1081: 48 ConstantComposite 369 369
+ 1082: TypeMatrix 370(bvec2) 2
+ 1147(ResType): TypeStruct 48 342(ivec2)
+ 1235: 24(fvec2) ConstantComposite 509 509
+ 1236: 48 ConstantComposite 1235 1235
+ 1264: 56 ConstantComposite 605 605 605
+ 1265: TypeMatrix 606(bvec3) 3
+ 1333(ResType): TypeStruct 56 578(ivec3)
+ 1421: 36(fvec3) ConstantComposite 798 798 798
+ 1422: 56 ConstantComposite 1421 1421 1421
+ 1450: 65 ConstantComposite 852 852 852 852
+ 1451: TypeMatrix 853(bvec4) 4
+ 1522(ResType): TypeStruct 65 819(ivec4)
+ 1610: 64(fvec4) ConstantComposite 1053 1053 1053 1053
+ 1611: 65 ConstantComposite 1610 1610 1610 1610
+ 1790: TypePointer Private 8(int)
+ 1791(gs_ua): 1790(ptr) Variable Private
+ 1792(gs_ub): 1790(ptr) Variable Private
+ 1793(gs_uc): 1790(ptr) Variable Private
+ 1794: TypePointer Private 26(ivec2)
+ 1795(gs_ua2): 1794(ptr) Variable Private
+ 1796(gs_ub2): 1794(ptr) Variable Private
+ 1797(gs_uc2): 1794(ptr) Variable Private
+ 1798: TypePointer Private 38(ivec3)
+ 1799(gs_ua3): 1798(ptr) Variable Private
+ 1800(gs_ub3): 1798(ptr) Variable Private
+ 1801(gs_uc3): 1798(ptr) Variable Private
+ 1802: TypePointer Private 824(ivec4)
+ 1803(gs_ua4): 1802(ptr) Variable Private
+ 1804(gs_ub4): 1802(ptr) Variable Private
+ 1805(gs_uc4): 1802(ptr) Variable Private
4(PixelShaderFunction): 2 Function None 3
5: Label
- 49: 6(float) Load 48(inF0)
- 51: 50(bool) All 49
- 52: 6(float) Load 48(inF0)
- 53: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 52
- 54: 6(float) Load 48(inF0)
- 55: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 54
- 56: 6(float) Load 48(inF0)
- 57: 50(bool) Any 56
- 58: 6(float) Load 48(inF0)
- 59: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 58
- 60: 6(float) Load 48(inF0)
- 62: 61(int) Bitcast 60
- 63: 6(float) Load 48(inF0)
- 65: 64(int) Bitcast 63
- 68: 64(int) Load 67(inU0)
- 69: 6(float) Bitcast 68
- 70: 6(float) Load 48(inF0)
- 71: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 70
- 72: 6(float) Load 48(inF0)
- 74: 6(float) Load 73(inF1)
- 75: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 72 74
- 76: 6(float) Load 48(inF0)
- 77: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 76
- 78: 6(float) Load 48(inF0)
- 79: 6(float) Load 73(inF1)
- 81: 6(float) Load 80(inF2)
- 82: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 78 79 81
- 83: 6(float) Load 48(inF0)
- 85: 50(bool) FOrdLessThan 83 84
- SelectionMerge 87 None
- BranchConditional 85 86 87
- 86: Label
+ 802(r000): 122(ptr) Variable Function
+ 807(r001): 91(ptr) Variable Function
+ 810(r002): 91(ptr) Variable Function
+ 813(r003): 122(ptr) Variable Function
+ 816(r004): 91(ptr) Variable Function
+ 821(r005): 820(ptr) Variable Function
+ 826(r006): 825(ptr) Variable Function
+ 829(r007): 91(ptr) Variable Function
+ 834(r009): 91(ptr) Variable Function
+ 837(r010): 91(ptr) Variable Function
+ 842(r011): 91(ptr) Variable Function
+ 845(r012): 91(ptr) Variable Function
+ 859(r013): 91(ptr) Variable Function
+ 862(r014): 91(ptr) Variable Function
+ 865(r015): 825(ptr) Variable Function
+ 868(r016): 91(ptr) Variable Function
+ 871(r017): 91(ptr) Variable Function
+ 874(r018): 91(ptr) Variable Function
+ 877(r019): 91(ptr) Variable Function
+ 880(r020): 91(ptr) Variable Function
+ 883(r021): 91(ptr) Variable Function
+ 886(r022): 91(ptr) Variable Function
+ 889(r023): 7(ptr) Variable Function
+ 893(r024): 7(ptr) Variable Function
+ 897(r025): 91(ptr) Variable Function
+ 909(r029): 91(ptr) Variable Function
+ 912(r030): 91(ptr) Variable Function
+ 915(r031): 91(ptr) Variable Function
+ 920(r032): 825(ptr) Variable Function
+ 925(r033): 825(ptr) Variable Function
+ 927(r034): 91(ptr) Variable Function
+ 930(r036): 91(ptr) Variable Function
+ 934(r037): 91(ptr) Variable Function
+ 937(r038): 91(ptr) Variable Function
+ 943(r039): 91(ptr) Variable Function
+ 947(r040): 946(ptr) Variable Function
+ 950(r041): 946(ptr) Variable Function
+ 953(r042): 91(ptr) Variable Function
+ 957(r039a): 91(ptr) Variable Function
+ 962(r043): 7(ptr) Variable Function
+ 965(r044): 91(ptr) Variable Function
+ 968(r045): 91(ptr) Variable Function
+ 972(r046): 91(ptr) Variable Function
+ 975(r047): 91(ptr) Variable Function
+ 979(r048): 91(ptr) Variable Function
+ 983(r049): 91(ptr) Variable Function
+ 986(r050): 91(ptr) Variable Function
+ 990(r051): 91(ptr) Variable Function
+ 993(r052): 91(ptr) Variable Function
+ 997(r053): 91(ptr) Variable Function
+ 1001(r054): 91(ptr) Variable Function
+ 1005(r055): 825(ptr) Variable Function
+ 1008(r056): 91(ptr) Variable Function
+ 1011(r057): 91(ptr) Variable Function
+ 1014(r058): 91(ptr) Variable Function
+ 1019(r059): 91(ptr) Variable Function
+ 1022(r060): 91(ptr) Variable Function
+ 1029(r061): 91(ptr) Variable Function
+ 1032(r062): 91(ptr) Variable Function
+ 1037(r063): 91(ptr) Variable Function
+ 1040(r064): 91(ptr) Variable Function
+ 1044(r065): 91(ptr) Variable Function
+ 1047(r066): 91(ptr) Variable Function
+ 1050(r067): 91(ptr) Variable Function
+ 805: 64(fvec4) Load 804(inF0)
+ 806: 121(bool) All 805
+ Store 802(r000) 806
+ 808: 64(fvec4) Load 804(inF0)
+ 809: 64(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 808
+ Store 807(r001) 809
+ 811: 64(fvec4) Load 804(inF0)
+ 812: 64(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 811
+ Store 810(r002) 812
+ 814: 64(fvec4) Load 804(inF0)
+ 815: 121(bool) Any 814
+ Store 813(r003) 815
+ 817: 64(fvec4) Load 804(inF0)
+ 818: 64(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 817
+ Store 816(r004) 818
+ 822: 64(fvec4) Load 804(inF0)
+ 823: 819(ivec4) Bitcast 822
+ Store 821(r005) 823
+ 827: 64(fvec4) Load 804(inF0)
+ 828: 824(ivec4) Bitcast 827
+ Store 826(r006) 828
+ 832: 824(ivec4) Load 831(inU0)
+ 833: 64(fvec4) Bitcast 832
+ Store 829(r007) 833
+ 835: 64(fvec4) Load 804(inF0)
+ 836: 64(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 835
+ Store 834(r009) 836
+ 838: 64(fvec4) Load 804(inF0)
+ 840: 64(fvec4) Load 839(inF1)
+ 841: 64(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 838 840
+ Store 837(r010) 841
+ 843: 64(fvec4) Load 804(inF0)
+ 844: 64(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 843
+ Store 842(r011) 844
+ 846: 64(fvec4) Load 804(inF0)
+ 847: 64(fvec4) Load 839(inF1)
+ 849: 64(fvec4) Load 848(inF2)
+ 850: 64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 846 847 849
+ Store 845(r012) 850
+ 851: 64(fvec4) Load 804(inF0)
+ 854: 853(bvec4) FOrdLessThan 851 852
+ 855: 121(bool) Any 854
+ SelectionMerge 857 None
+ BranchConditional 855 856 857
+ 856: Label
+ Kill
+ 857: Label
+ 860: 64(fvec4) Load 804(inF0)
+ 861: 64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 860
+ Store 859(r013) 861
+ 863: 64(fvec4) Load 804(inF0)
+ 864: 64(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 863
+ Store 862(r014) 864
+ 867: 824(ivec4) BitCount 866
+ Store 865(r015) 867
+ 869: 64(fvec4) Load 804(inF0)
+ 870: 64(fvec4) DPdx 869
+ Store 868(r016) 870
+ 872: 64(fvec4) Load 804(inF0)
+ 873: 64(fvec4) DPdxCoarse 872
+ Store 871(r017) 873
+ 875: 64(fvec4) Load 804(inF0)
+ 876: 64(fvec4) DPdxFine 875
+ Store 874(r018) 876
+ 878: 64(fvec4) Load 804(inF0)
+ 879: 64(fvec4) DPdy 878
+ Store 877(r019) 879
+ 881: 64(fvec4) Load 804(inF0)
+ 882: 64(fvec4) DPdyCoarse 881
+ Store 880(r020) 882
+ 884: 64(fvec4) Load 804(inF0)
+ 885: 64(fvec4) DPdyFine 884
+ Store 883(r021) 885
+ 887: 64(fvec4) Load 804(inF0)
+ 888: 64(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 887
+ Store 886(r022) 888
+ 890: 64(fvec4) Load 804(inF0)
+ 891: 64(fvec4) Load 839(inF1)
+ 892: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 890 891
+ Store 889(r023) 892
+ 894: 64(fvec4) Load 804(inF0)
+ 895: 64(fvec4) Load 839(inF1)
+ 896: 6(float) Dot 894 895
+ Store 893(r024) 896
+ 899: 898(ptr) AccessChain 804(inF0) 512
+ 900: 6(float) Load 899
+ 901: 898(ptr) AccessChain 839(inF1) 512
+ 902: 6(float) Load 901
+ 903: 6(float) FMul 900 902
+ 904: 898(ptr) AccessChain 804(inF0) 278
+ 905: 6(float) Load 904
+ 906: 898(ptr) AccessChain 839(inF1) 383
+ 907: 6(float) Load 906
+ 908: 64(fvec4) CompositeConstruct 274 903 905 907
+ Store 897(r025) 908
+ 910: 64(fvec4) Load 804(inF0)
+ 911: 64(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 910
+ Store 909(r029) 911
+ 913: 64(fvec4) Load 804(inF0)
+ 914: 64(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 913
+ Store 912(r030) 914
+ 916: 64(fvec4) Load 804(inF0)
+ 917: 64(fvec4) Load 839(inF1)
+ 918: 64(fvec4) Load 848(inF2)
+ 919: 64(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 916 917 918
+ Store 915(r031) 919
+ 924: 824(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 923
+ Store 920(r032) 924
+ 926: 824(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 923
+ Store 925(r033) 926
+ 928: 64(fvec4) Load 804(inF0)
+ 929: 64(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 928
+ Store 927(r034) 929
+ 931: 64(fvec4) Load 804(inF0)
+ 932: 64(fvec4) Load 839(inF1)
+ 933: 64(fvec4) FMod 931 932
+ Store 930(r036) 933
+ 935: 64(fvec4) Load 804(inF0)
+ 936: 64(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 935
+ Store 934(r037) 936
+ 938: 64(fvec4) Load 804(inF0)
+ 940:939(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 938
+ 941: 819(ivec4) CompositeExtract 940 1
+ Store 839(inF1) 941
+ 942: 64(fvec4) CompositeExtract 940 0
+ Store 937(r038) 942
+ 944: 64(fvec4) Load 804(inF0)
+ 945: 64(fvec4) Fwidth 944
+ Store 943(r039) 945
+ 948: 64(fvec4) Load 804(inF0)
+ 949: 853(bvec4) IsInf 948
+ Store 947(r040) 949
+ 951: 64(fvec4) Load 804(inF0)
+ 952: 853(bvec4) IsNan 951
+ Store 950(r041) 952
+ 954: 64(fvec4) Load 804(inF0)
+ 955: 64(fvec4) Load 839(inF1)
+ 956: 64(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 954 955
+ Store 953(r042) 956
+ 958: 64(fvec4) Load 804(inF0)
+ 959: 64(fvec4) Load 839(inF1)
+ 960: 64(fvec4) Load 848(inF2)
+ 961: 64(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 958 959 960
+ Store 957(r039a) 961
+ 963: 64(fvec4) Load 804(inF0)
+ 964: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 963
+ Store 962(r043) 964
+ 966: 64(fvec4) Load 804(inF0)
+ 967: 64(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 966
+ Store 965(r044) 967
+ 969: 64(fvec4) Load 804(inF0)
+ 970: 64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 969
+ 971: 64(fvec4) VectorTimesScalar 970 253
+ Store 968(r045) 971
+ 973: 64(fvec4) Load 804(inF0)
+ 974: 64(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 973
+ Store 972(r046) 974
+ 976: 64(fvec4) Load 804(inF0)
+ 977: 64(fvec4) Load 839(inF1)
+ 978: 64(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 976 977
+ Store 975(r047) 978
+ 980: 64(fvec4) Load 804(inF0)
+ 981: 64(fvec4) Load 839(inF1)
+ 982: 64(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 980 981
+ Store 979(r048) 982
+ 984: 64(fvec4) Load 804(inF0)
+ 985: 64(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 984
+ Store 983(r049) 985
+ 987: 64(fvec4) Load 804(inF0)
+ 988: 64(fvec4) Load 839(inF1)
+ 989: 64(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 987 988
+ Store 986(r050) 989
+ 991: 64(fvec4) Load 804(inF0)
+ 992: 64(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 991
+ Store 990(r051) 992
+ 994: 64(fvec4) Load 804(inF0)
+ 995: 64(fvec4) CompositeConstruct 274 274 274 274
+ 996: 64(fvec4) FDiv 995 994
+ Store 993(r052) 996
+ 998: 64(fvec4) Load 804(inF0)
+ 999: 64(fvec4) Load 839(inF1)
+ 1000: 64(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 998 999
+ Store 997(r053) 1000
+ 1002: 64(fvec4) Load 804(inF0)
+ 1003: 64(fvec4) Load 839(inF1)
+ 1004: 64(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1002 1003 509
+ Store 1001(r054) 1004
+ 1007: 824(ivec4) BitReverse 1006
+ Store 1005(r055) 1007
+ 1009: 64(fvec4) Load 804(inF0)
+ 1010: 64(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1009
+ Store 1008(r056) 1010
+ 1012: 64(fvec4) Load 804(inF0)
+ 1013: 64(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1012
+ Store 1011(r057) 1013
+ 1015: 64(fvec4) Load 804(inF0)
+ 1016: 64(fvec4) CompositeConstruct 165 165 165 165
+ 1017: 64(fvec4) CompositeConstruct 274 274 274 274
+ 1018: 64(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1015 1016 1017
+ Store 1014(r058) 1018
+ 1020: 64(fvec4) Load 804(inF0)
+ 1021: 64(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1020
+ Store 1019(r059) 1021
+ 1023: 64(fvec4) Load 804(inF0)
+ 1024: 64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1023
+ Store 1022(r060) 1024
+ 1025: 64(fvec4) Load 804(inF0)
+ 1026: 64(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1025
+ Store 839(inF1) 1026
+ 1027: 64(fvec4) Load 804(inF0)
+ 1028: 64(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1027
+ Store 848(inF2) 1028
+ 1030: 64(fvec4) Load 804(inF0)
+ 1031: 64(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1030
+ Store 1029(r061) 1031
+ 1033: 64(fvec4) Load 804(inF0)
+ 1034: 64(fvec4) Load 839(inF1)
+ 1035: 64(fvec4) Load 848(inF2)
+ 1036: 64(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1033 1034 1035
+ Store 1032(r062) 1036
+ 1038: 64(fvec4) Load 804(inF0)
+ 1039: 64(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1038
+ Store 1037(r063) 1039
+ 1041: 64(fvec4) Load 804(inF0)
+ 1042: 64(fvec4) Load 839(inF1)
+ 1043: 64(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1041 1042
+ Store 1040(r064) 1043
+ 1045: 64(fvec4) Load 804(inF0)
+ 1046: 64(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1045
+ Store 1044(r065) 1046
+ 1048: 64(fvec4) Load 804(inF0)
+ 1049: 64(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1048
+ Store 1047(r066) 1049
+ 1051: 64(fvec4) Load 804(inF0)
+ 1052: 64(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1051
+ Store 1050(r067) 1052
+ ReturnValue 1054
+ FunctionEnd
+16(PixelShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10
+ 11(inF0): 7(ptr) FunctionParameter
+ 12(inF1): 7(ptr) FunctionParameter
+ 13(inF2): 7(ptr) FunctionParameter
+ 14(inU0): 9(ptr) FunctionParameter
+ 15(inU1): 9(ptr) FunctionParameter
+ 17: Label
+ 123(r000): 122(ptr) Variable Function
+ 126(r001): 7(ptr) Variable Function
+ 129(r002): 7(ptr) Variable Function
+ 132(r003): 122(ptr) Variable Function
+ 135(r004): 7(ptr) Variable Function
+ 140(r005): 139(ptr) Variable Function
+ 143(r006): 9(ptr) Variable Function
+ 146(r007): 7(ptr) Variable Function
+ 149(r009): 7(ptr) Variable Function
+ 152(r010): 7(ptr) Variable Function
+ 156(r011): 7(ptr) Variable Function
+ 159(r012): 7(ptr) Variable Function
+ 170(r014): 7(ptr) Variable Function
+ 173(r015): 7(ptr) Variable Function
+ 176(r016): 9(ptr) Variable Function
+ 179(r017): 7(ptr) Variable Function
+ 182(r018): 7(ptr) Variable Function
+ 185(r019): 7(ptr) Variable Function
+ 188(r020): 7(ptr) Variable Function
+ 191(r021): 7(ptr) Variable Function
+ 194(r022): 7(ptr) Variable Function
+ 197(r023): 7(ptr) Variable Function
+ 200(r027): 7(ptr) Variable Function
+ 203(r028): 7(ptr) Variable Function
+ 206(r029): 9(ptr) Variable Function
+ 210(r030): 9(ptr) Variable Function
+ 213(r031): 7(ptr) Variable Function
+ 216(r033): 7(ptr) Variable Function
+ 220(r034): 7(ptr) Variable Function
+ 223(r035): 7(ptr) Variable Function
+ 229(r036): 7(ptr) Variable Function
+ 232(r037): 122(ptr) Variable Function
+ 235(r038): 122(ptr) Variable Function
+ 238(r039): 7(ptr) Variable Function
+ 242(r039a): 7(ptr) Variable Function
+ 247(r040): 7(ptr) Variable Function
+ 250(r041): 7(ptr) Variable Function
+ 255(r042): 7(ptr) Variable Function
+ 258(r043): 7(ptr) Variable Function
+ 262(r044): 7(ptr) Variable Function
+ 266(r045): 7(ptr) Variable Function
+ 270(r046): 7(ptr) Variable Function
+ 273(r047): 7(ptr) Variable Function
+ 277(r048): 9(ptr) Variable Function
+ 280(r049): 7(ptr) Variable Function
+ 283(r050): 7(ptr) Variable Function
+ 286(r051): 7(ptr) Variable Function
+ 289(r052): 7(ptr) Variable Function
+ 292(r053): 7(ptr) Variable Function
+ 299(r055): 7(ptr) Variable Function
+ 302(r056): 7(ptr) Variable Function
+ 307(r057): 7(ptr) Variable Function
+ 310(r058): 7(ptr) Variable Function
+ 314(r059): 7(ptr) Variable Function
+ 317(r060): 7(ptr) Variable Function
+ 320(r061): 7(ptr) Variable Function
+ 124: 6(float) Load 11(inF0)
+ 125: 121(bool) All 124
+ Store 123(r000) 125
+ 127: 6(float) Load 11(inF0)
+ 128: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 127
+ Store 126(r001) 128
+ 130: 6(float) Load 11(inF0)
+ 131: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 130
+ Store 129(r002) 131
+ 133: 6(float) Load 11(inF0)
+ 134: 121(bool) Any 133
+ Store 132(r003) 134
+ 136: 6(float) Load 11(inF0)
+ 137: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 136
+ Store 135(r004) 137
+ 141: 6(float) Load 11(inF0)
+ 142: 138(int) Bitcast 141
+ Store 140(r005) 142
+ 144: 6(float) Load 11(inF0)
+ 145: 8(int) Bitcast 144
+ Store 143(r006) 145
+ 147: 8(int) Load 14(inU0)
+ 148: 6(float) Bitcast 147
+ Store 146(r007) 148
+ 150: 6(float) Load 11(inF0)
+ 151: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 150
+ Store 149(r009) 151
+ 153: 6(float) Load 11(inF0)
+ 154: 6(float) Load 12(inF1)
+ 155: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 153 154
+ Store 152(r010) 155
+ 157: 6(float) Load 11(inF0)
+ 158: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 157
+ Store 156(r011) 158
+ 160: 6(float) Load 11(inF0)
+ 161: 6(float) Load 12(inF1)
+ 162: 6(float) Load 13(inF2)
+ 163: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 160 161 162
+ Store 159(r012) 163
+ 164: 6(float) Load 11(inF0)
+ 166: 121(bool) FOrdLessThan 164 165
+ SelectionMerge 168 None
+ BranchConditional 166 167 168
+ 167: Label
+ Kill
+ 168: Label
+ 171: 6(float) Load 11(inF0)
+ 172: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 171
+ Store 170(r014) 172
+ 174: 6(float) Load 11(inF0)
+ 175: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 174
+ Store 173(r015) 175
+ 178: 8(int) BitCount 177
+ Store 176(r016) 178
+ 180: 6(float) Load 11(inF0)
+ 181: 6(float) DPdx 180
+ Store 179(r017) 181
+ 183: 6(float) Load 11(inF0)
+ 184: 6(float) DPdxCoarse 183
+ Store 182(r018) 184
+ 186: 6(float) Load 11(inF0)
+ 187: 6(float) DPdxFine 186
+ Store 185(r019) 187
+ 189: 6(float) Load 11(inF0)
+ 190: 6(float) DPdy 189
+ Store 188(r020) 190
+ 192: 6(float) Load 11(inF0)
+ 193: 6(float) DPdyCoarse 192
+ Store 191(r021) 193
+ 195: 6(float) Load 11(inF0)
+ 196: 6(float) DPdyFine 195
+ Store 194(r022) 196
+ 198: 6(float) Load 11(inF0)
+ 199: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 198
+ Store 197(r023) 199
+ 201: 6(float) Load 11(inF0)
+ 202: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 201
+ Store 200(r027) 202
+ 204: 6(float) Load 11(inF0)
+ 205: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 204
+ Store 203(r028) 205
+ 208: 138(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 207
+ 209: 8(int) Bitcast 208
+ Store 206(r029) 209
+ 211: 138(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 207
+ 212: 8(int) Bitcast 211
+ Store 210(r030) 212
+ 214: 6(float) Load 11(inF0)
+ 215: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 214
+ Store 213(r031) 215
+ 217: 6(float) Load 11(inF0)
+ 218: 6(float) Load 12(inF1)
+ 219: 6(float) FMod 217 218
+ Store 216(r033) 219
+ 221: 6(float) Load 11(inF0)
+ 222: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 221
+ Store 220(r034) 222
+ 224: 6(float) Load 11(inF0)
+ 226:225(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 224
+ 227: 138(int) CompositeExtract 226 1
+ Store 12(inF1) 227
+ 228: 6(float) CompositeExtract 226 0
+ Store 223(r035) 228
+ 230: 6(float) Load 11(inF0)
+ 231: 6(float) Fwidth 230
+ Store 229(r036) 231
+ 233: 6(float) Load 11(inF0)
+ 234: 121(bool) IsInf 233
+ Store 232(r037) 234
+ 236: 6(float) Load 11(inF0)
+ 237: 121(bool) IsNan 236
+ Store 235(r038) 237
+ 239: 6(float) Load 11(inF0)
+ 240: 6(float) Load 12(inF1)
+ 241: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 239 240
+ Store 238(r039) 241
+ 243: 6(float) Load 11(inF0)
+ 244: 6(float) Load 12(inF1)
+ 245: 6(float) Load 13(inF2)
+ 246: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 243 244 245
+ Store 242(r039a) 246
+ 248: 6(float) Load 11(inF0)
+ 249: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 248
+ Store 247(r040) 249
+ 251: 6(float) Load 11(inF0)
+ 252: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 251
+ 254: 6(float) FMul 252 253
+ Store 250(r041) 254
+ 256: 6(float) Load 11(inF0)
+ 257: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 256
+ Store 255(r042) 257
+ 259: 6(float) Load 11(inF0)
+ 260: 6(float) Load 12(inF1)
+ 261: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 259 260
+ Store 258(r043) 261
+ 263: 6(float) Load 11(inF0)
+ 264: 6(float) Load 12(inF1)
+ 265: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 263 264
+ Store 262(r044) 265
+ 267: 6(float) Load 11(inF0)
+ 268: 6(float) Load 12(inF1)
+ 269: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 267 268
+ Store 266(r045) 269
+ 271: 6(float) Load 11(inF0)
+ 272: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 271
+ Store 270(r046) 272
+ 275: 6(float) Load 11(inF0)
+ 276: 6(float) FDiv 274 275
+ Store 273(r047) 276
+ 279: 8(int) BitReverse 278
+ Store 277(r048) 279
+ 281: 6(float) Load 11(inF0)
+ 282: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 281
+ Store 280(r049) 282
+ 284: 6(float) Load 11(inF0)
+ 285: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 284
+ Store 283(r050) 285
+ 287: 6(float) Load 11(inF0)
+ 288: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 287 165 274
+ Store 286(r051) 288
+ 290: 6(float) Load 11(inF0)
+ 291: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 290
+ Store 289(r052) 291
+ 293: 6(float) Load 11(inF0)
+ 294: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 293
+ Store 292(r053) 294
+ 295: 6(float) Load 11(inF0)
+ 296: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 295
+ Store 12(inF1) 296
+ 297: 6(float) Load 11(inF0)
+ 298: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 297
+ Store 13(inF2) 298
+ 300: 6(float) Load 11(inF0)
+ 301: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 300
+ Store 299(r055) 301
+ 303: 6(float) Load 11(inF0)
+ 304: 6(float) Load 12(inF1)
+ 305: 6(float) Load 13(inF2)
+ 306: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 303 304 305
+ Store 302(r056) 306
+ 308: 6(float) Load 11(inF0)
+ 309: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 308
+ Store 307(r057) 309
+ 311: 6(float) Load 11(inF0)
+ 312: 6(float) Load 12(inF1)
+ 313: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 311 312
+ Store 310(r058) 313
+ 315: 6(float) Load 11(inF0)
+ 316: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 315
+ Store 314(r059) 316
+ 318: 6(float) Load 11(inF0)
+ 319: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 318
+ Store 317(r060) 319
+ 321: 6(float) Load 11(inF0)
+ 322: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 321
+ Store 320(r061) 322
+ ReturnValue 165
+ FunctionEnd
+22(PixelShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18
+ 19(inF0): 7(ptr) FunctionParameter
+ 20(inF1): 7(ptr) FunctionParameter
+ 21(inF2): 7(ptr) FunctionParameter
+ 23: Label
+ ReturnValue 165
+ FunctionEnd
+34(PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28
+ 29(inF0): 25(ptr) FunctionParameter
+ 30(inF1): 25(ptr) FunctionParameter
+ 31(inF2): 25(ptr) FunctionParameter
+ 32(inU0): 27(ptr) FunctionParameter
+ 33(inU1): 27(ptr) FunctionParameter
+ 35: Label
+ 327(r000): 122(ptr) Variable Function
+ 330(r001): 25(ptr) Variable Function
+ 333(r002): 25(ptr) Variable Function
+ 336(r003): 122(ptr) Variable Function
+ 339(r004): 25(ptr) Variable Function
+ 344(r005): 343(ptr) Variable Function
+ 347(r006): 27(ptr) Variable Function
+ 350(r007): 25(ptr) Variable Function
+ 353(r009): 25(ptr) Variable Function
+ 356(r010): 25(ptr) Variable Function
+ 360(r011): 25(ptr) Variable Function
+ 363(r012): 25(ptr) Variable Function
+ 376(r013): 25(ptr) Variable Function
+ 379(r015): 25(ptr) Variable Function
+ 382(r016): 27(ptr) Variable Function
+ 386(r017): 25(ptr) Variable Function
+ 389(r018): 25(ptr) Variable Function
+ 392(r019): 25(ptr) Variable Function
+ 395(r020): 25(ptr) Variable Function
+ 398(r021): 25(ptr) Variable Function
+ 401(r022): 25(ptr) Variable Function
+ 404(r023): 25(ptr) Variable Function
+ 407(r026): 7(ptr) Variable Function
+ 411(r027): 7(ptr) Variable Function
+ 415(r028): 25(ptr) Variable Function
+ 418(r029): 25(ptr) Variable Function
+ 421(r030): 25(ptr) Variable Function
+ 426(r031): 27(ptr) Variable Function
+ 430(r032): 27(ptr) Variable Function
+ 432(r033): 25(ptr) Variable Function
+ 435(r035): 25(ptr) Variable Function
+ 439(r036): 25(ptr) Variable Function
+ 442(r037): 25(ptr) Variable Function
+ 448(r038): 25(ptr) Variable Function
+ 452(r039): 451(ptr) Variable Function
+ 455(r040): 451(ptr) Variable Function
+ 458(r041): 25(ptr) Variable Function
+ 462(r039a): 25(ptr) Variable Function
+ 467(r042): 7(ptr) Variable Function
+ 470(r043): 25(ptr) Variable Function
+ 473(r044): 25(ptr) Variable Function
+ 477(r045): 25(ptr) Variable Function
+ 480(r046): 25(ptr) Variable Function
+ 484(r047): 25(ptr) Variable Function
+ 488(r048): 25(ptr) Variable Function
+ 491(r049): 25(ptr) Variable Function
+ 495(r050): 25(ptr) Variable Function
+ 498(r051): 25(ptr) Variable Function
+ 502(r052): 25(ptr) Variable Function
+ 506(r053): 25(ptr) Variable Function
+ 511(r054): 27(ptr) Variable Function
+ 515(r055): 25(ptr) Variable Function
+ 518(r056): 25(ptr) Variable Function
+ 521(r057): 25(ptr) Variable Function
+ 526(r058): 25(ptr) Variable Function
+ 529(r059): 25(ptr) Variable Function
+ 536(r060): 25(ptr) Variable Function
+ 539(r061): 25(ptr) Variable Function
+ 544(r062): 25(ptr) Variable Function
+ 547(r063): 25(ptr) Variable Function
+ 551(r064): 25(ptr) Variable Function
+ 554(r065): 25(ptr) Variable Function
+ 557(r066): 25(ptr) Variable Function
+ 328: 24(fvec2) Load 29(inF0)
+ 329: 121(bool) All 328
+ Store 327(r000) 329
+ 331: 24(fvec2) Load 29(inF0)
+ 332: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 331
+ Store 330(r001) 332
+ 334: 24(fvec2) Load 29(inF0)
+ 335: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 334
+ Store 333(r002) 335
+ 337: 24(fvec2) Load 29(inF0)
+ 338: 121(bool) Any 337
+ Store 336(r003) 338
+ 340: 24(fvec2) Load 29(inF0)
+ 341: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 340
+ Store 339(r004) 341
+ 345: 24(fvec2) Load 29(inF0)
+ 346: 342(ivec2) Bitcast 345
+ Store 344(r005) 346
+ 348: 24(fvec2) Load 29(inF0)
+ 349: 26(ivec2) Bitcast 348
+ Store 347(r006) 349
+ 351: 26(ivec2) Load 32(inU0)
+ 352: 24(fvec2) Bitcast 351
+ Store 350(r007) 352
+ 354: 24(fvec2) Load 29(inF0)
+ 355: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 354
+ Store 353(r009) 355
+ 357: 24(fvec2) Load 29(inF0)
+ 358: 24(fvec2) Load 30(inF1)
+ 359: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 357 358
+ Store 356(r010) 359
+ 361: 24(fvec2) Load 29(inF0)
+ 362: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 361
+ Store 360(r011) 362
+ 364: 24(fvec2) Load 29(inF0)
+ 365: 24(fvec2) Load 30(inF1)
+ 366: 24(fvec2) Load 31(inF2)
+ 367: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 364 365 366
+ Store 363(r012) 367
+ 368: 24(fvec2) Load 29(inF0)
+ 371: 370(bvec2) FOrdLessThan 368 369
+ 372: 121(bool) Any 371
+ SelectionMerge 374 None
+ BranchConditional 372 373 374
+ 373: Label
Kill
- 87: Label
- 89: 6(float) Load 48(inF0)
- 90: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 89
- 91: 6(float) Load 48(inF0)
- 92: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 91
- 94: 64(int) BitCount 93
- 95: 6(float) Load 48(inF0)
- 96: 6(float) DPdx 95
- 97: 6(float) Load 48(inF0)
- 98: 6(float) DPdxCoarse 97
- 99: 6(float) Load 48(inF0)
- 100: 6(float) DPdxFine 99
- 101: 6(float) Load 48(inF0)
- 102: 6(float) DPdy 101
- 103: 6(float) Load 48(inF0)
- 104: 6(float) DPdyCoarse 103
- 105: 6(float) Load 48(inF0)
- 106: 6(float) DPdyFine 105
- 107: 6(float) Load 48(inF0)
- 108: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 107
- 109: 6(float) Load 48(inF0)
- 110: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 109
- 111: 6(float) Load 48(inF0)
- 112: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 111
- 114: 61(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 113
- 115: 61(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 113
- 116: 6(float) Load 48(inF0)
- 117: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 116
- 118: 6(float) Load 48(inF0)
- 119: 6(float) Load 73(inF1)
- 120: 6(float) FMod 118 119
- 121: 6(float) Load 48(inF0)
- 122: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 121
- 123: 6(float) Load 48(inF0)
- 125:124(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 123
- 126: 61(int) CompositeExtract 125 1
- Store 73(inF1) 126
- 127: 6(float) CompositeExtract 125 0
- 128: 6(float) Load 48(inF0)
- 129: 6(float) Fwidth 128
- 130: 6(float) Load 48(inF0)
- 131: 50(bool) IsInf 130
- 132: 6(float) Load 48(inF0)
- 133: 50(bool) IsNan 132
- 134: 6(float) Load 48(inF0)
- 135: 6(float) Load 73(inF1)
- 136: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 134 135
- 137: 6(float) Load 48(inF0)
- 138: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 137
- 139: 6(float) Load 48(inF0)
- 140: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 139
- 142: 6(float) FMul 140 141
- 143: 6(float) Load 48(inF0)
- 144: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 143
- 145: 6(float) Load 48(inF0)
- 146: 6(float) Load 73(inF1)
- 147: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 145 146
- 148: 6(float) Load 48(inF0)
- 149: 6(float) Load 73(inF1)
- 150: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 148 149
- 151: 6(float) Load 48(inF0)
- 152: 6(float) Load 73(inF1)
- 153: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 151 152
- 154: 6(float) Load 48(inF0)
- 155: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 154
- 157: 6(float) Load 48(inF0)
- 158: 6(float) FDiv 156 157
- 160: 64(int) BitReverse 159
- 161: 6(float) Load 48(inF0)
- 162: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 161
- 163: 6(float) Load 48(inF0)
- 164: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 163
- 165: 6(float) Load 48(inF0)
- 166: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 165 84 156
- 167: 6(float) Load 48(inF0)
- 168: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 167
- 169: 6(float) Load 48(inF0)
- 170: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 169
- 171: 6(float) Load 48(inF0)
- 172: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 171
- Store 73(inF1) 172
- 173: 6(float) Load 48(inF0)
- 174: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 173
- Store 80(inF2) 174
- 175: 6(float) Load 48(inF0)
- 176: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 175
- 177: 6(float) Load 48(inF0)
- 178: 6(float) Load 73(inF1)
- 179: 6(float) Load 80(inF2)
- 180: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 177 178 179
- 181: 6(float) Load 48(inF0)
- 182: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 181
- 183: 6(float) Load 48(inF0)
- 184: 6(float) Load 73(inF1)
- 185: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 183 184
- 186: 6(float) Load 48(inF0)
- 187: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 186
- 188: 6(float) Load 48(inF0)
- 189: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 188
- 190: 6(float) Load 48(inF0)
- 191: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 190
- ReturnValue 84
+ 374: Label
+ 377: 24(fvec2) Load 29(inF0)
+ 378: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 377
+ Store 376(r013) 378
+ 380: 24(fvec2) Load 29(inF0)
+ 381: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 380
+ Store 379(r015) 381
+ 385: 26(ivec2) BitCount 384
+ Store 382(r016) 385
+ 387: 24(fvec2) Load 29(inF0)
+ 388: 24(fvec2) DPdx 387
+ Store 386(r017) 388
+ 390: 24(fvec2) Load 29(inF0)
+ 391: 24(fvec2) DPdxCoarse 390
+ Store 389(r018) 391
+ 393: 24(fvec2) Load 29(inF0)
+ 394: 24(fvec2) DPdxFine 393
+ Store 392(r019) 394
+ 396: 24(fvec2) Load 29(inF0)
+ 397: 24(fvec2) DPdy 396
+ Store 395(r020) 397
+ 399: 24(fvec2) Load 29(inF0)
+ 400: 24(fvec2) DPdyCoarse 399
+ Store 398(r021) 400
+ 402: 24(fvec2) Load 29(inF0)
+ 403: 24(fvec2) DPdyFine 402
+ Store 401(r022) 403
+ 405: 24(fvec2) Load 29(inF0)
+ 406: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 405
+ Store 404(r023) 406
+ 408: 24(fvec2) Load 29(inF0)
+ 409: 24(fvec2) Load 30(inF1)
+ 410: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 408 409
+ Store 407(r026) 410
+ 412: 24(fvec2) Load 29(inF0)
+ 413: 24(fvec2) Load 30(inF1)
+ 414: 6(float) Dot 412 413
+ Store 411(r027) 414
+ 416: 24(fvec2) Load 29(inF0)
+ 417: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 416
+ Store 415(r028) 417
+ 419: 24(fvec2) Load 29(inF0)
+ 420: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 419
+ Store 418(r029) 420
+ 422: 24(fvec2) Load 29(inF0)
+ 423: 24(fvec2) Load 30(inF1)
+ 424: 24(fvec2) Load 31(inF2)
+ 425: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 422 423 424
+ Store 421(r030) 425
+ 429: 26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 428
+ Store 426(r031) 429
+ 431: 26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 428
+ Store 430(r032) 431
+ 433: 24(fvec2) Load 29(inF0)
+ 434: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 433
+ Store 432(r033) 434
+ 436: 24(fvec2) Load 29(inF0)
+ 437: 24(fvec2) Load 30(inF1)
+ 438: 24(fvec2) FMod 436 437
+ Store 435(r035) 438
+ 440: 24(fvec2) Load 29(inF0)
+ 441: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 440
+ Store 439(r036) 441
+ 443: 24(fvec2) Load 29(inF0)
+ 445:444(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 443
+ 446: 342(ivec2) CompositeExtract 445 1
+ Store 30(inF1) 446
+ 447: 24(fvec2) CompositeExtract 445 0
+ Store 442(r037) 447
+ 449: 24(fvec2) Load 29(inF0)
+ 450: 24(fvec2) Fwidth 449
+ Store 448(r038) 450
+ 453: 24(fvec2) Load 29(inF0)
+ 454: 370(bvec2) IsInf 453
+ Store 452(r039) 454
+ 456: 24(fvec2) Load 29(inF0)
+ 457: 370(bvec2) IsNan 456
+ Store 455(r040) 457
+ 459: 24(fvec2) Load 29(inF0)
+ 460: 24(fvec2) Load 30(inF1)
+ 461: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 459 460
+ Store 458(r041) 461
+ 463: 24(fvec2) Load 29(inF0)
+ 464: 24(fvec2) Load 30(inF1)
+ 465: 24(fvec2) Load 31(inF2)
+ 466: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 463 464 465
+ Store 462(r039a) 466
+ 468: 24(fvec2) Load 29(inF0)
+ 469: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 468
+ Store 467(r042) 469
+ 471: 24(fvec2) Load 29(inF0)
+ 472: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 471
+ Store 470(r043) 472
+ 474: 24(fvec2) Load 29(inF0)
+ 475: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 474
+ 476: 24(fvec2) VectorTimesScalar 475 253
+ Store 473(r044) 476
+ 478: 24(fvec2) Load 29(inF0)
+ 479: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 478
+ Store 477(r045) 479
+ 481: 24(fvec2) Load 29(inF0)
+ 482: 24(fvec2) Load 30(inF1)
+ 483: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 481 482
+ Store 480(r046) 483
+ 485: 24(fvec2) Load 29(inF0)
+ 486: 24(fvec2) Load 30(inF1)
+ 487: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 485 486
+ Store 484(r047) 487
+ 489: 24(fvec2) Load 29(inF0)
+ 490: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 489
+ Store 488(r048) 490
+ 492: 24(fvec2) Load 29(inF0)
+ 493: 24(fvec2) Load 30(inF1)
+ 494: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 492 493
+ Store 491(r049) 494
+ 496: 24(fvec2) Load 29(inF0)
+ 497: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 496
+ Store 495(r050) 497
+ 499: 24(fvec2) Load 29(inF0)
+ 500: 24(fvec2) CompositeConstruct 274 274
+ 501: 24(fvec2) FDiv 500 499
+ Store 498(r051) 501
+ 503: 24(fvec2) Load 29(inF0)
+ 504: 24(fvec2) Load 30(inF1)
+ 505: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 503 504
+ Store 502(r052) 505
+ 507: 24(fvec2) Load 29(inF0)
+ 508: 24(fvec2) Load 30(inF1)
+ 510: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 507 508 509
+ Store 506(r053) 510
+ 514: 26(ivec2) BitReverse 513
+ Store 511(r054) 514
+ 516: 24(fvec2) Load 29(inF0)
+ 517: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 516
+ Store 515(r055) 517
+ 519: 24(fvec2) Load 29(inF0)
+ 520: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 519
+ Store 518(r056) 520
+ 522: 24(fvec2) Load 29(inF0)
+ 523: 24(fvec2) CompositeConstruct 165 165
+ 524: 24(fvec2) CompositeConstruct 274 274
+ 525: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 522 523 524
+ Store 521(r057) 525
+ 527: 24(fvec2) Load 29(inF0)
+ 528: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 527
+ Store 526(r058) 528
+ 530: 24(fvec2) Load 29(inF0)
+ 531: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 530
+ Store 529(r059) 531
+ 532: 24(fvec2) Load 29(inF0)
+ 533: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 532
+ Store 30(inF1) 533
+ 534: 24(fvec2) Load 29(inF0)
+ 535: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 534
+ Store 31(inF2) 535
+ 537: 24(fvec2) Load 29(inF0)
+ 538: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 537
+ Store 536(r060) 538
+ 540: 24(fvec2) Load 29(inF0)
+ 541: 24(fvec2) Load 30(inF1)
+ 542: 24(fvec2) Load 31(inF2)
+ 543: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 540 541 542
+ Store 539(r061) 543
+ 545: 24(fvec2) Load 29(inF0)
+ 546: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 545
+ Store 544(r062) 546
+ 548: 24(fvec2) Load 29(inF0)
+ 549: 24(fvec2) Load 30(inF1)
+ 550: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 548 549
+ Store 547(r063) 550
+ 552: 24(fvec2) Load 29(inF0)
+ 553: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 552
+ Store 551(r064) 553
+ 555: 24(fvec2) Load 29(inF0)
+ 556: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 555
+ Store 554(r065) 556
+ 558: 24(fvec2) Load 29(inF0)
+ 559: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 558
+ Store 557(r066) 559
+ ReturnValue 560
+ FunctionEnd
+46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40
+ 41(inF0): 37(ptr) FunctionParameter
+ 42(inF1): 37(ptr) FunctionParameter
+ 43(inF2): 37(ptr) FunctionParameter
+ 44(inU0): 39(ptr) FunctionParameter
+ 45(inU1): 39(ptr) FunctionParameter
+ 47: Label
+ 563(r000): 122(ptr) Variable Function
+ 566(r001): 37(ptr) Variable Function
+ 569(r002): 37(ptr) Variable Function
+ 572(r003): 122(ptr) Variable Function
+ 575(r004): 37(ptr) Variable Function
+ 580(r005): 579(ptr) Variable Function
+ 583(r006): 39(ptr) Variable Function
+ 586(r007): 37(ptr) Variable Function
+ 589(r009): 37(ptr) Variable Function
+ 592(r010): 37(ptr) Variable Function
+ 596(r011): 37(ptr) Variable Function
+ 599(r012): 37(ptr) Variable Function
+ 612(r013): 37(ptr) Variable Function
+ 615(r014): 37(ptr) Variable Function
+ 618(r015): 39(ptr) Variable Function
+ 622(r016): 37(ptr) Variable Function
+ 626(r017): 37(ptr) Variable Function
+ 629(r018): 37(ptr) Variable Function
+ 632(r019): 37(ptr) Variable Function
+ 635(r020): 37(ptr) Variable Function
+ 638(r021): 37(ptr) Variable Function
+ 641(r022): 37(ptr) Variable Function
+ 644(r023): 37(ptr) Variable Function
+ 647(r024): 7(ptr) Variable Function
+ 651(r025): 7(ptr) Variable Function
+ 655(r029): 37(ptr) Variable Function
+ 658(r030): 37(ptr) Variable Function
+ 661(r031): 37(ptr) Variable Function
+ 666(r032): 39(ptr) Variable Function
+ 670(r033): 39(ptr) Variable Function
+ 672(r034): 37(ptr) Variable Function
+ 675(r036): 37(ptr) Variable Function
+ 679(r037): 37(ptr) Variable Function
+ 682(r038): 37(ptr) Variable Function
+ 688(r039): 37(ptr) Variable Function
+ 692(r040): 691(ptr) Variable Function
+ 695(r041): 691(ptr) Variable Function
+ 698(r042): 37(ptr) Variable Function
+ 702(r039a): 37(ptr) Variable Function
+ 707(r043): 7(ptr) Variable Function
+ 710(r044): 37(ptr) Variable Function
+ 713(r045): 37(ptr) Variable Function
+ 717(r046): 37(ptr) Variable Function
+ 720(r047): 37(ptr) Variable Function
+ 724(r048): 37(ptr) Variable Function
+ 728(r049): 37(ptr) Variable Function
+ 731(r050): 37(ptr) Variable Function
+ 735(r051): 37(ptr) Variable Function
+ 738(r052): 37(ptr) Variable Function
+ 742(r053): 37(ptr) Variable Function
+ 746(r054): 37(ptr) Variable Function
+ 750(r055): 39(ptr) Variable Function
+ 753(r056): 37(ptr) Variable Function
+ 756(r057): 37(ptr) Variable Function
+ 759(r058): 37(ptr) Variable Function
+ 764(r059): 37(ptr) Variable Function
+ 767(r060): 37(ptr) Variable Function
+ 774(r061): 37(ptr) Variable Function
+ 777(r062): 37(ptr) Variable Function
+ 782(r063): 37(ptr) Variable Function
+ 785(r064): 37(ptr) Variable Function
+ 789(r065): 37(ptr) Variable Function
+ 792(r066): 37(ptr) Variable Function
+ 795(r067): 37(ptr) Variable Function
+ 564: 36(fvec3) Load 41(inF0)
+ 565: 121(bool) All 564
+ Store 563(r000) 565
+ 567: 36(fvec3) Load 41(inF0)
+ 568: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 567
+ Store 566(r001) 568
+ 570: 36(fvec3) Load 41(inF0)
+ 571: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 570
+ Store 569(r002) 571
+ 573: 36(fvec3) Load 41(inF0)
+ 574: 121(bool) Any 573
+ Store 572(r003) 574
+ 576: 36(fvec3) Load 41(inF0)
+ 577: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 576
+ Store 575(r004) 577
+ 581: 36(fvec3) Load 41(inF0)
+ 582: 578(ivec3) Bitcast 581
+ Store 580(r005) 582
+ 584: 36(fvec3) Load 41(inF0)
+ 585: 38(ivec3) Bitcast 584
+ Store 583(r006) 585
+ 587: 38(ivec3) Load 44(inU0)
+ 588: 36(fvec3) Bitcast 587
+ Store 586(r007) 588
+ 590: 36(fvec3) Load 41(inF0)
+ 591: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 590
+ Store 589(r009) 591
+ 593: 36(fvec3) Load 41(inF0)
+ 594: 36(fvec3) Load 42(inF1)
+ 595: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 593 594
+ Store 592(r010) 595
+ 597: 36(fvec3) Load 41(inF0)
+ 598: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 597
+ Store 596(r011) 598
+ 600: 36(fvec3) Load 41(inF0)
+ 601: 36(fvec3) Load 42(inF1)
+ 602: 36(fvec3) Load 43(inF2)
+ 603: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 600 601 602
+ Store 599(r012) 603
+ 604: 36(fvec3) Load 41(inF0)
+ 607: 606(bvec3) FOrdLessThan 604 605
+ 608: 121(bool) Any 607
+ SelectionMerge 610 None
+ BranchConditional 608 609 610
+ 609: Label
+ Kill
+ 610: Label
+ 613: 36(fvec3) Load 41(inF0)
+ 614: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 613
+ Store 612(r013) 614
+ 616: 36(fvec3) Load 41(inF0)
+ 617: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 616
+ Store 615(r014) 617
+ 621: 38(ivec3) BitCount 620
+ Store 618(r015) 621
+ 623: 36(fvec3) Load 41(inF0)
+ 624: 36(fvec3) Load 42(inF1)
+ 625: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 623 624
+ Store 622(r016) 625
+ 627: 36(fvec3) Load 41(inF0)
+ 628: 36(fvec3) DPdx 627
+ Store 626(r017) 628
+ 630: 36(fvec3) Load 41(inF0)
+ 631: 36(fvec3) DPdxCoarse 630
+ Store 629(r018) 631
+ 633: 36(fvec3) Load 41(inF0)
+ 634: 36(fvec3) DPdxFine 633
+ Store 632(r019) 634
+ 636: 36(fvec3) Load 41(inF0)
+ 637: 36(fvec3) DPdy 636
+ Store 635(r020) 637
+ 639: 36(fvec3) Load 41(inF0)
+ 640: 36(fvec3) DPdyCoarse 639
+ Store 638(r021) 640
+ 642: 36(fvec3) Load 41(inF0)
+ 643: 36(fvec3) DPdyFine 642
+ Store 641(r022) 643
+ 645: 36(fvec3) Load 41(inF0)
+ 646: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 645
+ Store 644(r023) 646
+ 648: 36(fvec3) Load 41(inF0)
+ 649: 36(fvec3) Load 42(inF1)
+ 650: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 648 649
+ Store 647(r024) 650
+ 652: 36(fvec3) Load 41(inF0)
+ 653: 36(fvec3) Load 42(inF1)
+ 654: 6(float) Dot 652 653
+ Store 651(r025) 654
+ 656: 36(fvec3) Load 41(inF0)
+ 657: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 656
+ Store 655(r029) 657
+ 659: 36(fvec3) Load 41(inF0)
+ 660: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 659
+ Store 658(r030) 660
+ 662: 36(fvec3) Load 41(inF0)
+ 663: 36(fvec3) Load 42(inF1)
+ 664: 36(fvec3) Load 43(inF2)
+ 665: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 662 663 664
+ Store 661(r031) 665
+ 669: 38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 668
+ Store 666(r032) 669
+ 671: 38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 668
+ Store 670(r033) 671
+ 673: 36(fvec3) Load 41(inF0)
+ 674: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 673
+ Store 672(r034) 674
+ 676: 36(fvec3) Load 41(inF0)
+ 677: 36(fvec3) Load 42(inF1)
+ 678: 36(fvec3) FMod 676 677
+ Store 675(r036) 678
+ 680: 36(fvec3) Load 41(inF0)
+ 681: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 680
+ Store 679(r037) 681
+ 683: 36(fvec3) Load 41(inF0)
+ 685:684(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 683
+ 686: 578(ivec3) CompositeExtract 685 1
+ Store 42(inF1) 686
+ 687: 36(fvec3) CompositeExtract 685 0
+ Store 682(r038) 687
+ 689: 36(fvec3) Load 41(inF0)
+ 690: 36(fvec3) Fwidth 689
+ Store 688(r039) 690
+ 693: 36(fvec3) Load 41(inF0)
+ 694: 606(bvec3) IsInf 693
+ Store 692(r040) 694
+ 696: 36(fvec3) Load 41(inF0)
+ 697: 606(bvec3) IsNan 696
+ Store 695(r041) 697
+ 699: 36(fvec3) Load 41(inF0)
+ 700: 36(fvec3) Load 42(inF1)
+ 701: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 699 700
+ Store 698(r042) 701
+ 703: 36(fvec3) Load 41(inF0)
+ 704: 36(fvec3) Load 42(inF1)
+ 705: 36(fvec3) Load 43(inF2)
+ 706: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 703 704 705
+ Store 702(r039a) 706
+ 708: 36(fvec3) Load 41(inF0)
+ 709: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 708
+ Store 707(r043) 709
+ 711: 36(fvec3) Load 41(inF0)
+ 712: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 711
+ Store 710(r044) 712
+ 714: 36(fvec3) Load 41(inF0)
+ 715: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 714
+ 716: 36(fvec3) VectorTimesScalar 715 253
+ Store 713(r045) 716
+ 718: 36(fvec3) Load 41(inF0)
+ 719: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 718
+ Store 717(r046) 719
+ 721: 36(fvec3) Load 41(inF0)
+ 722: 36(fvec3) Load 42(inF1)
+ 723: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 721 722
+ Store 720(r047) 723
+ 725: 36(fvec3) Load 41(inF0)
+ 726: 36(fvec3) Load 42(inF1)
+ 727: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 725 726
+ Store 724(r048) 727
+ 729: 36(fvec3) Load 41(inF0)
+ 730: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 729
+ Store 728(r049) 730
+ 732: 36(fvec3) Load 41(inF0)
+ 733: 36(fvec3) Load 42(inF1)
+ 734: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 732 733
+ Store 731(r050) 734
+ 736: 36(fvec3) Load 41(inF0)
+ 737: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 736
+ Store 735(r051) 737
+ 739: 36(fvec3) Load 41(inF0)
+ 740: 36(fvec3) CompositeConstruct 274 274 274
+ 741: 36(fvec3) FDiv 740 739
+ Store 738(r052) 741
+ 743: 36(fvec3) Load 41(inF0)
+ 744: 36(fvec3) Load 42(inF1)
+ 745: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 743 744
+ Store 742(r053) 745
+ 747: 36(fvec3) Load 41(inF0)
+ 748: 36(fvec3) Load 42(inF1)
+ 749: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 747 748 509
+ Store 746(r054) 749
+ 752: 38(ivec3) BitReverse 751
+ Store 750(r055) 752
+ 754: 36(fvec3) Load 41(inF0)
+ 755: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 754
+ Store 753(r056) 755
+ 757: 36(fvec3) Load 41(inF0)
+ 758: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 757
+ Store 756(r057) 758
+ 760: 36(fvec3) Load 41(inF0)
+ 761: 36(fvec3) CompositeConstruct 165 165 165
+ 762: 36(fvec3) CompositeConstruct 274 274 274
+ 763: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 760 761 762
+ Store 759(r058) 763
+ 765: 36(fvec3) Load 41(inF0)
+ 766: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 765
+ Store 764(r059) 766
+ 768: 36(fvec3) Load 41(inF0)
+ 769: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 768
+ Store 767(r060) 769
+ 770: 36(fvec3) Load 41(inF0)
+ 771: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 770
+ Store 42(inF1) 771
+ 772: 36(fvec3) Load 41(inF0)
+ 773: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 772
+ Store 43(inF2) 773
+ 775: 36(fvec3) Load 41(inF0)
+ 776: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 775
+ Store 774(r061) 776
+ 778: 36(fvec3) Load 41(inF0)
+ 779: 36(fvec3) Load 42(inF1)
+ 780: 36(fvec3) Load 43(inF2)
+ 781: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 778 779 780
+ Store 777(r062) 781
+ 783: 36(fvec3) Load 41(inF0)
+ 784: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 783
+ Store 782(r063) 784
+ 786: 36(fvec3) Load 41(inF0)
+ 787: 36(fvec3) Load 42(inF1)
+ 788: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 786 787
+ Store 785(r064) 788
+ 790: 36(fvec3) Load 41(inF0)
+ 791: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 790
+ Store 789(r065) 791
+ 793: 36(fvec3) Load 41(inF0)
+ 794: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 793
+ Store 792(r066) 794
+ 796: 36(fvec3) Load 41(inF0)
+ 797: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 796
+ Store 795(r067) 797
+ ReturnValue 799
+ FunctionEnd
+54(PixelShaderFunction2x2(mf22;mf22;mf22;): 48 Function None 50
+ 51(inF0): 49(ptr) FunctionParameter
+ 52(inF1): 49(ptr) FunctionParameter
+ 53(inF2): 49(ptr) FunctionParameter
+ 55: Label
+ 1056(r000): 122(ptr) Variable Function
+ 1059(r001): 49(ptr) Variable Function
+ 1064(r003): 122(ptr) Variable Function
+ 1067(r004): 49(ptr) Variable Function
+ 1070(r005): 49(ptr) Variable Function
+ 1073(r006): 49(ptr) Variable Function
+ 1077(r007): 49(ptr) Variable Function
+ 1088(r008): 49(ptr) Variable Function
+ 1093(r009): 49(ptr) Variable Function
+ 1096(r010): 49(ptr) Variable Function
+ 1099(r011): 49(ptr) Variable Function
+ 1102(r012): 49(ptr) Variable Function
+ 1105(r013): 49(ptr) Variable Function
+ 1108(r014): 49(ptr) Variable Function
+ 1111(r015): 49(ptr) Variable Function
+ 1114(r016): 49(ptr) Variable Function
+ 1117(r017): 49(ptr) Variable Function
+ 1120(r018): 7(ptr) Variable Function
+ 1123(r019): 49(ptr) Variable Function
+ 1126(R020): 49(ptr) Variable Function
+ 1129(r021): 49(ptr) Variable Function
+ 1132(r022): 49(ptr) Variable Function
+ 1142(r023): 49(ptr) Variable Function
+ 1145(r024): 49(ptr) Variable Function
+ 1151(r025): 49(ptr) Variable Function
+ 1154(r026): 49(ptr) Variable Function
+ 1158(r026a): 49(ptr) Variable Function
+ 1163(r027): 49(ptr) Variable Function
+ 1166(r028): 49(ptr) Variable Function
+ 1170(r029): 49(ptr) Variable Function
+ 1173(r030): 49(ptr) Variable Function
+ 1177(r031): 49(ptr) Variable Function
+ 1181(r032): 49(ptr) Variable Function
+ 1185(r033): 49(ptr) Variable Function
+ 1188(r034): 49(ptr) Variable Function
+ 1191(r035): 49(ptr) Variable Function
+ 1194(r036): 49(ptr) Variable Function
+ 1199(r037): 49(ptr) Variable Function
+ 1202(r038): 49(ptr) Variable Function
+ 1209(r039): 49(ptr) Variable Function
+ 1212(r049): 49(ptr) Variable Function
+ 1217(r041): 49(ptr) Variable Function
+ 1220(r042): 49(ptr) Variable Function
+ 1224(r043): 49(ptr) Variable Function
+ 1227(r044): 49(ptr) Variable Function
+ 1232(r046): 49(ptr) Variable Function
+ 1057: 48 Load 51(inF0)
+ 1058: 121(bool) All 1057
+ Store 1056(r000) 1058
+ 1060: 48 Load 51(inF0)
+ 1061: 48 ExtInst 1(GLSL.std.450) 4(FAbs) 1060
+ Store 1059(r001) 1061
+ 1062: 48 Load 51(inF0)
+ 1063: 48 ExtInst 1(GLSL.std.450) 17(Acos) 1062
+ 1065: 48 Load 51(inF0)
+ 1066: 121(bool) Any 1065
+ Store 1064(r003) 1066
+ 1068: 48 Load 51(inF0)
+ 1069: 48 ExtInst 1(GLSL.std.450) 16(Asin) 1068
+ Store 1067(r004) 1069
+ 1071: 48 Load 51(inF0)
+ 1072: 48 ExtInst 1(GLSL.std.450) 18(Atan) 1071
+ Store 1070(r005) 1072
+ 1074: 48 Load 51(inF0)
+ 1075: 48 Load 52(inF1)
+ 1076: 48 ExtInst 1(GLSL.std.450) 25(Atan2) 1074 1075
+ Store 1073(r006) 1076
+ 1078: 48 Load 51(inF0)
+ 1079: 48 ExtInst 1(GLSL.std.450) 9(Ceil) 1078
+ Store 1077(r007) 1079
+ 1080: 48 Load 51(inF0)
+ 1083: 1082 FOrdLessThan 1080 1081
+ 1084: 121(bool) Any 1083
+ SelectionMerge 1086 None
+ BranchConditional 1084 1085 1086
+ 1085: Label
+ Kill
+ 1086: Label
+ 1089: 48 Load 51(inF0)
+ 1090: 48 Load 52(inF1)
+ 1091: 48 Load 53(inF2)
+ 1092: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1089 1090 1091
+ Store 1088(r008) 1092
+ 1094: 48 Load 51(inF0)
+ 1095: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1094
+ Store 1093(r009) 1095
+ 1097: 48 Load 51(inF0)
+ 1098: 48 ExtInst 1(GLSL.std.450) 20(Cosh) 1097
+ Store 1096(r010) 1098
+ 1100: 48 Load 51(inF0)
+ 1101: 48 DPdx 1100
+ Store 1099(r011) 1101
+ 1103: 48 Load 51(inF0)
+ 1104: 48 DPdxCoarse 1103
+ Store 1102(r012) 1104
+ 1106: 48 Load 51(inF0)
+ 1107: 48 DPdxFine 1106
+ Store 1105(r013) 1107
+ 1109: 48 Load 51(inF0)
+ 1110: 48 DPdy 1109
+ Store 1108(r014) 1110
+ 1112: 48 Load 51(inF0)
+ 1113: 48 DPdyCoarse 1112
+ Store 1111(r015) 1113
+ 1115: 48 Load 51(inF0)
+ 1116: 48 DPdyFine 1115
+ Store 1114(r016) 1116
+ 1118: 48 Load 51(inF0)
+ 1119: 48 ExtInst 1(GLSL.std.450) 12(Degrees) 1118
+ Store 1117(r017) 1119
+ 1121: 48 Load 51(inF0)
+ 1122: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1121
+ Store 1120(r018) 1122
+ 1124: 48 Load 51(inF0)
+ 1125: 48 ExtInst 1(GLSL.std.450) 27(Exp) 1124
+ Store 1123(r019) 1125
+ 1127: 48 Load 51(inF0)
+ 1128: 48 ExtInst 1(GLSL.std.450) 29(Exp2) 1127
+ Store 1126(R020) 1128
+ 1130: 48 Load 51(inF0)
+ 1131: 48 ExtInst 1(GLSL.std.450) 8(Floor) 1130
+ Store 1129(r021) 1131
+ 1133: 48 Load 51(inF0)
+ 1134: 48 Load 52(inF1)
+ 1135: 24(fvec2) CompositeExtract 1133 0
+ 1136: 24(fvec2) CompositeExtract 1134 0
+ 1137: 24(fvec2) FMod 1135 1136
+ 1138: 24(fvec2) CompositeExtract 1133 1
+ 1139: 24(fvec2) CompositeExtract 1134 1
+ 1140: 24(fvec2) FMod 1138 1139
+ 1141: 48 CompositeConstruct 1137 1140
+ Store 1132(r022) 1141
+ 1143: 48 Load 51(inF0)
+ 1144: 48 ExtInst 1(GLSL.std.450) 10(Fract) 1143
+ Store 1142(r023) 1144
+ 1146: 48 Load 51(inF0)
+ 1148:1147(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1146
+ 1149: 342(ivec2) CompositeExtract 1148 1
+ Store 52(inF1) 1149
+ 1150: 48 CompositeExtract 1148 0
+ Store 1145(r024) 1150
+ 1152: 48 Load 51(inF0)
+ 1153: 48 Fwidth 1152
+ Store 1151(r025) 1153
+ 1155: 48 Load 51(inF0)
+ 1156: 48 Load 52(inF1)
+ 1157: 48 ExtInst 1(GLSL.std.450) 53(Ldexp) 1155 1156
+ Store 1154(r026) 1157
+ 1159: 48 Load 51(inF0)
+ 1160: 48 Load 52(inF1)
+ 1161: 48 Load 53(inF2)
+ 1162: 48 ExtInst 1(GLSL.std.450) 46(FMix) 1159 1160 1161
+ Store 1158(r026a) 1162
+ 1164: 48 Load 51(inF0)
+ 1165: 48 ExtInst 1(GLSL.std.450) 28(Log) 1164
+ Store 1163(r027) 1165
+ 1167: 48 Load 51(inF0)
+ 1168: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1167
+ 1169: 48 MatrixTimesScalar 1168 253
+ Store 1166(r028) 1169
+ 1171: 48 Load 51(inF0)
+ 1172: 48 ExtInst 1(GLSL.std.450) 30(Log2) 1171
+ Store 1170(r029) 1172
+ 1174: 48 Load 51(inF0)
+ 1175: 48 Load 52(inF1)
+ 1176: 48 ExtInst 1(GLSL.std.450) 40(FMax) 1174 1175
+ Store 1173(r030) 1176
+ 1178: 48 Load 51(inF0)
+ 1179: 48 Load 52(inF1)
+ 1180: 48 ExtInst 1(GLSL.std.450) 37(FMin) 1178 1179
+ Store 1177(r031) 1180
+ 1182: 48 Load 51(inF0)
+ 1183: 48 Load 52(inF1)
+ 1184: 48 ExtInst 1(GLSL.std.450) 26(Pow) 1182 1183
+ Store 1181(r032) 1184
+ 1186: 48 Load 51(inF0)
+ 1187: 48 ExtInst 1(GLSL.std.450) 11(Radians) 1186
+ Store 1185(r033) 1187
+ 1189: 48 Load 51(inF0)
+ 1190: 48 ExtInst 1(GLSL.std.450) 2(RoundEven) 1189
+ Store 1188(r034) 1190
+ 1192: 48 Load 51(inF0)
+ 1193: 48 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1192
+ Store 1191(r035) 1193
+ 1195: 48 Load 51(inF0)
+ 1196: 24(fvec2) CompositeConstruct 165 165
+ 1197: 24(fvec2) CompositeConstruct 274 274
+ 1198: 48 ExtInst 1(GLSL.std.450) 43(FClamp) 1195 1196 1197
+ Store 1194(r036) 1198
+ 1200: 48 Load 51(inF0)
+ 1201: 48 ExtInst 1(GLSL.std.450) 6(FSign) 1200
+ Store 1199(r037) 1201
+ 1203: 48 Load 51(inF0)
+ 1204: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1203
+ Store 1202(r038) 1204
+ 1205: 48 Load 51(inF0)
+ 1206: 48 ExtInst 1(GLSL.std.450) 13(Sin) 1205
+ Store 52(inF1) 1206
+ 1207: 48 Load 51(inF0)
+ 1208: 48 ExtInst 1(GLSL.std.450) 14(Cos) 1207
+ Store 53(inF2) 1208
+ 1210: 48 Load 51(inF0)
+ 1211: 48 ExtInst 1(GLSL.std.450) 19(Sinh) 1210
+ Store 1209(r039) 1211
+ 1213: 48 Load 51(inF0)
+ 1214: 48 Load 52(inF1)
+ 1215: 48 Load 53(inF2)
+ 1216: 48 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1213 1214 1215
+ Store 1212(r049) 1216
+ 1218: 48 Load 51(inF0)
+ 1219: 48 ExtInst 1(GLSL.std.450) 31(Sqrt) 1218
+ Store 1217(r041) 1219
+ 1221: 48 Load 51(inF0)
+ 1222: 48 Load 52(inF1)
+ 1223: 48 ExtInst 1(GLSL.std.450) 48(Step) 1221 1222
+ Store 1220(r042) 1223
+ 1225: 48 Load 51(inF0)
+ 1226: 48 ExtInst 1(GLSL.std.450) 15(Tan) 1225
+ Store 1224(r043) 1226
+ 1228: 48 Load 51(inF0)
+ 1229: 48 ExtInst 1(GLSL.std.450) 21(Tanh) 1228
+ Store 1227(r044) 1229
+ 1230: 48 Load 51(inF0)
+ 1231: 48 Transpose 1230
+ 1233: 48 Load 51(inF0)
+ 1234: 48 ExtInst 1(GLSL.std.450) 3(Trunc) 1233
+ Store 1232(r046) 1234
+ ReturnValue 1236
+ FunctionEnd
+62(PixelShaderFunction3x3(mf33;mf33;mf33;): 56 Function None 58
+ 59(inF0): 57(ptr) FunctionParameter
+ 60(inF1): 57(ptr) FunctionParameter
+ 61(inF2): 57(ptr) FunctionParameter
+ 63: Label
+ 1239(r000): 122(ptr) Variable Function
+ 1242(r001): 57(ptr) Variable Function
+ 1247(r003): 122(ptr) Variable Function
+ 1250(r004): 57(ptr) Variable Function
+ 1253(r005): 57(ptr) Variable Function
+ 1256(r006): 57(ptr) Variable Function
+ 1260(r007): 57(ptr) Variable Function
+ 1271(r008): 57(ptr) Variable Function
+ 1276(r009): 57(ptr) Variable Function
+ 1279(r010): 57(ptr) Variable Function
+ 1282(r011): 57(ptr) Variable Function
+ 1285(r012): 57(ptr) Variable Function
+ 1288(r013): 57(ptr) Variable Function
+ 1291(r014): 57(ptr) Variable Function
+ 1294(r015): 57(ptr) Variable Function
+ 1297(r016): 57(ptr) Variable Function
+ 1300(r017): 57(ptr) Variable Function
+ 1303(r018): 7(ptr) Variable Function
+ 1306(r019): 57(ptr) Variable Function
+ 1309(R020): 57(ptr) Variable Function
+ 1312(r021): 57(ptr) Variable Function
+ 1315(r022): 57(ptr) Variable Function
+ 1328(r023): 57(ptr) Variable Function
+ 1331(r024): 57(ptr) Variable Function
+ 1337(r025): 57(ptr) Variable Function
+ 1340(r026): 57(ptr) Variable Function
+ 1344(r026a): 57(ptr) Variable Function
+ 1349(r027): 57(ptr) Variable Function
+ 1352(r028): 57(ptr) Variable Function
+ 1356(r029): 57(ptr) Variable Function
+ 1359(r030): 57(ptr) Variable Function
+ 1363(r031): 57(ptr) Variable Function
+ 1367(r032): 57(ptr) Variable Function
+ 1371(r033): 57(ptr) Variable Function
+ 1374(r034): 57(ptr) Variable Function
+ 1377(r035): 57(ptr) Variable Function
+ 1380(r036): 57(ptr) Variable Function
+ 1385(r037): 57(ptr) Variable Function
+ 1388(r038): 57(ptr) Variable Function
+ 1395(r039): 57(ptr) Variable Function
+ 1398(r049): 57(ptr) Variable Function
+ 1403(r041): 57(ptr) Variable Function
+ 1406(r042): 57(ptr) Variable Function
+ 1410(r043): 57(ptr) Variable Function
+ 1413(r044): 57(ptr) Variable Function
+ 1418(r046): 57(ptr) Variable Function
+ 1240: 56 Load 59(inF0)
+ 1241: 121(bool) All 1240
+ Store 1239(r000) 1241
+ 1243: 56 Load 59(inF0)
+ 1244: 56 ExtInst 1(GLSL.std.450) 4(FAbs) 1243
+ Store 1242(r001) 1244
+ 1245: 56 Load 59(inF0)
+ 1246: 56 ExtInst 1(GLSL.std.450) 17(Acos) 1245
+ 1248: 56 Load 59(inF0)
+ 1249: 121(bool) Any 1248
+ Store 1247(r003) 1249
+ 1251: 56 Load 59(inF0)
+ 1252: 56 ExtInst 1(GLSL.std.450) 16(Asin) 1251
+ Store 1250(r004) 1252
+ 1254: 56 Load 59(inF0)
+ 1255: 56 ExtInst 1(GLSL.std.450) 18(Atan) 1254
+ Store 1253(r005) 1255
+ 1257: 56 Load 59(inF0)
+ 1258: 56 Load 60(inF1)
+ 1259: 56 ExtInst 1(GLSL.std.450) 25(Atan2) 1257 1258
+ Store 1256(r006) 1259
+ 1261: 56 Load 59(inF0)
+ 1262: 56 ExtInst 1(GLSL.std.450) 9(Ceil) 1261
+ Store 1260(r007) 1262
+ 1263: 56 Load 59(inF0)
+ 1266: 1265 FOrdLessThan 1263 1264
+ 1267: 121(bool) Any 1266
+ SelectionMerge 1269 None
+ BranchConditional 1267 1268 1269
+ 1268: Label
+ Kill
+ 1269: Label
+ 1272: 56 Load 59(inF0)
+ 1273: 56 Load 60(inF1)
+ 1274: 56 Load 61(inF2)
+ 1275: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1272 1273 1274
+ Store 1271(r008) 1275
+ 1277: 56 Load 59(inF0)
+ 1278: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1277
+ Store 1276(r009) 1278
+ 1280: 56 Load 59(inF0)
+ 1281: 56 ExtInst 1(GLSL.std.450) 20(Cosh) 1280
+ Store 1279(r010) 1281
+ 1283: 56 Load 59(inF0)
+ 1284: 56 DPdx 1283
+ Store 1282(r011) 1284
+ 1286: 56 Load 59(inF0)
+ 1287: 56 DPdxCoarse 1286
+ Store 1285(r012) 1287
+ 1289: 56 Load 59(inF0)
+ 1290: 56 DPdxFine 1289
+ Store 1288(r013) 1290
+ 1292: 56 Load 59(inF0)
+ 1293: 56 DPdy 1292
+ Store 1291(r014) 1293
+ 1295: 56 Load 59(inF0)
+ 1296: 56 DPdyCoarse 1295
+ Store 1294(r015) 1296
+ 1298: 56 Load 59(inF0)
+ 1299: 56 DPdyFine 1298
+ Store 1297(r016) 1299
+ 1301: 56 Load 59(inF0)
+ 1302: 56 ExtInst 1(GLSL.std.450) 12(Degrees) 1301
+ Store 1300(r017) 1302
+ 1304: 56 Load 59(inF0)
+ 1305: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1304
+ Store 1303(r018) 1305
+ 1307: 56 Load 59(inF0)
+ 1308: 56 ExtInst 1(GLSL.std.450) 27(Exp) 1307
+ Store 1306(r019) 1308
+ 1310: 56 Load 59(inF0)
+ 1311: 56 ExtInst 1(GLSL.std.450) 29(Exp2) 1310
+ Store 1309(R020) 1311
+ 1313: 56 Load 59(inF0)
+ 1314: 56 ExtInst 1(GLSL.std.450) 8(Floor) 1313
+ Store 1312(r021) 1314
+ 1316: 56 Load 59(inF0)
+ 1317: 56 Load 60(inF1)
+ 1318: 36(fvec3) CompositeExtract 1316 0
+ 1319: 36(fvec3) CompositeExtract 1317 0
+ 1320: 36(fvec3) FMod 1318 1319
+ 1321: 36(fvec3) CompositeExtract 1316 1
+ 1322: 36(fvec3) CompositeExtract 1317 1
+ 1323: 36(fvec3) FMod 1321 1322
+ 1324: 36(fvec3) CompositeExtract 1316 2
+ 1325: 36(fvec3) CompositeExtract 1317 2
+ 1326: 36(fvec3) FMod 1324 1325
+ 1327: 56 CompositeConstruct 1320 1323 1326
+ Store 1315(r022) 1327
+ 1329: 56 Load 59(inF0)
+ 1330: 56 ExtInst 1(GLSL.std.450) 10(Fract) 1329
+ Store 1328(r023) 1330
+ 1332: 56 Load 59(inF0)
+ 1334:1333(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1332
+ 1335: 578(ivec3) CompositeExtract 1334 1
+ Store 60(inF1) 1335
+ 1336: 56 CompositeExtract 1334 0
+ Store 1331(r024) 1336
+ 1338: 56 Load 59(inF0)
+ 1339: 56 Fwidth 1338
+ Store 1337(r025) 1339
+ 1341: 56 Load 59(inF0)
+ 1342: 56 Load 60(inF1)
+ 1343: 56 ExtInst 1(GLSL.std.450) 53(Ldexp) 1341 1342
+ Store 1340(r026) 1343
+ 1345: 56 Load 59(inF0)
+ 1346: 56 Load 60(inF1)
+ 1347: 56 Load 61(inF2)
+ 1348: 56 ExtInst 1(GLSL.std.450) 46(FMix) 1345 1346 1347
+ Store 1344(r026a) 1348
+ 1350: 56 Load 59(inF0)
+ 1351: 56 ExtInst 1(GLSL.std.450) 28(Log) 1350
+ Store 1349(r027) 1351
+ 1353: 56 Load 59(inF0)
+ 1354: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1353
+ 1355: 56 MatrixTimesScalar 1354 253
+ Store 1352(r028) 1355
+ 1357: 56 Load 59(inF0)
+ 1358: 56 ExtInst 1(GLSL.std.450) 30(Log2) 1357
+ Store 1356(r029) 1358
+ 1360: 56 Load 59(inF0)
+ 1361: 56 Load 60(inF1)
+ 1362: 56 ExtInst 1(GLSL.std.450) 40(FMax) 1360 1361
+ Store 1359(r030) 1362
+ 1364: 56 Load 59(inF0)
+ 1365: 56 Load 60(inF1)
+ 1366: 56 ExtInst 1(GLSL.std.450) 37(FMin) 1364 1365
+ Store 1363(r031) 1366
+ 1368: 56 Load 59(inF0)
+ 1369: 56 Load 60(inF1)
+ 1370: 56 ExtInst 1(GLSL.std.450) 26(Pow) 1368 1369
+ Store 1367(r032) 1370
+ 1372: 56 Load 59(inF0)
+ 1373: 56 ExtInst 1(GLSL.std.450) 11(Radians) 1372
+ Store 1371(r033) 1373
+ 1375: 56 Load 59(inF0)
+ 1376: 56 ExtInst 1(GLSL.std.450) 2(RoundEven) 1375
+ Store 1374(r034) 1376
+ 1378: 56 Load 59(inF0)
+ 1379: 56 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1378
+ Store 1377(r035) 1379
+ 1381: 56 Load 59(inF0)
+ 1382: 36(fvec3) CompositeConstruct 165 165 165
+ 1383: 36(fvec3) CompositeConstruct 274 274 274
+ 1384: 56 ExtInst 1(GLSL.std.450) 43(FClamp) 1381 1382 1383
+ Store 1380(r036) 1384
+ 1386: 56 Load 59(inF0)
+ 1387: 56 ExtInst 1(GLSL.std.450) 6(FSign) 1386
+ Store 1385(r037) 1387
+ 1389: 56 Load 59(inF0)
+ 1390: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1389
+ Store 1388(r038) 1390
+ 1391: 56 Load 59(inF0)
+ 1392: 56 ExtInst 1(GLSL.std.450) 13(Sin) 1391
+ Store 60(inF1) 1392
+ 1393: 56 Load 59(inF0)
+ 1394: 56 ExtInst 1(GLSL.std.450) 14(Cos) 1393
+ Store 61(inF2) 1394
+ 1396: 56 Load 59(inF0)
+ 1397: 56 ExtInst 1(GLSL.std.450) 19(Sinh) 1396
+ Store 1395(r039) 1397
+ 1399: 56 Load 59(inF0)
+ 1400: 56 Load 60(inF1)
+ 1401: 56 Load 61(inF2)
+ 1402: 56 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1399 1400 1401
+ Store 1398(r049) 1402
+ 1404: 56 Load 59(inF0)
+ 1405: 56 ExtInst 1(GLSL.std.450) 31(Sqrt) 1404
+ Store 1403(r041) 1405
+ 1407: 56 Load 59(inF0)
+ 1408: 56 Load 60(inF1)
+ 1409: 56 ExtInst 1(GLSL.std.450) 48(Step) 1407 1408
+ Store 1406(r042) 1409
+ 1411: 56 Load 59(inF0)
+ 1412: 56 ExtInst 1(GLSL.std.450) 15(Tan) 1411
+ Store 1410(r043) 1412
+ 1414: 56 Load 59(inF0)
+ 1415: 56 ExtInst 1(GLSL.std.450) 21(Tanh) 1414
+ Store 1413(r044) 1415
+ 1416: 56 Load 59(inF0)
+ 1417: 56 Transpose 1416
+ 1419: 56 Load 59(inF0)
+ 1420: 56 ExtInst 1(GLSL.std.450) 3(Trunc) 1419
+ Store 1418(r046) 1420
+ ReturnValue 1422
+ FunctionEnd
+71(PixelShaderFunction4x4(mf44;mf44;mf44;): 65 Function None 67
+ 68(inF0): 66(ptr) FunctionParameter
+ 69(inF1): 66(ptr) FunctionParameter
+ 70(inF2): 66(ptr) FunctionParameter
+ 72: Label
+ 1425(r000): 122(ptr) Variable Function
+ 1428(r001): 66(ptr) Variable Function
+ 1433(r003): 122(ptr) Variable Function
+ 1436(r004): 66(ptr) Variable Function
+ 1439(r005): 66(ptr) Variable Function
+ 1442(r006): 66(ptr) Variable Function
+ 1446(r007): 66(ptr) Variable Function
+ 1457(r008): 66(ptr) Variable Function
+ 1462(r009): 66(ptr) Variable Function
+ 1465(r010): 66(ptr) Variable Function
+ 1468(r011): 66(ptr) Variable Function
+ 1471(r012): 66(ptr) Variable Function
+ 1474(r013): 66(ptr) Variable Function
+ 1477(r014): 66(ptr) Variable Function
+ 1480(r015): 66(ptr) Variable Function
+ 1483(r016): 66(ptr) Variable Function
+ 1486(r017): 66(ptr) Variable Function
+ 1489(r018): 7(ptr) Variable Function
+ 1492(r019): 66(ptr) Variable Function
+ 1495(R020): 66(ptr) Variable Function
+ 1498(r021): 66(ptr) Variable Function
+ 1501(r022): 66(ptr) Variable Function
+ 1517(r023): 66(ptr) Variable Function
+ 1520(r024): 66(ptr) Variable Function
+ 1526(r025): 66(ptr) Variable Function
+ 1529(r026): 66(ptr) Variable Function
+ 1533(r026a): 66(ptr) Variable Function
+ 1538(r027): 66(ptr) Variable Function
+ 1541(r028): 66(ptr) Variable Function
+ 1545(r029): 66(ptr) Variable Function
+ 1548(r030): 66(ptr) Variable Function
+ 1552(r031): 66(ptr) Variable Function
+ 1556(r032): 66(ptr) Variable Function
+ 1560(r033): 66(ptr) Variable Function
+ 1563(r034): 66(ptr) Variable Function
+ 1566(r035): 66(ptr) Variable Function
+ 1569(r036): 66(ptr) Variable Function
+ 1574(r037): 66(ptr) Variable Function
+ 1577(r038): 66(ptr) Variable Function
+ 1584(r039): 66(ptr) Variable Function
+ 1587(r049): 66(ptr) Variable Function
+ 1592(r041): 66(ptr) Variable Function
+ 1595(r042): 66(ptr) Variable Function
+ 1599(r043): 66(ptr) Variable Function
+ 1602(r044): 66(ptr) Variable Function
+ 1607(r046): 66(ptr) Variable Function
+ 1426: 65 Load 68(inF0)
+ 1427: 121(bool) All 1426
+ Store 1425(r000) 1427
+ 1429: 65 Load 68(inF0)
+ 1430: 65 ExtInst 1(GLSL.std.450) 4(FAbs) 1429
+ Store 1428(r001) 1430
+ 1431: 65 Load 68(inF0)
+ 1432: 65 ExtInst 1(GLSL.std.450) 17(Acos) 1431
+ 1434: 65 Load 68(inF0)
+ 1435: 121(bool) Any 1434
+ Store 1433(r003) 1435
+ 1437: 65 Load 68(inF0)
+ 1438: 65 ExtInst 1(GLSL.std.450) 16(Asin) 1437
+ Store 1436(r004) 1438
+ 1440: 65 Load 68(inF0)
+ 1441: 65 ExtInst 1(GLSL.std.450) 18(Atan) 1440
+ Store 1439(r005) 1441
+ 1443: 65 Load 68(inF0)
+ 1444: 65 Load 69(inF1)
+ 1445: 65 ExtInst 1(GLSL.std.450) 25(Atan2) 1443 1444
+ Store 1442(r006) 1445
+ 1447: 65 Load 68(inF0)
+ 1448: 65 ExtInst 1(GLSL.std.450) 9(Ceil) 1447
+ Store 1446(r007) 1448
+ 1449: 65 Load 68(inF0)
+ 1452: 1451 FOrdLessThan 1449 1450
+ 1453: 121(bool) Any 1452
+ SelectionMerge 1455 None
+ BranchConditional 1453 1454 1455
+ 1454: Label
+ Kill
+ 1455: Label
+ 1458: 65 Load 68(inF0)
+ 1459: 65 Load 69(inF1)
+ 1460: 65 Load 70(inF2)
+ 1461: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1458 1459 1460
+ Store 1457(r008) 1461
+ 1463: 65 Load 68(inF0)
+ 1464: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1463
+ Store 1462(r009) 1464
+ 1466: 65 Load 68(inF0)
+ 1467: 65 ExtInst 1(GLSL.std.450) 20(Cosh) 1466
+ Store 1465(r010) 1467
+ 1469: 65 Load 68(inF0)
+ 1470: 65 DPdx 1469
+ Store 1468(r011) 1470
+ 1472: 65 Load 68(inF0)
+ 1473: 65 DPdxCoarse 1472
+ Store 1471(r012) 1473
+ 1475: 65 Load 68(inF0)
+ 1476: 65 DPdxFine 1475
+ Store 1474(r013) 1476
+ 1478: 65 Load 68(inF0)
+ 1479: 65 DPdy 1478
+ Store 1477(r014) 1479
+ 1481: 65 Load 68(inF0)
+ 1482: 65 DPdyCoarse 1481
+ Store 1480(r015) 1482
+ 1484: 65 Load 68(inF0)
+ 1485: 65 DPdyFine 1484
+ Store 1483(r016) 1485
+ 1487: 65 Load 68(inF0)
+ 1488: 65 ExtInst 1(GLSL.std.450) 12(Degrees) 1487
+ Store 1486(r017) 1488
+ 1490: 65 Load 68(inF0)
+ 1491: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1490
+ Store 1489(r018) 1491
+ 1493: 65 Load 68(inF0)
+ 1494: 65 ExtInst 1(GLSL.std.450) 27(Exp) 1493
+ Store 1492(r019) 1494
+ 1496: 65 Load 68(inF0)
+ 1497: 65 ExtInst 1(GLSL.std.450) 29(Exp2) 1496
+ Store 1495(R020) 1497
+ 1499: 65 Load 68(inF0)
+ 1500: 65 ExtInst 1(GLSL.std.450) 8(Floor) 1499
+ Store 1498(r021) 1500
+ 1502: 65 Load 68(inF0)
+ 1503: 65 Load 69(inF1)
+ 1504: 64(fvec4) CompositeExtract 1502 0
+ 1505: 64(fvec4) CompositeExtract 1503 0
+ 1506: 64(fvec4) FMod 1504 1505
+ 1507: 64(fvec4) CompositeExtract 1502 1
+ 1508: 64(fvec4) CompositeExtract 1503 1
+ 1509: 64(fvec4) FMod 1507 1508
+ 1510: 64(fvec4) CompositeExtract 1502 2
+ 1511: 64(fvec4) CompositeExtract 1503 2
+ 1512: 64(fvec4) FMod 1510 1511
+ 1513: 64(fvec4) CompositeExtract 1502 3
+ 1514: 64(fvec4) CompositeExtract 1503 3
+ 1515: 64(fvec4) FMod 1513 1514
+ 1516: 65 CompositeConstruct 1506 1509 1512 1515
+ Store 1501(r022) 1516
+ 1518: 65 Load 68(inF0)
+ 1519: 65 ExtInst 1(GLSL.std.450) 10(Fract) 1518
+ Store 1517(r023) 1519
+ 1521: 65 Load 68(inF0)
+ 1523:1522(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 1521
+ 1524: 819(ivec4) CompositeExtract 1523 1
+ Store 69(inF1) 1524
+ 1525: 65 CompositeExtract 1523 0
+ Store 1520(r024) 1525
+ 1527: 65 Load 68(inF0)
+ 1528: 65 Fwidth 1527
+ Store 1526(r025) 1528
+ 1530: 65 Load 68(inF0)
+ 1531: 65 Load 69(inF1)
+ 1532: 65 ExtInst 1(GLSL.std.450) 53(Ldexp) 1530 1531
+ Store 1529(r026) 1532
+ 1534: 65 Load 68(inF0)
+ 1535: 65 Load 69(inF1)
+ 1536: 65 Load 70(inF2)
+ 1537: 65 ExtInst 1(GLSL.std.450) 46(FMix) 1534 1535 1536
+ Store 1533(r026a) 1537
+ 1539: 65 Load 68(inF0)
+ 1540: 65 ExtInst 1(GLSL.std.450) 28(Log) 1539
+ Store 1538(r027) 1540
+ 1542: 65 Load 68(inF0)
+ 1543: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1542
+ 1544: 65 MatrixTimesScalar 1543 253
+ Store 1541(r028) 1544
+ 1546: 65 Load 68(inF0)
+ 1547: 65 ExtInst 1(GLSL.std.450) 30(Log2) 1546
+ Store 1545(r029) 1547
+ 1549: 65 Load 68(inF0)
+ 1550: 65 Load 69(inF1)
+ 1551: 65 ExtInst 1(GLSL.std.450) 40(FMax) 1549 1550
+ Store 1548(r030) 1551
+ 1553: 65 Load 68(inF0)
+ 1554: 65 Load 69(inF1)
+ 1555: 65 ExtInst 1(GLSL.std.450) 37(FMin) 1553 1554
+ Store 1552(r031) 1555
+ 1557: 65 Load 68(inF0)
+ 1558: 65 Load 69(inF1)
+ 1559: 65 ExtInst 1(GLSL.std.450) 26(Pow) 1557 1558
+ Store 1556(r032) 1559
+ 1561: 65 Load 68(inF0)
+ 1562: 65 ExtInst 1(GLSL.std.450) 11(Radians) 1561
+ Store 1560(r033) 1562
+ 1564: 65 Load 68(inF0)
+ 1565: 65 ExtInst 1(GLSL.std.450) 2(RoundEven) 1564
+ Store 1563(r034) 1565
+ 1567: 65 Load 68(inF0)
+ 1568: 65 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1567
+ Store 1566(r035) 1568
+ 1570: 65 Load 68(inF0)
+ 1571: 64(fvec4) CompositeConstruct 165 165 165 165
+ 1572: 64(fvec4) CompositeConstruct 274 274 274 274
+ 1573: 65 ExtInst 1(GLSL.std.450) 43(FClamp) 1570 1571 1572
+ Store 1569(r036) 1573
+ 1575: 65 Load 68(inF0)
+ 1576: 65 ExtInst 1(GLSL.std.450) 6(FSign) 1575
+ Store 1574(r037) 1576
+ 1578: 65 Load 68(inF0)
+ 1579: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1578
+ Store 1577(r038) 1579
+ 1580: 65 Load 68(inF0)
+ 1581: 65 ExtInst 1(GLSL.std.450) 13(Sin) 1580
+ Store 69(inF1) 1581
+ 1582: 65 Load 68(inF0)
+ 1583: 65 ExtInst 1(GLSL.std.450) 14(Cos) 1582
+ Store 70(inF2) 1583
+ 1585: 65 Load 68(inF0)
+ 1586: 65 ExtInst 1(GLSL.std.450) 19(Sinh) 1585
+ Store 1584(r039) 1586
+ 1588: 65 Load 68(inF0)
+ 1589: 65 Load 69(inF1)
+ 1590: 65 Load 70(inF2)
+ 1591: 65 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1588 1589 1590
+ Store 1587(r049) 1591
+ 1593: 65 Load 68(inF0)
+ 1594: 65 ExtInst 1(GLSL.std.450) 31(Sqrt) 1593
+ Store 1592(r041) 1594
+ 1596: 65 Load 68(inF0)
+ 1597: 65 Load 69(inF1)
+ 1598: 65 ExtInst 1(GLSL.std.450) 48(Step) 1596 1597
+ Store 1595(r042) 1598
+ 1600: 65 Load 68(inF0)
+ 1601: 65 ExtInst 1(GLSL.std.450) 15(Tan) 1600
+ Store 1599(r043) 1601
+ 1603: 65 Load 68(inF0)
+ 1604: 65 ExtInst 1(GLSL.std.450) 21(Tanh) 1603
+ Store 1602(r044) 1604
+ 1605: 65 Load 68(inF0)
+ 1606: 65 Transpose 1605
+ 1608: 65 Load 68(inF0)
+ 1609: 65 ExtInst 1(GLSL.std.450) 3(Trunc) 1608
+ Store 1607(r046) 1609
+ ReturnValue 1611
+ FunctionEnd
+80(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 73
+ 74(inF0): 7(ptr) FunctionParameter
+ 75(inF1): 7(ptr) FunctionParameter
+ 76(inFV0): 25(ptr) FunctionParameter
+ 77(inFV1): 25(ptr) FunctionParameter
+ 78(inFM0): 49(ptr) FunctionParameter
+ 79(inFM1): 49(ptr) FunctionParameter
+ 81: Label
+ 1614(r0): 7(ptr) Variable Function
+ 1618(r1): 25(ptr) Variable Function
+ 1622(r2): 25(ptr) Variable Function
+ 1626(r3): 7(ptr) Variable Function
+ 1630(r4): 25(ptr) Variable Function
+ 1634(r5): 25(ptr) Variable Function
+ 1638(r6): 49(ptr) Variable Function
+ 1642(r7): 49(ptr) Variable Function
+ 1646(r8): 49(ptr) Variable Function
+ 1615: 6(float) Load 74(inF0)
+ 1616: 6(float) Load 75(inF1)
+ 1617: 6(float) FMul 1615 1616
+ Store 1614(r0) 1617
+ 1619: 24(fvec2) Load 76(inFV0)
+ 1620: 6(float) Load 74(inF0)
+ 1621: 24(fvec2) VectorTimesScalar 1619 1620
+ Store 1618(r1) 1621
+ 1623: 6(float) Load 74(inF0)
+ 1624: 24(fvec2) Load 76(inFV0)
+ 1625: 24(fvec2) VectorTimesScalar 1624 1623
+ Store 1622(r2) 1625
+ 1627: 24(fvec2) Load 76(inFV0)
+ 1628: 24(fvec2) Load 77(inFV1)
+ 1629: 6(float) Dot 1627 1628
+ Store 1626(r3) 1629
+ 1631: 48 Load 78(inFM0)
+ 1632: 24(fvec2) Load 76(inFV0)
+ 1633: 24(fvec2) MatrixTimesVector 1631 1632
+ Store 1630(r4) 1633
+ 1635: 24(fvec2) Load 76(inFV0)
+ 1636: 48 Load 78(inFM0)
+ 1637: 24(fvec2) VectorTimesMatrix 1635 1636
+ Store 1634(r5) 1637
+ 1639: 48 Load 78(inFM0)
+ 1640: 6(float) Load 74(inF0)
+ 1641: 48 MatrixTimesScalar 1639 1640
+ Store 1638(r6) 1641
+ 1643: 6(float) Load 74(inF0)
+ 1644: 48 Load 78(inFM0)
+ 1645: 48 MatrixTimesScalar 1644 1643
+ Store 1642(r7) 1645
+ 1647: 48 Load 78(inFM0)
+ 1648: 48 Load 79(inFM1)
+ 1649: 48 MatrixTimesMatrix 1647 1648
+ Store 1646(r8) 1649
+ Return
FunctionEnd
-19(TestGenMul(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 12
- 13(inF0): 7(ptr) FunctionParameter
- 14(inF1): 7(ptr) FunctionParameter
- 15(inFV0): 9(ptr) FunctionParameter
- 16(inFV1): 9(ptr) FunctionParameter
- 17(inFM0): 11(ptr) FunctionParameter
- 18(inFM1): 11(ptr) FunctionParameter
- 20: Label
- 1141(r0): 7(ptr) Variable Function
- 1145(r1): 9(ptr) Variable Function
- 1149(r2): 9(ptr) Variable Function
- 1153(r3): 7(ptr) Variable Function
- 1157(r4): 9(ptr) Variable Function
- 1161(r5): 9(ptr) Variable Function
- 1165(r6): 11(ptr) Variable Function
- 1169(r7): 11(ptr) Variable Function
- 1173(r8): 11(ptr) Variable Function
- 1142: 6(float) Load 13(inF0)
- 1143: 6(float) Load 14(inF1)
- 1144: 6(float) FMul 1142 1143
- Store 1141(r0) 1144
- 1146: 8(fvec2) Load 15(inFV0)
- 1147: 6(float) Load 13(inF0)
- 1148: 8(fvec2) VectorTimesScalar 1146 1147
- Store 1145(r1) 1148
- 1150: 6(float) Load 13(inF0)
- 1151: 8(fvec2) Load 15(inFV0)
- 1152: 8(fvec2) VectorTimesScalar 1151 1150
- Store 1149(r2) 1152
- 1154: 8(fvec2) Load 15(inFV0)
- 1155: 8(fvec2) Load 16(inFV1)
- 1156: 6(float) Dot 1154 1155
- Store 1153(r3) 1156
- 1158: 10 Load 17(inFM0)
- 1159: 8(fvec2) Load 15(inFV0)
- 1160: 8(fvec2) MatrixTimesVector 1158 1159
- Store 1157(r4) 1160
- 1162: 8(fvec2) Load 15(inFV0)
- 1163: 10 Load 17(inFM0)
- 1164: 8(fvec2) VectorTimesMatrix 1162 1163
- Store 1161(r5) 1164
- 1166: 10 Load 17(inFM0)
- 1167: 6(float) Load 13(inF0)
- 1168: 10 MatrixTimesScalar 1166 1167
- Store 1165(r6) 1168
- 1170: 6(float) Load 13(inF0)
- 1171: 10 Load 17(inFM0)
- 1172: 10 MatrixTimesScalar 1171 1170
- Store 1169(r7) 1172
- 1174: 10 Load 17(inFM0)
- 1175: 10 Load 18(inFM1)
- 1176: 10 MatrixTimesMatrix 1174 1175
- Store 1173(r8) 1176
+89(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 82
+ 83(inF0): 7(ptr) FunctionParameter
+ 84(inF1): 7(ptr) FunctionParameter
+ 85(inFV0): 37(ptr) FunctionParameter
+ 86(inFV1): 37(ptr) FunctionParameter
+ 87(inFM0): 57(ptr) FunctionParameter
+ 88(inFM1): 57(ptr) FunctionParameter
+ 90: Label
+ 1650(r0): 7(ptr) Variable Function
+ 1654(r1): 37(ptr) Variable Function
+ 1658(r2): 37(ptr) Variable Function
+ 1662(r3): 7(ptr) Variable Function
+ 1666(r4): 37(ptr) Variable Function
+ 1670(r5): 37(ptr) Variable Function
+ 1674(r6): 57(ptr) Variable Function
+ 1678(r7): 57(ptr) Variable Function
+ 1682(r8): 57(ptr) Variable Function
+ 1651: 6(float) Load 83(inF0)
+ 1652: 6(float) Load 84(inF1)
+ 1653: 6(float) FMul 1651 1652
+ Store 1650(r0) 1653
+ 1655: 36(fvec3) Load 85(inFV0)
+ 1656: 6(float) Load 83(inF0)
+ 1657: 36(fvec3) VectorTimesScalar 1655 1656
+ Store 1654(r1) 1657
+ 1659: 6(float) Load 83(inF0)
+ 1660: 36(fvec3) Load 85(inFV0)
+ 1661: 36(fvec3) VectorTimesScalar 1660 1659
+ Store 1658(r2) 1661
+ 1663: 36(fvec3) Load 85(inFV0)
+ 1664: 36(fvec3) Load 86(inFV1)
+ 1665: 6(float) Dot 1663 1664
+ Store 1662(r3) 1665
+ 1667: 56 Load 87(inFM0)
+ 1668: 36(fvec3) Load 85(inFV0)
+ 1669: 36(fvec3) MatrixTimesVector 1667 1668
+ Store 1666(r4) 1669
+ 1671: 36(fvec3) Load 85(inFV0)
+ 1672: 56 Load 87(inFM0)
+ 1673: 36(fvec3) VectorTimesMatrix 1671 1672
+ Store 1670(r5) 1673
+ 1675: 56 Load 87(inFM0)
+ 1676: 6(float) Load 83(inF0)
+ 1677: 56 MatrixTimesScalar 1675 1676
+ Store 1674(r6) 1677
+ 1679: 6(float) Load 83(inF0)
+ 1680: 56 Load 87(inFM0)
+ 1681: 56 MatrixTimesScalar 1680 1679
+ Store 1678(r7) 1681
+ 1683: 56 Load 87(inFM0)
+ 1684: 56 Load 88(inFM1)
+ 1685: 56 MatrixTimesMatrix 1683 1684
+ Store 1682(r8) 1685
Return
FunctionEnd
-32(TestGenMul(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 25
- 26(inF0): 7(ptr) FunctionParameter
- 27(inF1): 7(ptr) FunctionParameter
- 28(inFV0): 22(ptr) FunctionParameter
- 29(inFV1): 22(ptr) FunctionParameter
- 30(inFM0): 24(ptr) FunctionParameter
- 31(inFM1): 24(ptr) FunctionParameter
- 33: Label
- 1177(r0): 7(ptr) Variable Function
- 1181(r1): 22(ptr) Variable Function
- 1185(r2): 22(ptr) Variable Function
- 1189(r3): 7(ptr) Variable Function
- 1193(r4): 22(ptr) Variable Function
- 1197(r5): 22(ptr) Variable Function
- 1201(r6): 24(ptr) Variable Function
- 1205(r7): 24(ptr) Variable Function
- 1209(r8): 24(ptr) Variable Function
- 1178: 6(float) Load 26(inF0)
- 1179: 6(float) Load 27(inF1)
- 1180: 6(float) FMul 1178 1179
- Store 1177(r0) 1180
- 1182: 21(fvec3) Load 28(inFV0)
- 1183: 6(float) Load 26(inF0)
- 1184: 21(fvec3) VectorTimesScalar 1182 1183
- Store 1181(r1) 1184
- 1186: 6(float) Load 26(inF0)
- 1187: 21(fvec3) Load 28(inFV0)
- 1188: 21(fvec3) VectorTimesScalar 1187 1186
- Store 1185(r2) 1188
- 1190: 21(fvec3) Load 28(inFV0)
- 1191: 21(fvec3) Load 29(inFV1)
- 1192: 6(float) Dot 1190 1191
- Store 1189(r3) 1192
- 1194: 23 Load 30(inFM0)
- 1195: 21(fvec3) Load 28(inFV0)
- 1196: 21(fvec3) MatrixTimesVector 1194 1195
- Store 1193(r4) 1196
- 1198: 21(fvec3) Load 28(inFV0)
- 1199: 23 Load 30(inFM0)
- 1200: 21(fvec3) VectorTimesMatrix 1198 1199
- Store 1197(r5) 1200
- 1202: 23 Load 30(inFM0)
- 1203: 6(float) Load 26(inF0)
- 1204: 23 MatrixTimesScalar 1202 1203
- Store 1201(r6) 1204
- 1206: 6(float) Load 26(inF0)
- 1207: 23 Load 30(inFM0)
- 1208: 23 MatrixTimesScalar 1207 1206
- Store 1205(r7) 1208
- 1210: 23 Load 30(inFM0)
- 1211: 23 Load 31(inFM1)
- 1212: 23 MatrixTimesMatrix 1210 1211
- Store 1209(r8) 1212
+99(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 92
+ 93(inF0): 7(ptr) FunctionParameter
+ 94(inF1): 7(ptr) FunctionParameter
+ 95(inFV0): 91(ptr) FunctionParameter
+ 96(inFV1): 91(ptr) FunctionParameter
+ 97(inFM0): 66(ptr) FunctionParameter
+ 98(inFM1): 66(ptr) FunctionParameter
+ 100: Label
+ 1686(r0): 7(ptr) Variable Function
+ 1690(r1): 91(ptr) Variable Function
+ 1694(r2): 91(ptr) Variable Function
+ 1698(r3): 7(ptr) Variable Function
+ 1702(r4): 91(ptr) Variable Function
+ 1706(r5): 91(ptr) Variable Function
+ 1710(r6): 66(ptr) Variable Function
+ 1714(r7): 66(ptr) Variable Function
+ 1718(r8): 66(ptr) Variable Function
+ 1687: 6(float) Load 93(inF0)
+ 1688: 6(float) Load 94(inF1)
+ 1689: 6(float) FMul 1687 1688
+ Store 1686(r0) 1689
+ 1691: 64(fvec4) Load 95(inFV0)
+ 1692: 6(float) Load 93(inF0)
+ 1693: 64(fvec4) VectorTimesScalar 1691 1692
+ Store 1690(r1) 1693
+ 1695: 6(float) Load 93(inF0)
+ 1696: 64(fvec4) Load 95(inFV0)
+ 1697: 64(fvec4) VectorTimesScalar 1696 1695
+ Store 1694(r2) 1697
+ 1699: 64(fvec4) Load 95(inFV0)
+ 1700: 64(fvec4) Load 96(inFV1)
+ 1701: 6(float) Dot 1699 1700
+ Store 1698(r3) 1701
+ 1703: 65 Load 97(inFM0)
+ 1704: 64(fvec4) Load 95(inFV0)
+ 1705: 64(fvec4) MatrixTimesVector 1703 1704
+ Store 1702(r4) 1705
+ 1707: 64(fvec4) Load 95(inFV0)
+ 1708: 65 Load 97(inFM0)
+ 1709: 64(fvec4) VectorTimesMatrix 1707 1708
+ Store 1706(r5) 1709
+ 1711: 65 Load 97(inFM0)
+ 1712: 6(float) Load 93(inF0)
+ 1713: 65 MatrixTimesScalar 1711 1712
+ Store 1710(r6) 1713
+ 1715: 6(float) Load 93(inF0)
+ 1716: 65 Load 97(inFM0)
+ 1717: 65 MatrixTimesScalar 1716 1715
+ Store 1714(r7) 1717
+ 1719: 65 Load 97(inFM0)
+ 1720: 65 Load 98(inFM1)
+ 1721: 65 MatrixTimesMatrix 1719 1720
+ Store 1718(r8) 1721
Return
FunctionEnd
-45(TestGenMul(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 38
- 39(inF0): 7(ptr) FunctionParameter
- 40(inF1): 7(ptr) FunctionParameter
- 41(inFV0): 35(ptr) FunctionParameter
- 42(inFV1): 35(ptr) FunctionParameter
- 43(inFM0): 37(ptr) FunctionParameter
- 44(inFM1): 37(ptr) FunctionParameter
- 46: Label
- 1213(r0): 7(ptr) Variable Function
- 1217(r1): 35(ptr) Variable Function
- 1221(r2): 35(ptr) Variable Function
- 1225(r3): 7(ptr) Variable Function
- 1229(r4): 35(ptr) Variable Function
- 1233(r5): 35(ptr) Variable Function
- 1237(r6): 37(ptr) Variable Function
- 1241(r7): 37(ptr) Variable Function
- 1245(r8): 37(ptr) Variable Function
- 1250(gs_ua): 1249(ptr) Variable Function
- 1251(gs_ub): 1249(ptr) Variable Function
- 1252(gs_uc): 1249(ptr) Variable Function
- 1254(gs_ua2): 1253(ptr) Variable Function
- 1255(gs_ub2): 1253(ptr) Variable Function
- 1256(gs_uc2): 1253(ptr) Variable Function
- 1258(gs_ua3): 1257(ptr) Variable Function
- 1259(gs_ub3): 1257(ptr) Variable Function
- 1260(gs_uc3): 1257(ptr) Variable Function
- 1262(gs_ua4): 1261(ptr) Variable Function
- 1263(gs_ub4): 1261(ptr) Variable Function
- 1264(gs_uc4): 1261(ptr) Variable Function
- 1214: 6(float) Load 39(inF0)
- 1215: 6(float) Load 40(inF1)
- 1216: 6(float) FMul 1214 1215
- Store 1213(r0) 1216
- 1218: 34(fvec4) Load 41(inFV0)
- 1219: 6(float) Load 39(inF0)
- 1220: 34(fvec4) VectorTimesScalar 1218 1219
- Store 1217(r1) 1220
- 1222: 6(float) Load 39(inF0)
- 1223: 34(fvec4) Load 41(inFV0)
- 1224: 34(fvec4) VectorTimesScalar 1223 1222
- Store 1221(r2) 1224
- 1226: 34(fvec4) Load 41(inFV0)
- 1227: 34(fvec4) Load 42(inFV1)
- 1228: 6(float) Dot 1226 1227
- Store 1225(r3) 1228
- 1230: 36 Load 43(inFM0)
- 1231: 34(fvec4) Load 41(inFV0)
- 1232: 34(fvec4) MatrixTimesVector 1230 1231
- Store 1229(r4) 1232
- 1234: 34(fvec4) Load 41(inFV0)
- 1235: 36 Load 43(inFM0)
- 1236: 34(fvec4) VectorTimesMatrix 1234 1235
- Store 1233(r5) 1236
- 1238: 36 Load 43(inFM0)
- 1239: 6(float) Load 39(inF0)
- 1240: 36 MatrixTimesScalar 1238 1239
- Store 1237(r6) 1240
- 1242: 6(float) Load 39(inF0)
- 1243: 36 Load 43(inFM0)
- 1244: 36 MatrixTimesScalar 1243 1242
- Store 1241(r7) 1244
- 1246: 36 Load 43(inFM0)
- 1247: 36 Load 44(inFM1)
- 1248: 36 MatrixTimesMatrix 1246 1247
- Store 1245(r8) 1248
+119(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;): 2 Function None 109
+ 110(inF0): 7(ptr) FunctionParameter
+ 111(inF1): 7(ptr) FunctionParameter
+ 112(inFV2): 25(ptr) FunctionParameter
+ 113(inFV3): 37(ptr) FunctionParameter
+ 114(inFM2x3): 102(ptr) FunctionParameter
+ 115(inFM3x2): 104(ptr) FunctionParameter
+ 116(inFM3x3): 57(ptr) FunctionParameter
+ 117(inFM3x4): 106(ptr) FunctionParameter
+ 118(inFM2x4): 108(ptr) FunctionParameter
+ 120: Label
+ 1722(r00): 7(ptr) Variable Function
+ 1726(r01): 25(ptr) Variable Function
+ 1730(r02): 37(ptr) Variable Function
+ 1734(r03): 25(ptr) Variable Function
+ 1738(r04): 37(ptr) Variable Function
+ 1742(r05): 7(ptr) Variable Function
+ 1746(r06): 7(ptr) Variable Function
+ 1750(r07): 37(ptr) Variable Function
+ 1754(r08): 25(ptr) Variable Function
+ 1758(r09): 25(ptr) Variable Function
+ 1762(r10): 37(ptr) Variable Function
+ 1766(r11): 102(ptr) Variable Function
+ 1770(r12): 104(ptr) Variable Function
+ 1774(r13): 49(ptr) Variable Function
+ 1778(r14): 102(ptr) Variable Function
+ 1782(r15): 108(ptr) Variable Function
+ 1786(r16): 106(ptr) Variable Function
+ 1723: 6(float) Load 110(inF0)
+ 1724: 6(float) Load 111(inF1)
+ 1725: 6(float) FMul 1723 1724
+ Store 1722(r00) 1725
+ 1727: 24(fvec2) Load 112(inFV2)
+ 1728: 6(float) Load 110(inF0)
+ 1729: 24(fvec2) VectorTimesScalar 1727 1728
+ Store 1726(r01) 1729
+ 1731: 36(fvec3) Load 113(inFV3)
+ 1732: 6(float) Load 110(inF0)
+ 1733: 36(fvec3) VectorTimesScalar 1731 1732
+ Store 1730(r02) 1733
+ 1735: 6(float) Load 110(inF0)
+ 1736: 24(fvec2) Load 112(inFV2)
+ 1737: 24(fvec2) VectorTimesScalar 1736 1735
+ Store 1734(r03) 1737
+ 1739: 6(float) Load 110(inF0)
+ 1740: 36(fvec3) Load 113(inFV3)
+ 1741: 36(fvec3) VectorTimesScalar 1740 1739
+ Store 1738(r04) 1741
+ 1743: 24(fvec2) Load 112(inFV2)
+ 1744: 24(fvec2) Load 112(inFV2)
+ 1745: 6(float) Dot 1743 1744
+ Store 1742(r05) 1745
+ 1747: 36(fvec3) Load 113(inFV3)
+ 1748: 36(fvec3) Load 113(inFV3)
+ 1749: 6(float) Dot 1747 1748
+ Store 1746(r06) 1749
+ 1751: 24(fvec2) Load 112(inFV2)
+ 1752: 101 Load 114(inFM2x3)
+ 1753: 36(fvec3) VectorTimesMatrix 1751 1752
+ Store 1750(r07) 1753
+ 1755: 36(fvec3) Load 113(inFV3)
+ 1756: 103 Load 115(inFM3x2)
+ 1757: 24(fvec2) VectorTimesMatrix 1755 1756
+ Store 1754(r08) 1757
+ 1759: 101 Load 114(inFM2x3)
+ 1760: 36(fvec3) Load 113(inFV3)
+ 1761: 24(fvec2) MatrixTimesVector 1759 1760
+ Store 1758(r09) 1761
+ 1763: 103 Load 115(inFM3x2)
+ 1764: 24(fvec2) Load 112(inFV2)
+ 1765: 36(fvec3) MatrixTimesVector 1763 1764
+ Store 1762(r10) 1765
+ 1767: 101 Load 114(inFM2x3)
+ 1768: 6(float) Load 110(inF0)
+ 1769: 101 MatrixTimesScalar 1767 1768
+ Store 1766(r11) 1769
+ 1771: 103 Load 115(inFM3x2)
+ 1772: 6(float) Load 110(inF0)
+ 1773: 103 MatrixTimesScalar 1771 1772
+ Store 1770(r12) 1773
+ 1775: 101 Load 114(inFM2x3)
+ 1776: 103 Load 115(inFM3x2)
+ 1777: 48 MatrixTimesMatrix 1775 1776
+ Store 1774(r13) 1777
+ 1779: 101 Load 114(inFM2x3)
+ 1780: 56 Load 116(inFM3x3)
+ 1781: 101 MatrixTimesMatrix 1779 1780
+ Store 1778(r14) 1781
+ 1783: 101 Load 114(inFM2x3)
+ 1784: 105 Load 117(inFM3x4)
+ 1785: 107 MatrixTimesMatrix 1783 1784
+ Store 1782(r15) 1785
+ 1787: 103 Load 115(inFM3x2)
+ 1788: 107 Load 118(inFM2x4)
+ 1789: 105 MatrixTimesMatrix 1787 1788
+ Store 1786(r16) 1789
Return
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void)
+0:5 Function Definition: PixelShaderFunction(f1;f1;f1; (global void)
0:2 Function Parameters:
0:2 'n_dot_l' (in float)
0:2 'n_dot_h' (in float)
0:2 'm' (in float)
0:? Sequence
-0:3 move second child to first child (temp 4-component vector of float)
-0:3 'r0' (temp 4-component vector of float)
-0:3 Construct vec4 (temp 4-component vector of float)
-0:3 Constant:
-0:3 1.000000
-0:3 max (temp float)
-0:3 'n_dot_l' (in float)
+0:3 Sequence
+0:3 move second child to first child (temp 4-component vector of float)
+0:3 'r0' (temp 4-component vector of float)
+0:3 Construct vec4 (temp 4-component vector of float)
0:3 Constant:
-0:3 0.000000
-0:3 Test condition and select (temp float)
-0:3 Condition
-0:3 Compare Less Than (temp bool)
-0:3 min (temp float)
-0:3 'n_dot_l' (in float)
-0:3 'n_dot_h' (in float)
+0:3 1.000000
+0:3 max (temp float)
+0:3 'n_dot_l' (in float)
+0:3 Constant:
+0:3 0.000000
+0:3 Test condition and select (temp float)
+0:3 Condition
+0:3 Compare Less Than (temp bool)
+0:3 min (temp float)
+0:3 'n_dot_l' (in float)
+0:3 'n_dot_h' (in float)
+0:3 Constant:
+0:3 0.000000
+0:3 true case
0:3 Constant:
0:3 0.000000
-0:3 true case
+0:3 false case
+0:3 component-wise multiply (temp float)
+0:3 'n_dot_h' (in float)
+0:3 'm' (in float)
0:3 Constant:
-0:3 0.000000
-0:3 false case
-0:3 component-wise multiply (temp float)
-0:3 'n_dot_h' (in float)
-0:3 'm' (in float)
-0:3 Constant:
-0:3 1.000000
+0:3 1.000000
0:? Linker Objects
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(f1;f1;f1; (temp void)
+0:5 Function Definition: PixelShaderFunction(f1;f1;f1; (global void)
0:2 Function Parameters:
0:2 'n_dot_l' (in float)
0:2 'n_dot_h' (in float)
0:2 'm' (in float)
0:? Sequence
-0:3 move second child to first child (temp 4-component vector of float)
-0:3 'r0' (temp 4-component vector of float)
-0:3 Construct vec4 (temp 4-component vector of float)
-0:3 Constant:
-0:3 1.000000
-0:3 max (temp float)
-0:3 'n_dot_l' (in float)
+0:3 Sequence
+0:3 move second child to first child (temp 4-component vector of float)
+0:3 'r0' (temp 4-component vector of float)
+0:3 Construct vec4 (temp 4-component vector of float)
0:3 Constant:
-0:3 0.000000
-0:3 Test condition and select (temp float)
-0:3 Condition
-0:3 Compare Less Than (temp bool)
-0:3 min (temp float)
-0:3 'n_dot_l' (in float)
-0:3 'n_dot_h' (in float)
+0:3 1.000000
+0:3 max (temp float)
+0:3 'n_dot_l' (in float)
+0:3 Constant:
+0:3 0.000000
+0:3 Test condition and select (temp float)
+0:3 Condition
+0:3 Compare Less Than (temp bool)
+0:3 min (temp float)
+0:3 'n_dot_l' (in float)
+0:3 'n_dot_h' (in float)
+0:3 Constant:
+0:3 0.000000
+0:3 true case
0:3 Constant:
0:3 0.000000
-0:3 true case
+0:3 false case
+0:3 component-wise multiply (temp float)
+0:3 'n_dot_h' (in float)
+0:3 'm' (in float)
0:3 Constant:
-0:3 0.000000
-0:3 false case
-0:3 component-wise multiply (temp float)
-0:3 'n_dot_h' (in float)
-0:3 'm' (in float)
-0:3 Constant:
-0:3 1.000000
+0:3 1.000000
0:? Linker Objects
// Module Version 10000
ERROR: 0:23: 'f16tof32' : no matching overloaded function found
ERROR: 0:24: 'firstbithigh' : no matching overloaded function found
ERROR: 0:25: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:26: 'fma' : no matching overloaded function found
ERROR: 0:27: 'fwidth' : no matching overloaded function found
ERROR: 0:28: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:29: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:84: 'f16tof32' : no matching overloaded function found
ERROR: 0:85: 'firstbithigh' : no matching overloaded function found
ERROR: 0:86: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:87: 'fma' : no matching overloaded function found
ERROR: 0:88: 'fwidth' : no matching overloaded function found
ERROR: 0:89: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:90: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:129: 'f16tof32' : no matching overloaded function found
ERROR: 0:130: 'firstbithigh' : no matching overloaded function found
ERROR: 0:131: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:132: 'fma' : no matching overloaded function found
ERROR: 0:133: 'fwidth' : no matching overloaded function found
ERROR: 0:134: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:135: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:174: 'f16tof32' : no matching overloaded function found
ERROR: 0:175: 'firstbithigh' : no matching overloaded function found
ERROR: 0:176: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:177: 'fma' : no matching overloaded function found
ERROR: 0:178: 'fwidth' : no matching overloaded function found
ERROR: 0:179: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:180: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:193: 'noise' : no matching overloaded function found
ERROR: 0:194: 'reversebits' : no matching overloaded function found
ERROR: 0:195: 'transpose' : no matching overloaded function found
-ERROR: 151 compilation errors. No code generated.
+ERROR: 147 compilation errors. No code generated.
Shader version: 450
local_size = (1, 1, 1)
ERROR: node is still EOpNull!
-0:56 Function Definition: ComputeShaderFunction(f1;f1;f1;i1; (temp float)
+0:56 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:2 'inF1' (in float)
0:24 0.000000
0:25 Constant:
0:25 0.000000
-0:26 Constant:
-0:26 0.000000
0:27 Constant:
0:27 0.000000
0:28 Constant:
0:53 Branch: Return with expression
0:53 Constant:
0:53 0.000000
-0:65 Function Definition: ComputeShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:65 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; (global 1-component vector of float)
0:57 Function Parameters:
0:57 'inF0' (in 1-component vector of float)
0:57 'inF1' (in 1-component vector of float)
0:62 Branch: Return with expression
0:62 Constant:
0:62 0.000000
-0:112 Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:112 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; (global 2-component vector of float)
0:66 Function Parameters:
0:66 'inF0' (in 2-component vector of float)
0:66 'inF1' (in 2-component vector of float)
0:85 0.000000
0:86 Constant:
0:86 0.000000
-0:87 Constant:
-0:87 0.000000
0:88 Constant:
0:88 0.000000
0:89 Constant:
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:157 Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:157 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; (global 3-component vector of float)
0:113 Function Parameters:
0:113 'inF0' (in 3-component vector of float)
0:113 'inF1' (in 3-component vector of float)
0:130 0.000000
0:131 Constant:
0:131 0.000000
-0:132 Constant:
-0:132 0.000000
0:133 Constant:
0:133 0.000000
0:134 Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:202 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:202 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float)
0:158 Function Parameters:
0:158 'inF0' (in 4-component vector of float)
0:158 'inF1' (in 4-component vector of float)
0:175 0.000000
0:176 Constant:
0:176 0.000000
-0:177 Constant:
-0:177 0.000000
0:178 Constant:
0:178 0.000000
0:179 Constant:
Shader version: 450
local_size = (1, 1, 1)
ERROR: node is still EOpNull!
-0:56 Function Definition: ComputeShaderFunction(f1;f1;f1;i1; (temp float)
+0:56 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:2 'inF1' (in float)
0:24 0.000000
0:25 Constant:
0:25 0.000000
-0:26 Constant:
-0:26 0.000000
0:27 Constant:
0:27 0.000000
0:28 Constant:
0:53 Branch: Return with expression
0:53 Constant:
0:53 0.000000
-0:65 Function Definition: ComputeShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:65 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; (global 1-component vector of float)
0:57 Function Parameters:
0:57 'inF0' (in 1-component vector of float)
0:57 'inF1' (in 1-component vector of float)
0:62 Branch: Return with expression
0:62 Constant:
0:62 0.000000
-0:112 Function Definition: ComputeShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:112 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; (global 2-component vector of float)
0:66 Function Parameters:
0:66 'inF0' (in 2-component vector of float)
0:66 'inF1' (in 2-component vector of float)
0:85 0.000000
0:86 Constant:
0:86 0.000000
-0:87 Constant:
-0:87 0.000000
0:88 Constant:
0:88 0.000000
0:89 Constant:
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:157 Function Definition: ComputeShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:157 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; (global 3-component vector of float)
0:113 Function Parameters:
0:113 'inF0' (in 3-component vector of float)
0:113 'inF1' (in 3-component vector of float)
0:130 0.000000
0:131 Constant:
0:131 0.000000
-0:132 Constant:
-0:132 0.000000
0:133 Constant:
0:133 0.000000
0:134 Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:202 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:202 Function Definition: ComputeShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float)
0:158 Function Parameters:
0:158 'inF0' (in 4-component vector of float)
0:158 'inF1' (in 4-component vector of float)
0:175 0.000000
0:176 Constant:
0:176 0.000000
-0:177 Constant:
-0:177 0.000000
0:178 Constant:
0:178 0.000000
0:179 Constant:
ERROR: 0:12: 'f16tof32' : no matching overloaded function found
ERROR: 0:13: 'firstbithigh' : no matching overloaded function found
ERROR: 0:14: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:15: 'fma' : no matching overloaded function found
ERROR: 0:23: 'length' : no matching overloaded function found
ERROR: 0:24: 'msad4' : no matching overloaded function found
ERROR: 0:25: 'normalize' : no matching overloaded function found
ERROR: 0:52: 'f16tof32' : no matching overloaded function found
ERROR: 0:53: 'firstbithigh' : no matching overloaded function found
ERROR: 0:54: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:55: 'fma' : no matching overloaded function found
ERROR: 0:56: 'reversebits' : no matching overloaded function found
ERROR: 0:57: 'transpose' : no matching overloaded function found
ERROR: 0:64: 'CheckAccessFullyMapped' : no matching overloaded function found
ERROR: 0:68: 'f16tof32' : no matching overloaded function found
ERROR: 0:69: 'firstbithigh' : no matching overloaded function found
ERROR: 0:70: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:71: 'fma' : no matching overloaded function found
ERROR: 0:72: 'reversebits' : no matching overloaded function found
ERROR: 0:73: 'transpose' : no matching overloaded function found
ERROR: 0:81: 'CheckAccessFullyMapped' : no matching overloaded function found
ERROR: 0:85: 'f16tof32' : no matching overloaded function found
ERROR: 0:86: 'firstbithigh' : no matching overloaded function found
ERROR: 0:87: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:88: 'fma' : no matching overloaded function found
ERROR: 0:89: 'reversebits' : no matching overloaded function found
ERROR: 0:90: 'transpose' : no matching overloaded function found
-ERROR: 0:118: 'countbits' : no matching overloaded function found
-ERROR: 0:118: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
-ERROR: 0:118: 'cross' : no matching overloaded function found
-ERROR: 0:118: 'f16tof32' : no matching overloaded function found
-ERROR: 0:118: 'firstbithigh' : no matching overloaded function found
-ERROR: 0:118: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:118: 'fma' : no matching overloaded function found
-ERROR: 0:118: 'reversebits' : no matching overloaded function found
-ERROR: 0:118: 'length' : no matching overloaded function found
-ERROR: 0:118: 'noise' : no matching overloaded function found
-ERROR: 0:118: 'normalize' : no matching overloaded function found
-ERROR: 0:118: 'reflect' : no matching overloaded function found
-ERROR: 0:118: 'refract' : no matching overloaded function found
-ERROR: 0:118: 'reversebits' : no matching overloaded function found
-ERROR: 0:126: 'countbits' : no matching overloaded function found
-ERROR: 0:126: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
-ERROR: 0:126: 'cross' : no matching overloaded function found
-ERROR: 0:126: 'f16tof32' : no matching overloaded function found
-ERROR: 0:126: 'firstbithigh' : no matching overloaded function found
-ERROR: 0:126: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:126: 'fma' : no matching overloaded function found
-ERROR: 0:126: 'reversebits' : no matching overloaded function found
-ERROR: 0:126: 'length' : no matching overloaded function found
-ERROR: 0:126: 'noise' : no matching overloaded function found
-ERROR: 0:126: 'normalize' : no matching overloaded function found
-ERROR: 0:126: 'reflect' : no matching overloaded function found
-ERROR: 0:126: 'refract' : no matching overloaded function found
-ERROR: 0:126: 'reversebits' : no matching overloaded function found
-ERROR: 0:134: 'countbits' : no matching overloaded function found
-ERROR: 0:134: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
-ERROR: 0:134: 'cross' : no matching overloaded function found
-ERROR: 0:134: 'f16tof32' : no matching overloaded function found
-ERROR: 0:134: 'firstbithigh' : no matching overloaded function found
-ERROR: 0:134: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:134: 'fma' : no matching overloaded function found
-ERROR: 0:134: 'reversebits' : no matching overloaded function found
-ERROR: 0:134: 'length' : no matching overloaded function found
-ERROR: 0:134: 'noise' : no matching overloaded function found
-ERROR: 0:134: 'normalize' : no matching overloaded function found
-ERROR: 0:134: 'reflect' : no matching overloaded function found
-ERROR: 0:134: 'refract' : no matching overloaded function found
-ERROR: 0:134: 'reversebits' : no matching overloaded function found
-ERROR: 93 compilation errors. No code generated.
+ERROR: 0:117: 'countbits' : no matching overloaded function found
+ERROR: 0:117: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:117: 'cross' : no matching overloaded function found
+ERROR: 0:117: 'f16tof32' : no matching overloaded function found
+ERROR: 0:117: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:117: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:117: 'reversebits' : no matching overloaded function found
+ERROR: 0:117: 'length' : no matching overloaded function found
+ERROR: 0:117: 'noise' : no matching overloaded function found
+ERROR: 0:117: 'normalize' : no matching overloaded function found
+ERROR: 0:117: 'reflect' : no matching overloaded function found
+ERROR: 0:117: 'refract' : no matching overloaded function found
+ERROR: 0:117: 'reversebits' : no matching overloaded function found
+ERROR: 0:125: 'countbits' : no matching overloaded function found
+ERROR: 0:125: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:125: 'cross' : no matching overloaded function found
+ERROR: 0:125: 'f16tof32' : no matching overloaded function found
+ERROR: 0:125: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:125: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:125: 'reversebits' : no matching overloaded function found
+ERROR: 0:125: 'length' : no matching overloaded function found
+ERROR: 0:125: 'noise' : no matching overloaded function found
+ERROR: 0:125: 'normalize' : no matching overloaded function found
+ERROR: 0:125: 'reflect' : no matching overloaded function found
+ERROR: 0:125: 'refract' : no matching overloaded function found
+ERROR: 0:125: 'reversebits' : no matching overloaded function found
+ERROR: 0:133: 'countbits' : no matching overloaded function found
+ERROR: 0:133: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:133: 'cross' : no matching overloaded function found
+ERROR: 0:133: 'f16tof32' : no matching overloaded function found
+ERROR: 0:133: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:133: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:133: 'reversebits' : no matching overloaded function found
+ERROR: 0:133: 'length' : no matching overloaded function found
+ERROR: 0:133: 'noise' : no matching overloaded function found
+ERROR: 0:133: 'normalize' : no matching overloaded function found
+ERROR: 0:133: 'reflect' : no matching overloaded function found
+ERROR: 0:133: 'refract' : no matching overloaded function found
+ERROR: 0:133: 'reversebits' : no matching overloaded function found
+ERROR: 86 compilation errors. No code generated.
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
-0:35 Function Definition: PixelShaderFunction(f1;f1;f1;i1; (temp float)
+0:35 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:2 'inF1' (in float)
0:13 0.000000
0:14 Constant:
0:14 0.000000
-0:15 Constant:
-0:15 0.000000
0:23 Constant:
0:23 0.000000
0:24 Constant:
0:32 Branch: Return with expression
0:32 Constant:
0:32 0.000000
-0:44 Function Definition: PixelShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:44 Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; (global 1-component vector of float)
0:36 Function Parameters:
0:36 'inF0' (in 1-component vector of float)
0:36 'inF1' (in 1-component vector of float)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
-0:62 Function Definition: PixelShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:62 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; (global 2-component vector of float)
0:45 Function Parameters:
0:45 'inF0' (in 2-component vector of float)
0:45 'inF1' (in 2-component vector of float)
0:53 0.000000
0:54 Constant:
0:54 0.000000
-0:55 Constant:
-0:55 0.000000
0:56 Constant:
0:56 0.000000
0:57 Constant:
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:79 Function Definition: PixelShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:79 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; (global 3-component vector of float)
0:63 Function Parameters:
0:63 'inF0' (in 3-component vector of float)
0:63 'inF1' (in 3-component vector of float)
0:69 0.000000
0:70 Constant:
0:70 0.000000
-0:71 Constant:
-0:71 0.000000
0:72 Constant:
0:72 0.000000
0:73 Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:115 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:114 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float)
0:80 Function Parameters:
0:80 'inF0' (in 4-component vector of float)
0:80 'inF1' (in 4-component vector of float)
0:86 0.000000
0:87 Constant:
0:87 0.000000
-0:88 Constant:
-0:88 0.000000
0:89 Constant:
0:89 0.000000
0:90 Constant:
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:123 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:116 Function Parameters:
-0:116 'inF0' (in 2X2 matrix of float)
-0:116 'inF1' (in 2X2 matrix of float)
-0:116 'inF2' (in 2X2 matrix of float)
+0:122 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:115 Function Parameters:
+0:115 'inF0' (in 2X2 matrix of float)
+0:115 'inF1' (in 2X2 matrix of float)
+0:115 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:120 Branch: Return with expression
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:119 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:131 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:124 Function Parameters:
-0:124 'inF0' (in 3X3 matrix of float)
-0:124 'inF1' (in 3X3 matrix of float)
-0:124 'inF2' (in 3X3 matrix of float)
+0:130 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:123 Function Parameters:
+0:123 'inF0' (in 3X3 matrix of float)
+0:123 'inF1' (in 3X3 matrix of float)
+0:123 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:128 Branch: Return with expression
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:127 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:138 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:132 Function Parameters:
-0:132 'inF0' (in 4X4 matrix of float)
-0:132 'inF1' (in 4X4 matrix of float)
-0:132 'inF2' (in 4X4 matrix of float)
+0:137 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:131 Function Parameters:
+0:131 'inF0' (in 4X4 matrix of float)
+0:131 'inF1' (in 4X4 matrix of float)
+0:131 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:136 Branch: Return with expression
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:135 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
Shader version: 450
gl_FragCoord origin is upper left
ERROR: node is still EOpNull!
-0:35 Function Definition: PixelShaderFunction(f1;f1;f1;i1; (temp float)
+0:35 Function Definition: PixelShaderFunctionS(f1;f1;f1;i1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:2 'inF1' (in float)
0:13 0.000000
0:14 Constant:
0:14 0.000000
-0:15 Constant:
-0:15 0.000000
0:23 Constant:
0:23 0.000000
0:24 Constant:
0:32 Branch: Return with expression
0:32 Constant:
0:32 0.000000
-0:44 Function Definition: PixelShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:44 Function Definition: PixelShaderFunction1(vf1;vf1;vf1;vi1; (global 1-component vector of float)
0:36 Function Parameters:
0:36 'inF0' (in 1-component vector of float)
0:36 'inF1' (in 1-component vector of float)
0:41 Branch: Return with expression
0:41 Constant:
0:41 0.000000
-0:62 Function Definition: PixelShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:62 Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vi2; (global 2-component vector of float)
0:45 Function Parameters:
0:45 'inF0' (in 2-component vector of float)
0:45 'inF1' (in 2-component vector of float)
0:53 0.000000
0:54 Constant:
0:54 0.000000
-0:55 Constant:
-0:55 0.000000
0:56 Constant:
0:56 0.000000
0:57 Constant:
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:79 Function Definition: PixelShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:79 Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; (global 3-component vector of float)
0:63 Function Parameters:
0:63 'inF0' (in 3-component vector of float)
0:63 'inF1' (in 3-component vector of float)
0:69 0.000000
0:70 Constant:
0:70 0.000000
-0:71 Constant:
-0:71 0.000000
0:72 Constant:
0:72 0.000000
0:73 Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:115 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:114 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float)
0:80 Function Parameters:
0:80 'inF0' (in 4-component vector of float)
0:80 'inF1' (in 4-component vector of float)
0:86 0.000000
0:87 Constant:
0:87 0.000000
-0:88 Constant:
-0:88 0.000000
0:89 Constant:
0:89 0.000000
0:90 Constant:
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:123 Function Definition: PixelShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:116 Function Parameters:
-0:116 'inF0' (in 2X2 matrix of float)
-0:116 'inF1' (in 2X2 matrix of float)
-0:116 'inF2' (in 2X2 matrix of float)
+0:122 Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:115 Function Parameters:
+0:115 'inF0' (in 2X2 matrix of float)
+0:115 'inF1' (in 2X2 matrix of float)
+0:115 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:118 Constant:
-0:118 0.000000
-0:120 Branch: Return with expression
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:117 Constant:
+0:117 0.000000
+0:119 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:131 Function Definition: PixelShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:124 Function Parameters:
-0:124 'inF0' (in 3X3 matrix of float)
-0:124 'inF1' (in 3X3 matrix of float)
-0:124 'inF2' (in 3X3 matrix of float)
+0:130 Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:123 Function Parameters:
+0:123 'inF0' (in 3X3 matrix of float)
+0:123 'inF1' (in 3X3 matrix of float)
+0:123 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:126 Constant:
-0:126 0.000000
-0:128 Branch: Return with expression
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:125 Constant:
+0:125 0.000000
+0:127 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:138 Function Definition: PixelShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:132 Function Parameters:
-0:132 'inF0' (in 4X4 matrix of float)
-0:132 'inF1' (in 4X4 matrix of float)
-0:132 'inF2' (in 4X4 matrix of float)
+0:137 Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:131 Function Parameters:
+0:131 'inF0' (in 4X4 matrix of float)
+0:131 'inF1' (in 4X4 matrix of float)
+0:131 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:134 Constant:
-0:134 0.000000
-0:136 Branch: Return with expression
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:133 Constant:
+0:133 0.000000
+0:135 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
ERROR: 0:39: 'f16tof32' : no matching overloaded function found
ERROR: 0:40: 'firstbithigh' : no matching overloaded function found
ERROR: 0:41: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:42: 'fma' : no matching overloaded function found
ERROR: 0:43: 'fwidth' : no matching overloaded function found
ERROR: 0:44: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:45: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:102: 'f16tof32' : no matching overloaded function found
ERROR: 0:103: 'firstbithigh' : no matching overloaded function found
ERROR: 0:104: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:105: 'fma' : no matching overloaded function found
ERROR: 0:106: 'fwidth' : no matching overloaded function found
ERROR: 0:107: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:108: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:147: 'f16tof32' : no matching overloaded function found
ERROR: 0:148: 'firstbithigh' : no matching overloaded function found
ERROR: 0:149: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:150: 'fma' : no matching overloaded function found
ERROR: 0:151: 'fwidth' : no matching overloaded function found
ERROR: 0:152: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:153: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:192: 'f16tof32' : no matching overloaded function found
ERROR: 0:193: 'firstbithigh' : no matching overloaded function found
ERROR: 0:194: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:195: 'fma' : no matching overloaded function found
ERROR: 0:196: 'fwidth' : no matching overloaded function found
ERROR: 0:197: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:198: 'InterlockedAdd' : no matching overloaded function found
ERROR: 0:211: 'noise' : no matching overloaded function found
ERROR: 0:212: 'reversebits' : no matching overloaded function found
ERROR: 0:213: 'transpose' : no matching overloaded function found
-ERROR: 0:254: 'countbits' : no matching overloaded function found
-ERROR: 0:254: 'cross' : no matching overloaded function found
-ERROR: 0:254: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
-ERROR: 0:254: 'ddx' : no matching overloaded function found
-ERROR: 0:254: 'ddx_coarse' : no matching overloaded function found
-ERROR: 0:254: 'ddx_fine' : no matching overloaded function found
-ERROR: 0:254: 'ddy' : no matching overloaded function found
-ERROR: 0:254: 'ddy_coarse' : no matching overloaded function found
-ERROR: 0:254: 'ddy_fine' : no matching overloaded function found
-ERROR: 0:254: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
-ERROR: 0:254: 'EvaluateAttributeAtSample' : no matching overloaded function found
-ERROR: 0:254: 'EvaluateAttributeSnapped' : no matching overloaded function found
-ERROR: 0:254: 'f16tof32' : no matching overloaded function found
-ERROR: 0:254: 'firstbithigh' : no matching overloaded function found
-ERROR: 0:254: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:254: 'fma' : no matching overloaded function found
-ERROR: 0:254: 'fwidth' : no matching overloaded function found
-ERROR: 0:254: 'noise' : no matching overloaded function found
-ERROR: 0:254: 'reversebits' : no matching overloaded function found
-ERROR: 0:254: 'length' : no matching overloaded function found
-ERROR: 0:254: 'noise' : no matching overloaded function found
-ERROR: 0:254: 'normalize' : no matching overloaded function found
-ERROR: 0:254: 'reflect' : no matching overloaded function found
-ERROR: 0:254: 'refract' : no matching overloaded function found
-ERROR: 0:254: 'reversebits' : no matching overloaded function found
-ERROR: 0:262: 'countbits' : no matching overloaded function found
-ERROR: 0:262: 'cross' : no matching overloaded function found
-ERROR: 0:262: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
-ERROR: 0:262: 'ddx' : no matching overloaded function found
-ERROR: 0:262: 'ddx_coarse' : no matching overloaded function found
-ERROR: 0:262: 'ddx_fine' : no matching overloaded function found
-ERROR: 0:262: 'ddy' : no matching overloaded function found
-ERROR: 0:262: 'ddy_coarse' : no matching overloaded function found
-ERROR: 0:262: 'ddy_fine' : no matching overloaded function found
-ERROR: 0:262: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
-ERROR: 0:262: 'EvaluateAttributeAtSample' : no matching overloaded function found
-ERROR: 0:262: 'EvaluateAttributeSnapped' : no matching overloaded function found
-ERROR: 0:262: 'f16tof32' : no matching overloaded function found
-ERROR: 0:262: 'firstbithigh' : no matching overloaded function found
-ERROR: 0:262: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:262: 'fma' : no matching overloaded function found
-ERROR: 0:262: 'fwidth' : no matching overloaded function found
-ERROR: 0:262: 'noise' : no matching overloaded function found
-ERROR: 0:262: 'reversebits' : no matching overloaded function found
-ERROR: 0:262: 'length' : no matching overloaded function found
-ERROR: 0:262: 'noise' : no matching overloaded function found
-ERROR: 0:262: 'normalize' : no matching overloaded function found
-ERROR: 0:262: 'reflect' : no matching overloaded function found
-ERROR: 0:262: 'refract' : no matching overloaded function found
-ERROR: 0:262: 'reversebits' : no matching overloaded function found
-ERROR: 0:270: 'countbits' : no matching overloaded function found
-ERROR: 0:270: 'cross' : no matching overloaded function found
-ERROR: 0:270: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
-ERROR: 0:270: 'ddx' : no matching overloaded function found
-ERROR: 0:270: 'ddx_coarse' : no matching overloaded function found
-ERROR: 0:270: 'ddx_fine' : no matching overloaded function found
-ERROR: 0:270: 'ddy' : no matching overloaded function found
-ERROR: 0:270: 'ddy_coarse' : no matching overloaded function found
-ERROR: 0:270: 'ddy_fine' : no matching overloaded function found
-ERROR: 0:270: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
-ERROR: 0:270: 'EvaluateAttributeAtSample' : no matching overloaded function found
-ERROR: 0:270: 'EvaluateAttributeSnapped' : no matching overloaded function found
-ERROR: 0:270: 'f16tof32' : no matching overloaded function found
-ERROR: 0:270: 'firstbithigh' : no matching overloaded function found
-ERROR: 0:270: 'firstbitlow' : no matching overloaded function found
-ERROR: 0:270: 'fma' : no matching overloaded function found
-ERROR: 0:270: 'fwidth' : no matching overloaded function found
-ERROR: 0:270: 'noise' : no matching overloaded function found
-ERROR: 0:270: 'reversebits' : no matching overloaded function found
-ERROR: 0:270: 'length' : no matching overloaded function found
-ERROR: 0:270: 'noise' : no matching overloaded function found
-ERROR: 0:270: 'normalize' : no matching overloaded function found
-ERROR: 0:270: 'reflect' : no matching overloaded function found
-ERROR: 0:270: 'refract' : no matching overloaded function found
-ERROR: 0:270: 'reversebits' : no matching overloaded function found
-ERROR: 233 compilation errors. No code generated.
+ERROR: 0:253: 'countbits' : no matching overloaded function found
+ERROR: 0:253: 'cross' : no matching overloaded function found
+ERROR: 0:253: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:253: 'ddx' : no matching overloaded function found
+ERROR: 0:253: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:253: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:253: 'ddy' : no matching overloaded function found
+ERROR: 0:253: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:253: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:253: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:253: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:253: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:253: 'f16tof32' : no matching overloaded function found
+ERROR: 0:253: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:253: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:253: 'fwidth' : no matching overloaded function found
+ERROR: 0:253: 'noise' : no matching overloaded function found
+ERROR: 0:253: 'reversebits' : no matching overloaded function found
+ERROR: 0:253: 'length' : no matching overloaded function found
+ERROR: 0:253: 'noise' : no matching overloaded function found
+ERROR: 0:253: 'normalize' : no matching overloaded function found
+ERROR: 0:253: 'reflect' : no matching overloaded function found
+ERROR: 0:253: 'refract' : no matching overloaded function found
+ERROR: 0:253: 'reversebits' : no matching overloaded function found
+ERROR: 0:261: 'countbits' : no matching overloaded function found
+ERROR: 0:261: 'cross' : no matching overloaded function found
+ERROR: 0:261: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:261: 'ddx' : no matching overloaded function found
+ERROR: 0:261: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:261: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:261: 'ddy' : no matching overloaded function found
+ERROR: 0:261: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:261: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:261: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:261: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:261: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:261: 'f16tof32' : no matching overloaded function found
+ERROR: 0:261: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:261: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:261: 'fwidth' : no matching overloaded function found
+ERROR: 0:261: 'noise' : no matching overloaded function found
+ERROR: 0:261: 'reversebits' : no matching overloaded function found
+ERROR: 0:261: 'length' : no matching overloaded function found
+ERROR: 0:261: 'noise' : no matching overloaded function found
+ERROR: 0:261: 'normalize' : no matching overloaded function found
+ERROR: 0:261: 'reflect' : no matching overloaded function found
+ERROR: 0:261: 'refract' : no matching overloaded function found
+ERROR: 0:261: 'reversebits' : no matching overloaded function found
+ERROR: 0:269: 'countbits' : no matching overloaded function found
+ERROR: 0:269: 'cross' : no matching overloaded function found
+ERROR: 0:269: 'D3DCOLORtoUBYTE4' : no matching overloaded function found
+ERROR: 0:269: 'ddx' : no matching overloaded function found
+ERROR: 0:269: 'ddx_coarse' : no matching overloaded function found
+ERROR: 0:269: 'ddx_fine' : no matching overloaded function found
+ERROR: 0:269: 'ddy' : no matching overloaded function found
+ERROR: 0:269: 'ddy_coarse' : no matching overloaded function found
+ERROR: 0:269: 'ddy_fine' : no matching overloaded function found
+ERROR: 0:269: 'EvaluateAttributeAtCentroid' : no matching overloaded function found
+ERROR: 0:269: 'EvaluateAttributeAtSample' : no matching overloaded function found
+ERROR: 0:269: 'EvaluateAttributeSnapped' : no matching overloaded function found
+ERROR: 0:269: 'f16tof32' : no matching overloaded function found
+ERROR: 0:269: 'firstbithigh' : no matching overloaded function found
+ERROR: 0:269: 'firstbitlow' : no matching overloaded function found
+ERROR: 0:269: 'fwidth' : no matching overloaded function found
+ERROR: 0:269: 'noise' : no matching overloaded function found
+ERROR: 0:269: 'reversebits' : no matching overloaded function found
+ERROR: 0:269: 'length' : no matching overloaded function found
+ERROR: 0:269: 'noise' : no matching overloaded function found
+ERROR: 0:269: 'normalize' : no matching overloaded function found
+ERROR: 0:269: 'reflect' : no matching overloaded function found
+ERROR: 0:269: 'refract' : no matching overloaded function found
+ERROR: 0:269: 'reversebits' : no matching overloaded function found
+ERROR: 226 compilation errors. No code generated.
Shader version: 450
ERROR: node is still EOpNull!
-0:74 Function Definition: VertexShaderFunction(f1;f1;f1;i1; (temp float)
+0:74 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (global float)
0:15 Function Parameters:
0:15 'inF0' (in float)
0:15 'inF1' (in float)
0:40 0.000000
0:41 Constant:
0:41 0.000000
-0:42 Constant:
-0:42 0.000000
0:43 Constant:
0:43 0.000000
0:44 Constant:
0:71 Branch: Return with expression
0:71 Constant:
0:71 0.000000
-0:83 Function Definition: VertexShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:83 Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; (global 1-component vector of float)
0:75 Function Parameters:
0:75 'inF0' (in 1-component vector of float)
0:75 'inF1' (in 1-component vector of float)
0:80 Branch: Return with expression
0:80 Constant:
0:80 0.000000
-0:130 Function Definition: VertexShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:130 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; (global 2-component vector of float)
0:84 Function Parameters:
0:84 'inF0' (in 2-component vector of float)
0:84 'inF1' (in 2-component vector of float)
0:103 0.000000
0:104 Constant:
0:104 0.000000
-0:105 Constant:
-0:105 0.000000
0:106 Constant:
0:106 0.000000
0:107 Constant:
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:175 Function Definition: VertexShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:175 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; (global 3-component vector of float)
0:131 Function Parameters:
0:131 'inF0' (in 3-component vector of float)
0:131 'inF1' (in 3-component vector of float)
0:148 0.000000
0:149 Constant:
0:149 0.000000
-0:150 Constant:
-0:150 0.000000
0:151 Constant:
0:151 0.000000
0:152 Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:251 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:250 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float)
0:176 Function Parameters:
0:176 'inF0' (in 4-component vector of float)
0:176 'inF1' (in 4-component vector of float)
0:193 0.000000
0:194 Constant:
0:194 0.000000
-0:195 Constant:
-0:195 0.000000
0:196 Constant:
0:196 0.000000
0:197 Constant:
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:259 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:252 Function Parameters:
-0:252 'inF0' (in 2X2 matrix of float)
-0:252 'inF1' (in 2X2 matrix of float)
-0:252 'inF2' (in 2X2 matrix of float)
+0:258 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:251 Function Parameters:
+0:251 'inF0' (in 2X2 matrix of float)
+0:251 'inF1' (in 2X2 matrix of float)
+0:251 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:256 Branch: Return with expression
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:255 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:267 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:260 Function Parameters:
-0:260 'inF0' (in 3X3 matrix of float)
-0:260 'inF1' (in 3X3 matrix of float)
-0:260 'inF2' (in 3X3 matrix of float)
+0:266 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:259 Function Parameters:
+0:259 'inF0' (in 3X3 matrix of float)
+0:259 'inF1' (in 3X3 matrix of float)
+0:259 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:264 Branch: Return with expression
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:263 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:274 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:268 Function Parameters:
-0:268 'inF0' (in 4X4 matrix of float)
-0:268 'inF1' (in 4X4 matrix of float)
-0:268 'inF2' (in 4X4 matrix of float)
+0:273 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:267 Function Parameters:
+0:267 'inF0' (in 4X4 matrix of float)
+0:267 'inF1' (in 4X4 matrix of float)
+0:267 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:272 Branch: Return with expression
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:271 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? Linker Objects
-0:? 'gs_ua' (temp uint)
-0:? 'gs_ub' (temp uint)
-0:? 'gs_uc' (temp uint)
-0:? 'gs_ua2' (temp 2-component vector of uint)
-0:? 'gs_ub2' (temp 2-component vector of uint)
-0:? 'gs_uc2' (temp 2-component vector of uint)
-0:? 'gs_ua3' (temp 3-component vector of uint)
-0:? 'gs_ub3' (temp 3-component vector of uint)
-0:? 'gs_uc3' (temp 3-component vector of uint)
-0:? 'gs_ua4' (temp 4-component vector of uint)
-0:? 'gs_ub4' (temp 4-component vector of uint)
-0:? 'gs_uc4' (temp 4-component vector of uint)
+0:? 'gs_ua' (global uint)
+0:? 'gs_ub' (global uint)
+0:? 'gs_uc' (global uint)
+0:? 'gs_ua2' (global 2-component vector of uint)
+0:? 'gs_ub2' (global 2-component vector of uint)
+0:? 'gs_uc2' (global 2-component vector of uint)
+0:? 'gs_ua3' (global 3-component vector of uint)
+0:? 'gs_ub3' (global 3-component vector of uint)
+0:? 'gs_uc3' (global 3-component vector of uint)
+0:? 'gs_ua4' (global 4-component vector of uint)
+0:? 'gs_ub4' (global 4-component vector of uint)
+0:? 'gs_uc4' (global 4-component vector of uint)
Linked vertex stage:
Shader version: 450
ERROR: node is still EOpNull!
-0:74 Function Definition: VertexShaderFunction(f1;f1;f1;i1; (temp float)
+0:74 Function Definition: VertexShaderFunctionS(f1;f1;f1;i1; (global float)
0:15 Function Parameters:
0:15 'inF0' (in float)
0:15 'inF1' (in float)
0:40 0.000000
0:41 Constant:
0:41 0.000000
-0:42 Constant:
-0:42 0.000000
0:43 Constant:
0:43 0.000000
0:44 Constant:
0:71 Branch: Return with expression
0:71 Constant:
0:71 0.000000
-0:83 Function Definition: VertexShaderFunction(vf1;vf1;vf1;vi1; (temp 1-component vector of float)
+0:83 Function Definition: VertexShaderFunction1(vf1;vf1;vf1;vi1; (global 1-component vector of float)
0:75 Function Parameters:
0:75 'inF0' (in 1-component vector of float)
0:75 'inF1' (in 1-component vector of float)
0:80 Branch: Return with expression
0:80 Constant:
0:80 0.000000
-0:130 Function Definition: VertexShaderFunction(vf2;vf2;vf2;vi2; (temp 2-component vector of float)
+0:130 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vi2; (global 2-component vector of float)
0:84 Function Parameters:
0:84 'inF0' (in 2-component vector of float)
0:84 'inF1' (in 2-component vector of float)
0:103 0.000000
0:104 Constant:
0:104 0.000000
-0:105 Constant:
-0:105 0.000000
0:106 Constant:
0:106 0.000000
0:107 Constant:
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:175 Function Definition: VertexShaderFunction(vf3;vf3;vf3;vi3; (temp 3-component vector of float)
+0:175 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; (global 3-component vector of float)
0:131 Function Parameters:
0:131 'inF0' (in 3-component vector of float)
0:131 'inF1' (in 3-component vector of float)
0:148 0.000000
0:149 Constant:
0:149 0.000000
-0:150 Constant:
-0:150 0.000000
0:151 Constant:
0:151 0.000000
0:152 Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:251 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (temp 4-component vector of float)
+0:250 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vi4; (global 4-component vector of float)
0:176 Function Parameters:
0:176 'inF0' (in 4-component vector of float)
0:176 'inF1' (in 4-component vector of float)
0:193 0.000000
0:194 Constant:
0:194 0.000000
-0:195 Constant:
-0:195 0.000000
0:196 Constant:
0:196 0.000000
0:197 Constant:
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:259 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:252 Function Parameters:
-0:252 'inF0' (in 2X2 matrix of float)
-0:252 'inF1' (in 2X2 matrix of float)
-0:252 'inF2' (in 2X2 matrix of float)
+0:258 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:251 Function Parameters:
+0:251 'inF0' (in 2X2 matrix of float)
+0:251 'inF1' (in 2X2 matrix of float)
+0:251 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:254 Constant:
-0:254 0.000000
-0:256 Branch: Return with expression
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:253 Constant:
+0:253 0.000000
+0:255 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:267 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:260 Function Parameters:
-0:260 'inF0' (in 3X3 matrix of float)
-0:260 'inF1' (in 3X3 matrix of float)
-0:260 'inF2' (in 3X3 matrix of float)
+0:266 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:259 Function Parameters:
+0:259 'inF0' (in 3X3 matrix of float)
+0:259 'inF1' (in 3X3 matrix of float)
+0:259 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:262 Constant:
-0:262 0.000000
-0:264 Branch: Return with expression
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:261 Constant:
+0:261 0.000000
+0:263 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:274 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:268 Function Parameters:
-0:268 'inF0' (in 4X4 matrix of float)
-0:268 'inF1' (in 4X4 matrix of float)
-0:268 'inF2' (in 4X4 matrix of float)
+0:273 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:267 Function Parameters:
+0:267 'inF0' (in 4X4 matrix of float)
+0:267 'inF1' (in 4X4 matrix of float)
+0:267 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:270 Constant:
-0:270 0.000000
-0:272 Branch: Return with expression
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:269 Constant:
+0:269 0.000000
+0:271 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? Linker Objects
-0:? 'gs_ua' (temp uint)
-0:? 'gs_ub' (temp uint)
-0:? 'gs_uc' (temp uint)
-0:? 'gs_ua2' (temp 2-component vector of uint)
-0:? 'gs_ub2' (temp 2-component vector of uint)
-0:? 'gs_uc2' (temp 2-component vector of uint)
-0:? 'gs_ua3' (temp 3-component vector of uint)
-0:? 'gs_ub3' (temp 3-component vector of uint)
-0:? 'gs_uc3' (temp 3-component vector of uint)
-0:? 'gs_ua4' (temp 4-component vector of uint)
-0:? 'gs_ub4' (temp 4-component vector of uint)
-0:? 'gs_uc4' (temp 4-component vector of uint)
+0:? 'gs_ua' (global uint)
+0:? 'gs_ub' (global uint)
+0:? 'gs_uc' (global uint)
+0:? 'gs_ua2' (global 2-component vector of uint)
+0:? 'gs_ub2' (global 2-component vector of uint)
+0:? 'gs_uc2' (global 2-component vector of uint)
+0:? 'gs_ua3' (global 3-component vector of uint)
+0:? 'gs_ub3' (global 3-component vector of uint)
+0:? 'gs_uc3' (global 3-component vector of uint)
+0:? 'gs_ua4' (global 4-component vector of uint)
+0:? 'gs_ub4' (global 4-component vector of uint)
+0:? 'gs_uc4' (global 4-component vector of uint)
SPIR-V is not generated for failed compile or link
hlsl.intrinsics.vert
Shader version: 450
0:? Sequence
-0:62 Function Definition: VertexShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:63 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:2 'inF1' (in float)
0:34 ldexp (global float)
0:34 'inF0' (in float)
0:34 'inF1' (in float)
-0:35 log (global float)
+0:35 mix (global float)
0:35 'inF0' (in float)
-0:36 component-wise multiply (temp float)
-0:36 log2 (temp float)
-0:36 'inF0' (in float)
-0:36 Constant:
-0:36 0.301030
-0:37 log2 (global float)
-0:37 'inF0' (in float)
-0:38 max (global float)
+0:35 'inF1' (in float)
+0:35 'inF2' (in float)
+0:36 log (global float)
+0:36 'inF0' (in float)
+0:37 component-wise multiply (temp float)
+0:37 log2 (temp float)
+0:37 'inF0' (in float)
+0:37 Constant:
+0:37 0.301030
+0:38 log2 (global float)
0:38 'inF0' (in float)
-0:38 'inF1' (in float)
-0:39 min (global float)
+0:39 max (global float)
0:39 'inF0' (in float)
0:39 'inF1' (in float)
-0:41 pow (global float)
-0:41 'inF0' (in float)
-0:41 'inF1' (in float)
-0:42 radians (global float)
+0:40 min (global float)
+0:40 'inF0' (in float)
+0:40 'inF1' (in float)
+0:42 pow (global float)
0:42 'inF0' (in float)
-0:43 bitFieldReverse (global uint)
-0:43 Constant:
-0:43 2 (const uint)
-0:44 roundEven (global float)
-0:44 'inF0' (in float)
-0:45 inverse sqrt (global float)
+0:42 'inF1' (in float)
+0:43 radians (global float)
+0:43 'inF0' (in float)
+0:44 bitFieldReverse (global uint)
+0:44 Constant:
+0:44 2 (const uint)
+0:45 roundEven (global float)
0:45 'inF0' (in float)
-0:46 clamp (temp float)
+0:46 inverse sqrt (global float)
0:46 'inF0' (in float)
-0:46 Constant:
-0:46 0.000000
-0:46 Constant:
-0:46 1.000000
-0:47 Sign (global float)
+0:47 clamp (temp float)
0:47 'inF0' (in float)
-0:48 sine (global float)
+0:47 Constant:
+0:47 0.000000
+0:47 Constant:
+0:47 1.000000
+0:48 Sign (global float)
0:48 'inF0' (in float)
-0:49 Sequence
-0:49 move second child to first child (temp float)
-0:49 'inF1' (in float)
-0:49 sine (temp float)
-0:49 'inF0' (in float)
-0:49 move second child to first child (temp float)
-0:49 'inF2' (in float)
-0:49 cosine (temp float)
-0:49 'inF0' (in float)
-0:50 hyp. sine (global float)
-0:50 'inF0' (in float)
-0:51 smoothstep (global float)
+0:49 sine (global float)
+0:49 'inF0' (in float)
+0:50 Sequence
+0:50 move second child to first child (temp float)
+0:50 'inF1' (in float)
+0:50 sine (temp float)
+0:50 'inF0' (in float)
+0:50 move second child to first child (temp float)
+0:50 'inF2' (in float)
+0:50 cosine (temp float)
+0:50 'inF0' (in float)
+0:51 hyp. sine (global float)
0:51 'inF0' (in float)
-0:51 'inF1' (in float)
-0:51 'inF2' (in float)
-0:52 sqrt (global float)
+0:52 smoothstep (global float)
0:52 'inF0' (in float)
-0:53 step (global float)
+0:52 'inF1' (in float)
+0:52 'inF2' (in float)
+0:53 sqrt (global float)
0:53 'inF0' (in float)
-0:53 'inF1' (in float)
-0:54 tangent (global float)
+0:54 step (global float)
0:54 'inF0' (in float)
-0:55 hyp. tangent (global float)
+0:54 'inF1' (in float)
+0:55 tangent (global float)
0:55 'inF0' (in float)
-0:57 trunc (global float)
-0:57 'inF0' (in float)
-0:59 Branch: Return with expression
-0:59 Constant:
-0:59 0.000000
-0:68 Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
-0:63 Function Parameters:
-0:63 'inF0' (in 1-component vector of float)
-0:63 'inF1' (in 1-component vector of float)
-0:63 'inF2' (in 1-component vector of float)
+0:56 hyp. tangent (global float)
+0:56 'inF0' (in float)
+0:58 trunc (global float)
+0:58 'inF0' (in float)
+0:60 Branch: Return with expression
+0:60 Constant:
+0:60 0.000000
+0:69 Function Definition: VertexShaderFunction1(vf1;vf1;vf1; (global 1-component vector of float)
+0:64 Function Parameters:
+0:64 'inF0' (in 1-component vector of float)
+0:64 'inF1' (in 1-component vector of float)
+0:64 'inF2' (in 1-component vector of float)
0:? Sequence
-0:65 Branch: Return with expression
-0:65 Constant:
-0:65 0.000000
-0:137 Function Definition: VertexShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
-0:69 Function Parameters:
-0:69 'inF0' (in 2-component vector of float)
-0:69 'inF1' (in 2-component vector of float)
-0:69 'inF2' (in 2-component vector of float)
-0:69 'inU0' (in 2-component vector of uint)
-0:69 'inU1' (in 2-component vector of uint)
+0:66 Branch: Return with expression
+0:66 Constant:
+0:66 0.000000
+0:139 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; (global 2-component vector of float)
+0:70 Function Parameters:
+0:70 'inF0' (in 2-component vector of float)
+0:70 'inF1' (in 2-component vector of float)
+0:70 'inF2' (in 2-component vector of float)
+0:70 'inU0' (in 2-component vector of uint)
+0:70 'inU1' (in 2-component vector of uint)
0:? Sequence
-0:70 all (global bool)
-0:70 'inF0' (in 2-component vector of float)
-0:71 Absolute value (global 2-component vector of float)
+0:71 all (global bool)
0:71 'inF0' (in 2-component vector of float)
-0:72 arc cosine (global 2-component vector of float)
+0:72 Absolute value (global 2-component vector of float)
0:72 'inF0' (in 2-component vector of float)
-0:73 any (global bool)
+0:73 arc cosine (global 2-component vector of float)
0:73 'inF0' (in 2-component vector of float)
-0:74 arc sine (global 2-component vector of float)
+0:74 any (global bool)
0:74 'inF0' (in 2-component vector of float)
-0:75 floatBitsToInt (global 2-component vector of int)
+0:75 arc sine (global 2-component vector of float)
0:75 'inF0' (in 2-component vector of float)
-0:76 floatBitsToUint (global 2-component vector of uint)
+0:76 floatBitsToInt (global 2-component vector of int)
0:76 'inF0' (in 2-component vector of float)
-0:77 intBitsToFloat (global 2-component vector of float)
-0:77 'inU0' (in 2-component vector of uint)
-0:79 arc tangent (global 2-component vector of float)
-0:79 'inF0' (in 2-component vector of float)
+0:77 floatBitsToUint (global 2-component vector of uint)
+0:77 'inF0' (in 2-component vector of float)
+0:78 intBitsToFloat (global 2-component vector of float)
+0:78 'inU0' (in 2-component vector of uint)
0:80 arc tangent (global 2-component vector of float)
0:80 'inF0' (in 2-component vector of float)
-0:80 'inF1' (in 2-component vector of float)
-0:81 Ceiling (global 2-component vector of float)
+0:81 arc tangent (global 2-component vector of float)
0:81 'inF0' (in 2-component vector of float)
-0:82 clamp (global 2-component vector of float)
+0:81 'inF1' (in 2-component vector of float)
+0:82 Ceiling (global 2-component vector of float)
0:82 'inF0' (in 2-component vector of float)
-0:82 'inF1' (in 2-component vector of float)
-0:82 'inF2' (in 2-component vector of float)
-0:83 cosine (global 2-component vector of float)
+0:83 clamp (global 2-component vector of float)
0:83 'inF0' (in 2-component vector of float)
-0:84 hyp. cosine (global 2-component vector of float)
+0:83 'inF1' (in 2-component vector of float)
+0:83 'inF2' (in 2-component vector of float)
+0:84 cosine (global 2-component vector of float)
0:84 'inF0' (in 2-component vector of float)
+0:85 hyp. cosine (global 2-component vector of float)
+0:85 'inF0' (in 2-component vector of float)
0:? bitCount (global 2-component vector of uint)
0:? Constant:
0:? 7 (const uint)
0:? 3 (const uint)
-0:86 degrees (global 2-component vector of float)
-0:86 'inF0' (in 2-component vector of float)
-0:87 distance (global float)
+0:87 degrees (global 2-component vector of float)
0:87 'inF0' (in 2-component vector of float)
-0:87 'inF1' (in 2-component vector of float)
-0:88 dot-product (global float)
+0:88 distance (global float)
0:88 'inF0' (in 2-component vector of float)
0:88 'inF1' (in 2-component vector of float)
-0:92 exp (global 2-component vector of float)
-0:92 'inF0' (in 2-component vector of float)
-0:93 exp2 (global 2-component vector of float)
+0:89 dot-product (global float)
+0:89 'inF0' (in 2-component vector of float)
+0:89 'inF1' (in 2-component vector of float)
+0:93 exp (global 2-component vector of float)
0:93 'inF0' (in 2-component vector of float)
-0:94 face-forward (global 2-component vector of float)
+0:94 exp2 (global 2-component vector of float)
0:94 'inF0' (in 2-component vector of float)
-0:94 'inF1' (in 2-component vector of float)
-0:94 'inF2' (in 2-component vector of float)
-0:95 findMSB (global int)
-0:95 Constant:
-0:95 7 (const int)
-0:96 findLSB (global int)
+0:95 face-forward (global 2-component vector of float)
+0:95 'inF0' (in 2-component vector of float)
+0:95 'inF1' (in 2-component vector of float)
+0:95 'inF2' (in 2-component vector of float)
+0:96 findMSB (global int)
0:96 Constant:
0:96 7 (const int)
-0:97 Floor (global 2-component vector of float)
-0:97 'inF0' (in 2-component vector of float)
-0:99 mod (global 2-component vector of float)
-0:99 'inF0' (in 2-component vector of float)
-0:99 'inF1' (in 2-component vector of float)
-0:100 Fraction (global 2-component vector of float)
+0:97 findLSB (global int)
+0:97 Constant:
+0:97 7 (const int)
+0:98 Floor (global 2-component vector of float)
+0:98 'inF0' (in 2-component vector of float)
+0:100 mod (global 2-component vector of float)
0:100 'inF0' (in 2-component vector of float)
-0:101 frexp (global 2-component vector of float)
+0:100 'inF1' (in 2-component vector of float)
+0:101 Fraction (global 2-component vector of float)
0:101 'inF0' (in 2-component vector of float)
-0:101 'inF1' (in 2-component vector of float)
-0:102 isinf (global 2-component vector of bool)
+0:102 frexp (global 2-component vector of float)
0:102 'inF0' (in 2-component vector of float)
-0:103 isnan (global 2-component vector of bool)
+0:102 'inF1' (in 2-component vector of float)
+0:103 isinf (global 2-component vector of bool)
0:103 'inF0' (in 2-component vector of float)
-0:104 ldexp (global 2-component vector of float)
+0:104 isnan (global 2-component vector of bool)
0:104 'inF0' (in 2-component vector of float)
-0:104 'inF1' (in 2-component vector of float)
-0:105 length (global float)
+0:105 ldexp (global 2-component vector of float)
0:105 'inF0' (in 2-component vector of float)
-0:106 log (global 2-component vector of float)
+0:105 'inF1' (in 2-component vector of float)
+0:106 mix (global 2-component vector of float)
0:106 'inF0' (in 2-component vector of float)
-0:107 vector-scale (temp 2-component vector of float)
-0:107 log2 (temp 2-component vector of float)
-0:107 'inF0' (in 2-component vector of float)
-0:107 Constant:
-0:107 0.301030
-0:108 log2 (global 2-component vector of float)
+0:106 'inF1' (in 2-component vector of float)
+0:106 'inF2' (in 2-component vector of float)
+0:107 length (global float)
+0:107 'inF0' (in 2-component vector of float)
+0:108 log (global 2-component vector of float)
0:108 'inF0' (in 2-component vector of float)
-0:109 max (global 2-component vector of float)
-0:109 'inF0' (in 2-component vector of float)
-0:109 'inF1' (in 2-component vector of float)
-0:110 min (global 2-component vector of float)
+0:109 vector-scale (temp 2-component vector of float)
+0:109 log2 (temp 2-component vector of float)
+0:109 'inF0' (in 2-component vector of float)
+0:109 Constant:
+0:109 0.301030
+0:110 log2 (global 2-component vector of float)
0:110 'inF0' (in 2-component vector of float)
-0:110 'inF1' (in 2-component vector of float)
-0:112 normalize (global 2-component vector of float)
+0:111 max (global 2-component vector of float)
+0:111 'inF0' (in 2-component vector of float)
+0:111 'inF1' (in 2-component vector of float)
+0:112 min (global 2-component vector of float)
0:112 'inF0' (in 2-component vector of float)
-0:113 pow (global 2-component vector of float)
-0:113 'inF0' (in 2-component vector of float)
-0:113 'inF1' (in 2-component vector of float)
-0:114 radians (global 2-component vector of float)
+0:112 'inF1' (in 2-component vector of float)
+0:114 normalize (global 2-component vector of float)
0:114 'inF0' (in 2-component vector of float)
-0:115 reflect (global 2-component vector of float)
+0:115 pow (global 2-component vector of float)
0:115 'inF0' (in 2-component vector of float)
0:115 'inF1' (in 2-component vector of float)
-0:116 refract (global 2-component vector of float)
+0:116 radians (global 2-component vector of float)
0:116 'inF0' (in 2-component vector of float)
-0:116 'inF1' (in 2-component vector of float)
-0:116 Constant:
-0:116 2.000000
+0:117 reflect (global 2-component vector of float)
+0:117 'inF0' (in 2-component vector of float)
+0:117 'inF1' (in 2-component vector of float)
+0:118 refract (global 2-component vector of float)
+0:118 'inF0' (in 2-component vector of float)
+0:118 'inF1' (in 2-component vector of float)
+0:118 Constant:
+0:118 2.000000
0:? bitFieldReverse (global 2-component vector of uint)
0:? Constant:
0:? 1 (const uint)
0:? 2 (const uint)
-0:118 roundEven (global 2-component vector of float)
-0:118 'inF0' (in 2-component vector of float)
-0:119 inverse sqrt (global 2-component vector of float)
-0:119 'inF0' (in 2-component vector of float)
-0:120 clamp (temp 2-component vector of float)
+0:120 roundEven (global 2-component vector of float)
0:120 'inF0' (in 2-component vector of float)
-0:120 Constant:
-0:120 0.000000
-0:120 Constant:
-0:120 1.000000
-0:121 Sign (global 2-component vector of float)
+0:121 inverse sqrt (global 2-component vector of float)
0:121 'inF0' (in 2-component vector of float)
-0:122 sine (global 2-component vector of float)
+0:122 clamp (temp 2-component vector of float)
0:122 'inF0' (in 2-component vector of float)
-0:123 Sequence
-0:123 move second child to first child (temp 2-component vector of float)
-0:123 'inF1' (in 2-component vector of float)
-0:123 sine (temp 2-component vector of float)
-0:123 'inF0' (in 2-component vector of float)
-0:123 move second child to first child (temp 2-component vector of float)
-0:123 'inF2' (in 2-component vector of float)
-0:123 cosine (temp 2-component vector of float)
-0:123 'inF0' (in 2-component vector of float)
-0:124 hyp. sine (global 2-component vector of float)
+0:122 Constant:
+0:122 0.000000
+0:122 Constant:
+0:122 1.000000
+0:123 Sign (global 2-component vector of float)
+0:123 'inF0' (in 2-component vector of float)
+0:124 sine (global 2-component vector of float)
0:124 'inF0' (in 2-component vector of float)
-0:125 smoothstep (global 2-component vector of float)
-0:125 'inF0' (in 2-component vector of float)
-0:125 'inF1' (in 2-component vector of float)
-0:125 'inF2' (in 2-component vector of float)
-0:126 sqrt (global 2-component vector of float)
+0:125 Sequence
+0:125 move second child to first child (temp 2-component vector of float)
+0:125 'inF1' (in 2-component vector of float)
+0:125 sine (temp 2-component vector of float)
+0:125 'inF0' (in 2-component vector of float)
+0:125 move second child to first child (temp 2-component vector of float)
+0:125 'inF2' (in 2-component vector of float)
+0:125 cosine (temp 2-component vector of float)
+0:125 'inF0' (in 2-component vector of float)
+0:126 hyp. sine (global 2-component vector of float)
0:126 'inF0' (in 2-component vector of float)
-0:127 step (global 2-component vector of float)
+0:127 smoothstep (global 2-component vector of float)
0:127 'inF0' (in 2-component vector of float)
0:127 'inF1' (in 2-component vector of float)
-0:128 tangent (global 2-component vector of float)
+0:127 'inF2' (in 2-component vector of float)
+0:128 sqrt (global 2-component vector of float)
0:128 'inF0' (in 2-component vector of float)
-0:129 hyp. tangent (global 2-component vector of float)
+0:129 step (global 2-component vector of float)
0:129 'inF0' (in 2-component vector of float)
-0:131 trunc (global 2-component vector of float)
+0:129 'inF1' (in 2-component vector of float)
+0:130 tangent (global 2-component vector of float)
+0:130 'inF0' (in 2-component vector of float)
+0:131 hyp. tangent (global 2-component vector of float)
0:131 'inF0' (in 2-component vector of float)
-0:134 Branch: Return with expression
+0:133 trunc (global 2-component vector of float)
+0:133 'inF0' (in 2-component vector of float)
+0:136 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:207 Function Definition: VertexShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
-0:138 Function Parameters:
-0:138 'inF0' (in 3-component vector of float)
-0:138 'inF1' (in 3-component vector of float)
-0:138 'inF2' (in 3-component vector of float)
-0:138 'inU0' (in 3-component vector of uint)
-0:138 'inU1' (in 3-component vector of uint)
+0:210 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
+0:140 Function Parameters:
+0:140 'inF0' (in 3-component vector of float)
+0:140 'inF1' (in 3-component vector of float)
+0:140 'inF2' (in 3-component vector of float)
+0:140 'inU0' (in 3-component vector of uint)
+0:140 'inU1' (in 3-component vector of uint)
0:? Sequence
-0:139 all (global bool)
-0:139 'inF0' (in 3-component vector of float)
-0:140 Absolute value (global 3-component vector of float)
-0:140 'inF0' (in 3-component vector of float)
-0:141 arc cosine (global 3-component vector of float)
+0:141 all (global bool)
0:141 'inF0' (in 3-component vector of float)
-0:142 any (global bool)
+0:142 Absolute value (global 3-component vector of float)
0:142 'inF0' (in 3-component vector of float)
-0:143 arc sine (global 3-component vector of float)
+0:143 arc cosine (global 3-component vector of float)
0:143 'inF0' (in 3-component vector of float)
-0:144 floatBitsToInt (global 3-component vector of int)
+0:144 any (global bool)
0:144 'inF0' (in 3-component vector of float)
-0:145 floatBitsToUint (global 3-component vector of uint)
+0:145 arc sine (global 3-component vector of float)
0:145 'inF0' (in 3-component vector of float)
-0:146 intBitsToFloat (global 3-component vector of float)
-0:146 'inU0' (in 3-component vector of uint)
-0:148 arc tangent (global 3-component vector of float)
-0:148 'inF0' (in 3-component vector of float)
-0:149 arc tangent (global 3-component vector of float)
-0:149 'inF0' (in 3-component vector of float)
-0:149 'inF1' (in 3-component vector of float)
-0:150 Ceiling (global 3-component vector of float)
+0:146 floatBitsToInt (global 3-component vector of int)
+0:146 'inF0' (in 3-component vector of float)
+0:147 floatBitsToUint (global 3-component vector of uint)
+0:147 'inF0' (in 3-component vector of float)
+0:148 intBitsToFloat (global 3-component vector of float)
+0:148 'inU0' (in 3-component vector of uint)
+0:150 arc tangent (global 3-component vector of float)
0:150 'inF0' (in 3-component vector of float)
-0:151 clamp (global 3-component vector of float)
+0:151 arc tangent (global 3-component vector of float)
0:151 'inF0' (in 3-component vector of float)
0:151 'inF1' (in 3-component vector of float)
-0:151 'inF2' (in 3-component vector of float)
-0:152 cosine (global 3-component vector of float)
+0:152 Ceiling (global 3-component vector of float)
0:152 'inF0' (in 3-component vector of float)
-0:153 hyp. cosine (global 3-component vector of float)
+0:153 clamp (global 3-component vector of float)
0:153 'inF0' (in 3-component vector of float)
+0:153 'inF1' (in 3-component vector of float)
+0:153 'inF2' (in 3-component vector of float)
+0:154 cosine (global 3-component vector of float)
+0:154 'inF0' (in 3-component vector of float)
+0:155 hyp. cosine (global 3-component vector of float)
+0:155 'inF0' (in 3-component vector of float)
0:? bitCount (global 3-component vector of uint)
0:? Constant:
0:? 7 (const uint)
0:? 3 (const uint)
0:? 5 (const uint)
-0:155 cross-product (global 3-component vector of float)
-0:155 'inF0' (in 3-component vector of float)
-0:155 'inF1' (in 3-component vector of float)
-0:156 degrees (global 3-component vector of float)
-0:156 'inF0' (in 3-component vector of float)
-0:157 distance (global float)
+0:157 cross-product (global 3-component vector of float)
0:157 'inF0' (in 3-component vector of float)
0:157 'inF1' (in 3-component vector of float)
-0:158 dot-product (global float)
+0:158 degrees (global 3-component vector of float)
0:158 'inF0' (in 3-component vector of float)
-0:158 'inF1' (in 3-component vector of float)
-0:162 exp (global 3-component vector of float)
-0:162 'inF0' (in 3-component vector of float)
-0:163 exp2 (global 3-component vector of float)
-0:163 'inF0' (in 3-component vector of float)
-0:164 face-forward (global 3-component vector of float)
+0:159 distance (global float)
+0:159 'inF0' (in 3-component vector of float)
+0:159 'inF1' (in 3-component vector of float)
+0:160 dot-product (global float)
+0:160 'inF0' (in 3-component vector of float)
+0:160 'inF1' (in 3-component vector of float)
+0:164 exp (global 3-component vector of float)
0:164 'inF0' (in 3-component vector of float)
-0:164 'inF1' (in 3-component vector of float)
-0:164 'inF2' (in 3-component vector of float)
-0:165 findMSB (global int)
-0:165 Constant:
-0:165 7 (const int)
-0:166 findLSB (global int)
-0:166 Constant:
-0:166 7 (const int)
-0:167 Floor (global 3-component vector of float)
-0:167 'inF0' (in 3-component vector of float)
-0:169 mod (global 3-component vector of float)
+0:165 exp2 (global 3-component vector of float)
+0:165 'inF0' (in 3-component vector of float)
+0:166 face-forward (global 3-component vector of float)
+0:166 'inF0' (in 3-component vector of float)
+0:166 'inF1' (in 3-component vector of float)
+0:166 'inF2' (in 3-component vector of float)
+0:167 findMSB (global int)
+0:167 Constant:
+0:167 7 (const int)
+0:168 findLSB (global int)
+0:168 Constant:
+0:168 7 (const int)
+0:169 Floor (global 3-component vector of float)
0:169 'inF0' (in 3-component vector of float)
-0:169 'inF1' (in 3-component vector of float)
-0:170 Fraction (global 3-component vector of float)
-0:170 'inF0' (in 3-component vector of float)
-0:171 frexp (global 3-component vector of float)
+0:171 mod (global 3-component vector of float)
0:171 'inF0' (in 3-component vector of float)
0:171 'inF1' (in 3-component vector of float)
-0:172 isinf (global 3-component vector of bool)
+0:172 Fraction (global 3-component vector of float)
0:172 'inF0' (in 3-component vector of float)
-0:173 isnan (global 3-component vector of bool)
+0:173 frexp (global 3-component vector of float)
0:173 'inF0' (in 3-component vector of float)
-0:174 ldexp (global 3-component vector of float)
+0:173 'inF1' (in 3-component vector of float)
+0:174 isinf (global 3-component vector of bool)
0:174 'inF0' (in 3-component vector of float)
-0:174 'inF1' (in 3-component vector of float)
-0:175 length (global float)
+0:175 isnan (global 3-component vector of bool)
0:175 'inF0' (in 3-component vector of float)
-0:176 log (global 3-component vector of float)
+0:176 ldexp (global 3-component vector of float)
0:176 'inF0' (in 3-component vector of float)
-0:177 vector-scale (temp 3-component vector of float)
-0:177 log2 (temp 3-component vector of float)
-0:177 'inF0' (in 3-component vector of float)
-0:177 Constant:
-0:177 0.301030
-0:178 log2 (global 3-component vector of float)
+0:176 'inF1' (in 3-component vector of float)
+0:177 mix (global 3-component vector of float)
+0:177 'inF0' (in 3-component vector of float)
+0:177 'inF1' (in 3-component vector of float)
+0:177 'inF2' (in 3-component vector of float)
+0:178 length (global float)
0:178 'inF0' (in 3-component vector of float)
-0:179 max (global 3-component vector of float)
+0:179 log (global 3-component vector of float)
0:179 'inF0' (in 3-component vector of float)
-0:179 'inF1' (in 3-component vector of float)
-0:180 min (global 3-component vector of float)
-0:180 'inF0' (in 3-component vector of float)
-0:180 'inF1' (in 3-component vector of float)
-0:182 normalize (global 3-component vector of float)
+0:180 vector-scale (temp 3-component vector of float)
+0:180 log2 (temp 3-component vector of float)
+0:180 'inF0' (in 3-component vector of float)
+0:180 Constant:
+0:180 0.301030
+0:181 log2 (global 3-component vector of float)
+0:181 'inF0' (in 3-component vector of float)
+0:182 max (global 3-component vector of float)
0:182 'inF0' (in 3-component vector of float)
-0:183 pow (global 3-component vector of float)
+0:182 'inF1' (in 3-component vector of float)
+0:183 min (global 3-component vector of float)
0:183 'inF0' (in 3-component vector of float)
0:183 'inF1' (in 3-component vector of float)
-0:184 radians (global 3-component vector of float)
-0:184 'inF0' (in 3-component vector of float)
-0:185 reflect (global 3-component vector of float)
+0:185 normalize (global 3-component vector of float)
0:185 'inF0' (in 3-component vector of float)
-0:185 'inF1' (in 3-component vector of float)
-0:186 refract (global 3-component vector of float)
+0:186 pow (global 3-component vector of float)
0:186 'inF0' (in 3-component vector of float)
0:186 'inF1' (in 3-component vector of float)
-0:186 Constant:
-0:186 2.000000
+0:187 radians (global 3-component vector of float)
+0:187 'inF0' (in 3-component vector of float)
+0:188 reflect (global 3-component vector of float)
+0:188 'inF0' (in 3-component vector of float)
+0:188 'inF1' (in 3-component vector of float)
+0:189 refract (global 3-component vector of float)
+0:189 'inF0' (in 3-component vector of float)
+0:189 'inF1' (in 3-component vector of float)
+0:189 Constant:
+0:189 2.000000
0:? bitFieldReverse (global 3-component vector of uint)
0:? Constant:
0:? 1 (const uint)
0:? 2 (const uint)
0:? 3 (const uint)
-0:188 roundEven (global 3-component vector of float)
-0:188 'inF0' (in 3-component vector of float)
-0:189 inverse sqrt (global 3-component vector of float)
-0:189 'inF0' (in 3-component vector of float)
-0:190 clamp (temp 3-component vector of float)
-0:190 'inF0' (in 3-component vector of float)
-0:190 Constant:
-0:190 0.000000
-0:190 Constant:
-0:190 1.000000
-0:191 Sign (global 3-component vector of float)
+0:191 roundEven (global 3-component vector of float)
0:191 'inF0' (in 3-component vector of float)
-0:192 sine (global 3-component vector of float)
+0:192 inverse sqrt (global 3-component vector of float)
0:192 'inF0' (in 3-component vector of float)
-0:193 Sequence
-0:193 move second child to first child (temp 3-component vector of float)
-0:193 'inF1' (in 3-component vector of float)
-0:193 sine (temp 3-component vector of float)
-0:193 'inF0' (in 3-component vector of float)
-0:193 move second child to first child (temp 3-component vector of float)
-0:193 'inF2' (in 3-component vector of float)
-0:193 cosine (temp 3-component vector of float)
-0:193 'inF0' (in 3-component vector of float)
-0:194 hyp. sine (global 3-component vector of float)
+0:193 clamp (temp 3-component vector of float)
+0:193 'inF0' (in 3-component vector of float)
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 1.000000
+0:194 Sign (global 3-component vector of float)
0:194 'inF0' (in 3-component vector of float)
-0:195 smoothstep (global 3-component vector of float)
+0:195 sine (global 3-component vector of float)
0:195 'inF0' (in 3-component vector of float)
-0:195 'inF1' (in 3-component vector of float)
-0:195 'inF2' (in 3-component vector of float)
-0:196 sqrt (global 3-component vector of float)
-0:196 'inF0' (in 3-component vector of float)
-0:197 step (global 3-component vector of float)
+0:196 Sequence
+0:196 move second child to first child (temp 3-component vector of float)
+0:196 'inF1' (in 3-component vector of float)
+0:196 sine (temp 3-component vector of float)
+0:196 'inF0' (in 3-component vector of float)
+0:196 move second child to first child (temp 3-component vector of float)
+0:196 'inF2' (in 3-component vector of float)
+0:196 cosine (temp 3-component vector of float)
+0:196 'inF0' (in 3-component vector of float)
+0:197 hyp. sine (global 3-component vector of float)
0:197 'inF0' (in 3-component vector of float)
-0:197 'inF1' (in 3-component vector of float)
-0:198 tangent (global 3-component vector of float)
+0:198 smoothstep (global 3-component vector of float)
0:198 'inF0' (in 3-component vector of float)
-0:199 hyp. tangent (global 3-component vector of float)
+0:198 'inF1' (in 3-component vector of float)
+0:198 'inF2' (in 3-component vector of float)
+0:199 sqrt (global 3-component vector of float)
0:199 'inF0' (in 3-component vector of float)
-0:201 trunc (global 3-component vector of float)
+0:200 step (global 3-component vector of float)
+0:200 'inF0' (in 3-component vector of float)
+0:200 'inF1' (in 3-component vector of float)
+0:201 tangent (global 3-component vector of float)
0:201 'inF0' (in 3-component vector of float)
-0:204 Branch: Return with expression
+0:202 hyp. tangent (global 3-component vector of float)
+0:202 'inF0' (in 3-component vector of float)
+0:204 trunc (global 3-component vector of float)
+0:204 'inF0' (in 3-component vector of float)
+0:207 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:330 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
-0:208 Function Parameters:
-0:208 'inF0' (in 4-component vector of float)
-0:208 'inF1' (in 4-component vector of float)
-0:208 'inF2' (in 4-component vector of float)
-0:208 'inU0' (in 4-component vector of uint)
-0:208 'inU1' (in 4-component vector of uint)
+0:335 Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
+0:211 Function Parameters:
+0:211 'inF0' (in 4-component vector of float)
+0:211 'inF1' (in 4-component vector of float)
+0:211 'inF2' (in 4-component vector of float)
+0:211 'inU0' (in 4-component vector of uint)
+0:211 'inU1' (in 4-component vector of uint)
0:? Sequence
-0:209 all (global bool)
-0:209 'inF0' (in 4-component vector of float)
-0:210 Absolute value (global 4-component vector of float)
-0:210 'inF0' (in 4-component vector of float)
-0:211 arc cosine (global 4-component vector of float)
-0:211 'inF0' (in 4-component vector of float)
-0:212 any (global bool)
+0:212 all (global bool)
0:212 'inF0' (in 4-component vector of float)
-0:213 arc sine (global 4-component vector of float)
+0:213 Absolute value (global 4-component vector of float)
0:213 'inF0' (in 4-component vector of float)
-0:214 floatBitsToInt (global 4-component vector of int)
+0:214 arc cosine (global 4-component vector of float)
0:214 'inF0' (in 4-component vector of float)
-0:215 floatBitsToUint (global 4-component vector of uint)
+0:215 any (global bool)
0:215 'inF0' (in 4-component vector of float)
-0:216 intBitsToFloat (global 4-component vector of float)
-0:216 'inU0' (in 4-component vector of uint)
-0:218 arc tangent (global 4-component vector of float)
+0:216 arc sine (global 4-component vector of float)
+0:216 'inF0' (in 4-component vector of float)
+0:217 floatBitsToInt (global 4-component vector of int)
+0:217 'inF0' (in 4-component vector of float)
+0:218 floatBitsToUint (global 4-component vector of uint)
0:218 'inF0' (in 4-component vector of float)
-0:219 arc tangent (global 4-component vector of float)
-0:219 'inF0' (in 4-component vector of float)
-0:219 'inF1' (in 4-component vector of float)
-0:220 Ceiling (global 4-component vector of float)
-0:220 'inF0' (in 4-component vector of float)
-0:221 clamp (global 4-component vector of float)
+0:219 intBitsToFloat (global 4-component vector of float)
+0:219 'inU0' (in 4-component vector of uint)
+0:221 arc tangent (global 4-component vector of float)
0:221 'inF0' (in 4-component vector of float)
-0:221 'inF1' (in 4-component vector of float)
-0:221 'inF2' (in 4-component vector of float)
-0:222 cosine (global 4-component vector of float)
+0:222 arc tangent (global 4-component vector of float)
0:222 'inF0' (in 4-component vector of float)
-0:223 hyp. cosine (global 4-component vector of float)
+0:222 'inF1' (in 4-component vector of float)
+0:223 Ceiling (global 4-component vector of float)
0:223 'inF0' (in 4-component vector of float)
+0:224 clamp (global 4-component vector of float)
+0:224 'inF0' (in 4-component vector of float)
+0:224 'inF1' (in 4-component vector of float)
+0:224 'inF2' (in 4-component vector of float)
+0:225 cosine (global 4-component vector of float)
+0:225 'inF0' (in 4-component vector of float)
+0:226 hyp. cosine (global 4-component vector of float)
+0:226 'inF0' (in 4-component vector of float)
0:? bitCount (global 4-component vector of uint)
0:? Constant:
0:? 7 (const uint)
0:? 3 (const uint)
0:? 5 (const uint)
0:? 2 (const uint)
-0:225 degrees (global 4-component vector of float)
-0:225 'inF0' (in 4-component vector of float)
-0:226 distance (global float)
-0:226 'inF0' (in 4-component vector of float)
-0:226 'inF1' (in 4-component vector of float)
-0:227 dot-product (global float)
-0:227 'inF0' (in 4-component vector of float)
-0:227 'inF1' (in 4-component vector of float)
-0:228 Construct vec4 (temp 4-component vector of float)
-0:228 Constant:
-0:228 1.000000
-0:228 component-wise multiply (temp float)
-0:228 direct index (temp float)
-0:228 'inF0' (in 4-component vector of float)
-0:228 Constant:
-0:228 1 (const int)
-0:228 direct index (temp float)
-0:228 'inF1' (in 4-component vector of float)
-0:228 Constant:
-0:228 1 (const int)
-0:228 direct index (temp float)
-0:228 'inF0' (in 4-component vector of float)
-0:228 Constant:
-0:228 2 (const int)
-0:228 direct index (temp float)
-0:228 'inF1' (in 4-component vector of float)
-0:228 Constant:
-0:228 3 (const int)
-0:232 exp (global 4-component vector of float)
-0:232 'inF0' (in 4-component vector of float)
-0:233 exp2 (global 4-component vector of float)
-0:233 'inF0' (in 4-component vector of float)
-0:234 face-forward (global 4-component vector of float)
-0:234 'inF0' (in 4-component vector of float)
-0:234 'inF1' (in 4-component vector of float)
-0:234 'inF2' (in 4-component vector of float)
-0:235 findMSB (global int)
-0:235 Constant:
-0:235 7 (const int)
-0:236 findLSB (global int)
-0:236 Constant:
-0:236 7 (const int)
-0:237 Floor (global 4-component vector of float)
+0:228 degrees (global 4-component vector of float)
+0:228 'inF0' (in 4-component vector of float)
+0:229 distance (global float)
+0:229 'inF0' (in 4-component vector of float)
+0:229 'inF1' (in 4-component vector of float)
+0:230 dot-product (global float)
+0:230 'inF0' (in 4-component vector of float)
+0:230 'inF1' (in 4-component vector of float)
+0:231 Construct vec4 (temp 4-component vector of float)
+0:231 Constant:
+0:231 1.000000
+0:231 component-wise multiply (temp float)
+0:231 direct index (temp float)
+0:231 'inF0' (in 4-component vector of float)
+0:231 Constant:
+0:231 1 (const int)
+0:231 direct index (temp float)
+0:231 'inF1' (in 4-component vector of float)
+0:231 Constant:
+0:231 1 (const int)
+0:231 direct index (temp float)
+0:231 'inF0' (in 4-component vector of float)
+0:231 Constant:
+0:231 2 (const int)
+0:231 direct index (temp float)
+0:231 'inF1' (in 4-component vector of float)
+0:231 Constant:
+0:231 3 (const int)
+0:235 exp (global 4-component vector of float)
+0:235 'inF0' (in 4-component vector of float)
+0:236 exp2 (global 4-component vector of float)
+0:236 'inF0' (in 4-component vector of float)
+0:237 face-forward (global 4-component vector of float)
0:237 'inF0' (in 4-component vector of float)
-0:239 mod (global 4-component vector of float)
-0:239 'inF0' (in 4-component vector of float)
-0:239 'inF1' (in 4-component vector of float)
-0:240 Fraction (global 4-component vector of float)
+0:237 'inF1' (in 4-component vector of float)
+0:237 'inF2' (in 4-component vector of float)
+0:238 findMSB (global int)
+0:238 Constant:
+0:238 7 (const int)
+0:239 findLSB (global int)
+0:239 Constant:
+0:239 7 (const int)
+0:240 Floor (global 4-component vector of float)
0:240 'inF0' (in 4-component vector of float)
-0:241 frexp (global 4-component vector of float)
-0:241 'inF0' (in 4-component vector of float)
-0:241 'inF1' (in 4-component vector of float)
-0:242 isinf (global 4-component vector of bool)
+0:242 mod (global 4-component vector of float)
0:242 'inF0' (in 4-component vector of float)
-0:243 isnan (global 4-component vector of bool)
+0:242 'inF1' (in 4-component vector of float)
+0:243 Fraction (global 4-component vector of float)
0:243 'inF0' (in 4-component vector of float)
-0:244 ldexp (global 4-component vector of float)
+0:244 frexp (global 4-component vector of float)
0:244 'inF0' (in 4-component vector of float)
0:244 'inF1' (in 4-component vector of float)
-0:245 length (global float)
+0:245 isinf (global 4-component vector of bool)
0:245 'inF0' (in 4-component vector of float)
-0:246 log (global 4-component vector of float)
+0:246 isnan (global 4-component vector of bool)
0:246 'inF0' (in 4-component vector of float)
-0:247 vector-scale (temp 4-component vector of float)
-0:247 log2 (temp 4-component vector of float)
-0:247 'inF0' (in 4-component vector of float)
-0:247 Constant:
-0:247 0.301030
-0:248 log2 (global 4-component vector of float)
+0:247 ldexp (global 4-component vector of float)
+0:247 'inF0' (in 4-component vector of float)
+0:247 'inF1' (in 4-component vector of float)
+0:248 mix (global 4-component vector of float)
0:248 'inF0' (in 4-component vector of float)
-0:249 max (global 4-component vector of float)
+0:248 'inF1' (in 4-component vector of float)
+0:248 'inF2' (in 4-component vector of float)
+0:249 length (global float)
0:249 'inF0' (in 4-component vector of float)
-0:249 'inF1' (in 4-component vector of float)
-0:250 min (global 4-component vector of float)
+0:250 log (global 4-component vector of float)
0:250 'inF0' (in 4-component vector of float)
-0:250 'inF1' (in 4-component vector of float)
-0:252 normalize (global 4-component vector of float)
+0:251 vector-scale (temp 4-component vector of float)
+0:251 log2 (temp 4-component vector of float)
+0:251 'inF0' (in 4-component vector of float)
+0:251 Constant:
+0:251 0.301030
+0:252 log2 (global 4-component vector of float)
0:252 'inF0' (in 4-component vector of float)
-0:253 pow (global 4-component vector of float)
+0:253 max (global 4-component vector of float)
0:253 'inF0' (in 4-component vector of float)
0:253 'inF1' (in 4-component vector of float)
-0:254 radians (global 4-component vector of float)
+0:254 min (global 4-component vector of float)
0:254 'inF0' (in 4-component vector of float)
-0:255 reflect (global 4-component vector of float)
-0:255 'inF0' (in 4-component vector of float)
-0:255 'inF1' (in 4-component vector of float)
-0:256 refract (global 4-component vector of float)
+0:254 'inF1' (in 4-component vector of float)
+0:256 normalize (global 4-component vector of float)
0:256 'inF0' (in 4-component vector of float)
-0:256 'inF1' (in 4-component vector of float)
-0:256 Constant:
-0:256 2.000000
+0:257 pow (global 4-component vector of float)
+0:257 'inF0' (in 4-component vector of float)
+0:257 'inF1' (in 4-component vector of float)
+0:258 radians (global 4-component vector of float)
+0:258 'inF0' (in 4-component vector of float)
+0:259 reflect (global 4-component vector of float)
+0:259 'inF0' (in 4-component vector of float)
+0:259 'inF1' (in 4-component vector of float)
+0:260 refract (global 4-component vector of float)
+0:260 'inF0' (in 4-component vector of float)
+0:260 'inF1' (in 4-component vector of float)
+0:260 Constant:
+0:260 2.000000
0:? bitFieldReverse (global 4-component vector of uint)
0:? Constant:
0:? 1 (const uint)
0:? 2 (const uint)
0:? 3 (const uint)
0:? 4 (const uint)
-0:258 roundEven (global 4-component vector of float)
-0:258 'inF0' (in 4-component vector of float)
-0:259 inverse sqrt (global 4-component vector of float)
-0:259 'inF0' (in 4-component vector of float)
-0:260 clamp (temp 4-component vector of float)
-0:260 'inF0' (in 4-component vector of float)
-0:260 Constant:
-0:260 0.000000
-0:260 Constant:
-0:260 1.000000
-0:261 Sign (global 4-component vector of float)
-0:261 'inF0' (in 4-component vector of float)
-0:262 sine (global 4-component vector of float)
+0:262 roundEven (global 4-component vector of float)
0:262 'inF0' (in 4-component vector of float)
-0:263 Sequence
-0:263 move second child to first child (temp 4-component vector of float)
-0:263 'inF1' (in 4-component vector of float)
-0:263 sine (temp 4-component vector of float)
-0:263 'inF0' (in 4-component vector of float)
-0:263 move second child to first child (temp 4-component vector of float)
-0:263 'inF2' (in 4-component vector of float)
-0:263 cosine (temp 4-component vector of float)
-0:263 'inF0' (in 4-component vector of float)
-0:264 hyp. sine (global 4-component vector of float)
+0:263 inverse sqrt (global 4-component vector of float)
+0:263 'inF0' (in 4-component vector of float)
+0:264 clamp (temp 4-component vector of float)
0:264 'inF0' (in 4-component vector of float)
-0:265 smoothstep (global 4-component vector of float)
+0:264 Constant:
+0:264 0.000000
+0:264 Constant:
+0:264 1.000000
+0:265 Sign (global 4-component vector of float)
0:265 'inF0' (in 4-component vector of float)
-0:265 'inF1' (in 4-component vector of float)
-0:265 'inF2' (in 4-component vector of float)
-0:266 sqrt (global 4-component vector of float)
+0:266 sine (global 4-component vector of float)
0:266 'inF0' (in 4-component vector of float)
-0:267 step (global 4-component vector of float)
-0:267 'inF0' (in 4-component vector of float)
-0:267 'inF1' (in 4-component vector of float)
-0:268 tangent (global 4-component vector of float)
+0:267 Sequence
+0:267 move second child to first child (temp 4-component vector of float)
+0:267 'inF1' (in 4-component vector of float)
+0:267 sine (temp 4-component vector of float)
+0:267 'inF0' (in 4-component vector of float)
+0:267 move second child to first child (temp 4-component vector of float)
+0:267 'inF2' (in 4-component vector of float)
+0:267 cosine (temp 4-component vector of float)
+0:267 'inF0' (in 4-component vector of float)
+0:268 hyp. sine (global 4-component vector of float)
0:268 'inF0' (in 4-component vector of float)
-0:269 hyp. tangent (global 4-component vector of float)
+0:269 smoothstep (global 4-component vector of float)
0:269 'inF0' (in 4-component vector of float)
-0:271 trunc (global 4-component vector of float)
+0:269 'inF1' (in 4-component vector of float)
+0:269 'inF2' (in 4-component vector of float)
+0:270 sqrt (global 4-component vector of float)
+0:270 'inF0' (in 4-component vector of float)
+0:271 step (global 4-component vector of float)
0:271 'inF0' (in 4-component vector of float)
-0:274 Branch: Return with expression
+0:271 'inF1' (in 4-component vector of float)
+0:272 tangent (global 4-component vector of float)
+0:272 'inF0' (in 4-component vector of float)
+0:273 hyp. tangent (global 4-component vector of float)
+0:273 'inF0' (in 4-component vector of float)
+0:275 trunc (global 4-component vector of float)
+0:275 'inF0' (in 4-component vector of float)
+0:278 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:339 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:331 Function Parameters:
-0:331 'inF0' (in 2X2 matrix of float)
-0:331 'inF1' (in 2X2 matrix of float)
-0:331 'inF2' (in 2X2 matrix of float)
+0:344 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:336 Function Parameters:
+0:336 'inF0' (in 2X2 matrix of float)
+0:336 'inF1' (in 2X2 matrix of float)
+0:336 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:333 all (global bool)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Absolute value (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc cosine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 any (global bool)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc sine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 Ceiling (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 clamp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 'inF2' (in 2X2 matrix of float)
-0:333 cosine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 hyp. cosine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 degrees (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 determinant (global float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 exp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 exp2 (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 findMSB (global int)
-0:333 Constant:
-0:333 7 (const int)
-0:333 findLSB (global int)
-0:333 Constant:
-0:333 7 (const int)
-0:333 Floor (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 mod (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 Fraction (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 frexp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 ldexp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 log (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 matrix-scale (temp 2X2 matrix of float)
-0:333 log2 (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Constant:
-0:333 0.301030
-0:333 log2 (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 max (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 min (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 pow (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 radians (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 roundEven (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 inverse sqrt (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 clamp (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Constant:
-0:333 0.000000
-0:333 Constant:
-0:333 1.000000
-0:333 Sign (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 sine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Sequence
-0:333 move second child to first child (temp 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 sine (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 move second child to first child (temp 2X2 matrix of float)
-0:333 'inF2' (in 2X2 matrix of float)
-0:333 cosine (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 hyp. sine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 smoothstep (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 'inF2' (in 2X2 matrix of float)
-0:333 sqrt (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 step (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 hyp. tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 transpose (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 trunc (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:336 Branch: Return with expression
+0:338 all (global bool)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Absolute value (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc cosine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 any (global bool)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc sine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 Ceiling (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 clamp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 cosine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 hyp. cosine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 degrees (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 determinant (global float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 exp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 exp2 (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 findMSB (global int)
+0:338 Constant:
+0:338 7 (const int)
+0:338 findLSB (global int)
+0:338 Constant:
+0:338 7 (const int)
+0:338 Floor (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 mod (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 Fraction (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 frexp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 ldexp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 mix (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 log (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 matrix-scale (temp 2X2 matrix of float)
+0:338 log2 (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Constant:
+0:338 0.301030
+0:338 log2 (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 max (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 min (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 pow (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 radians (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 roundEven (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 inverse sqrt (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 clamp (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Constant:
+0:338 0.000000
+0:338 Constant:
+0:338 1.000000
+0:338 Sign (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 sine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Sequence
+0:338 move second child to first child (temp 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 sine (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 move second child to first child (temp 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 cosine (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 hyp. sine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 smoothstep (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 sqrt (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 step (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 hyp. tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 transpose (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 trunc (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:341 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:348 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:340 Function Parameters:
-0:340 'inF0' (in 3X3 matrix of float)
-0:340 'inF1' (in 3X3 matrix of float)
-0:340 'inF2' (in 3X3 matrix of float)
+0:353 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:345 Function Parameters:
+0:345 'inF0' (in 3X3 matrix of float)
+0:345 'inF1' (in 3X3 matrix of float)
+0:345 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:342 all (global bool)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Absolute value (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc cosine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 any (global bool)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc sine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 Ceiling (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 clamp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 'inF2' (in 3X3 matrix of float)
-0:342 cosine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 hyp. cosine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 degrees (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 determinant (global float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 exp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 exp2 (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 findMSB (global int)
-0:342 Constant:
-0:342 7 (const int)
-0:342 findLSB (global int)
-0:342 Constant:
-0:342 7 (const int)
-0:342 Floor (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 mod (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 Fraction (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 frexp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 ldexp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 log (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 matrix-scale (temp 3X3 matrix of float)
-0:342 log2 (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Constant:
-0:342 0.301030
-0:342 log2 (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 max (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 min (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 pow (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 radians (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 roundEven (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 inverse sqrt (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 clamp (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Constant:
-0:342 0.000000
-0:342 Constant:
-0:342 1.000000
-0:342 Sign (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 sine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Sequence
-0:342 move second child to first child (temp 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 sine (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 move second child to first child (temp 3X3 matrix of float)
-0:342 'inF2' (in 3X3 matrix of float)
-0:342 cosine (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 hyp. sine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 smoothstep (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 'inF2' (in 3X3 matrix of float)
-0:342 sqrt (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 step (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 hyp. tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 transpose (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 trunc (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:345 Branch: Return with expression
+0:347 all (global bool)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Absolute value (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc cosine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 any (global bool)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc sine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 Ceiling (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 clamp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 cosine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 hyp. cosine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 degrees (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 determinant (global float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 exp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 exp2 (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 findMSB (global int)
+0:347 Constant:
+0:347 7 (const int)
+0:347 findLSB (global int)
+0:347 Constant:
+0:347 7 (const int)
+0:347 Floor (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 mod (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 Fraction (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 frexp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 ldexp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 mix (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 log (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 matrix-scale (temp 3X3 matrix of float)
+0:347 log2 (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Constant:
+0:347 0.301030
+0:347 log2 (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 max (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 min (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 pow (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 radians (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 roundEven (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 inverse sqrt (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 clamp (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Constant:
+0:347 0.000000
+0:347 Constant:
+0:347 1.000000
+0:347 Sign (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 sine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Sequence
+0:347 move second child to first child (temp 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 sine (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 move second child to first child (temp 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 cosine (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 hyp. sine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 smoothstep (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 sqrt (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 step (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 hyp. tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 transpose (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 trunc (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:350 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:369 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:349 Function Parameters:
-0:349 'inF0' (in 4X4 matrix of float)
-0:349 'inF1' (in 4X4 matrix of float)
-0:349 'inF2' (in 4X4 matrix of float)
+0:374 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:354 Function Parameters:
+0:354 'inF0' (in 4X4 matrix of float)
+0:354 'inF1' (in 4X4 matrix of float)
+0:354 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:351 all (global bool)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Absolute value (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc cosine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 any (global bool)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc sine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 Ceiling (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 clamp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 'inF2' (in 4X4 matrix of float)
-0:351 cosine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 hyp. cosine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 degrees (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 determinant (global float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 exp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 exp2 (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 findMSB (global int)
-0:351 Constant:
-0:351 7 (const int)
-0:351 findLSB (global int)
-0:351 Constant:
-0:351 7 (const int)
-0:351 Floor (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 mod (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 Fraction (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 frexp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 ldexp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 log (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 matrix-scale (temp 4X4 matrix of float)
-0:351 log2 (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Constant:
-0:351 0.301030
-0:351 log2 (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 max (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 min (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 pow (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 radians (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 roundEven (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 inverse sqrt (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 clamp (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Constant:
-0:351 0.000000
-0:351 Constant:
-0:351 1.000000
-0:351 Sign (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 sine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Sequence
-0:351 move second child to first child (temp 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 sine (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 move second child to first child (temp 4X4 matrix of float)
-0:351 'inF2' (in 4X4 matrix of float)
-0:351 cosine (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 hyp. sine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 smoothstep (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 'inF2' (in 4X4 matrix of float)
-0:351 sqrt (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 step (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 hyp. tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 transpose (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 trunc (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:354 Branch: Return with expression
+0:356 all (global bool)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Absolute value (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc cosine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 any (global bool)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc sine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 Ceiling (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 clamp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 cosine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 hyp. cosine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 degrees (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 determinant (global float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 exp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 exp2 (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 findMSB (global int)
+0:356 Constant:
+0:356 7 (const int)
+0:356 findLSB (global int)
+0:356 Constant:
+0:356 7 (const int)
+0:356 Floor (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 mod (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 Fraction (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 frexp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 ldexp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 mix (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 log (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 matrix-scale (temp 4X4 matrix of float)
+0:356 log2 (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Constant:
+0:356 0.301030
+0:356 log2 (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 max (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 min (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 pow (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 radians (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 roundEven (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 inverse sqrt (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 clamp (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Constant:
+0:356 0.000000
+0:356 Constant:
+0:356 1.000000
+0:356 Sign (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 sine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Sequence
+0:356 move second child to first child (temp 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 sine (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 move second child to first child (temp 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 cosine (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 hyp. sine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 smoothstep (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 sqrt (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 step (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 hyp. tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 transpose (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 trunc (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:359 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
-0:376 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
-0:372 Function Parameters:
-0:372 'inF0' (in float)
-0:372 'inF1' (in float)
-0:372 'inFV0' (in 2-component vector of float)
-0:372 'inFV1' (in 2-component vector of float)
-0:372 'inFM0' (in 2X2 matrix of float)
-0:372 'inFM1' (in 2X2 matrix of float)
+0:381 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global void)
+0:377 Function Parameters:
+0:377 'inF0' (in float)
+0:377 'inF1' (in float)
+0:377 'inFV0' (in 2-component vector of float)
+0:377 'inFV1' (in 2-component vector of float)
+0:377 'inFM0' (in 2X2 matrix of float)
+0:377 'inFM1' (in 2X2 matrix of float)
0:? Sequence
-0:373 move second child to first child (temp float)
-0:373 'r0' (temp float)
-0:373 component-wise multiply (temp float)
-0:373 'inF0' (in float)
-0:373 'inF1' (in float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r1' (temp 2-component vector of float)
-0:373 vector-scale (temp 2-component vector of float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 'inF0' (in float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r2' (temp 2-component vector of float)
-0:373 vector-scale (temp 2-component vector of float)
-0:373 'inF0' (in float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 move second child to first child (temp float)
-0:373 'r3' (temp float)
-0:373 dot-product (global float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 'inFV1' (in 2-component vector of float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r4' (temp 2-component vector of float)
-0:373 matrix-times-vector (temp 2-component vector of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r5' (temp 2-component vector of float)
-0:373 vector-times-matrix (temp 2-component vector of float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 move second child to first child (temp 2X2 matrix of float)
-0:373 'r6' (temp 2X2 matrix of float)
-0:373 matrix-scale (temp 2X2 matrix of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 'inF0' (in float)
-0:373 move second child to first child (temp 2X2 matrix of float)
-0:373 'r7' (temp 2X2 matrix of float)
-0:373 matrix-scale (temp 2X2 matrix of float)
-0:373 'inF0' (in float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 move second child to first child (temp 2X2 matrix of float)
-0:373 'r8' (temp 2X2 matrix of float)
-0:373 matrix-multiply (temp 2X2 matrix of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 'inFM1' (in 2X2 matrix of float)
-0:383 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
-0:379 Function Parameters:
-0:379 'inF0' (in float)
-0:379 'inF1' (in float)
-0:379 'inFV0' (in 3-component vector of float)
-0:379 'inFV1' (in 3-component vector of float)
-0:379 'inFM0' (in 3X3 matrix of float)
-0:379 'inFM1' (in 3X3 matrix of float)
+0:378 Sequence
+0:378 move second child to first child (temp float)
+0:378 'r0' (temp float)
+0:378 component-wise multiply (temp float)
+0:378 'inF0' (in float)
+0:378 'inF1' (in float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r1' (temp 2-component vector of float)
+0:378 vector-scale (temp 2-component vector of float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 'inF0' (in float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r2' (temp 2-component vector of float)
+0:378 vector-scale (temp 2-component vector of float)
+0:378 'inF0' (in float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 Sequence
+0:378 move second child to first child (temp float)
+0:378 'r3' (temp float)
+0:378 dot-product (global float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 'inFV1' (in 2-component vector of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r4' (temp 2-component vector of float)
+0:378 matrix-times-vector (temp 2-component vector of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r5' (temp 2-component vector of float)
+0:378 vector-times-matrix (temp 2-component vector of float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2X2 matrix of float)
+0:378 'r6' (temp 2X2 matrix of float)
+0:378 matrix-scale (temp 2X2 matrix of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 'inF0' (in float)
+0:378 Sequence
+0:378 move second child to first child (temp 2X2 matrix of float)
+0:378 'r7' (temp 2X2 matrix of float)
+0:378 matrix-scale (temp 2X2 matrix of float)
+0:378 'inF0' (in float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2X2 matrix of float)
+0:378 'r8' (temp 2X2 matrix of float)
+0:378 matrix-multiply (temp 2X2 matrix of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 'inFM1' (in 2X2 matrix of float)
+0:388 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void)
+0:384 Function Parameters:
+0:384 'inF0' (in float)
+0:384 'inF1' (in float)
+0:384 'inFV0' (in 3-component vector of float)
+0:384 'inFV1' (in 3-component vector of float)
+0:384 'inFM0' (in 3X3 matrix of float)
+0:384 'inFM1' (in 3X3 matrix of float)
0:? Sequence
-0:380 move second child to first child (temp float)
-0:380 'r0' (temp float)
-0:380 component-wise multiply (temp float)
-0:380 'inF0' (in float)
-0:380 'inF1' (in float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r1' (temp 3-component vector of float)
-0:380 vector-scale (temp 3-component vector of float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 'inF0' (in float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r2' (temp 3-component vector of float)
-0:380 vector-scale (temp 3-component vector of float)
-0:380 'inF0' (in float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 move second child to first child (temp float)
-0:380 'r3' (temp float)
-0:380 dot-product (global float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 'inFV1' (in 3-component vector of float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r4' (temp 3-component vector of float)
-0:380 matrix-times-vector (temp 3-component vector of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r5' (temp 3-component vector of float)
-0:380 vector-times-matrix (temp 3-component vector of float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 move second child to first child (temp 3X3 matrix of float)
-0:380 'r6' (temp 3X3 matrix of float)
-0:380 matrix-scale (temp 3X3 matrix of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 'inF0' (in float)
-0:380 move second child to first child (temp 3X3 matrix of float)
-0:380 'r7' (temp 3X3 matrix of float)
-0:380 matrix-scale (temp 3X3 matrix of float)
-0:380 'inF0' (in float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 move second child to first child (temp 3X3 matrix of float)
-0:380 'r8' (temp 3X3 matrix of float)
-0:380 matrix-multiply (temp 3X3 matrix of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 'inFM1' (in 3X3 matrix of float)
-0:389 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
-0:386 Function Parameters:
-0:386 'inF0' (in float)
-0:386 'inF1' (in float)
-0:386 'inFV0' (in 4-component vector of float)
-0:386 'inFV1' (in 4-component vector of float)
-0:386 'inFM0' (in 4X4 matrix of float)
-0:386 'inFM1' (in 4X4 matrix of float)
+0:385 Sequence
+0:385 move second child to first child (temp float)
+0:385 'r0' (temp float)
+0:385 component-wise multiply (temp float)
+0:385 'inF0' (in float)
+0:385 'inF1' (in float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r1' (temp 3-component vector of float)
+0:385 vector-scale (temp 3-component vector of float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 'inF0' (in float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r2' (temp 3-component vector of float)
+0:385 vector-scale (temp 3-component vector of float)
+0:385 'inF0' (in float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 Sequence
+0:385 move second child to first child (temp float)
+0:385 'r3' (temp float)
+0:385 dot-product (global float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 'inFV1' (in 3-component vector of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r4' (temp 3-component vector of float)
+0:385 matrix-times-vector (temp 3-component vector of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r5' (temp 3-component vector of float)
+0:385 vector-times-matrix (temp 3-component vector of float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3X3 matrix of float)
+0:385 'r6' (temp 3X3 matrix of float)
+0:385 matrix-scale (temp 3X3 matrix of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 'inF0' (in float)
+0:385 Sequence
+0:385 move second child to first child (temp 3X3 matrix of float)
+0:385 'r7' (temp 3X3 matrix of float)
+0:385 matrix-scale (temp 3X3 matrix of float)
+0:385 'inF0' (in float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3X3 matrix of float)
+0:385 'r8' (temp 3X3 matrix of float)
+0:385 matrix-multiply (temp 3X3 matrix of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 'inFM1' (in 3X3 matrix of float)
+0:396 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void)
+0:391 Function Parameters:
+0:391 'inF0' (in float)
+0:391 'inF1' (in float)
+0:391 'inFV0' (in 4-component vector of float)
+0:391 'inFV1' (in 4-component vector of float)
+0:391 'inFM0' (in 4X4 matrix of float)
+0:391 'inFM1' (in 4X4 matrix of float)
0:? Sequence
-0:387 move second child to first child (temp float)
-0:387 'r0' (temp float)
-0:387 component-wise multiply (temp float)
-0:387 'inF0' (in float)
-0:387 'inF1' (in float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r1' (temp 4-component vector of float)
-0:387 vector-scale (temp 4-component vector of float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 'inF0' (in float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r2' (temp 4-component vector of float)
-0:387 vector-scale (temp 4-component vector of float)
-0:387 'inF0' (in float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 move second child to first child (temp float)
-0:387 'r3' (temp float)
-0:387 dot-product (global float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 'inFV1' (in 4-component vector of float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r4' (temp 4-component vector of float)
-0:387 matrix-times-vector (temp 4-component vector of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r5' (temp 4-component vector of float)
-0:387 vector-times-matrix (temp 4-component vector of float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 move second child to first child (temp 4X4 matrix of float)
-0:387 'r6' (temp 4X4 matrix of float)
-0:387 matrix-scale (temp 4X4 matrix of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 'inF0' (in float)
-0:387 move second child to first child (temp 4X4 matrix of float)
-0:387 'r7' (temp 4X4 matrix of float)
-0:387 matrix-scale (temp 4X4 matrix of float)
-0:387 'inF0' (in float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 move second child to first child (temp 4X4 matrix of float)
-0:387 'r8' (temp 4X4 matrix of float)
-0:387 matrix-multiply (temp 4X4 matrix of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 'inFM1' (in 4X4 matrix of float)
+0:392 Sequence
+0:392 move second child to first child (temp float)
+0:392 'r0' (temp float)
+0:392 component-wise multiply (temp float)
+0:392 'inF0' (in float)
+0:392 'inF1' (in float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r1' (temp 4-component vector of float)
+0:392 vector-scale (temp 4-component vector of float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 'inF0' (in float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r2' (temp 4-component vector of float)
+0:392 vector-scale (temp 4-component vector of float)
+0:392 'inF0' (in float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 Sequence
+0:392 move second child to first child (temp float)
+0:392 'r3' (temp float)
+0:392 dot-product (global float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 'inFV1' (in 4-component vector of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r4' (temp 4-component vector of float)
+0:392 matrix-times-vector (temp 4-component vector of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r5' (temp 4-component vector of float)
+0:392 vector-times-matrix (temp 4-component vector of float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4X4 matrix of float)
+0:392 'r6' (temp 4X4 matrix of float)
+0:392 matrix-scale (temp 4X4 matrix of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 'inF0' (in float)
+0:392 Sequence
+0:392 move second child to first child (temp 4X4 matrix of float)
+0:392 'r7' (temp 4X4 matrix of float)
+0:392 matrix-scale (temp 4X4 matrix of float)
+0:392 'inF0' (in float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4X4 matrix of float)
+0:392 'r8' (temp 4X4 matrix of float)
+0:392 matrix-multiply (temp 4X4 matrix of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 'inFM1' (in 4X4 matrix of float)
+0:420 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void)
+0:401 Function Parameters:
+0:401 'inF0' (in float)
+0:401 'inF1' (in float)
+0:401 'inFV2' (in 2-component vector of float)
+0:401 'inFV3' (in 3-component vector of float)
+0:401 'inFM2x3' (in 3X2 matrix of float)
+0:401 'inFM3x2' (in 2X3 matrix of float)
+0:401 'inFM3x3' (in 3X3 matrix of float)
+0:401 'inFM3x4' (in 4X3 matrix of float)
+0:401 'inFM2x4' (in 4X2 matrix of float)
+0:? Sequence
+0:402 Sequence
+0:402 move second child to first child (temp float)
+0:402 'r00' (temp float)
+0:402 component-wise multiply (temp float)
+0:402 'inF0' (in float)
+0:402 'inF1' (in float)
+0:403 Sequence
+0:403 move second child to first child (temp 2-component vector of float)
+0:403 'r01' (temp 2-component vector of float)
+0:403 vector-scale (temp 2-component vector of float)
+0:403 'inFV2' (in 2-component vector of float)
+0:403 'inF0' (in float)
+0:404 Sequence
+0:404 move second child to first child (temp 3-component vector of float)
+0:404 'r02' (temp 3-component vector of float)
+0:404 vector-scale (temp 3-component vector of float)
+0:404 'inFV3' (in 3-component vector of float)
+0:404 'inF0' (in float)
+0:405 Sequence
+0:405 move second child to first child (temp 2-component vector of float)
+0:405 'r03' (temp 2-component vector of float)
+0:405 vector-scale (temp 2-component vector of float)
+0:405 'inF0' (in float)
+0:405 'inFV2' (in 2-component vector of float)
+0:406 Sequence
+0:406 move second child to first child (temp 3-component vector of float)
+0:406 'r04' (temp 3-component vector of float)
+0:406 vector-scale (temp 3-component vector of float)
+0:406 'inF0' (in float)
+0:406 'inFV3' (in 3-component vector of float)
+0:407 Sequence
+0:407 move second child to first child (temp float)
+0:407 'r05' (temp float)
+0:407 dot-product (global float)
+0:407 'inFV2' (in 2-component vector of float)
+0:407 'inFV2' (in 2-component vector of float)
+0:408 Sequence
+0:408 move second child to first child (temp float)
+0:408 'r06' (temp float)
+0:408 dot-product (global float)
+0:408 'inFV3' (in 3-component vector of float)
+0:408 'inFV3' (in 3-component vector of float)
+0:409 Sequence
+0:409 move second child to first child (temp 3-component vector of float)
+0:409 'r07' (temp 3-component vector of float)
+0:409 vector-times-matrix (temp 3-component vector of float)
+0:409 'inFV2' (in 2-component vector of float)
+0:409 'inFM2x3' (in 3X2 matrix of float)
+0:410 Sequence
+0:410 move second child to first child (temp 2-component vector of float)
+0:410 'r08' (temp 2-component vector of float)
+0:410 vector-times-matrix (temp 2-component vector of float)
+0:410 'inFV3' (in 3-component vector of float)
+0:410 'inFM3x2' (in 2X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 2-component vector of float)
+0:411 'r09' (temp 2-component vector of float)
+0:411 matrix-times-vector (temp 2-component vector of float)
+0:411 'inFM2x3' (in 3X2 matrix of float)
+0:411 'inFV3' (in 3-component vector of float)
+0:412 Sequence
+0:412 move second child to first child (temp 3-component vector of float)
+0:412 'r10' (temp 3-component vector of float)
+0:412 matrix-times-vector (temp 3-component vector of float)
+0:412 'inFM3x2' (in 2X3 matrix of float)
+0:412 'inFV2' (in 2-component vector of float)
+0:413 Sequence
+0:413 move second child to first child (temp 3X2 matrix of float)
+0:413 'r11' (temp 3X2 matrix of float)
+0:413 matrix-scale (temp 3X2 matrix of float)
+0:413 'inFM2x3' (in 3X2 matrix of float)
+0:413 'inF0' (in float)
+0:414 Sequence
+0:414 move second child to first child (temp 2X3 matrix of float)
+0:414 'r12' (temp 2X3 matrix of float)
+0:414 matrix-scale (temp 2X3 matrix of float)
+0:414 'inFM3x2' (in 2X3 matrix of float)
+0:414 'inF0' (in float)
+0:415 Sequence
+0:415 move second child to first child (temp 2X2 matrix of float)
+0:415 'r13' (temp 2X2 matrix of float)
+0:415 matrix-multiply (temp 2X2 matrix of float)
+0:415 'inFM2x3' (in 3X2 matrix of float)
+0:415 'inFM3x2' (in 2X3 matrix of float)
+0:416 Sequence
+0:416 move second child to first child (temp 3X2 matrix of float)
+0:416 'r14' (temp 3X2 matrix of float)
+0:416 matrix-multiply (temp 3X2 matrix of float)
+0:416 'inFM2x3' (in 3X2 matrix of float)
+0:416 'inFM3x3' (in 3X3 matrix of float)
+0:417 Sequence
+0:417 move second child to first child (temp 4X2 matrix of float)
+0:417 'r15' (temp 4X2 matrix of float)
+0:417 matrix-multiply (temp 4X2 matrix of float)
+0:417 'inFM2x3' (in 3X2 matrix of float)
+0:417 'inFM3x4' (in 4X3 matrix of float)
+0:418 Sequence
+0:418 move second child to first child (temp 4X3 matrix of float)
+0:418 'r16' (temp 4X3 matrix of float)
+0:418 matrix-multiply (temp 4X3 matrix of float)
+0:418 'inFM3x2' (in 2X3 matrix of float)
+0:418 'inFM2x4' (in 4X2 matrix of float)
0:? Linker Objects
Shader version: 450
0:? Sequence
-0:62 Function Definition: VertexShaderFunction(f1;f1;f1;u1;u1; (temp float)
+0:63 Function Definition: VertexShaderFunctionS(f1;f1;f1;u1;u1; (global float)
0:2 Function Parameters:
0:2 'inF0' (in float)
0:2 'inF1' (in float)
0:34 ldexp (global float)
0:34 'inF0' (in float)
0:34 'inF1' (in float)
-0:35 log (global float)
+0:35 mix (global float)
0:35 'inF0' (in float)
-0:36 component-wise multiply (temp float)
-0:36 log2 (temp float)
-0:36 'inF0' (in float)
-0:36 Constant:
-0:36 0.301030
-0:37 log2 (global float)
-0:37 'inF0' (in float)
-0:38 max (global float)
+0:35 'inF1' (in float)
+0:35 'inF2' (in float)
+0:36 log (global float)
+0:36 'inF0' (in float)
+0:37 component-wise multiply (temp float)
+0:37 log2 (temp float)
+0:37 'inF0' (in float)
+0:37 Constant:
+0:37 0.301030
+0:38 log2 (global float)
0:38 'inF0' (in float)
-0:38 'inF1' (in float)
-0:39 min (global float)
+0:39 max (global float)
0:39 'inF0' (in float)
0:39 'inF1' (in float)
-0:41 pow (global float)
-0:41 'inF0' (in float)
-0:41 'inF1' (in float)
-0:42 radians (global float)
+0:40 min (global float)
+0:40 'inF0' (in float)
+0:40 'inF1' (in float)
+0:42 pow (global float)
0:42 'inF0' (in float)
-0:43 bitFieldReverse (global uint)
-0:43 Constant:
-0:43 2 (const uint)
-0:44 roundEven (global float)
-0:44 'inF0' (in float)
-0:45 inverse sqrt (global float)
+0:42 'inF1' (in float)
+0:43 radians (global float)
+0:43 'inF0' (in float)
+0:44 bitFieldReverse (global uint)
+0:44 Constant:
+0:44 2 (const uint)
+0:45 roundEven (global float)
0:45 'inF0' (in float)
-0:46 clamp (temp float)
+0:46 inverse sqrt (global float)
0:46 'inF0' (in float)
-0:46 Constant:
-0:46 0.000000
-0:46 Constant:
-0:46 1.000000
-0:47 Sign (global float)
+0:47 clamp (temp float)
0:47 'inF0' (in float)
-0:48 sine (global float)
+0:47 Constant:
+0:47 0.000000
+0:47 Constant:
+0:47 1.000000
+0:48 Sign (global float)
0:48 'inF0' (in float)
-0:49 Sequence
-0:49 move second child to first child (temp float)
-0:49 'inF1' (in float)
-0:49 sine (temp float)
-0:49 'inF0' (in float)
-0:49 move second child to first child (temp float)
-0:49 'inF2' (in float)
-0:49 cosine (temp float)
-0:49 'inF0' (in float)
-0:50 hyp. sine (global float)
-0:50 'inF0' (in float)
-0:51 smoothstep (global float)
+0:49 sine (global float)
+0:49 'inF0' (in float)
+0:50 Sequence
+0:50 move second child to first child (temp float)
+0:50 'inF1' (in float)
+0:50 sine (temp float)
+0:50 'inF0' (in float)
+0:50 move second child to first child (temp float)
+0:50 'inF2' (in float)
+0:50 cosine (temp float)
+0:50 'inF0' (in float)
+0:51 hyp. sine (global float)
0:51 'inF0' (in float)
-0:51 'inF1' (in float)
-0:51 'inF2' (in float)
-0:52 sqrt (global float)
+0:52 smoothstep (global float)
0:52 'inF0' (in float)
-0:53 step (global float)
+0:52 'inF1' (in float)
+0:52 'inF2' (in float)
+0:53 sqrt (global float)
0:53 'inF0' (in float)
-0:53 'inF1' (in float)
-0:54 tangent (global float)
+0:54 step (global float)
0:54 'inF0' (in float)
-0:55 hyp. tangent (global float)
+0:54 'inF1' (in float)
+0:55 tangent (global float)
0:55 'inF0' (in float)
-0:57 trunc (global float)
-0:57 'inF0' (in float)
-0:59 Branch: Return with expression
-0:59 Constant:
-0:59 0.000000
-0:68 Function Definition: VertexShaderFunction(vf1;vf1;vf1; (temp 1-component vector of float)
-0:63 Function Parameters:
-0:63 'inF0' (in 1-component vector of float)
-0:63 'inF1' (in 1-component vector of float)
-0:63 'inF2' (in 1-component vector of float)
+0:56 hyp. tangent (global float)
+0:56 'inF0' (in float)
+0:58 trunc (global float)
+0:58 'inF0' (in float)
+0:60 Branch: Return with expression
+0:60 Constant:
+0:60 0.000000
+0:69 Function Definition: VertexShaderFunction1(vf1;vf1;vf1; (global 1-component vector of float)
+0:64 Function Parameters:
+0:64 'inF0' (in 1-component vector of float)
+0:64 'inF1' (in 1-component vector of float)
+0:64 'inF2' (in 1-component vector of float)
0:? Sequence
-0:65 Branch: Return with expression
-0:65 Constant:
-0:65 0.000000
-0:137 Function Definition: VertexShaderFunction(vf2;vf2;vf2;vu2;vu2; (temp 2-component vector of float)
-0:69 Function Parameters:
-0:69 'inF0' (in 2-component vector of float)
-0:69 'inF1' (in 2-component vector of float)
-0:69 'inF2' (in 2-component vector of float)
-0:69 'inU0' (in 2-component vector of uint)
-0:69 'inU1' (in 2-component vector of uint)
+0:66 Branch: Return with expression
+0:66 Constant:
+0:66 0.000000
+0:139 Function Definition: VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2; (global 2-component vector of float)
+0:70 Function Parameters:
+0:70 'inF0' (in 2-component vector of float)
+0:70 'inF1' (in 2-component vector of float)
+0:70 'inF2' (in 2-component vector of float)
+0:70 'inU0' (in 2-component vector of uint)
+0:70 'inU1' (in 2-component vector of uint)
0:? Sequence
-0:70 all (global bool)
-0:70 'inF0' (in 2-component vector of float)
-0:71 Absolute value (global 2-component vector of float)
+0:71 all (global bool)
0:71 'inF0' (in 2-component vector of float)
-0:72 arc cosine (global 2-component vector of float)
+0:72 Absolute value (global 2-component vector of float)
0:72 'inF0' (in 2-component vector of float)
-0:73 any (global bool)
+0:73 arc cosine (global 2-component vector of float)
0:73 'inF0' (in 2-component vector of float)
-0:74 arc sine (global 2-component vector of float)
+0:74 any (global bool)
0:74 'inF0' (in 2-component vector of float)
-0:75 floatBitsToInt (global 2-component vector of int)
+0:75 arc sine (global 2-component vector of float)
0:75 'inF0' (in 2-component vector of float)
-0:76 floatBitsToUint (global 2-component vector of uint)
+0:76 floatBitsToInt (global 2-component vector of int)
0:76 'inF0' (in 2-component vector of float)
-0:77 intBitsToFloat (global 2-component vector of float)
-0:77 'inU0' (in 2-component vector of uint)
-0:79 arc tangent (global 2-component vector of float)
-0:79 'inF0' (in 2-component vector of float)
+0:77 floatBitsToUint (global 2-component vector of uint)
+0:77 'inF0' (in 2-component vector of float)
+0:78 intBitsToFloat (global 2-component vector of float)
+0:78 'inU0' (in 2-component vector of uint)
0:80 arc tangent (global 2-component vector of float)
0:80 'inF0' (in 2-component vector of float)
-0:80 'inF1' (in 2-component vector of float)
-0:81 Ceiling (global 2-component vector of float)
+0:81 arc tangent (global 2-component vector of float)
0:81 'inF0' (in 2-component vector of float)
-0:82 clamp (global 2-component vector of float)
+0:81 'inF1' (in 2-component vector of float)
+0:82 Ceiling (global 2-component vector of float)
0:82 'inF0' (in 2-component vector of float)
-0:82 'inF1' (in 2-component vector of float)
-0:82 'inF2' (in 2-component vector of float)
-0:83 cosine (global 2-component vector of float)
+0:83 clamp (global 2-component vector of float)
0:83 'inF0' (in 2-component vector of float)
-0:84 hyp. cosine (global 2-component vector of float)
+0:83 'inF1' (in 2-component vector of float)
+0:83 'inF2' (in 2-component vector of float)
+0:84 cosine (global 2-component vector of float)
0:84 'inF0' (in 2-component vector of float)
+0:85 hyp. cosine (global 2-component vector of float)
+0:85 'inF0' (in 2-component vector of float)
0:? bitCount (global 2-component vector of uint)
0:? Constant:
0:? 7 (const uint)
0:? 3 (const uint)
-0:86 degrees (global 2-component vector of float)
-0:86 'inF0' (in 2-component vector of float)
-0:87 distance (global float)
+0:87 degrees (global 2-component vector of float)
0:87 'inF0' (in 2-component vector of float)
-0:87 'inF1' (in 2-component vector of float)
-0:88 dot-product (global float)
+0:88 distance (global float)
0:88 'inF0' (in 2-component vector of float)
0:88 'inF1' (in 2-component vector of float)
-0:92 exp (global 2-component vector of float)
-0:92 'inF0' (in 2-component vector of float)
-0:93 exp2 (global 2-component vector of float)
+0:89 dot-product (global float)
+0:89 'inF0' (in 2-component vector of float)
+0:89 'inF1' (in 2-component vector of float)
+0:93 exp (global 2-component vector of float)
0:93 'inF0' (in 2-component vector of float)
-0:94 face-forward (global 2-component vector of float)
+0:94 exp2 (global 2-component vector of float)
0:94 'inF0' (in 2-component vector of float)
-0:94 'inF1' (in 2-component vector of float)
-0:94 'inF2' (in 2-component vector of float)
-0:95 findMSB (global int)
-0:95 Constant:
-0:95 7 (const int)
-0:96 findLSB (global int)
+0:95 face-forward (global 2-component vector of float)
+0:95 'inF0' (in 2-component vector of float)
+0:95 'inF1' (in 2-component vector of float)
+0:95 'inF2' (in 2-component vector of float)
+0:96 findMSB (global int)
0:96 Constant:
0:96 7 (const int)
-0:97 Floor (global 2-component vector of float)
-0:97 'inF0' (in 2-component vector of float)
-0:99 mod (global 2-component vector of float)
-0:99 'inF0' (in 2-component vector of float)
-0:99 'inF1' (in 2-component vector of float)
-0:100 Fraction (global 2-component vector of float)
+0:97 findLSB (global int)
+0:97 Constant:
+0:97 7 (const int)
+0:98 Floor (global 2-component vector of float)
+0:98 'inF0' (in 2-component vector of float)
+0:100 mod (global 2-component vector of float)
0:100 'inF0' (in 2-component vector of float)
-0:101 frexp (global 2-component vector of float)
+0:100 'inF1' (in 2-component vector of float)
+0:101 Fraction (global 2-component vector of float)
0:101 'inF0' (in 2-component vector of float)
-0:101 'inF1' (in 2-component vector of float)
-0:102 isinf (global 2-component vector of bool)
+0:102 frexp (global 2-component vector of float)
0:102 'inF0' (in 2-component vector of float)
-0:103 isnan (global 2-component vector of bool)
+0:102 'inF1' (in 2-component vector of float)
+0:103 isinf (global 2-component vector of bool)
0:103 'inF0' (in 2-component vector of float)
-0:104 ldexp (global 2-component vector of float)
+0:104 isnan (global 2-component vector of bool)
0:104 'inF0' (in 2-component vector of float)
-0:104 'inF1' (in 2-component vector of float)
-0:105 length (global float)
+0:105 ldexp (global 2-component vector of float)
0:105 'inF0' (in 2-component vector of float)
-0:106 log (global 2-component vector of float)
+0:105 'inF1' (in 2-component vector of float)
+0:106 mix (global 2-component vector of float)
0:106 'inF0' (in 2-component vector of float)
-0:107 vector-scale (temp 2-component vector of float)
-0:107 log2 (temp 2-component vector of float)
-0:107 'inF0' (in 2-component vector of float)
-0:107 Constant:
-0:107 0.301030
-0:108 log2 (global 2-component vector of float)
+0:106 'inF1' (in 2-component vector of float)
+0:106 'inF2' (in 2-component vector of float)
+0:107 length (global float)
+0:107 'inF0' (in 2-component vector of float)
+0:108 log (global 2-component vector of float)
0:108 'inF0' (in 2-component vector of float)
-0:109 max (global 2-component vector of float)
-0:109 'inF0' (in 2-component vector of float)
-0:109 'inF1' (in 2-component vector of float)
-0:110 min (global 2-component vector of float)
+0:109 vector-scale (temp 2-component vector of float)
+0:109 log2 (temp 2-component vector of float)
+0:109 'inF0' (in 2-component vector of float)
+0:109 Constant:
+0:109 0.301030
+0:110 log2 (global 2-component vector of float)
0:110 'inF0' (in 2-component vector of float)
-0:110 'inF1' (in 2-component vector of float)
-0:112 normalize (global 2-component vector of float)
+0:111 max (global 2-component vector of float)
+0:111 'inF0' (in 2-component vector of float)
+0:111 'inF1' (in 2-component vector of float)
+0:112 min (global 2-component vector of float)
0:112 'inF0' (in 2-component vector of float)
-0:113 pow (global 2-component vector of float)
-0:113 'inF0' (in 2-component vector of float)
-0:113 'inF1' (in 2-component vector of float)
-0:114 radians (global 2-component vector of float)
+0:112 'inF1' (in 2-component vector of float)
+0:114 normalize (global 2-component vector of float)
0:114 'inF0' (in 2-component vector of float)
-0:115 reflect (global 2-component vector of float)
+0:115 pow (global 2-component vector of float)
0:115 'inF0' (in 2-component vector of float)
0:115 'inF1' (in 2-component vector of float)
-0:116 refract (global 2-component vector of float)
+0:116 radians (global 2-component vector of float)
0:116 'inF0' (in 2-component vector of float)
-0:116 'inF1' (in 2-component vector of float)
-0:116 Constant:
-0:116 2.000000
+0:117 reflect (global 2-component vector of float)
+0:117 'inF0' (in 2-component vector of float)
+0:117 'inF1' (in 2-component vector of float)
+0:118 refract (global 2-component vector of float)
+0:118 'inF0' (in 2-component vector of float)
+0:118 'inF1' (in 2-component vector of float)
+0:118 Constant:
+0:118 2.000000
0:? bitFieldReverse (global 2-component vector of uint)
0:? Constant:
0:? 1 (const uint)
0:? 2 (const uint)
-0:118 roundEven (global 2-component vector of float)
-0:118 'inF0' (in 2-component vector of float)
-0:119 inverse sqrt (global 2-component vector of float)
-0:119 'inF0' (in 2-component vector of float)
-0:120 clamp (temp 2-component vector of float)
+0:120 roundEven (global 2-component vector of float)
0:120 'inF0' (in 2-component vector of float)
-0:120 Constant:
-0:120 0.000000
-0:120 Constant:
-0:120 1.000000
-0:121 Sign (global 2-component vector of float)
+0:121 inverse sqrt (global 2-component vector of float)
0:121 'inF0' (in 2-component vector of float)
-0:122 sine (global 2-component vector of float)
+0:122 clamp (temp 2-component vector of float)
0:122 'inF0' (in 2-component vector of float)
-0:123 Sequence
-0:123 move second child to first child (temp 2-component vector of float)
-0:123 'inF1' (in 2-component vector of float)
-0:123 sine (temp 2-component vector of float)
-0:123 'inF0' (in 2-component vector of float)
-0:123 move second child to first child (temp 2-component vector of float)
-0:123 'inF2' (in 2-component vector of float)
-0:123 cosine (temp 2-component vector of float)
-0:123 'inF0' (in 2-component vector of float)
-0:124 hyp. sine (global 2-component vector of float)
+0:122 Constant:
+0:122 0.000000
+0:122 Constant:
+0:122 1.000000
+0:123 Sign (global 2-component vector of float)
+0:123 'inF0' (in 2-component vector of float)
+0:124 sine (global 2-component vector of float)
0:124 'inF0' (in 2-component vector of float)
-0:125 smoothstep (global 2-component vector of float)
-0:125 'inF0' (in 2-component vector of float)
-0:125 'inF1' (in 2-component vector of float)
-0:125 'inF2' (in 2-component vector of float)
-0:126 sqrt (global 2-component vector of float)
+0:125 Sequence
+0:125 move second child to first child (temp 2-component vector of float)
+0:125 'inF1' (in 2-component vector of float)
+0:125 sine (temp 2-component vector of float)
+0:125 'inF0' (in 2-component vector of float)
+0:125 move second child to first child (temp 2-component vector of float)
+0:125 'inF2' (in 2-component vector of float)
+0:125 cosine (temp 2-component vector of float)
+0:125 'inF0' (in 2-component vector of float)
+0:126 hyp. sine (global 2-component vector of float)
0:126 'inF0' (in 2-component vector of float)
-0:127 step (global 2-component vector of float)
+0:127 smoothstep (global 2-component vector of float)
0:127 'inF0' (in 2-component vector of float)
0:127 'inF1' (in 2-component vector of float)
-0:128 tangent (global 2-component vector of float)
+0:127 'inF2' (in 2-component vector of float)
+0:128 sqrt (global 2-component vector of float)
0:128 'inF0' (in 2-component vector of float)
-0:129 hyp. tangent (global 2-component vector of float)
+0:129 step (global 2-component vector of float)
0:129 'inF0' (in 2-component vector of float)
-0:131 trunc (global 2-component vector of float)
+0:129 'inF1' (in 2-component vector of float)
+0:130 tangent (global 2-component vector of float)
+0:130 'inF0' (in 2-component vector of float)
+0:131 hyp. tangent (global 2-component vector of float)
0:131 'inF0' (in 2-component vector of float)
-0:134 Branch: Return with expression
+0:133 trunc (global 2-component vector of float)
+0:133 'inF0' (in 2-component vector of float)
+0:136 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
-0:207 Function Definition: VertexShaderFunction(vf3;vf3;vf3;vu3;vu3; (temp 3-component vector of float)
-0:138 Function Parameters:
-0:138 'inF0' (in 3-component vector of float)
-0:138 'inF1' (in 3-component vector of float)
-0:138 'inF2' (in 3-component vector of float)
-0:138 'inU0' (in 3-component vector of uint)
-0:138 'inU1' (in 3-component vector of uint)
+0:210 Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; (global 3-component vector of float)
+0:140 Function Parameters:
+0:140 'inF0' (in 3-component vector of float)
+0:140 'inF1' (in 3-component vector of float)
+0:140 'inF2' (in 3-component vector of float)
+0:140 'inU0' (in 3-component vector of uint)
+0:140 'inU1' (in 3-component vector of uint)
0:? Sequence
-0:139 all (global bool)
-0:139 'inF0' (in 3-component vector of float)
-0:140 Absolute value (global 3-component vector of float)
-0:140 'inF0' (in 3-component vector of float)
-0:141 arc cosine (global 3-component vector of float)
+0:141 all (global bool)
0:141 'inF0' (in 3-component vector of float)
-0:142 any (global bool)
+0:142 Absolute value (global 3-component vector of float)
0:142 'inF0' (in 3-component vector of float)
-0:143 arc sine (global 3-component vector of float)
+0:143 arc cosine (global 3-component vector of float)
0:143 'inF0' (in 3-component vector of float)
-0:144 floatBitsToInt (global 3-component vector of int)
+0:144 any (global bool)
0:144 'inF0' (in 3-component vector of float)
-0:145 floatBitsToUint (global 3-component vector of uint)
+0:145 arc sine (global 3-component vector of float)
0:145 'inF0' (in 3-component vector of float)
-0:146 intBitsToFloat (global 3-component vector of float)
-0:146 'inU0' (in 3-component vector of uint)
-0:148 arc tangent (global 3-component vector of float)
-0:148 'inF0' (in 3-component vector of float)
-0:149 arc tangent (global 3-component vector of float)
-0:149 'inF0' (in 3-component vector of float)
-0:149 'inF1' (in 3-component vector of float)
-0:150 Ceiling (global 3-component vector of float)
+0:146 floatBitsToInt (global 3-component vector of int)
+0:146 'inF0' (in 3-component vector of float)
+0:147 floatBitsToUint (global 3-component vector of uint)
+0:147 'inF0' (in 3-component vector of float)
+0:148 intBitsToFloat (global 3-component vector of float)
+0:148 'inU0' (in 3-component vector of uint)
+0:150 arc tangent (global 3-component vector of float)
0:150 'inF0' (in 3-component vector of float)
-0:151 clamp (global 3-component vector of float)
+0:151 arc tangent (global 3-component vector of float)
0:151 'inF0' (in 3-component vector of float)
0:151 'inF1' (in 3-component vector of float)
-0:151 'inF2' (in 3-component vector of float)
-0:152 cosine (global 3-component vector of float)
+0:152 Ceiling (global 3-component vector of float)
0:152 'inF0' (in 3-component vector of float)
-0:153 hyp. cosine (global 3-component vector of float)
+0:153 clamp (global 3-component vector of float)
0:153 'inF0' (in 3-component vector of float)
+0:153 'inF1' (in 3-component vector of float)
+0:153 'inF2' (in 3-component vector of float)
+0:154 cosine (global 3-component vector of float)
+0:154 'inF0' (in 3-component vector of float)
+0:155 hyp. cosine (global 3-component vector of float)
+0:155 'inF0' (in 3-component vector of float)
0:? bitCount (global 3-component vector of uint)
0:? Constant:
0:? 7 (const uint)
0:? 3 (const uint)
0:? 5 (const uint)
-0:155 cross-product (global 3-component vector of float)
-0:155 'inF0' (in 3-component vector of float)
-0:155 'inF1' (in 3-component vector of float)
-0:156 degrees (global 3-component vector of float)
-0:156 'inF0' (in 3-component vector of float)
-0:157 distance (global float)
+0:157 cross-product (global 3-component vector of float)
0:157 'inF0' (in 3-component vector of float)
0:157 'inF1' (in 3-component vector of float)
-0:158 dot-product (global float)
+0:158 degrees (global 3-component vector of float)
0:158 'inF0' (in 3-component vector of float)
-0:158 'inF1' (in 3-component vector of float)
-0:162 exp (global 3-component vector of float)
-0:162 'inF0' (in 3-component vector of float)
-0:163 exp2 (global 3-component vector of float)
-0:163 'inF0' (in 3-component vector of float)
-0:164 face-forward (global 3-component vector of float)
+0:159 distance (global float)
+0:159 'inF0' (in 3-component vector of float)
+0:159 'inF1' (in 3-component vector of float)
+0:160 dot-product (global float)
+0:160 'inF0' (in 3-component vector of float)
+0:160 'inF1' (in 3-component vector of float)
+0:164 exp (global 3-component vector of float)
0:164 'inF0' (in 3-component vector of float)
-0:164 'inF1' (in 3-component vector of float)
-0:164 'inF2' (in 3-component vector of float)
-0:165 findMSB (global int)
-0:165 Constant:
-0:165 7 (const int)
-0:166 findLSB (global int)
-0:166 Constant:
-0:166 7 (const int)
-0:167 Floor (global 3-component vector of float)
-0:167 'inF0' (in 3-component vector of float)
-0:169 mod (global 3-component vector of float)
+0:165 exp2 (global 3-component vector of float)
+0:165 'inF0' (in 3-component vector of float)
+0:166 face-forward (global 3-component vector of float)
+0:166 'inF0' (in 3-component vector of float)
+0:166 'inF1' (in 3-component vector of float)
+0:166 'inF2' (in 3-component vector of float)
+0:167 findMSB (global int)
+0:167 Constant:
+0:167 7 (const int)
+0:168 findLSB (global int)
+0:168 Constant:
+0:168 7 (const int)
+0:169 Floor (global 3-component vector of float)
0:169 'inF0' (in 3-component vector of float)
-0:169 'inF1' (in 3-component vector of float)
-0:170 Fraction (global 3-component vector of float)
-0:170 'inF0' (in 3-component vector of float)
-0:171 frexp (global 3-component vector of float)
+0:171 mod (global 3-component vector of float)
0:171 'inF0' (in 3-component vector of float)
0:171 'inF1' (in 3-component vector of float)
-0:172 isinf (global 3-component vector of bool)
+0:172 Fraction (global 3-component vector of float)
0:172 'inF0' (in 3-component vector of float)
-0:173 isnan (global 3-component vector of bool)
+0:173 frexp (global 3-component vector of float)
0:173 'inF0' (in 3-component vector of float)
-0:174 ldexp (global 3-component vector of float)
+0:173 'inF1' (in 3-component vector of float)
+0:174 isinf (global 3-component vector of bool)
0:174 'inF0' (in 3-component vector of float)
-0:174 'inF1' (in 3-component vector of float)
-0:175 length (global float)
+0:175 isnan (global 3-component vector of bool)
0:175 'inF0' (in 3-component vector of float)
-0:176 log (global 3-component vector of float)
+0:176 ldexp (global 3-component vector of float)
0:176 'inF0' (in 3-component vector of float)
-0:177 vector-scale (temp 3-component vector of float)
-0:177 log2 (temp 3-component vector of float)
-0:177 'inF0' (in 3-component vector of float)
-0:177 Constant:
-0:177 0.301030
-0:178 log2 (global 3-component vector of float)
+0:176 'inF1' (in 3-component vector of float)
+0:177 mix (global 3-component vector of float)
+0:177 'inF0' (in 3-component vector of float)
+0:177 'inF1' (in 3-component vector of float)
+0:177 'inF2' (in 3-component vector of float)
+0:178 length (global float)
0:178 'inF0' (in 3-component vector of float)
-0:179 max (global 3-component vector of float)
+0:179 log (global 3-component vector of float)
0:179 'inF0' (in 3-component vector of float)
-0:179 'inF1' (in 3-component vector of float)
-0:180 min (global 3-component vector of float)
-0:180 'inF0' (in 3-component vector of float)
-0:180 'inF1' (in 3-component vector of float)
-0:182 normalize (global 3-component vector of float)
+0:180 vector-scale (temp 3-component vector of float)
+0:180 log2 (temp 3-component vector of float)
+0:180 'inF0' (in 3-component vector of float)
+0:180 Constant:
+0:180 0.301030
+0:181 log2 (global 3-component vector of float)
+0:181 'inF0' (in 3-component vector of float)
+0:182 max (global 3-component vector of float)
0:182 'inF0' (in 3-component vector of float)
-0:183 pow (global 3-component vector of float)
+0:182 'inF1' (in 3-component vector of float)
+0:183 min (global 3-component vector of float)
0:183 'inF0' (in 3-component vector of float)
0:183 'inF1' (in 3-component vector of float)
-0:184 radians (global 3-component vector of float)
-0:184 'inF0' (in 3-component vector of float)
-0:185 reflect (global 3-component vector of float)
+0:185 normalize (global 3-component vector of float)
0:185 'inF0' (in 3-component vector of float)
-0:185 'inF1' (in 3-component vector of float)
-0:186 refract (global 3-component vector of float)
+0:186 pow (global 3-component vector of float)
0:186 'inF0' (in 3-component vector of float)
0:186 'inF1' (in 3-component vector of float)
-0:186 Constant:
-0:186 2.000000
+0:187 radians (global 3-component vector of float)
+0:187 'inF0' (in 3-component vector of float)
+0:188 reflect (global 3-component vector of float)
+0:188 'inF0' (in 3-component vector of float)
+0:188 'inF1' (in 3-component vector of float)
+0:189 refract (global 3-component vector of float)
+0:189 'inF0' (in 3-component vector of float)
+0:189 'inF1' (in 3-component vector of float)
+0:189 Constant:
+0:189 2.000000
0:? bitFieldReverse (global 3-component vector of uint)
0:? Constant:
0:? 1 (const uint)
0:? 2 (const uint)
0:? 3 (const uint)
-0:188 roundEven (global 3-component vector of float)
-0:188 'inF0' (in 3-component vector of float)
-0:189 inverse sqrt (global 3-component vector of float)
-0:189 'inF0' (in 3-component vector of float)
-0:190 clamp (temp 3-component vector of float)
-0:190 'inF0' (in 3-component vector of float)
-0:190 Constant:
-0:190 0.000000
-0:190 Constant:
-0:190 1.000000
-0:191 Sign (global 3-component vector of float)
+0:191 roundEven (global 3-component vector of float)
0:191 'inF0' (in 3-component vector of float)
-0:192 sine (global 3-component vector of float)
+0:192 inverse sqrt (global 3-component vector of float)
0:192 'inF0' (in 3-component vector of float)
-0:193 Sequence
-0:193 move second child to first child (temp 3-component vector of float)
-0:193 'inF1' (in 3-component vector of float)
-0:193 sine (temp 3-component vector of float)
-0:193 'inF0' (in 3-component vector of float)
-0:193 move second child to first child (temp 3-component vector of float)
-0:193 'inF2' (in 3-component vector of float)
-0:193 cosine (temp 3-component vector of float)
-0:193 'inF0' (in 3-component vector of float)
-0:194 hyp. sine (global 3-component vector of float)
+0:193 clamp (temp 3-component vector of float)
+0:193 'inF0' (in 3-component vector of float)
+0:193 Constant:
+0:193 0.000000
+0:193 Constant:
+0:193 1.000000
+0:194 Sign (global 3-component vector of float)
0:194 'inF0' (in 3-component vector of float)
-0:195 smoothstep (global 3-component vector of float)
+0:195 sine (global 3-component vector of float)
0:195 'inF0' (in 3-component vector of float)
-0:195 'inF1' (in 3-component vector of float)
-0:195 'inF2' (in 3-component vector of float)
-0:196 sqrt (global 3-component vector of float)
-0:196 'inF0' (in 3-component vector of float)
-0:197 step (global 3-component vector of float)
+0:196 Sequence
+0:196 move second child to first child (temp 3-component vector of float)
+0:196 'inF1' (in 3-component vector of float)
+0:196 sine (temp 3-component vector of float)
+0:196 'inF0' (in 3-component vector of float)
+0:196 move second child to first child (temp 3-component vector of float)
+0:196 'inF2' (in 3-component vector of float)
+0:196 cosine (temp 3-component vector of float)
+0:196 'inF0' (in 3-component vector of float)
+0:197 hyp. sine (global 3-component vector of float)
0:197 'inF0' (in 3-component vector of float)
-0:197 'inF1' (in 3-component vector of float)
-0:198 tangent (global 3-component vector of float)
+0:198 smoothstep (global 3-component vector of float)
0:198 'inF0' (in 3-component vector of float)
-0:199 hyp. tangent (global 3-component vector of float)
+0:198 'inF1' (in 3-component vector of float)
+0:198 'inF2' (in 3-component vector of float)
+0:199 sqrt (global 3-component vector of float)
0:199 'inF0' (in 3-component vector of float)
-0:201 trunc (global 3-component vector of float)
+0:200 step (global 3-component vector of float)
+0:200 'inF0' (in 3-component vector of float)
+0:200 'inF1' (in 3-component vector of float)
+0:201 tangent (global 3-component vector of float)
0:201 'inF0' (in 3-component vector of float)
-0:204 Branch: Return with expression
+0:202 hyp. tangent (global 3-component vector of float)
+0:202 'inF0' (in 3-component vector of float)
+0:204 trunc (global 3-component vector of float)
+0:204 'inF0' (in 3-component vector of float)
+0:207 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
-0:330 Function Definition: VertexShaderFunction(vf4;vf4;vf4;vu4;vu4; (temp 4-component vector of float)
-0:208 Function Parameters:
-0:208 'inF0' (in 4-component vector of float)
-0:208 'inF1' (in 4-component vector of float)
-0:208 'inF2' (in 4-component vector of float)
-0:208 'inU0' (in 4-component vector of uint)
-0:208 'inU1' (in 4-component vector of uint)
+0:335 Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; (global 4-component vector of float)
+0:211 Function Parameters:
+0:211 'inF0' (in 4-component vector of float)
+0:211 'inF1' (in 4-component vector of float)
+0:211 'inF2' (in 4-component vector of float)
+0:211 'inU0' (in 4-component vector of uint)
+0:211 'inU1' (in 4-component vector of uint)
0:? Sequence
-0:209 all (global bool)
-0:209 'inF0' (in 4-component vector of float)
-0:210 Absolute value (global 4-component vector of float)
-0:210 'inF0' (in 4-component vector of float)
-0:211 arc cosine (global 4-component vector of float)
-0:211 'inF0' (in 4-component vector of float)
-0:212 any (global bool)
+0:212 all (global bool)
0:212 'inF0' (in 4-component vector of float)
-0:213 arc sine (global 4-component vector of float)
+0:213 Absolute value (global 4-component vector of float)
0:213 'inF0' (in 4-component vector of float)
-0:214 floatBitsToInt (global 4-component vector of int)
+0:214 arc cosine (global 4-component vector of float)
0:214 'inF0' (in 4-component vector of float)
-0:215 floatBitsToUint (global 4-component vector of uint)
+0:215 any (global bool)
0:215 'inF0' (in 4-component vector of float)
-0:216 intBitsToFloat (global 4-component vector of float)
-0:216 'inU0' (in 4-component vector of uint)
-0:218 arc tangent (global 4-component vector of float)
+0:216 arc sine (global 4-component vector of float)
+0:216 'inF0' (in 4-component vector of float)
+0:217 floatBitsToInt (global 4-component vector of int)
+0:217 'inF0' (in 4-component vector of float)
+0:218 floatBitsToUint (global 4-component vector of uint)
0:218 'inF0' (in 4-component vector of float)
-0:219 arc tangent (global 4-component vector of float)
-0:219 'inF0' (in 4-component vector of float)
-0:219 'inF1' (in 4-component vector of float)
-0:220 Ceiling (global 4-component vector of float)
-0:220 'inF0' (in 4-component vector of float)
-0:221 clamp (global 4-component vector of float)
+0:219 intBitsToFloat (global 4-component vector of float)
+0:219 'inU0' (in 4-component vector of uint)
+0:221 arc tangent (global 4-component vector of float)
0:221 'inF0' (in 4-component vector of float)
-0:221 'inF1' (in 4-component vector of float)
-0:221 'inF2' (in 4-component vector of float)
-0:222 cosine (global 4-component vector of float)
+0:222 arc tangent (global 4-component vector of float)
0:222 'inF0' (in 4-component vector of float)
-0:223 hyp. cosine (global 4-component vector of float)
+0:222 'inF1' (in 4-component vector of float)
+0:223 Ceiling (global 4-component vector of float)
0:223 'inF0' (in 4-component vector of float)
+0:224 clamp (global 4-component vector of float)
+0:224 'inF0' (in 4-component vector of float)
+0:224 'inF1' (in 4-component vector of float)
+0:224 'inF2' (in 4-component vector of float)
+0:225 cosine (global 4-component vector of float)
+0:225 'inF0' (in 4-component vector of float)
+0:226 hyp. cosine (global 4-component vector of float)
+0:226 'inF0' (in 4-component vector of float)
0:? bitCount (global 4-component vector of uint)
0:? Constant:
0:? 7 (const uint)
0:? 3 (const uint)
0:? 5 (const uint)
0:? 2 (const uint)
-0:225 degrees (global 4-component vector of float)
-0:225 'inF0' (in 4-component vector of float)
-0:226 distance (global float)
-0:226 'inF0' (in 4-component vector of float)
-0:226 'inF1' (in 4-component vector of float)
-0:227 dot-product (global float)
-0:227 'inF0' (in 4-component vector of float)
-0:227 'inF1' (in 4-component vector of float)
-0:228 Construct vec4 (temp 4-component vector of float)
-0:228 Constant:
-0:228 1.000000
-0:228 component-wise multiply (temp float)
-0:228 direct index (temp float)
-0:228 'inF0' (in 4-component vector of float)
-0:228 Constant:
-0:228 1 (const int)
-0:228 direct index (temp float)
-0:228 'inF1' (in 4-component vector of float)
-0:228 Constant:
-0:228 1 (const int)
-0:228 direct index (temp float)
-0:228 'inF0' (in 4-component vector of float)
-0:228 Constant:
-0:228 2 (const int)
-0:228 direct index (temp float)
-0:228 'inF1' (in 4-component vector of float)
-0:228 Constant:
-0:228 3 (const int)
-0:232 exp (global 4-component vector of float)
-0:232 'inF0' (in 4-component vector of float)
-0:233 exp2 (global 4-component vector of float)
-0:233 'inF0' (in 4-component vector of float)
-0:234 face-forward (global 4-component vector of float)
-0:234 'inF0' (in 4-component vector of float)
-0:234 'inF1' (in 4-component vector of float)
-0:234 'inF2' (in 4-component vector of float)
-0:235 findMSB (global int)
-0:235 Constant:
-0:235 7 (const int)
-0:236 findLSB (global int)
-0:236 Constant:
-0:236 7 (const int)
-0:237 Floor (global 4-component vector of float)
+0:228 degrees (global 4-component vector of float)
+0:228 'inF0' (in 4-component vector of float)
+0:229 distance (global float)
+0:229 'inF0' (in 4-component vector of float)
+0:229 'inF1' (in 4-component vector of float)
+0:230 dot-product (global float)
+0:230 'inF0' (in 4-component vector of float)
+0:230 'inF1' (in 4-component vector of float)
+0:231 Construct vec4 (temp 4-component vector of float)
+0:231 Constant:
+0:231 1.000000
+0:231 component-wise multiply (temp float)
+0:231 direct index (temp float)
+0:231 'inF0' (in 4-component vector of float)
+0:231 Constant:
+0:231 1 (const int)
+0:231 direct index (temp float)
+0:231 'inF1' (in 4-component vector of float)
+0:231 Constant:
+0:231 1 (const int)
+0:231 direct index (temp float)
+0:231 'inF0' (in 4-component vector of float)
+0:231 Constant:
+0:231 2 (const int)
+0:231 direct index (temp float)
+0:231 'inF1' (in 4-component vector of float)
+0:231 Constant:
+0:231 3 (const int)
+0:235 exp (global 4-component vector of float)
+0:235 'inF0' (in 4-component vector of float)
+0:236 exp2 (global 4-component vector of float)
+0:236 'inF0' (in 4-component vector of float)
+0:237 face-forward (global 4-component vector of float)
0:237 'inF0' (in 4-component vector of float)
-0:239 mod (global 4-component vector of float)
-0:239 'inF0' (in 4-component vector of float)
-0:239 'inF1' (in 4-component vector of float)
-0:240 Fraction (global 4-component vector of float)
+0:237 'inF1' (in 4-component vector of float)
+0:237 'inF2' (in 4-component vector of float)
+0:238 findMSB (global int)
+0:238 Constant:
+0:238 7 (const int)
+0:239 findLSB (global int)
+0:239 Constant:
+0:239 7 (const int)
+0:240 Floor (global 4-component vector of float)
0:240 'inF0' (in 4-component vector of float)
-0:241 frexp (global 4-component vector of float)
-0:241 'inF0' (in 4-component vector of float)
-0:241 'inF1' (in 4-component vector of float)
-0:242 isinf (global 4-component vector of bool)
+0:242 mod (global 4-component vector of float)
0:242 'inF0' (in 4-component vector of float)
-0:243 isnan (global 4-component vector of bool)
+0:242 'inF1' (in 4-component vector of float)
+0:243 Fraction (global 4-component vector of float)
0:243 'inF0' (in 4-component vector of float)
-0:244 ldexp (global 4-component vector of float)
+0:244 frexp (global 4-component vector of float)
0:244 'inF0' (in 4-component vector of float)
0:244 'inF1' (in 4-component vector of float)
-0:245 length (global float)
+0:245 isinf (global 4-component vector of bool)
0:245 'inF0' (in 4-component vector of float)
-0:246 log (global 4-component vector of float)
+0:246 isnan (global 4-component vector of bool)
0:246 'inF0' (in 4-component vector of float)
-0:247 vector-scale (temp 4-component vector of float)
-0:247 log2 (temp 4-component vector of float)
-0:247 'inF0' (in 4-component vector of float)
-0:247 Constant:
-0:247 0.301030
-0:248 log2 (global 4-component vector of float)
+0:247 ldexp (global 4-component vector of float)
+0:247 'inF0' (in 4-component vector of float)
+0:247 'inF1' (in 4-component vector of float)
+0:248 mix (global 4-component vector of float)
0:248 'inF0' (in 4-component vector of float)
-0:249 max (global 4-component vector of float)
+0:248 'inF1' (in 4-component vector of float)
+0:248 'inF2' (in 4-component vector of float)
+0:249 length (global float)
0:249 'inF0' (in 4-component vector of float)
-0:249 'inF1' (in 4-component vector of float)
-0:250 min (global 4-component vector of float)
+0:250 log (global 4-component vector of float)
0:250 'inF0' (in 4-component vector of float)
-0:250 'inF1' (in 4-component vector of float)
-0:252 normalize (global 4-component vector of float)
+0:251 vector-scale (temp 4-component vector of float)
+0:251 log2 (temp 4-component vector of float)
+0:251 'inF0' (in 4-component vector of float)
+0:251 Constant:
+0:251 0.301030
+0:252 log2 (global 4-component vector of float)
0:252 'inF0' (in 4-component vector of float)
-0:253 pow (global 4-component vector of float)
+0:253 max (global 4-component vector of float)
0:253 'inF0' (in 4-component vector of float)
0:253 'inF1' (in 4-component vector of float)
-0:254 radians (global 4-component vector of float)
+0:254 min (global 4-component vector of float)
0:254 'inF0' (in 4-component vector of float)
-0:255 reflect (global 4-component vector of float)
-0:255 'inF0' (in 4-component vector of float)
-0:255 'inF1' (in 4-component vector of float)
-0:256 refract (global 4-component vector of float)
+0:254 'inF1' (in 4-component vector of float)
+0:256 normalize (global 4-component vector of float)
0:256 'inF0' (in 4-component vector of float)
-0:256 'inF1' (in 4-component vector of float)
-0:256 Constant:
-0:256 2.000000
+0:257 pow (global 4-component vector of float)
+0:257 'inF0' (in 4-component vector of float)
+0:257 'inF1' (in 4-component vector of float)
+0:258 radians (global 4-component vector of float)
+0:258 'inF0' (in 4-component vector of float)
+0:259 reflect (global 4-component vector of float)
+0:259 'inF0' (in 4-component vector of float)
+0:259 'inF1' (in 4-component vector of float)
+0:260 refract (global 4-component vector of float)
+0:260 'inF0' (in 4-component vector of float)
+0:260 'inF1' (in 4-component vector of float)
+0:260 Constant:
+0:260 2.000000
0:? bitFieldReverse (global 4-component vector of uint)
0:? Constant:
0:? 1 (const uint)
0:? 2 (const uint)
0:? 3 (const uint)
0:? 4 (const uint)
-0:258 roundEven (global 4-component vector of float)
-0:258 'inF0' (in 4-component vector of float)
-0:259 inverse sqrt (global 4-component vector of float)
-0:259 'inF0' (in 4-component vector of float)
-0:260 clamp (temp 4-component vector of float)
-0:260 'inF0' (in 4-component vector of float)
-0:260 Constant:
-0:260 0.000000
-0:260 Constant:
-0:260 1.000000
-0:261 Sign (global 4-component vector of float)
-0:261 'inF0' (in 4-component vector of float)
-0:262 sine (global 4-component vector of float)
+0:262 roundEven (global 4-component vector of float)
0:262 'inF0' (in 4-component vector of float)
-0:263 Sequence
-0:263 move second child to first child (temp 4-component vector of float)
-0:263 'inF1' (in 4-component vector of float)
-0:263 sine (temp 4-component vector of float)
-0:263 'inF0' (in 4-component vector of float)
-0:263 move second child to first child (temp 4-component vector of float)
-0:263 'inF2' (in 4-component vector of float)
-0:263 cosine (temp 4-component vector of float)
-0:263 'inF0' (in 4-component vector of float)
-0:264 hyp. sine (global 4-component vector of float)
+0:263 inverse sqrt (global 4-component vector of float)
+0:263 'inF0' (in 4-component vector of float)
+0:264 clamp (temp 4-component vector of float)
0:264 'inF0' (in 4-component vector of float)
-0:265 smoothstep (global 4-component vector of float)
+0:264 Constant:
+0:264 0.000000
+0:264 Constant:
+0:264 1.000000
+0:265 Sign (global 4-component vector of float)
0:265 'inF0' (in 4-component vector of float)
-0:265 'inF1' (in 4-component vector of float)
-0:265 'inF2' (in 4-component vector of float)
-0:266 sqrt (global 4-component vector of float)
+0:266 sine (global 4-component vector of float)
0:266 'inF0' (in 4-component vector of float)
-0:267 step (global 4-component vector of float)
-0:267 'inF0' (in 4-component vector of float)
-0:267 'inF1' (in 4-component vector of float)
-0:268 tangent (global 4-component vector of float)
+0:267 Sequence
+0:267 move second child to first child (temp 4-component vector of float)
+0:267 'inF1' (in 4-component vector of float)
+0:267 sine (temp 4-component vector of float)
+0:267 'inF0' (in 4-component vector of float)
+0:267 move second child to first child (temp 4-component vector of float)
+0:267 'inF2' (in 4-component vector of float)
+0:267 cosine (temp 4-component vector of float)
+0:267 'inF0' (in 4-component vector of float)
+0:268 hyp. sine (global 4-component vector of float)
0:268 'inF0' (in 4-component vector of float)
-0:269 hyp. tangent (global 4-component vector of float)
+0:269 smoothstep (global 4-component vector of float)
0:269 'inF0' (in 4-component vector of float)
-0:271 trunc (global 4-component vector of float)
+0:269 'inF1' (in 4-component vector of float)
+0:269 'inF2' (in 4-component vector of float)
+0:270 sqrt (global 4-component vector of float)
+0:270 'inF0' (in 4-component vector of float)
+0:271 step (global 4-component vector of float)
0:271 'inF0' (in 4-component vector of float)
-0:274 Branch: Return with expression
+0:271 'inF1' (in 4-component vector of float)
+0:272 tangent (global 4-component vector of float)
+0:272 'inF0' (in 4-component vector of float)
+0:273 hyp. tangent (global 4-component vector of float)
+0:273 'inF0' (in 4-component vector of float)
+0:275 trunc (global 4-component vector of float)
+0:275 'inF0' (in 4-component vector of float)
+0:278 Branch: Return with expression
0:? Constant:
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
-0:339 Function Definition: VertexShaderFunction(mf22;mf22;mf22; (temp 2X2 matrix of float)
-0:331 Function Parameters:
-0:331 'inF0' (in 2X2 matrix of float)
-0:331 'inF1' (in 2X2 matrix of float)
-0:331 'inF2' (in 2X2 matrix of float)
+0:344 Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; (global 2X2 matrix of float)
+0:336 Function Parameters:
+0:336 'inF0' (in 2X2 matrix of float)
+0:336 'inF1' (in 2X2 matrix of float)
+0:336 'inF2' (in 2X2 matrix of float)
0:? Sequence
-0:333 all (global bool)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Absolute value (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc cosine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 any (global bool)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc sine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 arc tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 Ceiling (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 clamp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 'inF2' (in 2X2 matrix of float)
-0:333 cosine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 hyp. cosine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 degrees (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 determinant (global float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 exp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 exp2 (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 findMSB (global int)
-0:333 Constant:
-0:333 7 (const int)
-0:333 findLSB (global int)
-0:333 Constant:
-0:333 7 (const int)
-0:333 Floor (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 mod (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 Fraction (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 frexp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 ldexp (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 log (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 matrix-scale (temp 2X2 matrix of float)
-0:333 log2 (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Constant:
-0:333 0.301030
-0:333 log2 (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 max (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 min (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 pow (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 radians (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 roundEven (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 inverse sqrt (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 clamp (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Constant:
-0:333 0.000000
-0:333 Constant:
-0:333 1.000000
-0:333 Sign (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 sine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 Sequence
-0:333 move second child to first child (temp 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 sine (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 move second child to first child (temp 2X2 matrix of float)
-0:333 'inF2' (in 2X2 matrix of float)
-0:333 cosine (temp 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 hyp. sine (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 smoothstep (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 'inF2' (in 2X2 matrix of float)
-0:333 sqrt (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 step (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 'inF1' (in 2X2 matrix of float)
-0:333 tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 hyp. tangent (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 transpose (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:333 trunc (global 2X2 matrix of float)
-0:333 'inF0' (in 2X2 matrix of float)
-0:336 Branch: Return with expression
+0:338 all (global bool)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Absolute value (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc cosine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 any (global bool)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc sine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 arc tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 Ceiling (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 clamp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 cosine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 hyp. cosine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 degrees (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 determinant (global float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 exp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 exp2 (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 findMSB (global int)
+0:338 Constant:
+0:338 7 (const int)
+0:338 findLSB (global int)
+0:338 Constant:
+0:338 7 (const int)
+0:338 Floor (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 mod (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 Fraction (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 frexp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 ldexp (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 mix (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 log (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 matrix-scale (temp 2X2 matrix of float)
+0:338 log2 (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Constant:
+0:338 0.301030
+0:338 log2 (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 max (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 min (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 pow (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 radians (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 roundEven (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 inverse sqrt (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 clamp (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Constant:
+0:338 0.000000
+0:338 Constant:
+0:338 1.000000
+0:338 Sign (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 sine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 Sequence
+0:338 move second child to first child (temp 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 sine (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 move second child to first child (temp 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 cosine (temp 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 hyp. sine (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 smoothstep (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 'inF2' (in 2X2 matrix of float)
+0:338 sqrt (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 step (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 'inF1' (in 2X2 matrix of float)
+0:338 tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 hyp. tangent (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 transpose (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:338 trunc (global 2X2 matrix of float)
+0:338 'inF0' (in 2X2 matrix of float)
+0:341 Branch: Return with expression
0:? Constant:
0:? 2.000000
0:? 2.000000
0:? 2.000000
0:? 2.000000
-0:348 Function Definition: VertexShaderFunction(mf33;mf33;mf33; (temp 3X3 matrix of float)
-0:340 Function Parameters:
-0:340 'inF0' (in 3X3 matrix of float)
-0:340 'inF1' (in 3X3 matrix of float)
-0:340 'inF2' (in 3X3 matrix of float)
+0:353 Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; (global 3X3 matrix of float)
+0:345 Function Parameters:
+0:345 'inF0' (in 3X3 matrix of float)
+0:345 'inF1' (in 3X3 matrix of float)
+0:345 'inF2' (in 3X3 matrix of float)
0:? Sequence
-0:342 all (global bool)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Absolute value (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc cosine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 any (global bool)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc sine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 arc tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 Ceiling (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 clamp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 'inF2' (in 3X3 matrix of float)
-0:342 cosine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 hyp. cosine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 degrees (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 determinant (global float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 exp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 exp2 (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 findMSB (global int)
-0:342 Constant:
-0:342 7 (const int)
-0:342 findLSB (global int)
-0:342 Constant:
-0:342 7 (const int)
-0:342 Floor (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 mod (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 Fraction (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 frexp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 ldexp (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 log (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 matrix-scale (temp 3X3 matrix of float)
-0:342 log2 (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Constant:
-0:342 0.301030
-0:342 log2 (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 max (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 min (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 pow (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 radians (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 roundEven (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 inverse sqrt (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 clamp (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Constant:
-0:342 0.000000
-0:342 Constant:
-0:342 1.000000
-0:342 Sign (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 sine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 Sequence
-0:342 move second child to first child (temp 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 sine (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 move second child to first child (temp 3X3 matrix of float)
-0:342 'inF2' (in 3X3 matrix of float)
-0:342 cosine (temp 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 hyp. sine (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 smoothstep (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 'inF2' (in 3X3 matrix of float)
-0:342 sqrt (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 step (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 'inF1' (in 3X3 matrix of float)
-0:342 tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 hyp. tangent (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 transpose (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:342 trunc (global 3X3 matrix of float)
-0:342 'inF0' (in 3X3 matrix of float)
-0:345 Branch: Return with expression
+0:347 all (global bool)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Absolute value (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc cosine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 any (global bool)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc sine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 arc tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 Ceiling (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 clamp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 cosine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 hyp. cosine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 degrees (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 determinant (global float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 exp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 exp2 (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 findMSB (global int)
+0:347 Constant:
+0:347 7 (const int)
+0:347 findLSB (global int)
+0:347 Constant:
+0:347 7 (const int)
+0:347 Floor (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 mod (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 Fraction (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 frexp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 ldexp (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 mix (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 log (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 matrix-scale (temp 3X3 matrix of float)
+0:347 log2 (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Constant:
+0:347 0.301030
+0:347 log2 (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 max (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 min (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 pow (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 radians (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 roundEven (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 inverse sqrt (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 clamp (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Constant:
+0:347 0.000000
+0:347 Constant:
+0:347 1.000000
+0:347 Sign (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 sine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 Sequence
+0:347 move second child to first child (temp 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 sine (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 move second child to first child (temp 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 cosine (temp 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 hyp. sine (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 smoothstep (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 'inF2' (in 3X3 matrix of float)
+0:347 sqrt (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 step (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 'inF1' (in 3X3 matrix of float)
+0:347 tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 hyp. tangent (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 transpose (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:347 trunc (global 3X3 matrix of float)
+0:347 'inF0' (in 3X3 matrix of float)
+0:350 Branch: Return with expression
0:? Constant:
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
0:? 3.000000
-0:369 Function Definition: VertexShaderFunction(mf44;mf44;mf44; (temp 4X4 matrix of float)
-0:349 Function Parameters:
-0:349 'inF0' (in 4X4 matrix of float)
-0:349 'inF1' (in 4X4 matrix of float)
-0:349 'inF2' (in 4X4 matrix of float)
+0:374 Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; (global 4X4 matrix of float)
+0:354 Function Parameters:
+0:354 'inF0' (in 4X4 matrix of float)
+0:354 'inF1' (in 4X4 matrix of float)
+0:354 'inF2' (in 4X4 matrix of float)
0:? Sequence
-0:351 all (global bool)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Absolute value (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc cosine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 any (global bool)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc sine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 arc tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 Ceiling (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 clamp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 'inF2' (in 4X4 matrix of float)
-0:351 cosine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 hyp. cosine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 degrees (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 determinant (global float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 exp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 exp2 (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 findMSB (global int)
-0:351 Constant:
-0:351 7 (const int)
-0:351 findLSB (global int)
-0:351 Constant:
-0:351 7 (const int)
-0:351 Floor (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 mod (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 Fraction (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 frexp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 ldexp (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 log (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 matrix-scale (temp 4X4 matrix of float)
-0:351 log2 (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Constant:
-0:351 0.301030
-0:351 log2 (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 max (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 min (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 pow (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 radians (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 roundEven (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 inverse sqrt (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 clamp (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Constant:
-0:351 0.000000
-0:351 Constant:
-0:351 1.000000
-0:351 Sign (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 sine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 Sequence
-0:351 move second child to first child (temp 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 sine (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 move second child to first child (temp 4X4 matrix of float)
-0:351 'inF2' (in 4X4 matrix of float)
-0:351 cosine (temp 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 hyp. sine (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 smoothstep (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 'inF2' (in 4X4 matrix of float)
-0:351 sqrt (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 step (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 'inF1' (in 4X4 matrix of float)
-0:351 tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 hyp. tangent (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 transpose (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:351 trunc (global 4X4 matrix of float)
-0:351 'inF0' (in 4X4 matrix of float)
-0:354 Branch: Return with expression
+0:356 all (global bool)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Absolute value (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc cosine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 any (global bool)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc sine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 arc tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 Ceiling (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 clamp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 cosine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 hyp. cosine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 degrees (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 determinant (global float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 exp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 exp2 (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 findMSB (global int)
+0:356 Constant:
+0:356 7 (const int)
+0:356 findLSB (global int)
+0:356 Constant:
+0:356 7 (const int)
+0:356 Floor (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 mod (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 Fraction (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 frexp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 ldexp (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 mix (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 log (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 matrix-scale (temp 4X4 matrix of float)
+0:356 log2 (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Constant:
+0:356 0.301030
+0:356 log2 (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 max (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 min (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 pow (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 radians (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 roundEven (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 inverse sqrt (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 clamp (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Constant:
+0:356 0.000000
+0:356 Constant:
+0:356 1.000000
+0:356 Sign (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 sine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 Sequence
+0:356 move second child to first child (temp 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 sine (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 move second child to first child (temp 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 cosine (temp 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 hyp. sine (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 smoothstep (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 'inF2' (in 4X4 matrix of float)
+0:356 sqrt (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 step (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 'inF1' (in 4X4 matrix of float)
+0:356 tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 hyp. tangent (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 transpose (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:356 trunc (global 4X4 matrix of float)
+0:356 'inF0' (in 4X4 matrix of float)
+0:359 Branch: Return with expression
0:? Constant:
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
0:? 4.000000
-0:376 Function Definition: TestGenMul(f1;f1;vf2;vf2;mf22;mf22; (temp void)
-0:372 Function Parameters:
-0:372 'inF0' (in float)
-0:372 'inF1' (in float)
-0:372 'inFV0' (in 2-component vector of float)
-0:372 'inFV1' (in 2-component vector of float)
-0:372 'inFM0' (in 2X2 matrix of float)
-0:372 'inFM1' (in 2X2 matrix of float)
+0:381 Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; (global void)
+0:377 Function Parameters:
+0:377 'inF0' (in float)
+0:377 'inF1' (in float)
+0:377 'inFV0' (in 2-component vector of float)
+0:377 'inFV1' (in 2-component vector of float)
+0:377 'inFM0' (in 2X2 matrix of float)
+0:377 'inFM1' (in 2X2 matrix of float)
0:? Sequence
-0:373 move second child to first child (temp float)
-0:373 'r0' (temp float)
-0:373 component-wise multiply (temp float)
-0:373 'inF0' (in float)
-0:373 'inF1' (in float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r1' (temp 2-component vector of float)
-0:373 vector-scale (temp 2-component vector of float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 'inF0' (in float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r2' (temp 2-component vector of float)
-0:373 vector-scale (temp 2-component vector of float)
-0:373 'inF0' (in float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 move second child to first child (temp float)
-0:373 'r3' (temp float)
-0:373 dot-product (global float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 'inFV1' (in 2-component vector of float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r4' (temp 2-component vector of float)
-0:373 matrix-times-vector (temp 2-component vector of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 move second child to first child (temp 2-component vector of float)
-0:373 'r5' (temp 2-component vector of float)
-0:373 vector-times-matrix (temp 2-component vector of float)
-0:373 'inFV0' (in 2-component vector of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 move second child to first child (temp 2X2 matrix of float)
-0:373 'r6' (temp 2X2 matrix of float)
-0:373 matrix-scale (temp 2X2 matrix of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 'inF0' (in float)
-0:373 move second child to first child (temp 2X2 matrix of float)
-0:373 'r7' (temp 2X2 matrix of float)
-0:373 matrix-scale (temp 2X2 matrix of float)
-0:373 'inF0' (in float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 move second child to first child (temp 2X2 matrix of float)
-0:373 'r8' (temp 2X2 matrix of float)
-0:373 matrix-multiply (temp 2X2 matrix of float)
-0:373 'inFM0' (in 2X2 matrix of float)
-0:373 'inFM1' (in 2X2 matrix of float)
-0:383 Function Definition: TestGenMul(f1;f1;vf3;vf3;mf33;mf33; (temp void)
-0:379 Function Parameters:
-0:379 'inF0' (in float)
-0:379 'inF1' (in float)
-0:379 'inFV0' (in 3-component vector of float)
-0:379 'inFV1' (in 3-component vector of float)
-0:379 'inFM0' (in 3X3 matrix of float)
-0:379 'inFM1' (in 3X3 matrix of float)
+0:378 Sequence
+0:378 move second child to first child (temp float)
+0:378 'r0' (temp float)
+0:378 component-wise multiply (temp float)
+0:378 'inF0' (in float)
+0:378 'inF1' (in float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r1' (temp 2-component vector of float)
+0:378 vector-scale (temp 2-component vector of float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 'inF0' (in float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r2' (temp 2-component vector of float)
+0:378 vector-scale (temp 2-component vector of float)
+0:378 'inF0' (in float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 Sequence
+0:378 move second child to first child (temp float)
+0:378 'r3' (temp float)
+0:378 dot-product (global float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 'inFV1' (in 2-component vector of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r4' (temp 2-component vector of float)
+0:378 matrix-times-vector (temp 2-component vector of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2-component vector of float)
+0:378 'r5' (temp 2-component vector of float)
+0:378 vector-times-matrix (temp 2-component vector of float)
+0:378 'inFV0' (in 2-component vector of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2X2 matrix of float)
+0:378 'r6' (temp 2X2 matrix of float)
+0:378 matrix-scale (temp 2X2 matrix of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 'inF0' (in float)
+0:378 Sequence
+0:378 move second child to first child (temp 2X2 matrix of float)
+0:378 'r7' (temp 2X2 matrix of float)
+0:378 matrix-scale (temp 2X2 matrix of float)
+0:378 'inF0' (in float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 Sequence
+0:378 move second child to first child (temp 2X2 matrix of float)
+0:378 'r8' (temp 2X2 matrix of float)
+0:378 matrix-multiply (temp 2X2 matrix of float)
+0:378 'inFM0' (in 2X2 matrix of float)
+0:378 'inFM1' (in 2X2 matrix of float)
+0:388 Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; (global void)
+0:384 Function Parameters:
+0:384 'inF0' (in float)
+0:384 'inF1' (in float)
+0:384 'inFV0' (in 3-component vector of float)
+0:384 'inFV1' (in 3-component vector of float)
+0:384 'inFM0' (in 3X3 matrix of float)
+0:384 'inFM1' (in 3X3 matrix of float)
0:? Sequence
-0:380 move second child to first child (temp float)
-0:380 'r0' (temp float)
-0:380 component-wise multiply (temp float)
-0:380 'inF0' (in float)
-0:380 'inF1' (in float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r1' (temp 3-component vector of float)
-0:380 vector-scale (temp 3-component vector of float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 'inF0' (in float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r2' (temp 3-component vector of float)
-0:380 vector-scale (temp 3-component vector of float)
-0:380 'inF0' (in float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 move second child to first child (temp float)
-0:380 'r3' (temp float)
-0:380 dot-product (global float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 'inFV1' (in 3-component vector of float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r4' (temp 3-component vector of float)
-0:380 matrix-times-vector (temp 3-component vector of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 move second child to first child (temp 3-component vector of float)
-0:380 'r5' (temp 3-component vector of float)
-0:380 vector-times-matrix (temp 3-component vector of float)
-0:380 'inFV0' (in 3-component vector of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 move second child to first child (temp 3X3 matrix of float)
-0:380 'r6' (temp 3X3 matrix of float)
-0:380 matrix-scale (temp 3X3 matrix of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 'inF0' (in float)
-0:380 move second child to first child (temp 3X3 matrix of float)
-0:380 'r7' (temp 3X3 matrix of float)
-0:380 matrix-scale (temp 3X3 matrix of float)
-0:380 'inF0' (in float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 move second child to first child (temp 3X3 matrix of float)
-0:380 'r8' (temp 3X3 matrix of float)
-0:380 matrix-multiply (temp 3X3 matrix of float)
-0:380 'inFM0' (in 3X3 matrix of float)
-0:380 'inFM1' (in 3X3 matrix of float)
-0:389 Function Definition: TestGenMul(f1;f1;vf4;vf4;mf44;mf44; (temp void)
-0:386 Function Parameters:
-0:386 'inF0' (in float)
-0:386 'inF1' (in float)
-0:386 'inFV0' (in 4-component vector of float)
-0:386 'inFV1' (in 4-component vector of float)
-0:386 'inFM0' (in 4X4 matrix of float)
-0:386 'inFM1' (in 4X4 matrix of float)
+0:385 Sequence
+0:385 move second child to first child (temp float)
+0:385 'r0' (temp float)
+0:385 component-wise multiply (temp float)
+0:385 'inF0' (in float)
+0:385 'inF1' (in float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r1' (temp 3-component vector of float)
+0:385 vector-scale (temp 3-component vector of float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 'inF0' (in float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r2' (temp 3-component vector of float)
+0:385 vector-scale (temp 3-component vector of float)
+0:385 'inF0' (in float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 Sequence
+0:385 move second child to first child (temp float)
+0:385 'r3' (temp float)
+0:385 dot-product (global float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 'inFV1' (in 3-component vector of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r4' (temp 3-component vector of float)
+0:385 matrix-times-vector (temp 3-component vector of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3-component vector of float)
+0:385 'r5' (temp 3-component vector of float)
+0:385 vector-times-matrix (temp 3-component vector of float)
+0:385 'inFV0' (in 3-component vector of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3X3 matrix of float)
+0:385 'r6' (temp 3X3 matrix of float)
+0:385 matrix-scale (temp 3X3 matrix of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 'inF0' (in float)
+0:385 Sequence
+0:385 move second child to first child (temp 3X3 matrix of float)
+0:385 'r7' (temp 3X3 matrix of float)
+0:385 matrix-scale (temp 3X3 matrix of float)
+0:385 'inF0' (in float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 Sequence
+0:385 move second child to first child (temp 3X3 matrix of float)
+0:385 'r8' (temp 3X3 matrix of float)
+0:385 matrix-multiply (temp 3X3 matrix of float)
+0:385 'inFM0' (in 3X3 matrix of float)
+0:385 'inFM1' (in 3X3 matrix of float)
+0:396 Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; (global void)
+0:391 Function Parameters:
+0:391 'inF0' (in float)
+0:391 'inF1' (in float)
+0:391 'inFV0' (in 4-component vector of float)
+0:391 'inFV1' (in 4-component vector of float)
+0:391 'inFM0' (in 4X4 matrix of float)
+0:391 'inFM1' (in 4X4 matrix of float)
0:? Sequence
-0:387 move second child to first child (temp float)
-0:387 'r0' (temp float)
-0:387 component-wise multiply (temp float)
-0:387 'inF0' (in float)
-0:387 'inF1' (in float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r1' (temp 4-component vector of float)
-0:387 vector-scale (temp 4-component vector of float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 'inF0' (in float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r2' (temp 4-component vector of float)
-0:387 vector-scale (temp 4-component vector of float)
-0:387 'inF0' (in float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 move second child to first child (temp float)
-0:387 'r3' (temp float)
-0:387 dot-product (global float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 'inFV1' (in 4-component vector of float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r4' (temp 4-component vector of float)
-0:387 matrix-times-vector (temp 4-component vector of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 move second child to first child (temp 4-component vector of float)
-0:387 'r5' (temp 4-component vector of float)
-0:387 vector-times-matrix (temp 4-component vector of float)
-0:387 'inFV0' (in 4-component vector of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 move second child to first child (temp 4X4 matrix of float)
-0:387 'r6' (temp 4X4 matrix of float)
-0:387 matrix-scale (temp 4X4 matrix of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 'inF0' (in float)
-0:387 move second child to first child (temp 4X4 matrix of float)
-0:387 'r7' (temp 4X4 matrix of float)
-0:387 matrix-scale (temp 4X4 matrix of float)
-0:387 'inF0' (in float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 move second child to first child (temp 4X4 matrix of float)
-0:387 'r8' (temp 4X4 matrix of float)
-0:387 matrix-multiply (temp 4X4 matrix of float)
-0:387 'inFM0' (in 4X4 matrix of float)
-0:387 'inFM1' (in 4X4 matrix of float)
+0:392 Sequence
+0:392 move second child to first child (temp float)
+0:392 'r0' (temp float)
+0:392 component-wise multiply (temp float)
+0:392 'inF0' (in float)
+0:392 'inF1' (in float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r1' (temp 4-component vector of float)
+0:392 vector-scale (temp 4-component vector of float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 'inF0' (in float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r2' (temp 4-component vector of float)
+0:392 vector-scale (temp 4-component vector of float)
+0:392 'inF0' (in float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 Sequence
+0:392 move second child to first child (temp float)
+0:392 'r3' (temp float)
+0:392 dot-product (global float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 'inFV1' (in 4-component vector of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r4' (temp 4-component vector of float)
+0:392 matrix-times-vector (temp 4-component vector of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4-component vector of float)
+0:392 'r5' (temp 4-component vector of float)
+0:392 vector-times-matrix (temp 4-component vector of float)
+0:392 'inFV0' (in 4-component vector of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4X4 matrix of float)
+0:392 'r6' (temp 4X4 matrix of float)
+0:392 matrix-scale (temp 4X4 matrix of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 'inF0' (in float)
+0:392 Sequence
+0:392 move second child to first child (temp 4X4 matrix of float)
+0:392 'r7' (temp 4X4 matrix of float)
+0:392 matrix-scale (temp 4X4 matrix of float)
+0:392 'inF0' (in float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 Sequence
+0:392 move second child to first child (temp 4X4 matrix of float)
+0:392 'r8' (temp 4X4 matrix of float)
+0:392 matrix-multiply (temp 4X4 matrix of float)
+0:392 'inFM0' (in 4X4 matrix of float)
+0:392 'inFM1' (in 4X4 matrix of float)
+0:420 Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42; (global void)
+0:401 Function Parameters:
+0:401 'inF0' (in float)
+0:401 'inF1' (in float)
+0:401 'inFV2' (in 2-component vector of float)
+0:401 'inFV3' (in 3-component vector of float)
+0:401 'inFM2x3' (in 3X2 matrix of float)
+0:401 'inFM3x2' (in 2X3 matrix of float)
+0:401 'inFM3x3' (in 3X3 matrix of float)
+0:401 'inFM3x4' (in 4X3 matrix of float)
+0:401 'inFM2x4' (in 4X2 matrix of float)
+0:? Sequence
+0:402 Sequence
+0:402 move second child to first child (temp float)
+0:402 'r00' (temp float)
+0:402 component-wise multiply (temp float)
+0:402 'inF0' (in float)
+0:402 'inF1' (in float)
+0:403 Sequence
+0:403 move second child to first child (temp 2-component vector of float)
+0:403 'r01' (temp 2-component vector of float)
+0:403 vector-scale (temp 2-component vector of float)
+0:403 'inFV2' (in 2-component vector of float)
+0:403 'inF0' (in float)
+0:404 Sequence
+0:404 move second child to first child (temp 3-component vector of float)
+0:404 'r02' (temp 3-component vector of float)
+0:404 vector-scale (temp 3-component vector of float)
+0:404 'inFV3' (in 3-component vector of float)
+0:404 'inF0' (in float)
+0:405 Sequence
+0:405 move second child to first child (temp 2-component vector of float)
+0:405 'r03' (temp 2-component vector of float)
+0:405 vector-scale (temp 2-component vector of float)
+0:405 'inF0' (in float)
+0:405 'inFV2' (in 2-component vector of float)
+0:406 Sequence
+0:406 move second child to first child (temp 3-component vector of float)
+0:406 'r04' (temp 3-component vector of float)
+0:406 vector-scale (temp 3-component vector of float)
+0:406 'inF0' (in float)
+0:406 'inFV3' (in 3-component vector of float)
+0:407 Sequence
+0:407 move second child to first child (temp float)
+0:407 'r05' (temp float)
+0:407 dot-product (global float)
+0:407 'inFV2' (in 2-component vector of float)
+0:407 'inFV2' (in 2-component vector of float)
+0:408 Sequence
+0:408 move second child to first child (temp float)
+0:408 'r06' (temp float)
+0:408 dot-product (global float)
+0:408 'inFV3' (in 3-component vector of float)
+0:408 'inFV3' (in 3-component vector of float)
+0:409 Sequence
+0:409 move second child to first child (temp 3-component vector of float)
+0:409 'r07' (temp 3-component vector of float)
+0:409 vector-times-matrix (temp 3-component vector of float)
+0:409 'inFV2' (in 2-component vector of float)
+0:409 'inFM2x3' (in 3X2 matrix of float)
+0:410 Sequence
+0:410 move second child to first child (temp 2-component vector of float)
+0:410 'r08' (temp 2-component vector of float)
+0:410 vector-times-matrix (temp 2-component vector of float)
+0:410 'inFV3' (in 3-component vector of float)
+0:410 'inFM3x2' (in 2X3 matrix of float)
+0:411 Sequence
+0:411 move second child to first child (temp 2-component vector of float)
+0:411 'r09' (temp 2-component vector of float)
+0:411 matrix-times-vector (temp 2-component vector of float)
+0:411 'inFM2x3' (in 3X2 matrix of float)
+0:411 'inFV3' (in 3-component vector of float)
+0:412 Sequence
+0:412 move second child to first child (temp 3-component vector of float)
+0:412 'r10' (temp 3-component vector of float)
+0:412 matrix-times-vector (temp 3-component vector of float)
+0:412 'inFM3x2' (in 2X3 matrix of float)
+0:412 'inFV2' (in 2-component vector of float)
+0:413 Sequence
+0:413 move second child to first child (temp 3X2 matrix of float)
+0:413 'r11' (temp 3X2 matrix of float)
+0:413 matrix-scale (temp 3X2 matrix of float)
+0:413 'inFM2x3' (in 3X2 matrix of float)
+0:413 'inF0' (in float)
+0:414 Sequence
+0:414 move second child to first child (temp 2X3 matrix of float)
+0:414 'r12' (temp 2X3 matrix of float)
+0:414 matrix-scale (temp 2X3 matrix of float)
+0:414 'inFM3x2' (in 2X3 matrix of float)
+0:414 'inF0' (in float)
+0:415 Sequence
+0:415 move second child to first child (temp 2X2 matrix of float)
+0:415 'r13' (temp 2X2 matrix of float)
+0:415 matrix-multiply (temp 2X2 matrix of float)
+0:415 'inFM2x3' (in 3X2 matrix of float)
+0:415 'inFM3x2' (in 2X3 matrix of float)
+0:416 Sequence
+0:416 move second child to first child (temp 3X2 matrix of float)
+0:416 'r14' (temp 3X2 matrix of float)
+0:416 matrix-multiply (temp 3X2 matrix of float)
+0:416 'inFM2x3' (in 3X2 matrix of float)
+0:416 'inFM3x3' (in 3X3 matrix of float)
+0:417 Sequence
+0:417 move second child to first child (temp 4X2 matrix of float)
+0:417 'r15' (temp 4X2 matrix of float)
+0:417 matrix-multiply (temp 4X2 matrix of float)
+0:417 'inFM2x3' (in 3X2 matrix of float)
+0:417 'inFM3x4' (in 4X3 matrix of float)
+0:418 Sequence
+0:418 move second child to first child (temp 4X3 matrix of float)
+0:418 'r16' (temp 4X3 matrix of float)
+0:418 matrix-multiply (temp 4X3 matrix of float)
+0:418 'inFM3x2' (in 2X3 matrix of float)
+0:418 'inFM2x4' (in 4X2 matrix of float)
0:? Linker Objects
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 1090
+// Id's are bound by 1238
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "VertexShaderFunction" 48 67 73 80 174 192 198 205 321 339 345 352 470 488 494 501 626 640 647 742 756 763 861 875 882
+ EntryPoint Vertex 4 "VertexShaderFunction"
Source HLSL 450
Name 4 "VertexShaderFunction"
- Name 19 "TestGenMul(f1;f1;vf2;vf2;mf22;mf22;"
- Name 13 "inF0"
- Name 14 "inF1"
- Name 15 "inFV0"
- Name 16 "inFV1"
- Name 17 "inFM0"
- Name 18 "inFM1"
- Name 32 "TestGenMul(f1;f1;vf3;vf3;mf33;mf33;"
- Name 26 "inF0"
- Name 27 "inF1"
- Name 28 "inFV0"
- Name 29 "inFV1"
- Name 30 "inFM0"
- Name 31 "inFM1"
- Name 45 "TestGenMul(f1;f1;vf4;vf4;mf44;mf44;"
- Name 39 "inF0"
- Name 40 "inF1"
- Name 41 "inFV0"
- Name 42 "inFV1"
- Name 43 "inFM0"
- Name 44 "inFM1"
- Name 48 "inF0"
- Name 67 "inU0"
- Name 73 "inF1"
- Name 80 "inF2"
- Name 106 "ResType"
- Name 174 "inF0"
- Name 192 "inU0"
- Name 198 "inF1"
- Name 205 "inF2"
- Name 241 "ResType"
- Name 321 "inF0"
- Name 339 "inU0"
- Name 345 "inF1"
- Name 352 "inF2"
- Name 391 "ResType"
- Name 470 "inF0"
- Name 488 "inU0"
- Name 494 "inF1"
- Name 501 "inF2"
- Name 546 "ResType"
- Name 626 "inF0"
- Name 640 "inF1"
- Name 647 "inF2"
- Name 678 "ResType"
- Name 742 "inF0"
- Name 756 "inF1"
- Name 763 "inF2"
- Name 797 "ResType"
- Name 861 "inF0"
- Name 875 "inF1"
- Name 882 "inF2"
- Name 919 "ResType"
- Name 982 "r0"
- Name 986 "r1"
- Name 990 "r2"
- Name 994 "r3"
- Name 998 "r4"
- Name 1002 "r5"
- Name 1006 "r6"
- Name 1010 "r7"
- Name 1014 "r8"
- Name 1018 "r0"
- Name 1022 "r1"
- Name 1026 "r2"
- Name 1030 "r3"
- Name 1034 "r4"
- Name 1038 "r5"
- Name 1042 "r6"
- Name 1046 "r7"
- Name 1050 "r8"
- Name 1054 "r0"
- Name 1058 "r1"
- Name 1062 "r2"
- Name 1066 "r3"
- Name 1070 "r4"
- Name 1074 "r5"
- Name 1078 "r6"
- Name 1082 "r7"
- Name 1086 "r8"
+ Name 16 "VertexShaderFunctionS(f1;f1;f1;u1;u1;"
+ Name 11 "inF0"
+ Name 12 "inF1"
+ Name 13 "inF2"
+ Name 14 "inU0"
+ Name 15 "inU1"
+ Name 22 "VertexShaderFunction1(vf1;vf1;vf1;"
+ Name 19 "inF0"
+ Name 20 "inF1"
+ Name 21 "inF2"
+ Name 34 "VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2;"
+ Name 29 "inF0"
+ Name 30 "inF1"
+ Name 31 "inF2"
+ Name 32 "inU0"
+ Name 33 "inU1"
+ Name 46 "VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3;"
+ Name 41 "inF0"
+ Name 42 "inF1"
+ Name 43 "inF2"
+ Name 44 "inU0"
+ Name 45 "inU1"
+ Name 58 "VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4;"
+ Name 53 "inF0"
+ Name 54 "inF1"
+ Name 55 "inF2"
+ Name 56 "inU0"
+ Name 57 "inU1"
+ Name 66 "VertexShaderFunction2x2(mf22;mf22;mf22;"
+ Name 63 "inF0"
+ Name 64 "inF1"
+ Name 65 "inF2"
+ Name 74 "VertexShaderFunction3x3(mf33;mf33;mf33;"
+ Name 71 "inF0"
+ Name 72 "inF1"
+ Name 73 "inF2"
+ Name 82 "VertexShaderFunction4x4(mf44;mf44;mf44;"
+ Name 79 "inF0"
+ Name 80 "inF1"
+ Name 81 "inF2"
+ Name 91 "TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;"
+ Name 85 "inF0"
+ Name 86 "inF1"
+ Name 87 "inFV0"
+ Name 88 "inFV1"
+ Name 89 "inFM0"
+ Name 90 "inFM1"
+ Name 100 "TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;"
+ Name 94 "inF0"
+ Name 95 "inF1"
+ Name 96 "inFV0"
+ Name 97 "inFV1"
+ Name 98 "inFM0"
+ Name 99 "inFM1"
+ Name 109 "TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;"
+ Name 103 "inF0"
+ Name 104 "inF1"
+ Name 105 "inFV0"
+ Name 106 "inFV1"
+ Name 107 "inFM0"
+ Name 108 "inFM1"
+ Name 129 "TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;"
+ Name 120 "inF0"
+ Name 121 "inF1"
+ Name 122 "inFV2"
+ Name 123 "inFV3"
+ Name 124 "inFM2x3"
+ Name 125 "inFM3x2"
+ Name 126 "inFM3x3"
+ Name 127 "inFM3x4"
+ Name 128 "inFM2x4"
+ Name 183 "ResType"
+ Name 317 "ResType"
+ Name 465 "ResType"
+ Name 618 "ResType"
+ Name 751 "ResType"
+ Name 871 "ResType"
+ Name 994 "ResType"
+ Name 1062 "r0"
+ Name 1066 "r1"
+ Name 1070 "r2"
+ Name 1074 "r3"
+ Name 1078 "r4"
+ Name 1082 "r5"
+ Name 1086 "r6"
+ Name 1090 "r7"
+ Name 1094 "r8"
+ Name 1098 "r0"
+ Name 1102 "r1"
+ Name 1106 "r2"
+ Name 1110 "r3"
+ Name 1114 "r4"
+ Name 1118 "r5"
+ Name 1122 "r6"
+ Name 1126 "r7"
+ Name 1130 "r8"
+ Name 1134 "r0"
+ Name 1138 "r1"
+ Name 1142 "r2"
+ Name 1146 "r3"
+ Name 1150 "r4"
+ Name 1154 "r5"
+ Name 1158 "r6"
+ Name 1162 "r7"
+ Name 1166 "r8"
+ Name 1170 "r00"
+ Name 1174 "r01"
+ Name 1178 "r02"
+ Name 1182 "r03"
+ Name 1186 "r04"
+ Name 1190 "r05"
+ Name 1194 "r06"
+ Name 1198 "r07"
+ Name 1202 "r08"
+ Name 1206 "r09"
+ Name 1210 "r10"
+ Name 1214 "r11"
+ Name 1218 "r12"
+ Name 1222 "r13"
+ Name 1226 "r14"
+ Name 1230 "r15"
+ Name 1234 "r16"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
- 8: TypeVector 6(float) 2
- 9: TypePointer Function 8(fvec2)
- 10: TypeMatrix 8(fvec2) 2
- 11: TypePointer Function 10
- 12: TypeFunction 2 7(ptr) 7(ptr) 9(ptr) 9(ptr) 11(ptr) 11(ptr)
- 21: TypeVector 6(float) 3
- 22: TypePointer Function 21(fvec3)
- 23: TypeMatrix 21(fvec3) 3
- 24: TypePointer Function 23
- 25: TypeFunction 2 7(ptr) 7(ptr) 22(ptr) 22(ptr) 24(ptr) 24(ptr)
- 34: TypeVector 6(float) 4
- 35: TypePointer Function 34(fvec4)
- 36: TypeMatrix 34(fvec4) 4
- 37: TypePointer Function 36
- 38: TypeFunction 2 7(ptr) 7(ptr) 35(ptr) 35(ptr) 37(ptr) 37(ptr)
- 47: TypePointer Input 6(float)
- 48(inF0): 47(ptr) Variable Input
- 50: TypeBool
- 61: TypeInt 32 1
- 64: TypeInt 32 0
- 66: TypePointer Input 64(int)
- 67(inU0): 66(ptr) Variable Input
- 73(inF1): 47(ptr) Variable Input
- 80(inF2): 47(ptr) Variable Input
- 87: 64(int) Constant 7
- 95: 61(int) Constant 7
- 106(ResType): TypeStruct 6(float) 61(int)
- 121: 6(float) Constant 1050288283
- 136: 64(int) Constant 2
- 143: 6(float) Constant 0
- 144: 6(float) Constant 1065353216
- 173: TypePointer Input 8(fvec2)
- 174(inF0): 173(ptr) Variable Input
- 186: TypeVector 61(int) 2
- 189: TypeVector 64(int) 2
- 191: TypePointer Input 189(ivec2)
- 192(inU0): 191(ptr) Variable Input
- 198(inF1): 173(ptr) Variable Input
- 205(inF2): 173(ptr) Variable Input
- 212: 64(int) Constant 3
- 213: 189(ivec2) ConstantComposite 87 212
- 241(ResType): TypeStruct 8(fvec2) 186(ivec2)
- 246: TypeVector 50(bool) 2
- 280: 6(float) Constant 1073741824
- 282: 64(int) Constant 1
- 283: 189(ivec2) ConstantComposite 282 136
- 318: 8(fvec2) ConstantComposite 144 280
- 320: TypePointer Input 21(fvec3)
- 321(inF0): 320(ptr) Variable Input
- 333: TypeVector 61(int) 3
- 336: TypeVector 64(int) 3
- 338: TypePointer Input 336(ivec3)
- 339(inU0): 338(ptr) Variable Input
- 345(inF1): 320(ptr) Variable Input
- 352(inF2): 320(ptr) Variable Input
- 359: 64(int) Constant 5
- 360: 336(ivec3) ConstantComposite 87 212 359
- 391(ResType): TypeStruct 21(fvec3) 333(ivec3)
- 396: TypeVector 50(bool) 3
- 431: 336(ivec3) ConstantComposite 282 136 212
- 466: 6(float) Constant 1077936128
- 467: 21(fvec3) ConstantComposite 144 280 466
- 469: TypePointer Input 34(fvec4)
- 470(inF0): 469(ptr) Variable Input
- 482: TypeVector 61(int) 4
- 485: TypeVector 64(int) 4
- 487: TypePointer Input 485(ivec4)
- 488(inU0): 487(ptr) Variable Input
- 494(inF1): 469(ptr) Variable Input
- 501(inF2): 469(ptr) Variable Input
- 508: 485(ivec4) ConstantComposite 87 212 359 136
- 546(ResType): TypeStruct 34(fvec4) 482(ivec4)
- 551: TypeVector 50(bool) 4
- 586: 64(int) Constant 4
- 587: 485(ivec4) ConstantComposite 282 136 212 586
- 622: 6(float) Constant 1082130432
- 623: 34(fvec4) ConstantComposite 144 280 466 622
- 625: TypePointer Input 10
- 626(inF0): 625(ptr) Variable Input
- 640(inF1): 625(ptr) Variable Input
- 647(inF2): 625(ptr) Variable Input
- 678(ResType): TypeStruct 10 186(ivec2)
- 738: 8(fvec2) ConstantComposite 280 280
- 739: 10 ConstantComposite 738 738
- 741: TypePointer Input 23
- 742(inF0): 741(ptr) Variable Input
- 756(inF1): 741(ptr) Variable Input
- 763(inF2): 741(ptr) Variable Input
- 797(ResType): TypeStruct 23 333(ivec3)
- 857: 21(fvec3) ConstantComposite 466 466 466
- 858: 23 ConstantComposite 857 857 857
- 860: TypePointer Input 36
- 861(inF0): 860(ptr) Variable Input
- 875(inF1): 860(ptr) Variable Input
- 882(inF2): 860(ptr) Variable Input
- 919(ResType): TypeStruct 36 482(ivec4)
- 979: 34(fvec4) ConstantComposite 622 622 622 622
- 980: 36 ConstantComposite 979 979 979 979
+ 8: TypeInt 32 0
+ 9: TypePointer Function 8(int)
+ 10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr) 9(ptr)
+ 18: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr)
+ 24: TypeVector 6(float) 2
+ 25: TypePointer Function 24(fvec2)
+ 26: TypeVector 8(int) 2
+ 27: TypePointer Function 26(ivec2)
+ 28: TypeFunction 24(fvec2) 25(ptr) 25(ptr) 25(ptr) 27(ptr) 27(ptr)
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Function 36(fvec3)
+ 38: TypeVector 8(int) 3
+ 39: TypePointer Function 38(ivec3)
+ 40: TypeFunction 36(fvec3) 37(ptr) 37(ptr) 37(ptr) 39(ptr) 39(ptr)
+ 48: TypeVector 6(float) 4
+ 49: TypePointer Function 48(fvec4)
+ 50: TypeVector 8(int) 4
+ 51: TypePointer Function 50(ivec4)
+ 52: TypeFunction 48(fvec4) 49(ptr) 49(ptr) 49(ptr) 51(ptr) 51(ptr)
+ 60: TypeMatrix 24(fvec2) 2
+ 61: TypePointer Function 60
+ 62: TypeFunction 60 61(ptr) 61(ptr) 61(ptr)
+ 68: TypeMatrix 36(fvec3) 3
+ 69: TypePointer Function 68
+ 70: TypeFunction 68 69(ptr) 69(ptr) 69(ptr)
+ 76: TypeMatrix 48(fvec4) 4
+ 77: TypePointer Function 76
+ 78: TypeFunction 76 77(ptr) 77(ptr) 77(ptr)
+ 84: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 25(ptr) 61(ptr) 61(ptr)
+ 93: TypeFunction 2 7(ptr) 7(ptr) 37(ptr) 37(ptr) 69(ptr) 69(ptr)
+ 102: TypeFunction 2 7(ptr) 7(ptr) 49(ptr) 49(ptr) 77(ptr) 77(ptr)
+ 111: TypeMatrix 24(fvec2) 3
+ 112: TypePointer Function 111
+ 113: TypeMatrix 36(fvec3) 2
+ 114: TypePointer Function 113
+ 115: TypeMatrix 36(fvec3) 4
+ 116: TypePointer Function 115
+ 117: TypeMatrix 24(fvec2) 4
+ 118: TypePointer Function 117
+ 119: TypeFunction 2 7(ptr) 7(ptr) 25(ptr) 37(ptr) 112(ptr) 114(ptr) 69(ptr) 116(ptr) 118(ptr)
+ 132: TypeBool
+ 143: TypeInt 32 1
+ 164: 8(int) Constant 7
+ 172: 143(int) Constant 7
+ 183(ResType): TypeStruct 6(float) 143(int)
+ 202: 6(float) Constant 1050288283
+ 217: 8(int) Constant 2
+ 224: 6(float) Constant 0
+ 225: 6(float) Constant 1065353216
+ 267: TypeVector 143(int) 2
+ 288: 8(int) Constant 3
+ 289: 26(ivec2) ConstantComposite 164 288
+ 317(ResType): TypeStruct 24(fvec2) 267(ivec2)
+ 322: TypeVector 132(bool) 2
+ 360: 6(float) Constant 1073741824
+ 362: 8(int) Constant 1
+ 363: 26(ivec2) ConstantComposite 362 217
+ 398: 24(fvec2) ConstantComposite 225 360
+ 412: TypeVector 143(int) 3
+ 433: 8(int) Constant 5
+ 434: 38(ivec3) ConstantComposite 164 288 433
+ 465(ResType): TypeStruct 36(fvec3) 412(ivec3)
+ 470: TypeVector 132(bool) 3
+ 509: 38(ivec3) ConstantComposite 362 217 288
+ 544: 6(float) Constant 1077936128
+ 545: 36(fvec3) ConstantComposite 225 360 544
+ 559: TypeVector 143(int) 4
+ 580: 50(ivec4) ConstantComposite 164 288 433 217
+ 618(ResType): TypeStruct 48(fvec4) 559(ivec4)
+ 623: TypeVector 132(bool) 4
+ 662: 8(int) Constant 4
+ 663: 50(ivec4) ConstantComposite 362 217 288 662
+ 698: 6(float) Constant 1082130432
+ 699: 48(fvec4) ConstantComposite 225 360 544 698
+ 751(ResType): TypeStruct 60 267(ivec2)
+ 815: 24(fvec2) ConstantComposite 360 360
+ 816: 60 ConstantComposite 815 815
+ 871(ResType): TypeStruct 68 412(ivec3)
+ 935: 36(fvec3) ConstantComposite 544 544 544
+ 936: 68 ConstantComposite 935 935 935
+ 994(ResType): TypeStruct 76 559(ivec4)
+ 1058: 48(fvec4) ConstantComposite 698 698 698 698
+ 1059: 76 ConstantComposite 1058 1058 1058 1058
4(VertexShaderFunction): 2 Function None 3
5: Label
- 49: 6(float) Load 48(inF0)
- 51: 50(bool) All 49
- 52: 6(float) Load 48(inF0)
- 53: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 52
- 54: 6(float) Load 48(inF0)
- 55: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 54
- 56: 6(float) Load 48(inF0)
- 57: 50(bool) Any 56
- 58: 6(float) Load 48(inF0)
- 59: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 58
- 60: 6(float) Load 48(inF0)
- 62: 61(int) Bitcast 60
- 63: 6(float) Load 48(inF0)
- 65: 64(int) Bitcast 63
- 68: 64(int) Load 67(inU0)
- 69: 6(float) Bitcast 68
- 70: 6(float) Load 48(inF0)
- 71: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 70
- 72: 6(float) Load 48(inF0)
- 74: 6(float) Load 73(inF1)
- 75: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 72 74
- 76: 6(float) Load 48(inF0)
- 77: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 76
- 78: 6(float) Load 48(inF0)
- 79: 6(float) Load 73(inF1)
- 81: 6(float) Load 80(inF2)
- 82: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 78 79 81
- 83: 6(float) Load 48(inF0)
- 84: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 83
- 85: 6(float) Load 48(inF0)
- 86: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 85
- 88: 64(int) BitCount 87
- 89: 6(float) Load 48(inF0)
- 90: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 89
- 91: 6(float) Load 48(inF0)
- 92: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 91
- 93: 6(float) Load 48(inF0)
- 94: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 93
- 96: 61(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 95
- 97: 61(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 95
- 98: 6(float) Load 48(inF0)
- 99: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 98
- 100: 6(float) Load 48(inF0)
- 101: 6(float) Load 73(inF1)
- 102: 6(float) FMod 100 101
- 103: 6(float) Load 48(inF0)
- 104: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 103
- 105: 6(float) Load 48(inF0)
- 107:106(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 105
- 108: 61(int) CompositeExtract 107 1
- Store 73(inF1) 108
- 109: 6(float) CompositeExtract 107 0
- 110: 6(float) Load 48(inF0)
- 111: 50(bool) IsInf 110
- 112: 6(float) Load 48(inF0)
- 113: 50(bool) IsNan 112
- 114: 6(float) Load 48(inF0)
- 115: 6(float) Load 73(inF1)
- 116: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 114 115
- 117: 6(float) Load 48(inF0)
- 118: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 117
- 119: 6(float) Load 48(inF0)
- 120: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 119
- 122: 6(float) FMul 120 121
- 123: 6(float) Load 48(inF0)
- 124: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 123
- 125: 6(float) Load 48(inF0)
- 126: 6(float) Load 73(inF1)
- 127: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 125 126
- 128: 6(float) Load 48(inF0)
- 129: 6(float) Load 73(inF1)
- 130: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 128 129
- 131: 6(float) Load 48(inF0)
- 132: 6(float) Load 73(inF1)
- 133: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 131 132
- 134: 6(float) Load 48(inF0)
- 135: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 134
- 137: 64(int) BitReverse 136
- 138: 6(float) Load 48(inF0)
- 139: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 138
- 140: 6(float) Load 48(inF0)
- 141: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 140
- 142: 6(float) Load 48(inF0)
- 145: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 142 143 144
- 146: 6(float) Load 48(inF0)
- 147: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 146
- 148: 6(float) Load 48(inF0)
- 149: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 148
- 150: 6(float) Load 48(inF0)
- 151: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 150
- Store 73(inF1) 151
- 152: 6(float) Load 48(inF0)
- 153: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 152
- Store 80(inF2) 153
- 154: 6(float) Load 48(inF0)
- 155: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 154
- 156: 6(float) Load 48(inF0)
- 157: 6(float) Load 73(inF1)
- 158: 6(float) Load 80(inF2)
- 159: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 156 157 158
- 160: 6(float) Load 48(inF0)
- 161: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 160
- 162: 6(float) Load 48(inF0)
- 163: 6(float) Load 73(inF1)
- 164: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 162 163
- 165: 6(float) Load 48(inF0)
- 166: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 165
- 167: 6(float) Load 48(inF0)
- 168: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 167
- 169: 6(float) Load 48(inF0)
- 170: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 169
- ReturnValue 143
FunctionEnd
-19(TestGenMul(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 12
- 13(inF0): 7(ptr) FunctionParameter
- 14(inF1): 7(ptr) FunctionParameter
- 15(inFV0): 9(ptr) FunctionParameter
- 16(inFV1): 9(ptr) FunctionParameter
- 17(inFM0): 11(ptr) FunctionParameter
- 18(inFM1): 11(ptr) FunctionParameter
- 20: Label
- 982(r0): 7(ptr) Variable Function
- 986(r1): 9(ptr) Variable Function
- 990(r2): 9(ptr) Variable Function
- 994(r3): 7(ptr) Variable Function
- 998(r4): 9(ptr) Variable Function
- 1002(r5): 9(ptr) Variable Function
- 1006(r6): 11(ptr) Variable Function
- 1010(r7): 11(ptr) Variable Function
- 1014(r8): 11(ptr) Variable Function
- 983: 6(float) Load 13(inF0)
- 984: 6(float) Load 14(inF1)
- 985: 6(float) FMul 983 984
- Store 982(r0) 985
- 987: 8(fvec2) Load 15(inFV0)
- 988: 6(float) Load 13(inF0)
- 989: 8(fvec2) VectorTimesScalar 987 988
- Store 986(r1) 989
- 991: 6(float) Load 13(inF0)
- 992: 8(fvec2) Load 15(inFV0)
- 993: 8(fvec2) VectorTimesScalar 992 991
- Store 990(r2) 993
- 995: 8(fvec2) Load 15(inFV0)
- 996: 8(fvec2) Load 16(inFV1)
- 997: 6(float) Dot 995 996
- Store 994(r3) 997
- 999: 10 Load 17(inFM0)
- 1000: 8(fvec2) Load 15(inFV0)
- 1001: 8(fvec2) MatrixTimesVector 999 1000
- Store 998(r4) 1001
- 1003: 8(fvec2) Load 15(inFV0)
- 1004: 10 Load 17(inFM0)
- 1005: 8(fvec2) VectorTimesMatrix 1003 1004
- Store 1002(r5) 1005
- 1007: 10 Load 17(inFM0)
- 1008: 6(float) Load 13(inF0)
- 1009: 10 MatrixTimesScalar 1007 1008
- Store 1006(r6) 1009
- 1011: 6(float) Load 13(inF0)
- 1012: 10 Load 17(inFM0)
- 1013: 10 MatrixTimesScalar 1012 1011
- Store 1010(r7) 1013
- 1015: 10 Load 17(inFM0)
- 1016: 10 Load 18(inFM1)
- 1017: 10 MatrixTimesMatrix 1015 1016
- Store 1014(r8) 1017
+16(VertexShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10
+ 11(inF0): 7(ptr) FunctionParameter
+ 12(inF1): 7(ptr) FunctionParameter
+ 13(inF2): 7(ptr) FunctionParameter
+ 14(inU0): 9(ptr) FunctionParameter
+ 15(inU1): 9(ptr) FunctionParameter
+ 17: Label
+ 131: 6(float) Load 11(inF0)
+ 133: 132(bool) All 131
+ 134: 6(float) Load 11(inF0)
+ 135: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 134
+ 136: 6(float) Load 11(inF0)
+ 137: 6(float) ExtInst 1(GLSL.std.450) 17(Acos) 136
+ 138: 6(float) Load 11(inF0)
+ 139: 132(bool) Any 138
+ 140: 6(float) Load 11(inF0)
+ 141: 6(float) ExtInst 1(GLSL.std.450) 16(Asin) 140
+ 142: 6(float) Load 11(inF0)
+ 144: 143(int) Bitcast 142
+ 145: 6(float) Load 11(inF0)
+ 146: 8(int) Bitcast 145
+ 147: 8(int) Load 14(inU0)
+ 148: 6(float) Bitcast 147
+ 149: 6(float) Load 11(inF0)
+ 150: 6(float) ExtInst 1(GLSL.std.450) 18(Atan) 149
+ 151: 6(float) Load 11(inF0)
+ 152: 6(float) Load 12(inF1)
+ 153: 6(float) ExtInst 1(GLSL.std.450) 25(Atan2) 151 152
+ 154: 6(float) Load 11(inF0)
+ 155: 6(float) ExtInst 1(GLSL.std.450) 9(Ceil) 154
+ 156: 6(float) Load 11(inF0)
+ 157: 6(float) Load 12(inF1)
+ 158: 6(float) Load 13(inF2)
+ 159: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 156 157 158
+ 160: 6(float) Load 11(inF0)
+ 161: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 160
+ 162: 6(float) Load 11(inF0)
+ 163: 6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 162
+ 165: 8(int) BitCount 164
+ 166: 6(float) Load 11(inF0)
+ 167: 6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 166
+ 168: 6(float) Load 11(inF0)
+ 169: 6(float) ExtInst 1(GLSL.std.450) 27(Exp) 168
+ 170: 6(float) Load 11(inF0)
+ 171: 6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 170
+ 173: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 174: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 175: 6(float) Load 11(inF0)
+ 176: 6(float) ExtInst 1(GLSL.std.450) 8(Floor) 175
+ 177: 6(float) Load 11(inF0)
+ 178: 6(float) Load 12(inF1)
+ 179: 6(float) FMod 177 178
+ 180: 6(float) Load 11(inF0)
+ 181: 6(float) ExtInst 1(GLSL.std.450) 10(Fract) 180
+ 182: 6(float) Load 11(inF0)
+ 184:183(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 182
+ 185: 143(int) CompositeExtract 184 1
+ Store 12(inF1) 185
+ 186: 6(float) CompositeExtract 184 0
+ 187: 6(float) Load 11(inF0)
+ 188: 132(bool) IsInf 187
+ 189: 6(float) Load 11(inF0)
+ 190: 132(bool) IsNan 189
+ 191: 6(float) Load 11(inF0)
+ 192: 6(float) Load 12(inF1)
+ 193: 6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 191 192
+ 194: 6(float) Load 11(inF0)
+ 195: 6(float) Load 12(inF1)
+ 196: 6(float) Load 13(inF2)
+ 197: 6(float) ExtInst 1(GLSL.std.450) 46(FMix) 194 195 196
+ 198: 6(float) Load 11(inF0)
+ 199: 6(float) ExtInst 1(GLSL.std.450) 28(Log) 198
+ 200: 6(float) Load 11(inF0)
+ 201: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 200
+ 203: 6(float) FMul 201 202
+ 204: 6(float) Load 11(inF0)
+ 205: 6(float) ExtInst 1(GLSL.std.450) 30(Log2) 204
+ 206: 6(float) Load 11(inF0)
+ 207: 6(float) Load 12(inF1)
+ 208: 6(float) ExtInst 1(GLSL.std.450) 40(FMax) 206 207
+ 209: 6(float) Load 11(inF0)
+ 210: 6(float) Load 12(inF1)
+ 211: 6(float) ExtInst 1(GLSL.std.450) 37(FMin) 209 210
+ 212: 6(float) Load 11(inF0)
+ 213: 6(float) Load 12(inF1)
+ 214: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 212 213
+ 215: 6(float) Load 11(inF0)
+ 216: 6(float) ExtInst 1(GLSL.std.450) 11(Radians) 215
+ 218: 8(int) BitReverse 217
+ 219: 6(float) Load 11(inF0)
+ 220: 6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 219
+ 221: 6(float) Load 11(inF0)
+ 222: 6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 221
+ 223: 6(float) Load 11(inF0)
+ 226: 6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 223 224 225
+ 227: 6(float) Load 11(inF0)
+ 228: 6(float) ExtInst 1(GLSL.std.450) 6(FSign) 227
+ 229: 6(float) Load 11(inF0)
+ 230: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 229
+ 231: 6(float) Load 11(inF0)
+ 232: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 231
+ Store 12(inF1) 232
+ 233: 6(float) Load 11(inF0)
+ 234: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 233
+ Store 13(inF2) 234
+ 235: 6(float) Load 11(inF0)
+ 236: 6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 235
+ 237: 6(float) Load 11(inF0)
+ 238: 6(float) Load 12(inF1)
+ 239: 6(float) Load 13(inF2)
+ 240: 6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 237 238 239
+ 241: 6(float) Load 11(inF0)
+ 242: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 241
+ 243: 6(float) Load 11(inF0)
+ 244: 6(float) Load 12(inF1)
+ 245: 6(float) ExtInst 1(GLSL.std.450) 48(Step) 243 244
+ 246: 6(float) Load 11(inF0)
+ 247: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 246
+ 248: 6(float) Load 11(inF0)
+ 249: 6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 248
+ 250: 6(float) Load 11(inF0)
+ 251: 6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 250
+ ReturnValue 224
+ FunctionEnd
+22(VertexShaderFunction1(vf1;vf1;vf1;): 6(float) Function None 18
+ 19(inF0): 7(ptr) FunctionParameter
+ 20(inF1): 7(ptr) FunctionParameter
+ 21(inF2): 7(ptr) FunctionParameter
+ 23: Label
+ ReturnValue 224
+ FunctionEnd
+34(VertexShaderFunction2(vf2;vf2;vf2;vu2;vu2;): 24(fvec2) Function None 28
+ 29(inF0): 25(ptr) FunctionParameter
+ 30(inF1): 25(ptr) FunctionParameter
+ 31(inF2): 25(ptr) FunctionParameter
+ 32(inU0): 27(ptr) FunctionParameter
+ 33(inU1): 27(ptr) FunctionParameter
+ 35: Label
+ 256: 24(fvec2) Load 29(inF0)
+ 257: 132(bool) All 256
+ 258: 24(fvec2) Load 29(inF0)
+ 259: 24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 258
+ 260: 24(fvec2) Load 29(inF0)
+ 261: 24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 260
+ 262: 24(fvec2) Load 29(inF0)
+ 263: 132(bool) Any 262
+ 264: 24(fvec2) Load 29(inF0)
+ 265: 24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 264
+ 266: 24(fvec2) Load 29(inF0)
+ 268: 267(ivec2) Bitcast 266
+ 269: 24(fvec2) Load 29(inF0)
+ 270: 26(ivec2) Bitcast 269
+ 271: 26(ivec2) Load 32(inU0)
+ 272: 24(fvec2) Bitcast 271
+ 273: 24(fvec2) Load 29(inF0)
+ 274: 24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 273
+ 275: 24(fvec2) Load 29(inF0)
+ 276: 24(fvec2) Load 30(inF1)
+ 277: 24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 275 276
+ 278: 24(fvec2) Load 29(inF0)
+ 279: 24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 278
+ 280: 24(fvec2) Load 29(inF0)
+ 281: 24(fvec2) Load 30(inF1)
+ 282: 24(fvec2) Load 31(inF2)
+ 283: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 280 281 282
+ 284: 24(fvec2) Load 29(inF0)
+ 285: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 284
+ 286: 24(fvec2) Load 29(inF0)
+ 287: 24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 286
+ 290: 26(ivec2) BitCount 289
+ 291: 24(fvec2) Load 29(inF0)
+ 292: 24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 291
+ 293: 24(fvec2) Load 29(inF0)
+ 294: 24(fvec2) Load 30(inF1)
+ 295: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 293 294
+ 296: 24(fvec2) Load 29(inF0)
+ 297: 24(fvec2) Load 30(inF1)
+ 298: 6(float) Dot 296 297
+ 299: 24(fvec2) Load 29(inF0)
+ 300: 24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 299
+ 301: 24(fvec2) Load 29(inF0)
+ 302: 24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 301
+ 303: 24(fvec2) Load 29(inF0)
+ 304: 24(fvec2) Load 30(inF1)
+ 305: 24(fvec2) Load 31(inF2)
+ 306: 24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 303 304 305
+ 307: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 308: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 309: 24(fvec2) Load 29(inF0)
+ 310: 24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 309
+ 311: 24(fvec2) Load 29(inF0)
+ 312: 24(fvec2) Load 30(inF1)
+ 313: 24(fvec2) FMod 311 312
+ 314: 24(fvec2) Load 29(inF0)
+ 315: 24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 314
+ 316: 24(fvec2) Load 29(inF0)
+ 318:317(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 316
+ 319: 267(ivec2) CompositeExtract 318 1
+ Store 30(inF1) 319
+ 320: 24(fvec2) CompositeExtract 318 0
+ 321: 24(fvec2) Load 29(inF0)
+ 323: 322(bvec2) IsInf 321
+ 324: 24(fvec2) Load 29(inF0)
+ 325: 322(bvec2) IsNan 324
+ 326: 24(fvec2) Load 29(inF0)
+ 327: 24(fvec2) Load 30(inF1)
+ 328: 24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 326 327
+ 329: 24(fvec2) Load 29(inF0)
+ 330: 24(fvec2) Load 30(inF1)
+ 331: 24(fvec2) Load 31(inF2)
+ 332: 24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331
+ 333: 24(fvec2) Load 29(inF0)
+ 334: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 333
+ 335: 24(fvec2) Load 29(inF0)
+ 336: 24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 335
+ 337: 24(fvec2) Load 29(inF0)
+ 338: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 337
+ 339: 24(fvec2) VectorTimesScalar 338 202
+ 340: 24(fvec2) Load 29(inF0)
+ 341: 24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 340
+ 342: 24(fvec2) Load 29(inF0)
+ 343: 24(fvec2) Load 30(inF1)
+ 344: 24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 342 343
+ 345: 24(fvec2) Load 29(inF0)
+ 346: 24(fvec2) Load 30(inF1)
+ 347: 24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 345 346
+ 348: 24(fvec2) Load 29(inF0)
+ 349: 24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 348
+ 350: 24(fvec2) Load 29(inF0)
+ 351: 24(fvec2) Load 30(inF1)
+ 352: 24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 350 351
+ 353: 24(fvec2) Load 29(inF0)
+ 354: 24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 353
+ 355: 24(fvec2) Load 29(inF0)
+ 356: 24(fvec2) Load 30(inF1)
+ 357: 24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 355 356
+ 358: 24(fvec2) Load 29(inF0)
+ 359: 24(fvec2) Load 30(inF1)
+ 361: 24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 358 359 360
+ 364: 26(ivec2) BitReverse 363
+ 365: 24(fvec2) Load 29(inF0)
+ 366: 24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 365
+ 367: 24(fvec2) Load 29(inF0)
+ 368: 24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 367
+ 369: 24(fvec2) Load 29(inF0)
+ 370: 24(fvec2) CompositeConstruct 224 224
+ 371: 24(fvec2) CompositeConstruct 225 225
+ 372: 24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 369 370 371
+ 373: 24(fvec2) Load 29(inF0)
+ 374: 24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 373
+ 375: 24(fvec2) Load 29(inF0)
+ 376: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 375
+ 377: 24(fvec2) Load 29(inF0)
+ 378: 24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 377
+ Store 30(inF1) 378
+ 379: 24(fvec2) Load 29(inF0)
+ 380: 24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 379
+ Store 31(inF2) 380
+ 381: 24(fvec2) Load 29(inF0)
+ 382: 24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 381
+ 383: 24(fvec2) Load 29(inF0)
+ 384: 24(fvec2) Load 30(inF1)
+ 385: 24(fvec2) Load 31(inF2)
+ 386: 24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 383 384 385
+ 387: 24(fvec2) Load 29(inF0)
+ 388: 24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 387
+ 389: 24(fvec2) Load 29(inF0)
+ 390: 24(fvec2) Load 30(inF1)
+ 391: 24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 389 390
+ 392: 24(fvec2) Load 29(inF0)
+ 393: 24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 392
+ 394: 24(fvec2) Load 29(inF0)
+ 395: 24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 394
+ 396: 24(fvec2) Load 29(inF0)
+ 397: 24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 396
+ ReturnValue 398
+ FunctionEnd
+46(VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3;): 36(fvec3) Function None 40
+ 41(inF0): 37(ptr) FunctionParameter
+ 42(inF1): 37(ptr) FunctionParameter
+ 43(inF2): 37(ptr) FunctionParameter
+ 44(inU0): 39(ptr) FunctionParameter
+ 45(inU1): 39(ptr) FunctionParameter
+ 47: Label
+ 401: 36(fvec3) Load 41(inF0)
+ 402: 132(bool) All 401
+ 403: 36(fvec3) Load 41(inF0)
+ 404: 36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 403
+ 405: 36(fvec3) Load 41(inF0)
+ 406: 36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 405
+ 407: 36(fvec3) Load 41(inF0)
+ 408: 132(bool) Any 407
+ 409: 36(fvec3) Load 41(inF0)
+ 410: 36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 409
+ 411: 36(fvec3) Load 41(inF0)
+ 413: 412(ivec3) Bitcast 411
+ 414: 36(fvec3) Load 41(inF0)
+ 415: 38(ivec3) Bitcast 414
+ 416: 38(ivec3) Load 44(inU0)
+ 417: 36(fvec3) Bitcast 416
+ 418: 36(fvec3) Load 41(inF0)
+ 419: 36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 418
+ 420: 36(fvec3) Load 41(inF0)
+ 421: 36(fvec3) Load 42(inF1)
+ 422: 36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 420 421
+ 423: 36(fvec3) Load 41(inF0)
+ 424: 36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 423
+ 425: 36(fvec3) Load 41(inF0)
+ 426: 36(fvec3) Load 42(inF1)
+ 427: 36(fvec3) Load 43(inF2)
+ 428: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 425 426 427
+ 429: 36(fvec3) Load 41(inF0)
+ 430: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 429
+ 431: 36(fvec3) Load 41(inF0)
+ 432: 36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 431
+ 435: 38(ivec3) BitCount 434
+ 436: 36(fvec3) Load 41(inF0)
+ 437: 36(fvec3) Load 42(inF1)
+ 438: 36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 436 437
+ 439: 36(fvec3) Load 41(inF0)
+ 440: 36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 439
+ 441: 36(fvec3) Load 41(inF0)
+ 442: 36(fvec3) Load 42(inF1)
+ 443: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 441 442
+ 444: 36(fvec3) Load 41(inF0)
+ 445: 36(fvec3) Load 42(inF1)
+ 446: 6(float) Dot 444 445
+ 447: 36(fvec3) Load 41(inF0)
+ 448: 36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 447
+ 449: 36(fvec3) Load 41(inF0)
+ 450: 36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 449
+ 451: 36(fvec3) Load 41(inF0)
+ 452: 36(fvec3) Load 42(inF1)
+ 453: 36(fvec3) Load 43(inF2)
+ 454: 36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 451 452 453
+ 455: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 456: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 457: 36(fvec3) Load 41(inF0)
+ 458: 36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 457
+ 459: 36(fvec3) Load 41(inF0)
+ 460: 36(fvec3) Load 42(inF1)
+ 461: 36(fvec3) FMod 459 460
+ 462: 36(fvec3) Load 41(inF0)
+ 463: 36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 462
+ 464: 36(fvec3) Load 41(inF0)
+ 466:465(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 464
+ 467: 412(ivec3) CompositeExtract 466 1
+ Store 42(inF1) 467
+ 468: 36(fvec3) CompositeExtract 466 0
+ 469: 36(fvec3) Load 41(inF0)
+ 471: 470(bvec3) IsInf 469
+ 472: 36(fvec3) Load 41(inF0)
+ 473: 470(bvec3) IsNan 472
+ 474: 36(fvec3) Load 41(inF0)
+ 475: 36(fvec3) Load 42(inF1)
+ 476: 36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 474 475
+ 477: 36(fvec3) Load 41(inF0)
+ 478: 36(fvec3) Load 42(inF1)
+ 479: 36(fvec3) Load 43(inF2)
+ 480: 36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 477 478 479
+ 481: 36(fvec3) Load 41(inF0)
+ 482: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 481
+ 483: 36(fvec3) Load 41(inF0)
+ 484: 36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 483
+ 485: 36(fvec3) Load 41(inF0)
+ 486: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 485
+ 487: 36(fvec3) VectorTimesScalar 486 202
+ 488: 36(fvec3) Load 41(inF0)
+ 489: 36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 488
+ 490: 36(fvec3) Load 41(inF0)
+ 491: 36(fvec3) Load 42(inF1)
+ 492: 36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 490 491
+ 493: 36(fvec3) Load 41(inF0)
+ 494: 36(fvec3) Load 42(inF1)
+ 495: 36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 493 494
+ 496: 36(fvec3) Load 41(inF0)
+ 497: 36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 496
+ 498: 36(fvec3) Load 41(inF0)
+ 499: 36(fvec3) Load 42(inF1)
+ 500: 36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 498 499
+ 501: 36(fvec3) Load 41(inF0)
+ 502: 36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 501
+ 503: 36(fvec3) Load 41(inF0)
+ 504: 36(fvec3) Load 42(inF1)
+ 505: 36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 503 504
+ 506: 36(fvec3) Load 41(inF0)
+ 507: 36(fvec3) Load 42(inF1)
+ 508: 36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 506 507 360
+ 510: 38(ivec3) BitReverse 509
+ 511: 36(fvec3) Load 41(inF0)
+ 512: 36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 511
+ 513: 36(fvec3) Load 41(inF0)
+ 514: 36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 513
+ 515: 36(fvec3) Load 41(inF0)
+ 516: 36(fvec3) CompositeConstruct 224 224 224
+ 517: 36(fvec3) CompositeConstruct 225 225 225
+ 518: 36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 515 516 517
+ 519: 36(fvec3) Load 41(inF0)
+ 520: 36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 519
+ 521: 36(fvec3) Load 41(inF0)
+ 522: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 521
+ 523: 36(fvec3) Load 41(inF0)
+ 524: 36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 523
+ Store 42(inF1) 524
+ 525: 36(fvec3) Load 41(inF0)
+ 526: 36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 525
+ Store 43(inF2) 526
+ 527: 36(fvec3) Load 41(inF0)
+ 528: 36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 527
+ 529: 36(fvec3) Load 41(inF0)
+ 530: 36(fvec3) Load 42(inF1)
+ 531: 36(fvec3) Load 43(inF2)
+ 532: 36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 529 530 531
+ 533: 36(fvec3) Load 41(inF0)
+ 534: 36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 533
+ 535: 36(fvec3) Load 41(inF0)
+ 536: 36(fvec3) Load 42(inF1)
+ 537: 36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 535 536
+ 538: 36(fvec3) Load 41(inF0)
+ 539: 36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 538
+ 540: 36(fvec3) Load 41(inF0)
+ 541: 36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 540
+ 542: 36(fvec3) Load 41(inF0)
+ 543: 36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 542
+ ReturnValue 545
+ FunctionEnd
+58(VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4;): 48(fvec4) Function None 52
+ 53(inF0): 49(ptr) FunctionParameter
+ 54(inF1): 49(ptr) FunctionParameter
+ 55(inF2): 49(ptr) FunctionParameter
+ 56(inU0): 51(ptr) FunctionParameter
+ 57(inU1): 51(ptr) FunctionParameter
+ 59: Label
+ 548: 48(fvec4) Load 53(inF0)
+ 549: 132(bool) All 548
+ 550: 48(fvec4) Load 53(inF0)
+ 551: 48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 550
+ 552: 48(fvec4) Load 53(inF0)
+ 553: 48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 552
+ 554: 48(fvec4) Load 53(inF0)
+ 555: 132(bool) Any 554
+ 556: 48(fvec4) Load 53(inF0)
+ 557: 48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 556
+ 558: 48(fvec4) Load 53(inF0)
+ 560: 559(ivec4) Bitcast 558
+ 561: 48(fvec4) Load 53(inF0)
+ 562: 50(ivec4) Bitcast 561
+ 563: 50(ivec4) Load 56(inU0)
+ 564: 48(fvec4) Bitcast 563
+ 565: 48(fvec4) Load 53(inF0)
+ 566: 48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 565
+ 567: 48(fvec4) Load 53(inF0)
+ 568: 48(fvec4) Load 54(inF1)
+ 569: 48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 567 568
+ 570: 48(fvec4) Load 53(inF0)
+ 571: 48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 570
+ 572: 48(fvec4) Load 53(inF0)
+ 573: 48(fvec4) Load 54(inF1)
+ 574: 48(fvec4) Load 55(inF2)
+ 575: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 572 573 574
+ 576: 48(fvec4) Load 53(inF0)
+ 577: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 576
+ 578: 48(fvec4) Load 53(inF0)
+ 579: 48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 578
+ 581: 50(ivec4) BitCount 580
+ 582: 48(fvec4) Load 53(inF0)
+ 583: 48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 582
+ 584: 48(fvec4) Load 53(inF0)
+ 585: 48(fvec4) Load 54(inF1)
+ 586: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 584 585
+ 587: 48(fvec4) Load 53(inF0)
+ 588: 48(fvec4) Load 54(inF1)
+ 589: 6(float) Dot 587 588
+ 590: 7(ptr) AccessChain 53(inF0) 362
+ 591: 6(float) Load 590
+ 592: 7(ptr) AccessChain 54(inF1) 362
+ 593: 6(float) Load 592
+ 594: 6(float) FMul 591 593
+ 595: 7(ptr) AccessChain 53(inF0) 217
+ 596: 6(float) Load 595
+ 597: 7(ptr) AccessChain 54(inF1) 288
+ 598: 6(float) Load 597
+ 599: 48(fvec4) CompositeConstruct 225 594 596 598
+ 600: 48(fvec4) Load 53(inF0)
+ 601: 48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 600
+ 602: 48(fvec4) Load 53(inF0)
+ 603: 48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 602
+ 604: 48(fvec4) Load 53(inF0)
+ 605: 48(fvec4) Load 54(inF1)
+ 606: 48(fvec4) Load 55(inF2)
+ 607: 48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 604 605 606
+ 608: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 609: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 610: 48(fvec4) Load 53(inF0)
+ 611: 48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 610
+ 612: 48(fvec4) Load 53(inF0)
+ 613: 48(fvec4) Load 54(inF1)
+ 614: 48(fvec4) FMod 612 613
+ 615: 48(fvec4) Load 53(inF0)
+ 616: 48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 615
+ 617: 48(fvec4) Load 53(inF0)
+ 619:618(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 617
+ 620: 559(ivec4) CompositeExtract 619 1
+ Store 54(inF1) 620
+ 621: 48(fvec4) CompositeExtract 619 0
+ 622: 48(fvec4) Load 53(inF0)
+ 624: 623(bvec4) IsInf 622
+ 625: 48(fvec4) Load 53(inF0)
+ 626: 623(bvec4) IsNan 625
+ 627: 48(fvec4) Load 53(inF0)
+ 628: 48(fvec4) Load 54(inF1)
+ 629: 48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 627 628
+ 630: 48(fvec4) Load 53(inF0)
+ 631: 48(fvec4) Load 54(inF1)
+ 632: 48(fvec4) Load 55(inF2)
+ 633: 48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 630 631 632
+ 634: 48(fvec4) Load 53(inF0)
+ 635: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 634
+ 636: 48(fvec4) Load 53(inF0)
+ 637: 48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 636
+ 638: 48(fvec4) Load 53(inF0)
+ 639: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 638
+ 640: 48(fvec4) VectorTimesScalar 639 202
+ 641: 48(fvec4) Load 53(inF0)
+ 642: 48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 641
+ 643: 48(fvec4) Load 53(inF0)
+ 644: 48(fvec4) Load 54(inF1)
+ 645: 48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 643 644
+ 646: 48(fvec4) Load 53(inF0)
+ 647: 48(fvec4) Load 54(inF1)
+ 648: 48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 646 647
+ 649: 48(fvec4) Load 53(inF0)
+ 650: 48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 649
+ 651: 48(fvec4) Load 53(inF0)
+ 652: 48(fvec4) Load 54(inF1)
+ 653: 48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 651 652
+ 654: 48(fvec4) Load 53(inF0)
+ 655: 48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 654
+ 656: 48(fvec4) Load 53(inF0)
+ 657: 48(fvec4) Load 54(inF1)
+ 658: 48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 656 657
+ 659: 48(fvec4) Load 53(inF0)
+ 660: 48(fvec4) Load 54(inF1)
+ 661: 48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 659 660 360
+ 664: 50(ivec4) BitReverse 663
+ 665: 48(fvec4) Load 53(inF0)
+ 666: 48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 665
+ 667: 48(fvec4) Load 53(inF0)
+ 668: 48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 667
+ 669: 48(fvec4) Load 53(inF0)
+ 670: 48(fvec4) CompositeConstruct 224 224 224 224
+ 671: 48(fvec4) CompositeConstruct 225 225 225 225
+ 672: 48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 669 670 671
+ 673: 48(fvec4) Load 53(inF0)
+ 674: 48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 673
+ 675: 48(fvec4) Load 53(inF0)
+ 676: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 675
+ 677: 48(fvec4) Load 53(inF0)
+ 678: 48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 677
+ Store 54(inF1) 678
+ 679: 48(fvec4) Load 53(inF0)
+ 680: 48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 679
+ Store 55(inF2) 680
+ 681: 48(fvec4) Load 53(inF0)
+ 682: 48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 681
+ 683: 48(fvec4) Load 53(inF0)
+ 684: 48(fvec4) Load 54(inF1)
+ 685: 48(fvec4) Load 55(inF2)
+ 686: 48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 683 684 685
+ 687: 48(fvec4) Load 53(inF0)
+ 688: 48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 687
+ 689: 48(fvec4) Load 53(inF0)
+ 690: 48(fvec4) Load 54(inF1)
+ 691: 48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 689 690
+ 692: 48(fvec4) Load 53(inF0)
+ 693: 48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 692
+ 694: 48(fvec4) Load 53(inF0)
+ 695: 48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 694
+ 696: 48(fvec4) Load 53(inF0)
+ 697: 48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 696
+ ReturnValue 699
+ FunctionEnd
+66(VertexShaderFunction2x2(mf22;mf22;mf22;): 60 Function None 62
+ 63(inF0): 61(ptr) FunctionParameter
+ 64(inF1): 61(ptr) FunctionParameter
+ 65(inF2): 61(ptr) FunctionParameter
+ 67: Label
+ 702: 60 Load 63(inF0)
+ 703: 132(bool) All 702
+ 704: 60 Load 63(inF0)
+ 705: 60 ExtInst 1(GLSL.std.450) 4(FAbs) 704
+ 706: 60 Load 63(inF0)
+ 707: 60 ExtInst 1(GLSL.std.450) 17(Acos) 706
+ 708: 60 Load 63(inF0)
+ 709: 132(bool) Any 708
+ 710: 60 Load 63(inF0)
+ 711: 60 ExtInst 1(GLSL.std.450) 16(Asin) 710
+ 712: 60 Load 63(inF0)
+ 713: 60 ExtInst 1(GLSL.std.450) 18(Atan) 712
+ 714: 60 Load 63(inF0)
+ 715: 60 Load 64(inF1)
+ 716: 60 ExtInst 1(GLSL.std.450) 25(Atan2) 714 715
+ 717: 60 Load 63(inF0)
+ 718: 60 ExtInst 1(GLSL.std.450) 9(Ceil) 717
+ 719: 60 Load 63(inF0)
+ 720: 60 Load 64(inF1)
+ 721: 60 Load 65(inF2)
+ 722: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 719 720 721
+ 723: 60 Load 63(inF0)
+ 724: 60 ExtInst 1(GLSL.std.450) 14(Cos) 723
+ 725: 60 Load 63(inF0)
+ 726: 60 ExtInst 1(GLSL.std.450) 20(Cosh) 725
+ 727: 60 Load 63(inF0)
+ 728: 60 ExtInst 1(GLSL.std.450) 12(Degrees) 727
+ 729: 60 Load 63(inF0)
+ 730: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 729
+ 731: 60 Load 63(inF0)
+ 732: 60 ExtInst 1(GLSL.std.450) 27(Exp) 731
+ 733: 60 Load 63(inF0)
+ 734: 60 ExtInst 1(GLSL.std.450) 29(Exp2) 733
+ 735: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 736: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 737: 60 Load 63(inF0)
+ 738: 60 ExtInst 1(GLSL.std.450) 8(Floor) 737
+ 739: 60 Load 63(inF0)
+ 740: 60 Load 64(inF1)
+ 741: 24(fvec2) CompositeExtract 739 0
+ 742: 24(fvec2) CompositeExtract 740 0
+ 743: 24(fvec2) FMod 741 742
+ 744: 24(fvec2) CompositeExtract 739 1
+ 745: 24(fvec2) CompositeExtract 740 1
+ 746: 24(fvec2) FMod 744 745
+ 747: 60 CompositeConstruct 743 746
+ 748: 60 Load 63(inF0)
+ 749: 60 ExtInst 1(GLSL.std.450) 10(Fract) 748
+ 750: 60 Load 63(inF0)
+ 752:751(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 750
+ 753: 267(ivec2) CompositeExtract 752 1
+ Store 64(inF1) 753
+ 754: 60 CompositeExtract 752 0
+ 755: 60 Load 63(inF0)
+ 756: 60 Load 64(inF1)
+ 757: 60 ExtInst 1(GLSL.std.450) 53(Ldexp) 755 756
+ 758: 60 Load 63(inF0)
+ 759: 60 Load 64(inF1)
+ 760: 60 Load 65(inF2)
+ 761: 60 ExtInst 1(GLSL.std.450) 46(FMix) 758 759 760
+ 762: 60 Load 63(inF0)
+ 763: 60 ExtInst 1(GLSL.std.450) 28(Log) 762
+ 764: 60 Load 63(inF0)
+ 765: 60 ExtInst 1(GLSL.std.450) 30(Log2) 764
+ 766: 60 MatrixTimesScalar 765 202
+ 767: 60 Load 63(inF0)
+ 768: 60 ExtInst 1(GLSL.std.450) 30(Log2) 767
+ 769: 60 Load 63(inF0)
+ 770: 60 Load 64(inF1)
+ 771: 60 ExtInst 1(GLSL.std.450) 40(FMax) 769 770
+ 772: 60 Load 63(inF0)
+ 773: 60 Load 64(inF1)
+ 774: 60 ExtInst 1(GLSL.std.450) 37(FMin) 772 773
+ 775: 60 Load 63(inF0)
+ 776: 60 Load 64(inF1)
+ 777: 60 ExtInst 1(GLSL.std.450) 26(Pow) 775 776
+ 778: 60 Load 63(inF0)
+ 779: 60 ExtInst 1(GLSL.std.450) 11(Radians) 778
+ 780: 60 Load 63(inF0)
+ 781: 60 ExtInst 1(GLSL.std.450) 2(RoundEven) 780
+ 782: 60 Load 63(inF0)
+ 783: 60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 782
+ 784: 60 Load 63(inF0)
+ 785: 24(fvec2) CompositeConstruct 224 224
+ 786: 24(fvec2) CompositeConstruct 225 225
+ 787: 60 ExtInst 1(GLSL.std.450) 43(FClamp) 784 785 786
+ 788: 60 Load 63(inF0)
+ 789: 60 ExtInst 1(GLSL.std.450) 6(FSign) 788
+ 790: 60 Load 63(inF0)
+ 791: 60 ExtInst 1(GLSL.std.450) 13(Sin) 790
+ 792: 60 Load 63(inF0)
+ 793: 60 ExtInst 1(GLSL.std.450) 13(Sin) 792
+ Store 64(inF1) 793
+ 794: 60 Load 63(inF0)
+ 795: 60 ExtInst 1(GLSL.std.450) 14(Cos) 794
+ Store 65(inF2) 795
+ 796: 60 Load 63(inF0)
+ 797: 60 ExtInst 1(GLSL.std.450) 19(Sinh) 796
+ 798: 60 Load 63(inF0)
+ 799: 60 Load 64(inF1)
+ 800: 60 Load 65(inF2)
+ 801: 60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 798 799 800
+ 802: 60 Load 63(inF0)
+ 803: 60 ExtInst 1(GLSL.std.450) 31(Sqrt) 802
+ 804: 60 Load 63(inF0)
+ 805: 60 Load 64(inF1)
+ 806: 60 ExtInst 1(GLSL.std.450) 48(Step) 804 805
+ 807: 60 Load 63(inF0)
+ 808: 60 ExtInst 1(GLSL.std.450) 15(Tan) 807
+ 809: 60 Load 63(inF0)
+ 810: 60 ExtInst 1(GLSL.std.450) 21(Tanh) 809
+ 811: 60 Load 63(inF0)
+ 812: 60 Transpose 811
+ 813: 60 Load 63(inF0)
+ 814: 60 ExtInst 1(GLSL.std.450) 3(Trunc) 813
+ ReturnValue 816
+ FunctionEnd
+74(VertexShaderFunction3x3(mf33;mf33;mf33;): 68 Function None 70
+ 71(inF0): 69(ptr) FunctionParameter
+ 72(inF1): 69(ptr) FunctionParameter
+ 73(inF2): 69(ptr) FunctionParameter
+ 75: Label
+ 819: 68 Load 71(inF0)
+ 820: 132(bool) All 819
+ 821: 68 Load 71(inF0)
+ 822: 68 ExtInst 1(GLSL.std.450) 4(FAbs) 821
+ 823: 68 Load 71(inF0)
+ 824: 68 ExtInst 1(GLSL.std.450) 17(Acos) 823
+ 825: 68 Load 71(inF0)
+ 826: 132(bool) Any 825
+ 827: 68 Load 71(inF0)
+ 828: 68 ExtInst 1(GLSL.std.450) 16(Asin) 827
+ 829: 68 Load 71(inF0)
+ 830: 68 ExtInst 1(GLSL.std.450) 18(Atan) 829
+ 831: 68 Load 71(inF0)
+ 832: 68 Load 72(inF1)
+ 833: 68 ExtInst 1(GLSL.std.450) 25(Atan2) 831 832
+ 834: 68 Load 71(inF0)
+ 835: 68 ExtInst 1(GLSL.std.450) 9(Ceil) 834
+ 836: 68 Load 71(inF0)
+ 837: 68 Load 72(inF1)
+ 838: 68 Load 73(inF2)
+ 839: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 836 837 838
+ 840: 68 Load 71(inF0)
+ 841: 68 ExtInst 1(GLSL.std.450) 14(Cos) 840
+ 842: 68 Load 71(inF0)
+ 843: 68 ExtInst 1(GLSL.std.450) 20(Cosh) 842
+ 844: 68 Load 71(inF0)
+ 845: 68 ExtInst 1(GLSL.std.450) 12(Degrees) 844
+ 846: 68 Load 71(inF0)
+ 847: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 846
+ 848: 68 Load 71(inF0)
+ 849: 68 ExtInst 1(GLSL.std.450) 27(Exp) 848
+ 850: 68 Load 71(inF0)
+ 851: 68 ExtInst 1(GLSL.std.450) 29(Exp2) 850
+ 852: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 853: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 854: 68 Load 71(inF0)
+ 855: 68 ExtInst 1(GLSL.std.450) 8(Floor) 854
+ 856: 68 Load 71(inF0)
+ 857: 68 Load 72(inF1)
+ 858: 36(fvec3) CompositeExtract 856 0
+ 859: 36(fvec3) CompositeExtract 857 0
+ 860: 36(fvec3) FMod 858 859
+ 861: 36(fvec3) CompositeExtract 856 1
+ 862: 36(fvec3) CompositeExtract 857 1
+ 863: 36(fvec3) FMod 861 862
+ 864: 36(fvec3) CompositeExtract 856 2
+ 865: 36(fvec3) CompositeExtract 857 2
+ 866: 36(fvec3) FMod 864 865
+ 867: 68 CompositeConstruct 860 863 866
+ 868: 68 Load 71(inF0)
+ 869: 68 ExtInst 1(GLSL.std.450) 10(Fract) 868
+ 870: 68 Load 71(inF0)
+ 872:871(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 870
+ 873: 412(ivec3) CompositeExtract 872 1
+ Store 72(inF1) 873
+ 874: 68 CompositeExtract 872 0
+ 875: 68 Load 71(inF0)
+ 876: 68 Load 72(inF1)
+ 877: 68 ExtInst 1(GLSL.std.450) 53(Ldexp) 875 876
+ 878: 68 Load 71(inF0)
+ 879: 68 Load 72(inF1)
+ 880: 68 Load 73(inF2)
+ 881: 68 ExtInst 1(GLSL.std.450) 46(FMix) 878 879 880
+ 882: 68 Load 71(inF0)
+ 883: 68 ExtInst 1(GLSL.std.450) 28(Log) 882
+ 884: 68 Load 71(inF0)
+ 885: 68 ExtInst 1(GLSL.std.450) 30(Log2) 884
+ 886: 68 MatrixTimesScalar 885 202
+ 887: 68 Load 71(inF0)
+ 888: 68 ExtInst 1(GLSL.std.450) 30(Log2) 887
+ 889: 68 Load 71(inF0)
+ 890: 68 Load 72(inF1)
+ 891: 68 ExtInst 1(GLSL.std.450) 40(FMax) 889 890
+ 892: 68 Load 71(inF0)
+ 893: 68 Load 72(inF1)
+ 894: 68 ExtInst 1(GLSL.std.450) 37(FMin) 892 893
+ 895: 68 Load 71(inF0)
+ 896: 68 Load 72(inF1)
+ 897: 68 ExtInst 1(GLSL.std.450) 26(Pow) 895 896
+ 898: 68 Load 71(inF0)
+ 899: 68 ExtInst 1(GLSL.std.450) 11(Radians) 898
+ 900: 68 Load 71(inF0)
+ 901: 68 ExtInst 1(GLSL.std.450) 2(RoundEven) 900
+ 902: 68 Load 71(inF0)
+ 903: 68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 902
+ 904: 68 Load 71(inF0)
+ 905: 36(fvec3) CompositeConstruct 224 224 224
+ 906: 36(fvec3) CompositeConstruct 225 225 225
+ 907: 68 ExtInst 1(GLSL.std.450) 43(FClamp) 904 905 906
+ 908: 68 Load 71(inF0)
+ 909: 68 ExtInst 1(GLSL.std.450) 6(FSign) 908
+ 910: 68 Load 71(inF0)
+ 911: 68 ExtInst 1(GLSL.std.450) 13(Sin) 910
+ 912: 68 Load 71(inF0)
+ 913: 68 ExtInst 1(GLSL.std.450) 13(Sin) 912
+ Store 72(inF1) 913
+ 914: 68 Load 71(inF0)
+ 915: 68 ExtInst 1(GLSL.std.450) 14(Cos) 914
+ Store 73(inF2) 915
+ 916: 68 Load 71(inF0)
+ 917: 68 ExtInst 1(GLSL.std.450) 19(Sinh) 916
+ 918: 68 Load 71(inF0)
+ 919: 68 Load 72(inF1)
+ 920: 68 Load 73(inF2)
+ 921: 68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 918 919 920
+ 922: 68 Load 71(inF0)
+ 923: 68 ExtInst 1(GLSL.std.450) 31(Sqrt) 922
+ 924: 68 Load 71(inF0)
+ 925: 68 Load 72(inF1)
+ 926: 68 ExtInst 1(GLSL.std.450) 48(Step) 924 925
+ 927: 68 Load 71(inF0)
+ 928: 68 ExtInst 1(GLSL.std.450) 15(Tan) 927
+ 929: 68 Load 71(inF0)
+ 930: 68 ExtInst 1(GLSL.std.450) 21(Tanh) 929
+ 931: 68 Load 71(inF0)
+ 932: 68 Transpose 931
+ 933: 68 Load 71(inF0)
+ 934: 68 ExtInst 1(GLSL.std.450) 3(Trunc) 933
+ ReturnValue 936
+ FunctionEnd
+82(VertexShaderFunction4x4(mf44;mf44;mf44;): 76 Function None 78
+ 79(inF0): 77(ptr) FunctionParameter
+ 80(inF1): 77(ptr) FunctionParameter
+ 81(inF2): 77(ptr) FunctionParameter
+ 83: Label
+ 939: 76 Load 79(inF0)
+ 940: 132(bool) All 939
+ 941: 76 Load 79(inF0)
+ 942: 76 ExtInst 1(GLSL.std.450) 4(FAbs) 941
+ 943: 76 Load 79(inF0)
+ 944: 76 ExtInst 1(GLSL.std.450) 17(Acos) 943
+ 945: 76 Load 79(inF0)
+ 946: 132(bool) Any 945
+ 947: 76 Load 79(inF0)
+ 948: 76 ExtInst 1(GLSL.std.450) 16(Asin) 947
+ 949: 76 Load 79(inF0)
+ 950: 76 ExtInst 1(GLSL.std.450) 18(Atan) 949
+ 951: 76 Load 79(inF0)
+ 952: 76 Load 80(inF1)
+ 953: 76 ExtInst 1(GLSL.std.450) 25(Atan2) 951 952
+ 954: 76 Load 79(inF0)
+ 955: 76 ExtInst 1(GLSL.std.450) 9(Ceil) 954
+ 956: 76 Load 79(inF0)
+ 957: 76 Load 80(inF1)
+ 958: 76 Load 81(inF2)
+ 959: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 956 957 958
+ 960: 76 Load 79(inF0)
+ 961: 76 ExtInst 1(GLSL.std.450) 14(Cos) 960
+ 962: 76 Load 79(inF0)
+ 963: 76 ExtInst 1(GLSL.std.450) 20(Cosh) 962
+ 964: 76 Load 79(inF0)
+ 965: 76 ExtInst 1(GLSL.std.450) 12(Degrees) 964
+ 966: 76 Load 79(inF0)
+ 967: 6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 966
+ 968: 76 Load 79(inF0)
+ 969: 76 ExtInst 1(GLSL.std.450) 27(Exp) 968
+ 970: 76 Load 79(inF0)
+ 971: 76 ExtInst 1(GLSL.std.450) 29(Exp2) 970
+ 972: 143(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 172
+ 973: 143(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 172
+ 974: 76 Load 79(inF0)
+ 975: 76 ExtInst 1(GLSL.std.450) 8(Floor) 974
+ 976: 76 Load 79(inF0)
+ 977: 76 Load 80(inF1)
+ 978: 48(fvec4) CompositeExtract 976 0
+ 979: 48(fvec4) CompositeExtract 977 0
+ 980: 48(fvec4) FMod 978 979
+ 981: 48(fvec4) CompositeExtract 976 1
+ 982: 48(fvec4) CompositeExtract 977 1
+ 983: 48(fvec4) FMod 981 982
+ 984: 48(fvec4) CompositeExtract 976 2
+ 985: 48(fvec4) CompositeExtract 977 2
+ 986: 48(fvec4) FMod 984 985
+ 987: 48(fvec4) CompositeExtract 976 3
+ 988: 48(fvec4) CompositeExtract 977 3
+ 989: 48(fvec4) FMod 987 988
+ 990: 76 CompositeConstruct 980 983 986 989
+ 991: 76 Load 79(inF0)
+ 992: 76 ExtInst 1(GLSL.std.450) 10(Fract) 991
+ 993: 76 Load 79(inF0)
+ 995:994(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 993
+ 996: 559(ivec4) CompositeExtract 995 1
+ Store 80(inF1) 996
+ 997: 76 CompositeExtract 995 0
+ 998: 76 Load 79(inF0)
+ 999: 76 Load 80(inF1)
+ 1000: 76 ExtInst 1(GLSL.std.450) 53(Ldexp) 998 999
+ 1001: 76 Load 79(inF0)
+ 1002: 76 Load 80(inF1)
+ 1003: 76 Load 81(inF2)
+ 1004: 76 ExtInst 1(GLSL.std.450) 46(FMix) 1001 1002 1003
+ 1005: 76 Load 79(inF0)
+ 1006: 76 ExtInst 1(GLSL.std.450) 28(Log) 1005
+ 1007: 76 Load 79(inF0)
+ 1008: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1007
+ 1009: 76 MatrixTimesScalar 1008 202
+ 1010: 76 Load 79(inF0)
+ 1011: 76 ExtInst 1(GLSL.std.450) 30(Log2) 1010
+ 1012: 76 Load 79(inF0)
+ 1013: 76 Load 80(inF1)
+ 1014: 76 ExtInst 1(GLSL.std.450) 40(FMax) 1012 1013
+ 1015: 76 Load 79(inF0)
+ 1016: 76 Load 80(inF1)
+ 1017: 76 ExtInst 1(GLSL.std.450) 37(FMin) 1015 1016
+ 1018: 76 Load 79(inF0)
+ 1019: 76 Load 80(inF1)
+ 1020: 76 ExtInst 1(GLSL.std.450) 26(Pow) 1018 1019
+ 1021: 76 Load 79(inF0)
+ 1022: 76 ExtInst 1(GLSL.std.450) 11(Radians) 1021
+ 1023: 76 Load 79(inF0)
+ 1024: 76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1023
+ 1025: 76 Load 79(inF0)
+ 1026: 76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1025
+ 1027: 76 Load 79(inF0)
+ 1028: 48(fvec4) CompositeConstruct 224 224 224 224
+ 1029: 48(fvec4) CompositeConstruct 225 225 225 225
+ 1030: 76 ExtInst 1(GLSL.std.450) 43(FClamp) 1027 1028 1029
+ 1031: 76 Load 79(inF0)
+ 1032: 76 ExtInst 1(GLSL.std.450) 6(FSign) 1031
+ 1033: 76 Load 79(inF0)
+ 1034: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1033
+ 1035: 76 Load 79(inF0)
+ 1036: 76 ExtInst 1(GLSL.std.450) 13(Sin) 1035
+ Store 80(inF1) 1036
+ 1037: 76 Load 79(inF0)
+ 1038: 76 ExtInst 1(GLSL.std.450) 14(Cos) 1037
+ Store 81(inF2) 1038
+ 1039: 76 Load 79(inF0)
+ 1040: 76 ExtInst 1(GLSL.std.450) 19(Sinh) 1039
+ 1041: 76 Load 79(inF0)
+ 1042: 76 Load 80(inF1)
+ 1043: 76 Load 81(inF2)
+ 1044: 76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1041 1042 1043
+ 1045: 76 Load 79(inF0)
+ 1046: 76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1045
+ 1047: 76 Load 79(inF0)
+ 1048: 76 Load 80(inF1)
+ 1049: 76 ExtInst 1(GLSL.std.450) 48(Step) 1047 1048
+ 1050: 76 Load 79(inF0)
+ 1051: 76 ExtInst 1(GLSL.std.450) 15(Tan) 1050
+ 1052: 76 Load 79(inF0)
+ 1053: 76 ExtInst 1(GLSL.std.450) 21(Tanh) 1052
+ 1054: 76 Load 79(inF0)
+ 1055: 76 Transpose 1054
+ 1056: 76 Load 79(inF0)
+ 1057: 76 ExtInst 1(GLSL.std.450) 3(Trunc) 1056
+ ReturnValue 1059
+ FunctionEnd
+91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;): 2 Function None 84
+ 85(inF0): 7(ptr) FunctionParameter
+ 86(inF1): 7(ptr) FunctionParameter
+ 87(inFV0): 25(ptr) FunctionParameter
+ 88(inFV1): 25(ptr) FunctionParameter
+ 89(inFM0): 61(ptr) FunctionParameter
+ 90(inFM1): 61(ptr) FunctionParameter
+ 92: Label
+ 1062(r0): 7(ptr) Variable Function
+ 1066(r1): 25(ptr) Variable Function
+ 1070(r2): 25(ptr) Variable Function
+ 1074(r3): 7(ptr) Variable Function
+ 1078(r4): 25(ptr) Variable Function
+ 1082(r5): 25(ptr) Variable Function
+ 1086(r6): 61(ptr) Variable Function
+ 1090(r7): 61(ptr) Variable Function
+ 1094(r8): 61(ptr) Variable Function
+ 1063: 6(float) Load 85(inF0)
+ 1064: 6(float) Load 86(inF1)
+ 1065: 6(float) FMul 1063 1064
+ Store 1062(r0) 1065
+ 1067: 24(fvec2) Load 87(inFV0)
+ 1068: 6(float) Load 85(inF0)
+ 1069: 24(fvec2) VectorTimesScalar 1067 1068
+ Store 1066(r1) 1069
+ 1071: 6(float) Load 85(inF0)
+ 1072: 24(fvec2) Load 87(inFV0)
+ 1073: 24(fvec2) VectorTimesScalar 1072 1071
+ Store 1070(r2) 1073
+ 1075: 24(fvec2) Load 87(inFV0)
+ 1076: 24(fvec2) Load 88(inFV1)
+ 1077: 6(float) Dot 1075 1076
+ Store 1074(r3) 1077
+ 1079: 60 Load 89(inFM0)
+ 1080: 24(fvec2) Load 87(inFV0)
+ 1081: 24(fvec2) MatrixTimesVector 1079 1080
+ Store 1078(r4) 1081
+ 1083: 24(fvec2) Load 87(inFV0)
+ 1084: 60 Load 89(inFM0)
+ 1085: 24(fvec2) VectorTimesMatrix 1083 1084
+ Store 1082(r5) 1085
+ 1087: 60 Load 89(inFM0)
+ 1088: 6(float) Load 85(inF0)
+ 1089: 60 MatrixTimesScalar 1087 1088
+ Store 1086(r6) 1089
+ 1091: 6(float) Load 85(inF0)
+ 1092: 60 Load 89(inFM0)
+ 1093: 60 MatrixTimesScalar 1092 1091
+ Store 1090(r7) 1093
+ 1095: 60 Load 89(inFM0)
+ 1096: 60 Load 90(inFM1)
+ 1097: 60 MatrixTimesMatrix 1095 1096
+ Store 1094(r8) 1097
+ Return
+ FunctionEnd
+100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 93
+ 94(inF0): 7(ptr) FunctionParameter
+ 95(inF1): 7(ptr) FunctionParameter
+ 96(inFV0): 37(ptr) FunctionParameter
+ 97(inFV1): 37(ptr) FunctionParameter
+ 98(inFM0): 69(ptr) FunctionParameter
+ 99(inFM1): 69(ptr) FunctionParameter
+ 101: Label
+ 1098(r0): 7(ptr) Variable Function
+ 1102(r1): 37(ptr) Variable Function
+ 1106(r2): 37(ptr) Variable Function
+ 1110(r3): 7(ptr) Variable Function
+ 1114(r4): 37(ptr) Variable Function
+ 1118(r5): 37(ptr) Variable Function
+ 1122(r6): 69(ptr) Variable Function
+ 1126(r7): 69(ptr) Variable Function
+ 1130(r8): 69(ptr) Variable Function
+ 1099: 6(float) Load 94(inF0)
+ 1100: 6(float) Load 95(inF1)
+ 1101: 6(float) FMul 1099 1100
+ Store 1098(r0) 1101
+ 1103: 36(fvec3) Load 96(inFV0)
+ 1104: 6(float) Load 94(inF0)
+ 1105: 36(fvec3) VectorTimesScalar 1103 1104
+ Store 1102(r1) 1105
+ 1107: 6(float) Load 94(inF0)
+ 1108: 36(fvec3) Load 96(inFV0)
+ 1109: 36(fvec3) VectorTimesScalar 1108 1107
+ Store 1106(r2) 1109
+ 1111: 36(fvec3) Load 96(inFV0)
+ 1112: 36(fvec3) Load 97(inFV1)
+ 1113: 6(float) Dot 1111 1112
+ Store 1110(r3) 1113
+ 1115: 68 Load 98(inFM0)
+ 1116: 36(fvec3) Load 96(inFV0)
+ 1117: 36(fvec3) MatrixTimesVector 1115 1116
+ Store 1114(r4) 1117
+ 1119: 36(fvec3) Load 96(inFV0)
+ 1120: 68 Load 98(inFM0)
+ 1121: 36(fvec3) VectorTimesMatrix 1119 1120
+ Store 1118(r5) 1121
+ 1123: 68 Load 98(inFM0)
+ 1124: 6(float) Load 94(inF0)
+ 1125: 68 MatrixTimesScalar 1123 1124
+ Store 1122(r6) 1125
+ 1127: 6(float) Load 94(inF0)
+ 1128: 68 Load 98(inFM0)
+ 1129: 68 MatrixTimesScalar 1128 1127
+ Store 1126(r7) 1129
+ 1131: 68 Load 98(inFM0)
+ 1132: 68 Load 99(inFM1)
+ 1133: 68 MatrixTimesMatrix 1131 1132
+ Store 1130(r8) 1133
Return
FunctionEnd
-32(TestGenMul(f1;f1;vf3;vf3;mf33;mf33;): 2 Function None 25
- 26(inF0): 7(ptr) FunctionParameter
- 27(inF1): 7(ptr) FunctionParameter
- 28(inFV0): 22(ptr) FunctionParameter
- 29(inFV1): 22(ptr) FunctionParameter
- 30(inFM0): 24(ptr) FunctionParameter
- 31(inFM1): 24(ptr) FunctionParameter
- 33: Label
- 1018(r0): 7(ptr) Variable Function
- 1022(r1): 22(ptr) Variable Function
- 1026(r2): 22(ptr) Variable Function
- 1030(r3): 7(ptr) Variable Function
- 1034(r4): 22(ptr) Variable Function
- 1038(r5): 22(ptr) Variable Function
- 1042(r6): 24(ptr) Variable Function
- 1046(r7): 24(ptr) Variable Function
- 1050(r8): 24(ptr) Variable Function
- 1019: 6(float) Load 26(inF0)
- 1020: 6(float) Load 27(inF1)
- 1021: 6(float) FMul 1019 1020
- Store 1018(r0) 1021
- 1023: 21(fvec3) Load 28(inFV0)
- 1024: 6(float) Load 26(inF0)
- 1025: 21(fvec3) VectorTimesScalar 1023 1024
- Store 1022(r1) 1025
- 1027: 6(float) Load 26(inF0)
- 1028: 21(fvec3) Load 28(inFV0)
- 1029: 21(fvec3) VectorTimesScalar 1028 1027
- Store 1026(r2) 1029
- 1031: 21(fvec3) Load 28(inFV0)
- 1032: 21(fvec3) Load 29(inFV1)
- 1033: 6(float) Dot 1031 1032
- Store 1030(r3) 1033
- 1035: 23 Load 30(inFM0)
- 1036: 21(fvec3) Load 28(inFV0)
- 1037: 21(fvec3) MatrixTimesVector 1035 1036
- Store 1034(r4) 1037
- 1039: 21(fvec3) Load 28(inFV0)
- 1040: 23 Load 30(inFM0)
- 1041: 21(fvec3) VectorTimesMatrix 1039 1040
- Store 1038(r5) 1041
- 1043: 23 Load 30(inFM0)
- 1044: 6(float) Load 26(inF0)
- 1045: 23 MatrixTimesScalar 1043 1044
- Store 1042(r6) 1045
- 1047: 6(float) Load 26(inF0)
- 1048: 23 Load 30(inFM0)
- 1049: 23 MatrixTimesScalar 1048 1047
- Store 1046(r7) 1049
- 1051: 23 Load 30(inFM0)
- 1052: 23 Load 31(inFM1)
- 1053: 23 MatrixTimesMatrix 1051 1052
- Store 1050(r8) 1053
+109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 102
+ 103(inF0): 7(ptr) FunctionParameter
+ 104(inF1): 7(ptr) FunctionParameter
+ 105(inFV0): 49(ptr) FunctionParameter
+ 106(inFV1): 49(ptr) FunctionParameter
+ 107(inFM0): 77(ptr) FunctionParameter
+ 108(inFM1): 77(ptr) FunctionParameter
+ 110: Label
+ 1134(r0): 7(ptr) Variable Function
+ 1138(r1): 49(ptr) Variable Function
+ 1142(r2): 49(ptr) Variable Function
+ 1146(r3): 7(ptr) Variable Function
+ 1150(r4): 49(ptr) Variable Function
+ 1154(r5): 49(ptr) Variable Function
+ 1158(r6): 77(ptr) Variable Function
+ 1162(r7): 77(ptr) Variable Function
+ 1166(r8): 77(ptr) Variable Function
+ 1135: 6(float) Load 103(inF0)
+ 1136: 6(float) Load 104(inF1)
+ 1137: 6(float) FMul 1135 1136
+ Store 1134(r0) 1137
+ 1139: 48(fvec4) Load 105(inFV0)
+ 1140: 6(float) Load 103(inF0)
+ 1141: 48(fvec4) VectorTimesScalar 1139 1140
+ Store 1138(r1) 1141
+ 1143: 6(float) Load 103(inF0)
+ 1144: 48(fvec4) Load 105(inFV0)
+ 1145: 48(fvec4) VectorTimesScalar 1144 1143
+ Store 1142(r2) 1145
+ 1147: 48(fvec4) Load 105(inFV0)
+ 1148: 48(fvec4) Load 106(inFV1)
+ 1149: 6(float) Dot 1147 1148
+ Store 1146(r3) 1149
+ 1151: 76 Load 107(inFM0)
+ 1152: 48(fvec4) Load 105(inFV0)
+ 1153: 48(fvec4) MatrixTimesVector 1151 1152
+ Store 1150(r4) 1153
+ 1155: 48(fvec4) Load 105(inFV0)
+ 1156: 76 Load 107(inFM0)
+ 1157: 48(fvec4) VectorTimesMatrix 1155 1156
+ Store 1154(r5) 1157
+ 1159: 76 Load 107(inFM0)
+ 1160: 6(float) Load 103(inF0)
+ 1161: 76 MatrixTimesScalar 1159 1160
+ Store 1158(r6) 1161
+ 1163: 6(float) Load 103(inF0)
+ 1164: 76 Load 107(inFM0)
+ 1165: 76 MatrixTimesScalar 1164 1163
+ Store 1162(r7) 1165
+ 1167: 76 Load 107(inFM0)
+ 1168: 76 Load 108(inFM1)
+ 1169: 76 MatrixTimesMatrix 1167 1168
+ Store 1166(r8) 1169
Return
FunctionEnd
-45(TestGenMul(f1;f1;vf4;vf4;mf44;mf44;): 2 Function None 38
- 39(inF0): 7(ptr) FunctionParameter
- 40(inF1): 7(ptr) FunctionParameter
- 41(inFV0): 35(ptr) FunctionParameter
- 42(inFV1): 35(ptr) FunctionParameter
- 43(inFM0): 37(ptr) FunctionParameter
- 44(inFM1): 37(ptr) FunctionParameter
- 46: Label
- 1054(r0): 7(ptr) Variable Function
- 1058(r1): 35(ptr) Variable Function
- 1062(r2): 35(ptr) Variable Function
- 1066(r3): 7(ptr) Variable Function
- 1070(r4): 35(ptr) Variable Function
- 1074(r5): 35(ptr) Variable Function
- 1078(r6): 37(ptr) Variable Function
- 1082(r7): 37(ptr) Variable Function
- 1086(r8): 37(ptr) Variable Function
- 1055: 6(float) Load 39(inF0)
- 1056: 6(float) Load 40(inF1)
- 1057: 6(float) FMul 1055 1056
- Store 1054(r0) 1057
- 1059: 34(fvec4) Load 41(inFV0)
- 1060: 6(float) Load 39(inF0)
- 1061: 34(fvec4) VectorTimesScalar 1059 1060
- Store 1058(r1) 1061
- 1063: 6(float) Load 39(inF0)
- 1064: 34(fvec4) Load 41(inFV0)
- 1065: 34(fvec4) VectorTimesScalar 1064 1063
- Store 1062(r2) 1065
- 1067: 34(fvec4) Load 41(inFV0)
- 1068: 34(fvec4) Load 42(inFV1)
- 1069: 6(float) Dot 1067 1068
- Store 1066(r3) 1069
- 1071: 36 Load 43(inFM0)
- 1072: 34(fvec4) Load 41(inFV0)
- 1073: 34(fvec4) MatrixTimesVector 1071 1072
- Store 1070(r4) 1073
- 1075: 34(fvec4) Load 41(inFV0)
- 1076: 36 Load 43(inFM0)
- 1077: 34(fvec4) VectorTimesMatrix 1075 1076
- Store 1074(r5) 1077
- 1079: 36 Load 43(inFM0)
- 1080: 6(float) Load 39(inF0)
- 1081: 36 MatrixTimesScalar 1079 1080
- Store 1078(r6) 1081
- 1083: 6(float) Load 39(inF0)
- 1084: 36 Load 43(inFM0)
- 1085: 36 MatrixTimesScalar 1084 1083
- Store 1082(r7) 1085
- 1087: 36 Load 43(inFM0)
- 1088: 36 Load 44(inFM1)
- 1089: 36 MatrixTimesMatrix 1087 1088
- Store 1086(r8) 1089
+129(TestGenMulNxM(f1;f1;vf2;vf3;mf32;mf23;mf33;mf43;mf42;): 2 Function None 119
+ 120(inF0): 7(ptr) FunctionParameter
+ 121(inF1): 7(ptr) FunctionParameter
+ 122(inFV2): 25(ptr) FunctionParameter
+ 123(inFV3): 37(ptr) FunctionParameter
+ 124(inFM2x3): 112(ptr) FunctionParameter
+ 125(inFM3x2): 114(ptr) FunctionParameter
+ 126(inFM3x3): 69(ptr) FunctionParameter
+ 127(inFM3x4): 116(ptr) FunctionParameter
+ 128(inFM2x4): 118(ptr) FunctionParameter
+ 130: Label
+ 1170(r00): 7(ptr) Variable Function
+ 1174(r01): 25(ptr) Variable Function
+ 1178(r02): 37(ptr) Variable Function
+ 1182(r03): 25(ptr) Variable Function
+ 1186(r04): 37(ptr) Variable Function
+ 1190(r05): 7(ptr) Variable Function
+ 1194(r06): 7(ptr) Variable Function
+ 1198(r07): 37(ptr) Variable Function
+ 1202(r08): 25(ptr) Variable Function
+ 1206(r09): 25(ptr) Variable Function
+ 1210(r10): 37(ptr) Variable Function
+ 1214(r11): 112(ptr) Variable Function
+ 1218(r12): 114(ptr) Variable Function
+ 1222(r13): 61(ptr) Variable Function
+ 1226(r14): 112(ptr) Variable Function
+ 1230(r15): 118(ptr) Variable Function
+ 1234(r16): 116(ptr) Variable Function
+ 1171: 6(float) Load 120(inF0)
+ 1172: 6(float) Load 121(inF1)
+ 1173: 6(float) FMul 1171 1172
+ Store 1170(r00) 1173
+ 1175: 24(fvec2) Load 122(inFV2)
+ 1176: 6(float) Load 120(inF0)
+ 1177: 24(fvec2) VectorTimesScalar 1175 1176
+ Store 1174(r01) 1177
+ 1179: 36(fvec3) Load 123(inFV3)
+ 1180: 6(float) Load 120(inF0)
+ 1181: 36(fvec3) VectorTimesScalar 1179 1180
+ Store 1178(r02) 1181
+ 1183: 6(float) Load 120(inF0)
+ 1184: 24(fvec2) Load 122(inFV2)
+ 1185: 24(fvec2) VectorTimesScalar 1184 1183
+ Store 1182(r03) 1185
+ 1187: 6(float) Load 120(inF0)
+ 1188: 36(fvec3) Load 123(inFV3)
+ 1189: 36(fvec3) VectorTimesScalar 1188 1187
+ Store 1186(r04) 1189
+ 1191: 24(fvec2) Load 122(inFV2)
+ 1192: 24(fvec2) Load 122(inFV2)
+ 1193: 6(float) Dot 1191 1192
+ Store 1190(r05) 1193
+ 1195: 36(fvec3) Load 123(inFV3)
+ 1196: 36(fvec3) Load 123(inFV3)
+ 1197: 6(float) Dot 1195 1196
+ Store 1194(r06) 1197
+ 1199: 24(fvec2) Load 122(inFV2)
+ 1200: 111 Load 124(inFM2x3)
+ 1201: 36(fvec3) VectorTimesMatrix 1199 1200
+ Store 1198(r07) 1201
+ 1203: 36(fvec3) Load 123(inFV3)
+ 1204: 113 Load 125(inFM3x2)
+ 1205: 24(fvec2) VectorTimesMatrix 1203 1204
+ Store 1202(r08) 1205
+ 1207: 111 Load 124(inFM2x3)
+ 1208: 36(fvec3) Load 123(inFV3)
+ 1209: 24(fvec2) MatrixTimesVector 1207 1208
+ Store 1206(r09) 1209
+ 1211: 113 Load 125(inFM3x2)
+ 1212: 24(fvec2) Load 122(inFV2)
+ 1213: 36(fvec3) MatrixTimesVector 1211 1212
+ Store 1210(r10) 1213
+ 1215: 111 Load 124(inFM2x3)
+ 1216: 6(float) Load 120(inF0)
+ 1217: 111 MatrixTimesScalar 1215 1216
+ Store 1214(r11) 1217
+ 1219: 113 Load 125(inFM3x2)
+ 1220: 6(float) Load 120(inF0)
+ 1221: 113 MatrixTimesScalar 1219 1220
+ Store 1218(r12) 1221
+ 1223: 111 Load 124(inFM2x3)
+ 1224: 113 Load 125(inFM3x2)
+ 1225: 60 MatrixTimesMatrix 1223 1224
+ Store 1222(r13) 1225
+ 1227: 111 Load 124(inFM2x3)
+ 1228: 68 Load 126(inFM3x3)
+ 1229: 111 MatrixTimesMatrix 1227 1228
+ Store 1226(r14) 1229
+ 1231: 111 Load 124(inFM2x3)
+ 1232: 115 Load 127(inFM3x4)
+ 1233: 117 MatrixTimesMatrix 1231 1232
+ Store 1230(r15) 1233
+ 1235: 113 Load 125(inFM3x2)
+ 1236: 117 Load 128(inFM2x4)
+ 1237: 115 MatrixTimesMatrix 1235 1236
+ Store 1234(r16) 1237
Return
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 1-component vector of float)
-0:1 'f1' (temp 1-component vector of float)
-0:1 Constant:
-0:1 1.000000
-0:11 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (global 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:11 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
0:9 Function Parameters:
0:9 'inFloat1' (in 1-component vector of float)
0:9 'inScalar' (in float)
0:? Linker Objects
-0:? 'f1' (temp 1-component vector of float)
-0:? 'fmat11' (temp 1X1 matrix of float)
-0:? 'fmat41' (temp 1X4 matrix of float)
-0:? 'fmat12' (temp 2X1 matrix of float)
-0:? 'dmat23' (temp 3X2 matrix of double)
-0:? 'int44' (temp 4X4 matrix of int)
+0:? 'f1' (global 1-component vector of float)
+0:? 'fmat11' (global 1X1 matrix of float)
+0:? 'fmat41' (global 1X4 matrix of float)
+0:? 'fmat12' (global 2X1 matrix of float)
+0:? 'dmat23' (global 3X2 matrix of double)
+0:? 'int44' (global 4X4 matrix of int)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 1-component vector of float)
-0:1 'f1' (temp 1-component vector of float)
-0:1 Constant:
-0:1 1.000000
-0:11 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 1-component vector of float)
+0:1 'f1' (global 1-component vector of float)
+0:1 Constant:
+0:1 1.000000
+0:11 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
0:9 Function Parameters:
0:9 'inFloat1' (in 1-component vector of float)
0:9 'inScalar' (in float)
0:? Linker Objects
-0:? 'f1' (temp 1-component vector of float)
-0:? 'fmat11' (temp 1X1 matrix of float)
-0:? 'fmat41' (temp 1X4 matrix of float)
-0:? 'fmat12' (temp 2X1 matrix of float)
-0:? 'dmat23' (temp 3X2 matrix of double)
-0:? 'int44' (temp 4X4 matrix of int)
+0:? 'f1' (global 1-component vector of float)
+0:? 'fmat11' (global 1X1 matrix of float)
+0:? 'fmat41' (global 1X4 matrix of float)
+0:? 'fmat12' (global 2X1 matrix of float)
+0:? 'dmat23' (global 3X2 matrix of double)
+0:? 'int44' (global 4X4 matrix of int)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 36
+// Id's are bound by 38
Capability Shader
Capability Float64
Name 9 "inFloat1"
Name 10 "inScalar"
Name 14 "f1"
- Name 18 "fmat11"
- Name 22 "fmat41"
- Name 25 "fmat12"
- Name 30 "dmat23"
- Name 35 "int44"
+ Name 20 "fmat11"
+ Name 24 "fmat41"
+ Name 27 "fmat12"
+ Name 32 "dmat23"
+ Name 37 "int44"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeFunction 6(float) 7(ptr) 7(ptr)
- 15: TypeVector 6(float) 1
- 16: TypeMatrix 15(fvec) 1
- 17: TypePointer Function 16
- 19: TypeVector 6(float) 4
- 20: TypeMatrix 19(fvec4) 1
- 21: TypePointer Function 20
- 23: TypeMatrix 15(fvec) 2
- 24: TypePointer Function 23
- 26: TypeFloat 64
- 27: TypeVector 26(float) 2
- 28: TypeMatrix 27(fvec2) 3
- 29: TypePointer Function 28
- 31: TypeInt 32 1
- 32: TypeVector 31(int) 4
- 33: TypeMatrix 32(ivec4) 4
- 34: TypePointer Function 33
+ 13: TypePointer Private 6(float)
+ 14(f1): 13(ptr) Variable Private
+ 15: 6(float) Constant 1065353216
+ 17: TypeVector 6(float) 1
+ 18: TypeMatrix 17(fvec) 1
+ 19: TypePointer Private 18
+ 20(fmat11): 19(ptr) Variable Private
+ 21: TypeVector 6(float) 4
+ 22: TypeMatrix 21(fvec4) 1
+ 23: TypePointer Private 22
+ 24(fmat41): 23(ptr) Variable Private
+ 25: TypeMatrix 17(fvec) 2
+ 26: TypePointer Private 25
+ 27(fmat12): 26(ptr) Variable Private
+ 28: TypeFloat 64
+ 29: TypeVector 28(float) 2
+ 30: TypeMatrix 29(fvec2) 3
+ 31: TypePointer Private 30
+ 32(dmat23): 31(ptr) Variable Private
+ 33: TypeInt 32 1
+ 34: TypeVector 33(int) 4
+ 35: TypeMatrix 34(ivec4) 4
+ 36: TypePointer Private 35
+ 37(int44): 36(ptr) Variable Private
4(PixelShaderFunction): 2 Function None 3
5: Label
+ Store 14(f1) 15
FunctionEnd
11(ShaderFunction(vf1;f1;): 6(float) Function None 8
9(inFloat1): 7(ptr) FunctionParameter
10(inScalar): 7(ptr) FunctionParameter
12: Label
- 14(f1): 7(ptr) Variable Function
- 18(fmat11): 17(ptr) Variable Function
- 22(fmat41): 21(ptr) Variable Function
- 25(fmat12): 24(ptr) Variable Function
- 30(dmat23): 29(ptr) Variable Function
- 35(int44): 34(ptr) Variable Function
- 13: 6(float) Undef
- ReturnValue 13
+ 16: 6(float) Undef
+ ReturnValue 16
FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
+0:5 Function Definition: PixelShaderFunction(vf4;vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input1' (in 4-component vector of float)
0:2 'input2' (in 4-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(vf4;vf4; (temp 4-component vector of float)
+0:5 Function Definition: PixelShaderFunction(vf4;vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input1' (in 4-component vector of float)
0:2 'input2' (in 4-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:7 Function Parameters:
0:7 'a1' (in 4-component vector of float)
0:7 'a2' (in 4-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (temp 4-component vector of float)
+0:10 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4; (global 4-component vector of float)
0:7 Function Parameters:
0:7 'a1' (in 4-component vector of float)
0:7 'a2' (in 4-component vector of float)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int)
+0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (global int)
0:7 Function Parameters:
0:7 'a1' (in int)
0:7 'a2' (in int)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (temp int)
+0:10 Function Definition: PixelShaderFunction(i1;i1;i1;i1; (global int)
0:7 Function Parameters:
0:7 'a1' (in int)
0:7 'a2' (in int)
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:31 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:31 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:31 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:31 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:5 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:40 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:40 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:31 Function Parameters:
0:31 'input' (in 4-component vector of float)
0:? Sequence
0:36 's3' (temp structure{temp 3-component vector of bool b3})
0:37 move second child to first child (temp 4-component vector of float)
0:37 i: direct index for structure (temp 4-component vector of float)
-0:37 's2' (temp structure{temp 4-component vector of float i})
+0:37 's2' (global structure{temp 4-component vector of float i})
0:37 Constant:
0:37 0 (const int)
0:37 ff4: direct index for structure (temp 4-component vector of float FragCoord)
-0:37 's4' (temp structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
+0:37 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
0:37 Constant:
0:37 7 (const int)
0:39 Branch: Return with expression
0:39 'input' (in 4-component vector of float)
0:? Linker Objects
-0:? 's1' (temp structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
-0:? 's2' (temp structure{temp 4-component vector of float i})
-0:? 's4' (temp structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
+0:? 's1' (global structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
+0:? 's2' (global structure{temp 4-component vector of float i})
+0:? 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:40 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:40 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:31 Function Parameters:
0:31 'input' (in 4-component vector of float)
0:? Sequence
0:36 's3' (temp structure{temp 3-component vector of bool b3})
0:37 move second child to first child (temp 4-component vector of float)
0:37 i: direct index for structure (temp 4-component vector of float)
-0:37 's2' (temp structure{temp 4-component vector of float i})
+0:37 's2' (global structure{temp 4-component vector of float i})
0:37 Constant:
0:37 0 (const int)
0:37 ff4: direct index for structure (temp 4-component vector of float FragCoord)
-0:37 's4' (temp structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
+0:37 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
0:37 Constant:
0:37 7 (const int)
0:39 Branch: Return with expression
0:39 'input' (in 4-component vector of float)
0:? Linker Objects
-0:? 's1' (temp structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
-0:? 's2' (temp structure{temp 4-component vector of float i})
-0:? 's4' (temp structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
+0:? 's1' (global structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d})
+0:? 's2' (global structure{temp 4-component vector of float i})
+0:? 's4' (global structure{smooth in 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, temp bool Face ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float FragCoord ff4})
// Module Version 10000
// Generated by (magic number): 80001
17: TypeFloat 32
18: TypeVector 17(float) 4
19: TypeStruct 18(fvec4)
- 20: TypePointer Function 19(struct)
+ 20: TypePointer Private 19(struct)
+ 21(s2): 20(ptr) Variable Private
22: TypeInt 32 1
23: 22(int) Constant 0
24: TypeVector 17(float) 2
25: TypeStruct 18(fvec4) 6(bool) 17(float) 24(fvec2) 6(bool) 6(bool) 6(bool) 18(fvec4)
- 26: TypePointer Function 25(struct)
+ 26: TypePointer Private 25(struct)
+ 27(s4): 26(ptr) Variable Private
28: 22(int) Constant 7
- 29: TypePointer Function 18(fvec4)
+ 29: TypePointer Private 18(fvec4)
33: TypePointer Input 18(fvec4)
34(input): 33(ptr) Variable Input
37(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4)
- 38: TypePointer Function 37(myS)
+ 38: TypePointer Private 37(myS)
+ 39(s1): 38(ptr) Variable Private
4(PixelShaderFunction): 2 Function None 3
5: Label
10(s3): 9(ptr) Variable Function
- 21(s2): 20(ptr) Variable Function
- 27(s4): 26(ptr) Variable Function
- 39(s1): 38(ptr) Variable Function
11: 8(FS) Load 10(s3)
12: 8(FS) Load 10(s3)
13: 7(bvec3) CompositeExtract 11 0
--- /dev/null
+hlsl.switch.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:56 Function Definition: PixelShaderFunction(vf4;i1;i1; (global 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (in 4-component vector of float)
+0:2 'c' (in int)
+0:2 'd' (in int)
+0:? Sequence
+0:3 'c' (in int)
+0:7 switch
+0:7 condition
+0:7 'c' (in int)
+0:7 body
+0:7 Sequence
+0:9 default:
+0:7 Sequence
+0:7 Branch: Break
+0:12 switch
+0:12 condition
+0:12 'c' (in int)
+0:12 body
+0:12 Sequence
+0:13 case: with expression
+0:13 Constant:
+0:13 1 (const int)
+0:? Sequence
+0:14 Pre-Increment (temp 4-component vector of float)
+0:14 'input' (in 4-component vector of float)
+0:15 Branch: Break
+0:16 case: with expression
+0:16 Constant:
+0:16 2 (const int)
+0:? Sequence
+0:17 Pre-Decrement (temp 4-component vector of float)
+0:17 'input' (in 4-component vector of float)
+0:18 Branch: Break
+0:21 switch
+0:21 condition
+0:21 'c' (in int)
+0:21 body
+0:21 Sequence
+0:22 case: with expression
+0:22 Constant:
+0:22 1 (const int)
+0:? Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'input' (in 4-component vector of float)
+0:24 Branch: Break
+0:25 case: with expression
+0:25 Constant:
+0:25 2 (const int)
+0:? Sequence
+0:26 switch
+0:26 condition
+0:26 'd' (in int)
+0:26 body
+0:26 Sequence
+0:27 case: with expression
+0:27 Constant:
+0:27 2 (const int)
+0:? Sequence
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'input' (in 4-component vector of float)
+0:28 Constant:
+0:28 2.000000
+0:29 Branch: Break
+0:30 case: with expression
+0:30 Constant:
+0:30 3 (const int)
+0:? Sequence
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'input' (in 4-component vector of float)
+0:31 Constant:
+0:31 3.000000
+0:32 Branch: Break
+0:34 Branch: Break
+0:35 default:
+0:? Sequence
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'input' (in 4-component vector of float)
+0:36 Constant:
+0:36 4.000000
+0:39 switch
+0:39 condition
+0:39 'c' (in int)
+0:39 body
+0:39 Sequence
+0:40 case: with expression
+0:40 Constant:
+0:40 1 (const int)
+0:39 Sequence
+0:39 Branch: Break
+0:43 switch
+0:43 condition
+0:43 'c' (in int)
+0:43 body
+0:43 Sequence
+0:44 case: with expression
+0:44 Constant:
+0:44 1 (const int)
+0:45 case: with expression
+0:45 Constant:
+0:45 2 (const int)
+0:46 case: with expression
+0:46 Constant:
+0:46 3 (const int)
+0:? Sequence
+0:47 Pre-Increment (temp 4-component vector of float)
+0:47 'input' (in 4-component vector of float)
+0:48 Branch: Break
+0:49 case: with expression
+0:49 Constant:
+0:49 4 (const int)
+0:50 case: with expression
+0:50 Constant:
+0:50 5 (const int)
+0:? Sequence
+0:51 Pre-Decrement (temp 4-component vector of float)
+0:51 'input' (in 4-component vector of float)
+0:54 Branch: Return with expression
+0:54 'input' (in 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:56 Function Definition: PixelShaderFunction(vf4;i1;i1; (global 4-component vector of float)
+0:2 Function Parameters:
+0:2 'input' (in 4-component vector of float)
+0:2 'c' (in int)
+0:2 'd' (in int)
+0:? Sequence
+0:3 'c' (in int)
+0:7 switch
+0:7 condition
+0:7 'c' (in int)
+0:7 body
+0:7 Sequence
+0:9 default:
+0:7 Sequence
+0:7 Branch: Break
+0:12 switch
+0:12 condition
+0:12 'c' (in int)
+0:12 body
+0:12 Sequence
+0:13 case: with expression
+0:13 Constant:
+0:13 1 (const int)
+0:? Sequence
+0:14 Pre-Increment (temp 4-component vector of float)
+0:14 'input' (in 4-component vector of float)
+0:15 Branch: Break
+0:16 case: with expression
+0:16 Constant:
+0:16 2 (const int)
+0:? Sequence
+0:17 Pre-Decrement (temp 4-component vector of float)
+0:17 'input' (in 4-component vector of float)
+0:18 Branch: Break
+0:21 switch
+0:21 condition
+0:21 'c' (in int)
+0:21 body
+0:21 Sequence
+0:22 case: with expression
+0:22 Constant:
+0:22 1 (const int)
+0:? Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'input' (in 4-component vector of float)
+0:24 Branch: Break
+0:25 case: with expression
+0:25 Constant:
+0:25 2 (const int)
+0:? Sequence
+0:26 switch
+0:26 condition
+0:26 'd' (in int)
+0:26 body
+0:26 Sequence
+0:27 case: with expression
+0:27 Constant:
+0:27 2 (const int)
+0:? Sequence
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'input' (in 4-component vector of float)
+0:28 Constant:
+0:28 2.000000
+0:29 Branch: Break
+0:30 case: with expression
+0:30 Constant:
+0:30 3 (const int)
+0:? Sequence
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'input' (in 4-component vector of float)
+0:31 Constant:
+0:31 3.000000
+0:32 Branch: Break
+0:34 Branch: Break
+0:35 default:
+0:? Sequence
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'input' (in 4-component vector of float)
+0:36 Constant:
+0:36 4.000000
+0:39 switch
+0:39 condition
+0:39 'c' (in int)
+0:39 body
+0:39 Sequence
+0:40 case: with expression
+0:40 Constant:
+0:40 1 (const int)
+0:39 Sequence
+0:39 Branch: Break
+0:43 switch
+0:43 condition
+0:43 'c' (in int)
+0:43 body
+0:43 Sequence
+0:44 case: with expression
+0:44 Constant:
+0:44 1 (const int)
+0:45 case: with expression
+0:45 Constant:
+0:45 2 (const int)
+0:46 case: with expression
+0:46 Constant:
+0:46 3 (const int)
+0:? Sequence
+0:47 Pre-Increment (temp 4-component vector of float)
+0:47 'input' (in 4-component vector of float)
+0:48 Branch: Break
+0:49 case: with expression
+0:49 Constant:
+0:49 4 (const int)
+0:50 case: with expression
+0:50 Constant:
+0:50 5 (const int)
+0:? Sequence
+0:51 Pre-Decrement (temp 4-component vector of float)
+0:51 'input' (in 4-component vector of float)
+0:54 Branch: Return with expression
+0:54 'input' (in 4-component vector of float)
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 82
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction" 8 21 41
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 8 "c"
+ Name 21 "input"
+ Name 41 "d"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Input 6(int)
+ 8(c): 7(ptr) Variable Input
+ 18: TypeFloat 32
+ 19: TypeVector 18(float) 4
+ 20: TypePointer Input 19(fvec4)
+ 21(input): 20(ptr) Variable Input
+ 23: 18(float) Constant 1065353216
+ 41(d): 7(ptr) Variable Input
+ 46: 18(float) Constant 1073741824
+ 51: 18(float) Constant 1077936128
+ 58: 18(float) Constant 1082130432
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9: 6(int) Load 8(c)
+ SelectionMerge 11 None
+ Switch 9 10
+ 10: Label
+ Branch 11
+ 11: Label
+ 14: 6(int) Load 8(c)
+ SelectionMerge 17 None
+ Switch 14 17
+ case 1: 15
+ case 2: 16
+ 15: Label
+ 22: 19(fvec4) Load 21(input)
+ 24: 19(fvec4) CompositeConstruct 23 23 23 23
+ 25: 19(fvec4) FAdd 22 24
+ Store 21(input) 25
+ Branch 17
+ 16: Label
+ 27: 19(fvec4) Load 21(input)
+ 28: 19(fvec4) CompositeConstruct 23 23 23 23
+ 29: 19(fvec4) FSub 27 28
+ Store 21(input) 29
+ Branch 17
+ 17: Label
+ 32: 6(int) Load 8(c)
+ SelectionMerge 36 None
+ Switch 32 35
+ case 1: 33
+ case 2: 34
+ 35: Label
+ 59: 19(fvec4) Load 21(input)
+ 60: 19(fvec4) CompositeConstruct 58 58 58 58
+ 61: 19(fvec4) FAdd 59 60
+ Store 21(input) 61
+ Branch 36
+ 33: Label
+ 37: 19(fvec4) Load 21(input)
+ 38: 19(fvec4) CompositeConstruct 23 23 23 23
+ 39: 19(fvec4) FAdd 37 38
+ Store 21(input) 39
+ Branch 36
+ 34: Label
+ 42: 6(int) Load 41(d)
+ SelectionMerge 45 None
+ Switch 42 45
+ case 2: 43
+ case 3: 44
+ 43: Label
+ 47: 19(fvec4) Load 21(input)
+ 48: 19(fvec4) CompositeConstruct 46 46 46 46
+ 49: 19(fvec4) FAdd 47 48
+ Store 21(input) 49
+ Branch 45
+ 44: Label
+ 52: 19(fvec4) Load 21(input)
+ 53: 19(fvec4) CompositeConstruct 51 51 51 51
+ 54: 19(fvec4) FAdd 52 53
+ Store 21(input) 54
+ Branch 45
+ 45: Label
+ Branch 36
+ 36: Label
+ 63: 6(int) Load 8(c)
+ SelectionMerge 65 None
+ Switch 63 65
+ case 1: 64
+ 64: Label
+ Branch 65
+ 65: Label
+ 68: 6(int) Load 8(c)
+ SelectionMerge 71 None
+ Switch 68 71
+ case 1: 69
+ case 2: 69
+ case 3: 69
+ case 4: 70
+ case 5: 70
+ 69: Label
+ 72: 19(fvec4) Load 21(input)
+ 73: 19(fvec4) CompositeConstruct 23 23 23 23
+ 74: 19(fvec4) FAdd 72 73
+ Store 21(input) 74
+ Branch 71
+ 70: Label
+ 76: 19(fvec4) Load 21(input)
+ 77: 19(fvec4) CompositeConstruct 23 23 23 23
+ 78: 19(fvec4) FSub 76 77
+ Store 21(input) 78
+ Branch 71
+ 71: Label
+ 80: 19(fvec4) Load 21(input)
+ ReturnValue 80
+ FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 4-component vector of float)
-0:1 'AmbientColor' (temp 4-component vector of float)
-0:? Constant:
-0:? 1.000000
-0:? 0.500000
-0:? 0.000000
-0:? 1.000000
-0:7 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (global 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:7 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:4 Function Parameters:
0:4 'input' (in 4-component vector of float)
0:? Sequence
0:5 0 (const int)
0:5 Construct vec4 (temp 4-component vector of float)
0:5 direct index (temp float)
-0:5 'AmbientColor' (temp 4-component vector of float)
+0:5 'AmbientColor' (global 4-component vector of float)
0:5 Constant:
0:5 2 (const int)
0:? Linker Objects
-0:? 'AmbientColor' (temp 4-component vector of float)
+0:? 'AmbientColor' (global 4-component vector of float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:1 move second child to first child (temp 4-component vector of float)
-0:1 'AmbientColor' (temp 4-component vector of float)
-0:? Constant:
-0:? 1.000000
-0:? 0.500000
-0:? 0.000000
-0:? 1.000000
-0:7 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
+0:1 Sequence
+0:1 move second child to first child (temp 4-component vector of float)
+0:1 'AmbientColor' (global 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 0.500000
+0:? 0.000000
+0:? 1.000000
+0:7 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
0:4 Function Parameters:
0:4 'input' (in 4-component vector of float)
0:? Sequence
0:5 0 (const int)
0:5 Construct vec4 (temp 4-component vector of float)
0:5 direct index (temp float)
-0:5 'AmbientColor' (temp 4-component vector of float)
+0:5 'AmbientColor' (global 4-component vector of float)
0:5 Constant:
0:5 2 (const int)
0:? Linker Objects
-0:? 'AmbientColor' (temp 4-component vector of float)
+0:? 'AmbientColor' (global 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
-// Id's are bound by 25
+// Id's are bound by 30
Capability Shader
1: ExtInstImport "GLSL.std.450"
Name 4 "PixelShaderFunction"
Name 11 "ShaderFunction(vf4;"
Name 10 "input"
- Name 15 "AmbientColor"
+ Name 14 "AmbientColor"
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeFunction 7(fvec4) 8(ptr)
- 16: TypeInt 32 0
- 17: 16(int) Constant 2
- 18: TypePointer Function 6(float)
+ 13: TypePointer Private 7(fvec4)
+14(AmbientColor): 13(ptr) Variable Private
+ 15: 6(float) Constant 1065353216
+ 16: 6(float) Constant 1056964608
+ 17: 6(float) Constant 0
+ 18: 7(fvec4) ConstantComposite 15 16 17 15
+ 21: TypeInt 32 0
+ 22: 21(int) Constant 2
+ 23: TypePointer Private 6(float)
4(PixelShaderFunction): 2 Function None 3
5: Label
+ Store 14(AmbientColor) 18
FunctionEnd
11(ShaderFunction(vf4;): 7(fvec4) Function None 9
10(input): 8(ptr) FunctionParameter
12: Label
-15(AmbientColor): 8(ptr) Variable Function
- 13: 7(fvec4) Load 10(input)
- 14: 7(fvec4) VectorShuffle 13 13 3 3 1 0
- 19: 18(ptr) AccessChain 15(AmbientColor) 17
- 20: 6(float) Load 19
- 21: 7(fvec4) CompositeConstruct 20 20 20 20
- 22: 7(fvec4) FMul 14 21
- ReturnValue 22
+ 19: 7(fvec4) Load 10(input)
+ 20: 7(fvec4) VectorShuffle 19 19 3 3 1 0
+ 24: 23(ptr) AccessChain 14(AmbientColor) 22
+ 25: 6(float) Load 24
+ 26: 7(fvec4) CompositeConstruct 25 25 25 25
+ 27: 7(fvec4) FMul 20 26
+ ReturnValue 27
FunctionEnd
--- /dev/null
+hlsl.templatetypes.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:48 Function Definition: PixelShaderFunction( (global float)
+0:3 Function Parameters:
+0:? Sequence
+0:4 Sequence
+0:4 move second child to first child (temp 4-component vector of float)
+0:4 'r00' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:5 Sequence
+0:5 move second child to first child (temp 4-component vector of float)
+0:5 'r01' (temp 4-component vector of float)
+0:? Constant:
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:7 Sequence
+0:7 move second child to first child (temp 1-component vector of bool)
+0:7 'r12' (temp 1-component vector of bool)
+0:7 Constant:
+0:7 false (const bool)
+0:8 Sequence
+0:8 move second child to first child (temp 1-component vector of int)
+0:8 'r13' (temp 1-component vector of int)
+0:8 Constant:
+0:8 1 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp 1-component vector of float)
+0:9 'r14' (temp 1-component vector of float)
+0:9 Constant:
+0:9 1.000000
+0:10 Sequence
+0:10 move second child to first child (temp 1-component vector of double)
+0:10 'r15' (temp 1-component vector of double)
+0:10 Constant:
+0:10 1.000000
+0:11 Sequence
+0:11 move second child to first child (temp 1-component vector of uint)
+0:11 'r16' (temp 1-component vector of uint)
+0:11 Constant:
+0:11 1 (const uint)
+0:13 Sequence
+0:13 move second child to first child (temp 2-component vector of bool)
+0:13 'r20' (temp 2-component vector of bool)
+0:? Constant:
+0:? false (const bool)
+0:? true (const bool)
+0:14 Sequence
+0:14 move second child to first child (temp 2-component vector of int)
+0:14 'r21' (temp 2-component vector of int)
+0:? Constant:
+0:? 1 (const int)
+0:? 2 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp 2-component vector of float)
+0:15 'r22' (temp 2-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:16 Sequence
+0:16 move second child to first child (temp 2-component vector of double)
+0:16 'r23' (temp 2-component vector of double)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:17 Sequence
+0:17 move second child to first child (temp 2-component vector of uint)
+0:17 'r24' (temp 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:19 Sequence
+0:19 move second child to first child (temp 3-component vector of bool)
+0:19 'r30' (temp 3-component vector of bool)
+0:? Constant:
+0:? false (const bool)
+0:? true (const bool)
+0:? true (const bool)
+0:20 Sequence
+0:20 move second child to first child (temp 3-component vector of int)
+0:20 'r31' (temp 3-component vector of int)
+0:? Constant:
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp 3-component vector of float)
+0:21 'r32' (temp 3-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:22 Sequence
+0:22 move second child to first child (temp 3-component vector of double)
+0:22 'r33' (temp 3-component vector of double)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:23 Sequence
+0:23 move second child to first child (temp 3-component vector of uint)
+0:23 'r34' (temp 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of bool)
+0:25 'r40' (temp 4-component vector of bool)
+0:? Constant:
+0:? false (const bool)
+0:? true (const bool)
+0:? true (const bool)
+0:? false (const bool)
+0:26 Sequence
+0:26 move second child to first child (temp 4-component vector of int)
+0:26 'r41' (temp 4-component vector of int)
+0:? Constant:
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'r42' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:28 Sequence
+0:28 move second child to first child (temp 4-component vector of double)
+0:28 'r43' (temp 4-component vector of double)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:29 Sequence
+0:29 move second child to first child (temp 4-component vector of uint)
+0:29 'r44' (temp 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:31 Sequence
+0:31 move second child to first child (temp 4X4 matrix of float)
+0:31 'r50' (temp 4X4 matrix of float)
+0:? Constant:
+0:? 0.000000
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 9.000000
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:? 13.000000
+0:? 14.000000
+0:? 15.000000
+0:32 Sequence
+0:32 move second child to first child (temp 4X4 matrix of float)
+0:32 'r51' (temp 4X4 matrix of float)
+0:? Constant:
+0:? 0.000000
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 9.000000
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:? 13.000000
+0:? 14.000000
+0:? 15.000000
+0:35 Sequence
+0:35 move second child to first child (temp 3X2 matrix of float)
+0:35 'r61' (temp 3X2 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:36 Sequence
+0:36 move second child to first child (temp 2X3 matrix of float)
+0:36 'r62' (temp 2X3 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:39 Sequence
+0:39 move second child to first child (temp 2X4 matrix of float)
+0:39 'r65' (temp 2X4 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:40 Sequence
+0:40 move second child to first child (temp 3X4 matrix of float)
+0:40 'r66' (temp 3X4 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 9.000000
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:45 Branch: Return with expression
+0:45 Constant:
+0:45 0.000000
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:48 Function Definition: PixelShaderFunction( (global float)
+0:3 Function Parameters:
+0:? Sequence
+0:4 Sequence
+0:4 move second child to first child (temp 4-component vector of float)
+0:4 'r00' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:5 Sequence
+0:5 move second child to first child (temp 4-component vector of float)
+0:5 'r01' (temp 4-component vector of float)
+0:? Constant:
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:7 Sequence
+0:7 move second child to first child (temp 1-component vector of bool)
+0:7 'r12' (temp 1-component vector of bool)
+0:7 Constant:
+0:7 false (const bool)
+0:8 Sequence
+0:8 move second child to first child (temp 1-component vector of int)
+0:8 'r13' (temp 1-component vector of int)
+0:8 Constant:
+0:8 1 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp 1-component vector of float)
+0:9 'r14' (temp 1-component vector of float)
+0:9 Constant:
+0:9 1.000000
+0:10 Sequence
+0:10 move second child to first child (temp 1-component vector of double)
+0:10 'r15' (temp 1-component vector of double)
+0:10 Constant:
+0:10 1.000000
+0:11 Sequence
+0:11 move second child to first child (temp 1-component vector of uint)
+0:11 'r16' (temp 1-component vector of uint)
+0:11 Constant:
+0:11 1 (const uint)
+0:13 Sequence
+0:13 move second child to first child (temp 2-component vector of bool)
+0:13 'r20' (temp 2-component vector of bool)
+0:? Constant:
+0:? false (const bool)
+0:? true (const bool)
+0:14 Sequence
+0:14 move second child to first child (temp 2-component vector of int)
+0:14 'r21' (temp 2-component vector of int)
+0:? Constant:
+0:? 1 (const int)
+0:? 2 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp 2-component vector of float)
+0:15 'r22' (temp 2-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:16 Sequence
+0:16 move second child to first child (temp 2-component vector of double)
+0:16 'r23' (temp 2-component vector of double)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:17 Sequence
+0:17 move second child to first child (temp 2-component vector of uint)
+0:17 'r24' (temp 2-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:19 Sequence
+0:19 move second child to first child (temp 3-component vector of bool)
+0:19 'r30' (temp 3-component vector of bool)
+0:? Constant:
+0:? false (const bool)
+0:? true (const bool)
+0:? true (const bool)
+0:20 Sequence
+0:20 move second child to first child (temp 3-component vector of int)
+0:20 'r31' (temp 3-component vector of int)
+0:? Constant:
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp 3-component vector of float)
+0:21 'r32' (temp 3-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:22 Sequence
+0:22 move second child to first child (temp 3-component vector of double)
+0:22 'r33' (temp 3-component vector of double)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:23 Sequence
+0:23 move second child to first child (temp 3-component vector of uint)
+0:23 'r34' (temp 3-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of bool)
+0:25 'r40' (temp 4-component vector of bool)
+0:? Constant:
+0:? false (const bool)
+0:? true (const bool)
+0:? true (const bool)
+0:? false (const bool)
+0:26 Sequence
+0:26 move second child to first child (temp 4-component vector of int)
+0:26 'r41' (temp 4-component vector of int)
+0:? Constant:
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'r42' (temp 4-component vector of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:28 Sequence
+0:28 move second child to first child (temp 4-component vector of double)
+0:28 'r43' (temp 4-component vector of double)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:29 Sequence
+0:29 move second child to first child (temp 4-component vector of uint)
+0:29 'r44' (temp 4-component vector of uint)
+0:? Constant:
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3 (const uint)
+0:? 4 (const uint)
+0:31 Sequence
+0:31 move second child to first child (temp 4X4 matrix of float)
+0:31 'r50' (temp 4X4 matrix of float)
+0:? Constant:
+0:? 0.000000
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 9.000000
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:? 13.000000
+0:? 14.000000
+0:? 15.000000
+0:32 Sequence
+0:32 move second child to first child (temp 4X4 matrix of float)
+0:32 'r51' (temp 4X4 matrix of float)
+0:? Constant:
+0:? 0.000000
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 9.000000
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:? 13.000000
+0:? 14.000000
+0:? 15.000000
+0:35 Sequence
+0:35 move second child to first child (temp 3X2 matrix of float)
+0:35 'r61' (temp 3X2 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:36 Sequence
+0:36 move second child to first child (temp 2X3 matrix of float)
+0:36 'r62' (temp 2X3 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:39 Sequence
+0:39 move second child to first child (temp 2X4 matrix of float)
+0:39 'r65' (temp 2X4 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:40 Sequence
+0:40 move second child to first child (temp 3X4 matrix of float)
+0:40 'r66' (temp 3X4 matrix of float)
+0:? Constant:
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 9.000000
+0:? 10.000000
+0:? 11.000000
+0:? 12.000000
+0:45 Branch: Return with expression
+0:45 Constant:
+0:45 0.000000
+0:? Linker Objects
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 145
+
+ Capability Shader
+ Capability Float64
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 9 "r00"
+ Name 15 "r01"
+ Name 20 "r12"
+ Name 24 "r13"
+ Name 27 "r14"
+ Name 30 "r15"
+ Name 34 "r16"
+ Name 38 "r20"
+ Name 43 "r21"
+ Name 48 "r22"
+ Name 52 "r23"
+ Name 57 "r24"
+ Name 62 "r30"
+ Name 66 "r31"
+ Name 71 "r32"
+ Name 75 "r33"
+ Name 80 "r34"
+ Name 85 "r40"
+ Name 89 "r41"
+ Name 92 "r42"
+ Name 95 "r43"
+ Name 100 "r44"
+ Name 105 "r50"
+ Name 122 "r51"
+ Name 125 "r61"
+ Name 131 "r62"
+ Name 136 "r65"
+ Name 141 "r66"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 6(float) Constant 1073741824
+ 12: 6(float) Constant 1077936128
+ 13: 6(float) Constant 1082130432
+ 14: 7(fvec4) ConstantComposite 10 11 12 13
+ 16: 6(float) Constant 1084227584
+ 17: 7(fvec4) ConstantComposite 11 12 13 16
+ 18: TypeBool
+ 19: TypePointer Function 18(bool)
+ 21: 18(bool) ConstantFalse
+ 22: TypeInt 32 1
+ 23: TypePointer Function 22(int)
+ 25: 22(int) Constant 1
+ 26: TypePointer Function 6(float)
+ 28: TypeFloat 64
+ 29: TypePointer Function 28(float)
+ 31: 28(float) Constant 0 1072693248
+ 32: TypeInt 32 0
+ 33: TypePointer Function 32(int)
+ 35: 32(int) Constant 1
+ 36: TypeVector 18(bool) 2
+ 37: TypePointer Function 36(bvec2)
+ 39: 18(bool) ConstantTrue
+ 40: 36(bvec2) ConstantComposite 21 39
+ 41: TypeVector 22(int) 2
+ 42: TypePointer Function 41(ivec2)
+ 44: 22(int) Constant 2
+ 45: 41(ivec2) ConstantComposite 25 44
+ 46: TypeVector 6(float) 2
+ 47: TypePointer Function 46(fvec2)
+ 49: 46(fvec2) ConstantComposite 10 11
+ 50: TypeVector 28(float) 2
+ 51: TypePointer Function 50(fvec2)
+ 53: 28(float) Constant 0 1073741824
+ 54: 50(fvec2) ConstantComposite 31 53
+ 55: TypeVector 32(int) 2
+ 56: TypePointer Function 55(ivec2)
+ 58: 32(int) Constant 2
+ 59: 55(ivec2) ConstantComposite 35 58
+ 60: TypeVector 18(bool) 3
+ 61: TypePointer Function 60(bvec3)
+ 63: 60(bvec3) ConstantComposite 21 39 39
+ 64: TypeVector 22(int) 3
+ 65: TypePointer Function 64(ivec3)
+ 67: 22(int) Constant 3
+ 68: 64(ivec3) ConstantComposite 25 44 67
+ 69: TypeVector 6(float) 3
+ 70: TypePointer Function 69(fvec3)
+ 72: 69(fvec3) ConstantComposite 10 11 12
+ 73: TypeVector 28(float) 3
+ 74: TypePointer Function 73(fvec3)
+ 76: 28(float) Constant 0 1074266112
+ 77: 73(fvec3) ConstantComposite 31 53 76
+ 78: TypeVector 32(int) 3
+ 79: TypePointer Function 78(ivec3)
+ 81: 32(int) Constant 3
+ 82: 78(ivec3) ConstantComposite 35 58 81
+ 83: TypeVector 18(bool) 4
+ 84: TypePointer Function 83(bvec4)
+ 86: 83(bvec4) ConstantComposite 21 39 39 21
+ 87: TypeVector 22(int) 4
+ 88: TypePointer Function 87(ivec4)
+ 90: 22(int) Constant 4
+ 91: 87(ivec4) ConstantComposite 25 44 67 90
+ 93: TypeVector 28(float) 4
+ 94: TypePointer Function 93(fvec4)
+ 96: 28(float) Constant 0 1074790400
+ 97: 93(fvec4) ConstantComposite 31 53 76 96
+ 98: TypeVector 32(int) 4
+ 99: TypePointer Function 98(ivec4)
+ 101: 32(int) Constant 4
+ 102: 98(ivec4) ConstantComposite 35 58 81 101
+ 103: TypeMatrix 7(fvec4) 4
+ 104: TypePointer Function 103
+ 106: 6(float) Constant 0
+ 107: 7(fvec4) ConstantComposite 106 10 11 12
+ 108: 6(float) Constant 1086324736
+ 109: 6(float) Constant 1088421888
+ 110: 7(fvec4) ConstantComposite 13 16 108 109
+ 111: 6(float) Constant 1090519040
+ 112: 6(float) Constant 1091567616
+ 113: 6(float) Constant 1092616192
+ 114: 6(float) Constant 1093664768
+ 115: 7(fvec4) ConstantComposite 111 112 113 114
+ 116: 6(float) Constant 1094713344
+ 117: 6(float) Constant 1095761920
+ 118: 6(float) Constant 1096810496
+ 119: 6(float) Constant 1097859072
+ 120: 7(fvec4) ConstantComposite 116 117 118 119
+ 121: 103 ConstantComposite 107 110 115 120
+ 123: TypeMatrix 46(fvec2) 3
+ 124: TypePointer Function 123
+ 126: 46(fvec2) ConstantComposite 12 13
+ 127: 46(fvec2) ConstantComposite 16 108
+ 128: 123 ConstantComposite 49 126 127
+ 129: TypeMatrix 69(fvec3) 2
+ 130: TypePointer Function 129
+ 132: 69(fvec3) ConstantComposite 13 16 108
+ 133: 129 ConstantComposite 72 132
+ 134: TypeMatrix 7(fvec4) 2
+ 135: TypePointer Function 134
+ 137: 7(fvec4) ConstantComposite 16 108 109 111
+ 138: 134 ConstantComposite 14 137
+ 139: TypeMatrix 7(fvec4) 3
+ 140: TypePointer Function 139
+ 142: 7(fvec4) ConstantComposite 112 113 114 116
+ 143: 139 ConstantComposite 14 137 142
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 9(r00): 8(ptr) Variable Function
+ 15(r01): 8(ptr) Variable Function
+ 20(r12): 19(ptr) Variable Function
+ 24(r13): 23(ptr) Variable Function
+ 27(r14): 26(ptr) Variable Function
+ 30(r15): 29(ptr) Variable Function
+ 34(r16): 33(ptr) Variable Function
+ 38(r20): 37(ptr) Variable Function
+ 43(r21): 42(ptr) Variable Function
+ 48(r22): 47(ptr) Variable Function
+ 52(r23): 51(ptr) Variable Function
+ 57(r24): 56(ptr) Variable Function
+ 62(r30): 61(ptr) Variable Function
+ 66(r31): 65(ptr) Variable Function
+ 71(r32): 70(ptr) Variable Function
+ 75(r33): 74(ptr) Variable Function
+ 80(r34): 79(ptr) Variable Function
+ 85(r40): 84(ptr) Variable Function
+ 89(r41): 88(ptr) Variable Function
+ 92(r42): 8(ptr) Variable Function
+ 95(r43): 94(ptr) Variable Function
+ 100(r44): 99(ptr) Variable Function
+ 105(r50): 104(ptr) Variable Function
+ 122(r51): 104(ptr) Variable Function
+ 125(r61): 124(ptr) Variable Function
+ 131(r62): 130(ptr) Variable Function
+ 136(r65): 135(ptr) Variable Function
+ 141(r66): 140(ptr) Variable Function
+ Store 9(r00) 14
+ Store 15(r01) 17
+ Store 20(r12) 21
+ Store 24(r13) 25
+ Store 27(r14) 10
+ Store 30(r15) 31
+ Store 34(r16) 35
+ Store 38(r20) 40
+ Store 43(r21) 45
+ Store 48(r22) 49
+ Store 52(r23) 54
+ Store 57(r24) 59
+ Store 62(r30) 63
+ Store 66(r31) 68
+ Store 71(r32) 72
+ Store 75(r33) 77
+ Store 80(r34) 82
+ Store 85(r40) 86
+ Store 89(r41) 91
+ Store 92(r42) 14
+ Store 95(r43) 97
+ Store 100(r44) 102
+ Store 105(r50) 121
+ Store 122(r51) 121
+ Store 125(r61) 128
+ Store 131(r62) 133
+ Store 136(r65) 138
+ Store 141(r66) 143
+ ReturnValue 106
+ FunctionEnd
--- /dev/null
+hlsl.typedef.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12 Function Definition: ShaderFunction(vf4;i1; (global 4-component vector of float)
+0:4 Function Parameters:
+0:4 'input' (in 4-component vector of float)
+0:4 'ii' (in int)
+0:? Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'a1' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'i' (temp int)
+0:7 Constant:
+0:7 2 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'j' (temp int)
+0:9 'ii' (in int)
+0:10 Branch: Return with expression
+0:10 add (temp 4-component vector of float)
+0:10 component-wise multiply (temp 4-component vector of float)
+0:10 'input' (in 4-component vector of float)
+0:10 'a1' (temp 4-component vector of float)
+0:10 Construct vec4 (global 4-component vector of float)
+0:10 Convert int to float (temp float)
+0:10 add (temp int)
+0:10 'i' (temp int)
+0:10 'j' (temp int)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12 Function Definition: ShaderFunction(vf4;i1; (global 4-component vector of float)
+0:4 Function Parameters:
+0:4 'input' (in 4-component vector of float)
+0:4 'ii' (in int)
+0:? Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'a1' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'i' (temp int)
+0:7 Constant:
+0:7 2 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'j' (temp int)
+0:9 'ii' (in int)
+0:10 Branch: Return with expression
+0:10 add (temp 4-component vector of float)
+0:10 component-wise multiply (temp 4-component vector of float)
+0:10 'input' (in 4-component vector of float)
+0:10 'a1' (temp 4-component vector of float)
+0:10 Construct vec4 (global 4-component vector of float)
+0:10 Convert int to float (temp float)
+0:10 add (temp int)
+0:10 'i' (temp int)
+0:10 'j' (temp int)
+0:? Linker Objects
+
+// 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 Fragment 4 "PixelShaderFunction"
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 450
+ Name 4 "PixelShaderFunction"
+ Name 14 "ShaderFunction(vf4;i1;"
+ Name 12 "input"
+ Name 13 "ii"
+ Name 16 "a1"
+ Name 19 "i"
+ Name 21 "j"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeInt 32 1
+ 10: TypePointer Function 9(int)
+ 11: TypeFunction 7(fvec4) 8(ptr) 10(ptr)
+ 17: 6(float) Constant 1065353216
+ 18: 7(fvec4) ConstantComposite 17 17 17 17
+ 20: 9(int) Constant 2
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ FunctionEnd
+14(ShaderFunction(vf4;i1;): 7(fvec4) Function None 11
+ 12(input): 8(ptr) FunctionParameter
+ 13(ii): 10(ptr) FunctionParameter
+ 15: Label
+ 16(a1): 8(ptr) Variable Function
+ 19(i): 10(ptr) Variable Function
+ 21(j): 10(ptr) Variable Function
+ Store 16(a1) 18
+ Store 19(i) 20
+ 22: 9(int) Load 13(ii)
+ Store 21(j) 22
+ 23: 7(fvec4) Load 12(input)
+ 24: 7(fvec4) Load 16(a1)
+ 25: 7(fvec4) FMul 23 24
+ 26: 9(int) Load 19(i)
+ 27: 9(int) Load 21(j)
+ 28: 9(int) IAdd 26 27
+ 29: 6(float) ConvertSToF 28
+ 30: 7(fvec4) CompositeConstruct 29 29 29 29
+ 31: 7(fvec4) FAdd 25 30
+ ReturnValue 31
+ FunctionEnd
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:2 Function Definition: foo1( (temp void)
+0:2 Function Definition: foo1( (global void)
0:1 Function Parameters:
-0:4 Function Definition: foo2( (temp void)
+0:4 Function Definition: foo2( (global void)
0:2 Function Parameters:
-0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:8 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:5 Function Parameters:
0:5 'input' (in 4-component vector of float)
0:? Sequence
-0:6 Function Call: foo1( (temp void)
-0:7 Function Call: foo2( (temp void)
+0:6 Function Call: foo1( (global void)
+0:7 Function Call: foo2( (global void)
0:? Linker Objects
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:2 Function Definition: foo1( (temp void)
+0:2 Function Definition: foo1( (global void)
0:1 Function Parameters:
-0:4 Function Definition: foo2( (temp void)
+0:4 Function Definition: foo2( (global void)
0:2 Function Parameters:
-0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:8 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:5 Function Parameters:
0:5 'input' (in 4-component vector of float)
0:? Sequence
-0:6 Function Call: foo1( (temp void)
-0:7 Function Call: foo2( (temp void)
+0:6 Function Call: foo1( (global void)
+0:7 Function Call: foo2( (global void)
0:? Linker Objects
// Module Version 10000
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:8 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
-0:8 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
+0:8 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2 Function Parameters:
0:2 'input' (in 4-component vector of float)
0:? Sequence
--- /dev/null
+maxClipDistances.vert
+Shader version: 130
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:? Linker Objects
+0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
+0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+
+
+Linked vertex stage:
+
+
+Shader version: 130
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:? Linker Objects
+0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
+0:? 'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+
0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
0:? 'ColorInv' (smooth out 3-component vector of float)
0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
0:? 'position' (noContraction smooth out 4-component vector of float)
--- /dev/null
+spv.430.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 24
+
+ Capability Shader
+ Capability Geometry
+ Capability MultiViewport
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9 14 19
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "color"
+ Name 14 "gl_Layer"
+ Name 19 "gl_ViewportIndex"
+ Decorate 14(gl_Layer) Flat
+ Decorate 14(gl_Layer) BuiltIn Layer
+ Decorate 19(gl_ViewportIndex) Flat
+ Decorate 19(gl_ViewportIndex) BuiltIn ViewportIndex
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(color): 8(ptr) Variable Output
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 12: TypeInt 32 1
+ 13: TypePointer Input 12(int)
+ 14(gl_Layer): 13(ptr) Variable Input
+19(gl_ViewportIndex): 13(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 9(color) 11
+ 15: 12(int) Load 14(gl_Layer)
+ 16: 6(float) ConvertSToF 15
+ 17: 7(fvec4) Load 9(color)
+ 18: 7(fvec4) VectorTimesScalar 17 16
+ Store 9(color) 18
+ 20: 12(int) Load 19(gl_ViewportIndex)
+ 21: 6(float) ConvertSToF 20
+ 22: 7(fvec4) Load 9(color)
+ 23: 7(fvec4) VectorTimesScalar 22 21
+ Store 9(color) 23
+ Return
+ FunctionEnd
Decorate 55(sampb2) Binding 5
Decorate 56(sampb4) DescriptorSet 0
Decorate 56(sampb4) Binding 31
+ Decorate 62(var) Flat
Decorate 62(var) Location 0
MemberDecorate 63(MS) 0 Location 17
Decorate 63(MS) Block
--- /dev/null
+spv.450.tesc
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation control stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 17
+
+ Capability Tessellation
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationControl 4 "main" 9 16
+ ExecutionMode 4 OutputVertices 4
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "patchOut"
+ Name 10 "S"
+ MemberName 10(S) 0 "sMem1"
+ MemberName 10(S) 1 "sMem2"
+ Name 11 "TheBlock"
+ MemberName 11(TheBlock) 0 "bMem1"
+ MemberName 11(TheBlock) 1 "bMem2"
+ MemberName 11(TheBlock) 2 "s"
+ Name 16 "tcBlock"
+ Decorate 9(patchOut) Patch
+ MemberDecorate 11(TheBlock) 0 Patch
+ MemberDecorate 11(TheBlock) 1 Patch
+ MemberDecorate 11(TheBlock) 2 Patch
+ Decorate 11(TheBlock) Block
+ Decorate 16(tcBlock) Location 12
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(patchOut): 8(ptr) Variable Output
+ 10(S): TypeStruct 6(float) 6(float)
+ 11(TheBlock): TypeStruct 6(float) 6(float) 10(S)
+ 12: TypeInt 32 0
+ 13: 12(int) Constant 2
+ 14: TypeArray 11(TheBlock) 13
+ 15: TypePointer Output 14
+ 16(tcBlock): 15(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ Return
+ FunctionEnd
spv.atomic.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 310
-local_size = (1, 1, 1)
-0:? Sequence
-0:14 Function Definition: func(au1; (global highp uint)
-0:14 Function Parameters:
-0:14 'c' (in highp atomic_uint)
-0:16 Sequence
-0:16 Branch: Return with expression
-0:16 AtomicCounterIncrement (global highp uint)
-0:16 'c' (in highp atomic_uint)
-0:19 Function Definition: main( (global void)
-0:19 Function Parameters:
-0:21 Sequence
-0:21 MemoryBarrierAtomicCounter (global void)
-0:22 Function Call: func(au1; (global highp uint)
-0:22 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:23 Sequence
-0:23 move second child to first child (temp highp uint)
-0:23 'val' (temp highp uint)
-0:23 AtomicCounter (global highp uint)
-0:23 direct index (layout(binding=0 offset=4 ) temp highp atomic_uint)
-0:23 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:23 Constant:
-0:23 2 (const int)
-0:24 AtomicCounterDecrement (global highp uint)
-0:24 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:36 Function Definition: atoms( (global void)
-0:36 Function Parameters:
-0:38 Sequence
-0:38 Sequence
-0:38 move second child to first child (temp highp int)
-0:38 'origi' (temp highp int)
-0:38 AtomicAdd (global highp int)
-0:38 'atomi' (shared highp int)
-0:38 Constant:
-0:38 3 (const int)
-0:39 Sequence
-0:39 move second child to first child (temp highp uint)
-0:39 'origu' (temp highp uint)
-0:39 AtomicAnd (global highp uint)
-0:39 'atomu' (shared highp uint)
-0:39 'value' (shared highp uint)
-0:40 move second child to first child (temp highp uint)
-0:40 'origu' (temp highp uint)
-0:40 AtomicOr (global highp uint)
-0:40 'atomu' (shared highp uint)
-0:40 Constant:
-0:40 7 (const uint)
-0:41 move second child to first child (temp highp uint)
-0:41 'origu' (temp highp uint)
-0:41 AtomicXor (global highp uint)
-0:41 'atomu' (shared highp uint)
-0:41 Constant:
-0:41 7 (const uint)
-0:42 move second child to first child (temp highp uint)
-0:42 'origu' (temp highp uint)
-0:42 AtomicMin (global highp uint)
-0:42 'atomu' (shared highp uint)
-0:42 'value' (shared highp uint)
-0:43 move second child to first child (temp highp int)
-0:43 'origi' (temp highp int)
-0:43 AtomicMax (global highp int)
-0:43 'atomi' (shared highp int)
-0:43 Constant:
-0:43 7 (const int)
-0:44 move second child to first child (temp highp int)
-0:44 'origi' (temp highp int)
-0:44 AtomicExchange (global highp int)
-0:44 'atomi' (shared highp int)
-0:44 'origi' (temp highp int)
-0:45 move second child to first child (temp highp uint)
-0:45 'origu' (temp highp uint)
-0:45 AtomicCompSwap (global highp uint)
-0:45 'atomu' (shared highp uint)
-0:45 Constant:
-0:45 10 (const uint)
-0:45 'value' (shared highp uint)
-0:46 AtomicAdd (global highp int)
-0:46 direct index (temp highp int)
-0:46 n_frames_rendered: direct index for structure (layout(column_major std140 offset=16 ) buffer highp 4-component vector of int)
-0:46 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
-0:46 Constant:
-0:46 1 (const int)
-0:46 Constant:
-0:46 2 (const int)
-0:46 Constant:
-0:46 1 (const int)
-0:? Linker Objects
-0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:? 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:? 'value' (shared highp uint)
-0:? 'arrX' (global 1-element array of highp int)
-0:? 'arrY' (global 1-element array of highp int)
-0:? 'arrZ' (global 1-element array of highp int)
-0:? 'atomi' (shared highp int)
-0:? 'atomu' (shared highp uint)
-0:? 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
Linked compute stage:
-Shader version: 310
-local_size = (1, 1, 1)
-0:? Sequence
-0:14 Function Definition: func(au1; (global highp uint)
-0:14 Function Parameters:
-0:14 'c' (in highp atomic_uint)
-0:16 Sequence
-0:16 Branch: Return with expression
-0:16 AtomicCounterIncrement (global highp uint)
-0:16 'c' (in highp atomic_uint)
-0:19 Function Definition: main( (global void)
-0:19 Function Parameters:
-0:21 Sequence
-0:21 MemoryBarrierAtomicCounter (global void)
-0:22 Function Call: func(au1; (global highp uint)
-0:22 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:23 Sequence
-0:23 move second child to first child (temp highp uint)
-0:23 'val' (temp highp uint)
-0:23 AtomicCounter (global highp uint)
-0:23 direct index (layout(binding=0 offset=4 ) temp highp atomic_uint)
-0:23 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:23 Constant:
-0:23 2 (const int)
-0:24 AtomicCounterDecrement (global highp uint)
-0:24 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:36 Function Definition: atoms( (global void)
-0:36 Function Parameters:
-0:38 Sequence
-0:38 Sequence
-0:38 move second child to first child (temp highp int)
-0:38 'origi' (temp highp int)
-0:38 AtomicAdd (global highp int)
-0:38 'atomi' (shared highp int)
-0:38 Constant:
-0:38 3 (const int)
-0:39 Sequence
-0:39 move second child to first child (temp highp uint)
-0:39 'origu' (temp highp uint)
-0:39 AtomicAnd (global highp uint)
-0:39 'atomu' (shared highp uint)
-0:39 'value' (shared highp uint)
-0:40 move second child to first child (temp highp uint)
-0:40 'origu' (temp highp uint)
-0:40 AtomicOr (global highp uint)
-0:40 'atomu' (shared highp uint)
-0:40 Constant:
-0:40 7 (const uint)
-0:41 move second child to first child (temp highp uint)
-0:41 'origu' (temp highp uint)
-0:41 AtomicXor (global highp uint)
-0:41 'atomu' (shared highp uint)
-0:41 Constant:
-0:41 7 (const uint)
-0:42 move second child to first child (temp highp uint)
-0:42 'origu' (temp highp uint)
-0:42 AtomicMin (global highp uint)
-0:42 'atomu' (shared highp uint)
-0:42 'value' (shared highp uint)
-0:43 move second child to first child (temp highp int)
-0:43 'origi' (temp highp int)
-0:43 AtomicMax (global highp int)
-0:43 'atomi' (shared highp int)
-0:43 Constant:
-0:43 7 (const int)
-0:44 move second child to first child (temp highp int)
-0:44 'origi' (temp highp int)
-0:44 AtomicExchange (global highp int)
-0:44 'atomi' (shared highp int)
-0:44 'origi' (temp highp int)
-0:45 move second child to first child (temp highp uint)
-0:45 'origu' (temp highp uint)
-0:45 AtomicCompSwap (global highp uint)
-0:45 'atomu' (shared highp uint)
-0:45 Constant:
-0:45 10 (const uint)
-0:45 'value' (shared highp uint)
-0:46 AtomicAdd (global highp int)
-0:46 direct index (temp highp int)
-0:46 n_frames_rendered: direct index for structure (layout(column_major std140 offset=16 ) buffer highp 4-component vector of int)
-0:46 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
-0:46 Constant:
-0:46 1 (const int)
-0:46 Constant:
-0:46 2 (const int)
-0:46 Constant:
-0:46 1 (const int)
-0:? Linker Objects
-0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:? 'countArr' (layout(binding=0 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:? 'value' (shared highp uint)
-0:? 'arrX' (global 1-element array of highp int)
-0:? 'arrY' (global 1-element array of highp int)
-0:? 'arrZ' (global 1-element array of highp int)
-0:? 'atomi' (shared highp int)
-0:? 'atomu' (shared highp uint)
-0:? 'result' (layout(binding=0 column_major std140 ) restrict buffer block{layout(column_major std140 offset=0 ) buffer highp float f, layout(column_major std140 offset=16 ) buffer highp 4-component vector of int n_frames_rendered})
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 73
+ Capability Shader
+ Capability AtomicStorage
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 1 1 1
+ Source GLSL 450
+ Name 4 "main"
+ Name 10 "func(au1;"
+ Name 9 "c"
+ Name 12 "atoms("
+ Name 20 "counter"
+ Name 23 "val"
+ Name 27 "countArr"
+ Name 35 "origi"
+ Name 37 "atomi"
+ Name 40 "origu"
+ Name 42 "atomu"
+ Name 43 "value"
+ Name 60 "dataSSB"
+ MemberName 60(dataSSB) 0 "f"
+ MemberName 60(dataSSB) 1 "n_frames_rendered"
+ Name 62 "result"
+ Name 70 "arrX"
+ Name 71 "arrY"
+ Name 72 "arrZ"
+ Decorate 20(counter) Offset 0
+ Decorate 20(counter) Binding 0
+ Decorate 27(countArr) Offset 4
+ Decorate 27(countArr) Binding 0
+ MemberDecorate 60(dataSSB) 0 Restrict
+ MemberDecorate 60(dataSSB) 0 Offset 0
+ MemberDecorate 60(dataSSB) 1 Restrict
+ MemberDecorate 60(dataSSB) 1 Offset 16
+ Decorate 60(dataSSB) BufferBlock
+ Decorate 62(result) DescriptorSet 0
+ Decorate 62(result) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer AtomicCounter 6(int)
+ 8: TypeFunction 6(int) 7(ptr)
+ 14: 6(int) Constant 1
+ 15: 6(int) Constant 0
+ 19: 6(int) Constant 1024
+ 20(counter): 7(ptr) Variable AtomicCounter
+ 22: TypePointer Function 6(int)
+ 24: 6(int) Constant 4
+ 25: TypeArray 6(int) 24
+ 26: TypePointer AtomicCounter 25
+ 27(countArr): 26(ptr) Variable AtomicCounter
+ 28: TypeInt 32 1
+ 29: 28(int) Constant 2
+ 34: TypePointer Function 28(int)
+ 36: TypePointer Workgroup 28(int)
+ 37(atomi): 36(ptr) Variable Workgroup
+ 38: 28(int) Constant 3
+ 41: TypePointer Workgroup 6(int)
+ 42(atomu): 41(ptr) Variable Workgroup
+ 43(value): 41(ptr) Variable Workgroup
+ 46: 6(int) Constant 7
+ 51: 28(int) Constant 7
+ 55: 6(int) Constant 10
+ 58: TypeFloat 32
+ 59: TypeVector 28(int) 4
+ 60(dataSSB): TypeStruct 58(float) 59(ivec4)
+ 61: TypePointer Uniform 60(dataSSB)
+ 62(result): 61(ptr) Variable Uniform
+ 63: 28(int) Constant 1
+ 64: 6(int) Constant 2
+ 65: TypePointer Uniform 28(int)
+ 68: TypeArray 28(int) 14
+ 69: TypePointer Private 68
+ 70(arrX): 69(ptr) Variable Private
+ 71(arrY): 69(ptr) Variable Private
+ 72(arrZ): 69(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 23(val): 22(ptr) Variable Function
+ MemoryBarrier 14 19
+ 21: 6(int) FunctionCall 10(func(au1;) 20(counter)
+ 30: 7(ptr) AccessChain 27(countArr) 29
+ 31: 6(int) AtomicLoad 30 14 15
+ Store 23(val) 31
+ 32: 6(int) AtomicIDecrement 20(counter) 14 15
+ 33: 6(int) AtomicIIncrement 20(counter) 14 15
+ Return
+ FunctionEnd
+ 10(func(au1;): 6(int) Function None 8
+ 9(c): 7(ptr) FunctionParameter
+ 11: Label
+ 16: 6(int) AtomicIIncrement 9(c) 14 15
+ ReturnValue 16
+ FunctionEnd
+ 12(atoms(): 2 Function None 3
+ 13: Label
+ 35(origi): 34(ptr) Variable Function
+ 40(origu): 22(ptr) Variable Function
+ 39: 28(int) AtomicIAdd 37(atomi) 14 15 38
+ Store 35(origi) 39
+ 44: 6(int) Load 43(value)
+ 45: 6(int) AtomicAnd 42(atomu) 14 15 44
+ Store 40(origu) 45
+ 47: 6(int) AtomicOr 42(atomu) 14 15 46
+ Store 40(origu) 47
+ 48: 6(int) AtomicXor 42(atomu) 14 15 46
+ Store 40(origu) 48
+ 49: 6(int) Load 43(value)
+ 50: 6(int) AtomicUMin 42(atomu) 14 15 49
+ Store 40(origu) 50
+ 52: 28(int) AtomicSMax 37(atomi) 14 15 51
+ Store 35(origi) 52
+ 53: 28(int) Load 35(origi)
+ 54: 28(int) AtomicExchange 37(atomi) 14 15 53
+ Store 35(origi) 54
+ 56: 6(int) Load 43(value)
+ 57: 6(int) AtomicCompareExchange 42(atomu) 14 15 15 56 55
+ Store 40(origu) 57
+ 66: 65(ptr) AccessChain 62(result) 63 64
+ 67: 28(int) AtomicIAdd 66 14 15 63
+ Return
+ FunctionEnd
--- /dev/null
+spv.glFragColor.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 12
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 330
+ Name 4 "main"
+ Name 9 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(gl_FragColor): 8(ptr) Variable Output
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 9(gl_FragColor) 11
+ Return
+ FunctionEnd
Name 173 "u3"
Name 182 "i3"
Name 247 "v4"
- Decorate 210 RelaxedPrecision
- Decorate 216 RelaxedPrecision
- Decorate 223 RelaxedPrecision
- Decorate 230 RelaxedPrecision
- Decorate 234 RelaxedPrecision
- Decorate 240 RelaxedPrecision
- Decorate 261 RelaxedPrecision
- Decorate 265 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
Decorate 58(bBt3) BufferBlock
Decorate 60(bBtn3) DescriptorSet 1
Decorate 60(bBtn3) Binding 0
+ Decorate 62(sout) Flat
MemberDecorate 63(S) 0 Invariant
MemberDecorate 63(S) 1 Invariant
MemberDecorate 63(S) 2 Invariant
Name 128 "samp2D"
Name 134 "foo"
Name 135 "foo2"
+ Decorate 15(foo3) Flat
Decorate 90(condition) Flat
Decorate 128(samp2D) DescriptorSet 0
+ Decorate 134(foo) Flat
+ Decorate 135(foo2) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
--- /dev/null
+spv.specConst.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// 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 Vertex 4 "main" 13 25 26
+ Source GLSL 450
+ Name 4 "main"
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
+ MemberName 11(gl_PerVertex) 3 "gl_CullDistance"
+ Name 13 ""
+ Name 25 "gl_VertexID"
+ Name 26 "gl_InstanceID"
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
+ MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance
+ Decorate 11(gl_PerVertex) Block
+ Decorate 18 SpecId 11
+ Decorate 25(gl_VertexID) BuiltIn VertexId
+ Decorate 26(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 1
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+ 16: 6(float) Constant 1065353216
+ 17: 7(fvec4) ConstantComposite 16 16 16 16
+ 18: 14(int) SpecConstant 8
+ 22: TypePointer Output 7(fvec4)
+ 24: TypePointer Input 14(int)
+ 25(gl_VertexID): 24(ptr) Variable Input
+26(gl_InstanceID): 24(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 19: 6(float) ConvertSToF 18
+ 20: 7(fvec4) CompositeConstruct 19 19 19 19
+ 21: 7(fvec4) FDiv 17 20
+ 23: 22(ptr) AccessChain 13 15
+ Store 23 21
+ Return
+ FunctionEnd
Name 63 "coord"
Name 69 "constructed"
Decorate 10(Count) Flat
+ Decorate 20(foo3) Flat
+ Decorate 34(foo2) Flat
+ Decorate 36(foo) Flat
Decorate 59(samp2D) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
void foo4()\r
{\r
int a = int(a0[2].f);\r
-}
\ No newline at end of file
+}\r
+\r
+const bool cval1 = all(bvec4(true, true, true, true));\r
+const bool cval2 = all(bvec4(false, false, false, false));\r
+const bool cval3 = all(bvec4(true, true, false, true));\r
+const bool cval4 = any(bvec4(true, true, true, true));\r
+const bool cval5 = any(bvec4(false, false, false, false));\r
+const bool cval6 = any(bvec4(false, true, false, false));\r
float F;\r
m(ivec2(F)); // test input conversion of single argument that's an aggregate; other function tests in 120.vert\r
}\r
+\r
+vec4 badConv()\r
+{\r
+ return u; // ERROR, can change scalar to vector\r
+}
\ No newline at end of file
--- /dev/null
+#version 310 es\r
+\r
+void main()\r
+{\r
+}\r
--- /dev/null
+#version 330\r
+\r
+#ifdef GL_SPIRV\r
+#error GL_SPIRV is set ( correct, not an error )\r
+#if GL_SPIRV == 100\r
+#error GL_SPIR is 100\r
+#endif\r
+#endif\r
+\r
+void main()\r
+{\r
+}\r
+\r
+layout(input_attachment_index = 1) uniform subpassInput sub; // ERROR, no inputs\r
--- /dev/null
+#version 330 compatibility\r
+\r
+void main()\r
+{\r
+}\r
--- /dev/null
+#version 150\r
+\r
+void main()\r
+{\r
+}\r
--- /dev/null
+#version 450\r
+\r
+layout(push_constant) uniform Material { int a; } mat; // ERROR, can't use push_constant\r
+\r
+layout(set = 0, binding = 0, std140) uniform Bt1 { int a; } bt1;\r
+layout(set = 1, binding = 0, std140) uniform Bt2 { int a; } bt2; // ERROR, set has to be 0\r
+\r
+layout(shared) uniform Bt3 { int a; } bt3; // ERROR, no shared\r
+layout(packed) uniform Bt4 { int a; } bt4; // ERROR, no shared\r
+\r
+void main()\r
+{\r
+ gl_VertexIndex; // ERROR, not preset\r
+ gl_InstanceIndex; // ERROR, not present\r
+ gl_VertexID;\r
+ gl_InstanceID;\r
+ gl_DepthRangeParameters; // ERROR, not present\r
+}\r
+\r
+uniform sampler s; // ERROR, no sampler\r
--- /dev/null
+void foo(float f)
+{
+ if (f < 1.0)
+ discard;
+}
+
+float4 PixelShaderFunction(float4 input) : COLOR0
+{
+ foo(input.z);
+ if (input.x)
+ discard;
+ float f = input.x;
+ discard;
+}
[unroll] for (; input != input; ) {}
for (; input != input; ) { return -input; }
for (--input; input != input; input += 2) { return -input; }
+ for (;;) if (input.x > 2.0) break;
+ for (;;) if (input.x > 2.0) continue;
+ float ii;
+ for (int ii = -1; ii < 3; ++ii) if (ii == 2) continue;
+ --ii;
}
} else {
return -input;
}
+
+ int ii;
+ if (float ii = input.z)
+ ++ii;
+ ++ii;
}
--- /dev/null
+float4 a1 = float4(1, 0.5, 0, 1), b1 = float4(2.0, 2.5, 2.1, 2.2);
+float4 a1i = {1, 0.5, 0, 1}, b1i = {2.0, 2.5, 2.1, 2.2};
+float a2 = 0.2, b2;
+float a3, b3 = 0.3;
+float a4, b4 = 0.4, c4;
+float a5 = 0.5, b5, c5 = 1.5;
+
+float4 ShaderFunction(float4 input) : COLOR0
+{
+ float4 a2 = float4(0.2, 0.3, 0.4, 0.5);
+ struct S1 {
+ float f;
+ int i;
+ };
+ struct S2 {
+ int j;
+ float g;
+ S1 s1;
+ };
+ S2 s2i = { 9, a5, { (a3,a4), 12} }, s2 = S2(9, a5, S1((a3,a4), 12));
+ float a8 = (a2, b2), a9 = a5;
+
+ return input * a1;
+}
gs uint4 gs_ub4;
gs uint4 gs_uc4;
-float ComputeShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint inU1)
+float ComputeShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
{
uint out_u1;
return 0.0;
}
-float1 ComputeShaderFunction(float1 inF0, float1 inF1, float1 inF2)
+float1 ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
+float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
{
uint2 out_u2;
return float2(1,2);
}
-float3 ComputeShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
+float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
{
uint3 out_u3;
--- /dev/null
+
+float PixelShaderFunction(double inDV1a, double inDV1b, double inDV1c,
+ double2 inDV2, double3 inDV3, double4 inDV4,
+ uint inU1a, uint inU1b)
+{
+ double r00 = fma(inDV1a, inDV1b, inDV1c);
+ double r01 = asdouble(inU1a, inU1b);
+
+ return 0.0;
+}
+
-float PixelShaderFunction(float inF0)
+float PixelShaderFunctionS(float inF0)
{
f32tof16(inF0);
return 0.0;
}
-float1 PixelShaderFunction(float1 inF0)
+float1 PixelShaderFunction1(float1 inF0)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 PixelShaderFunction(float2 inF0)
+float2 PixelShaderFunction2(float2 inF0)
{
f32tof16(inF0);
return float2(1,2);
}
-float3 PixelShaderFunction(float3 inF0)
+float3 PixelShaderFunction3(float3 inF0)
{
f32tof16(inF0);
gs uint4 gs_ub4;
gs uint4 gs_uc4;
-float PixelShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint inU1)
+float PixelShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
{
uint out_u1;
- all(inF0);
- abs(inF0);
- acos(inF0);
- any(inF0);
- asin(inF0);
- asint(inF0);
- asuint(inF0);
- asfloat(inU0);
+ bool r000 = all(inF0);
+ float r001 = abs(inF0);
+ float r002 = acos(inF0);
+ bool r003 = any(inF0);
+ float r004 = asin(inF0);
+ int r005 = asint(inF0);
+ uint r006 = asuint(inF0);
+ float r007 = asfloat(inU0);
// asdouble(inU0, inU1); // TODO: enable when HLSL parser used for intrinsics
- atan(inF0);
- atan2(inF0, inF1);
- ceil(inF0);
- clamp(inF0, inF1, inF2);
+ float r009 = atan(inF0);
+ float r010 = atan2(inF0, inF1);
+ float r011 = ceil(inF0);
+ float r012 = clamp(inF0, inF1, inF2);
clip(inF0);
- cos(inF0);
- cosh(inF0);
- countbits(7);
- ddx(inF0);
- ddx_coarse(inF0);
- ddx_fine(inF0);
- ddy(inF0);
- ddy_coarse(inF0);
- ddy_fine(inF0);
- degrees(inF0);
+ float r014 = cos(inF0);
+ float r015 = cosh(inF0);
+ uint r016 = countbits(7);
+ float r017 = ddx(inF0);
+ float r018 = ddx_coarse(inF0);
+ float r019 = ddx_fine(inF0);
+ float r020 = ddy(inF0);
+ float r021 = ddy_coarse(inF0);
+ float r022 = ddy_fine(inF0);
+ float r023 = degrees(inF0);
// EvaluateAttributeAtCentroid(inF0);
// EvaluateAttributeAtSample(inF0, 0);
// TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
- exp(inF0);
- exp2(inF0);
- firstbithigh(7);
- firstbitlow(7);
- floor(inF0);
+ float r027 = exp(inF0);
+ float r028 = exp2(inF0);
+ uint r029 = firstbithigh(7);
+ uint r030 = firstbitlow(7);
+ float r031 = floor(inF0);
// TODO: fma(inD0, inD1, inD2);
- fmod(inF0, inF1);
- frac(inF0);
- frexp(inF0, inF1);
- fwidth(inF0);
- isinf(inF0);
- isnan(inF0);
- ldexp(inF0, inF1);
- log(inF0);
- log10(inF0);
- log2(inF0);
- max(inF0, inF1);
- min(inF0, inF1);
- pow(inF0, inF1);
- radians(inF0);
- rcp(inF0);
- reversebits(2);
- round(inF0);
- rsqrt(inF0);
- saturate(inF0);
- sign(inF0);
- sin(inF0);
+ float r033 = fmod(inF0, inF1);
+ float r034 = frac(inF0);
+ float r035 = frexp(inF0, inF1);
+ float r036 = fwidth(inF0);
+ bool r037 = isinf(inF0);
+ bool r038 = isnan(inF0);
+ float r039 = ldexp(inF0, inF1);
+ float r039a = lerp(inF0, inF1, inF2);
+ float r040 = log(inF0);
+ float r041 = log10(inF0);
+ float r042 = log2(inF0);
+ float r043 = max(inF0, inF1);
+ float r044 = min(inF0, inF1);
+ float r045 = pow(inF0, inF1);
+ float r046 = radians(inF0);
+ float r047 = rcp(inF0);
+ uint r048 = reversebits(2);
+ float r049 = round(inF0);
+ float r050 = rsqrt(inF0);
+ float r051 = saturate(inF0);
+ float r052 = sign(inF0);
+ float r053 = sin(inF0);
sincos(inF0, inF1, inF2);
- sinh(inF0);
- smoothstep(inF0, inF1, inF2);
- sqrt(inF0);
- step(inF0, inF1);
- tan(inF0);
- tanh(inF0);
+ float r055 = sinh(inF0);
+ float r056 = smoothstep(inF0, inF1, inF2);
+ float r057 = sqrt(inF0);
+ float r058 = step(inF0, inF1);
+ float r059 = tan(inF0);
+ float r060 = tanh(inF0);
// TODO: sampler intrinsics, when we can declare the types.
- trunc(inF0);
+ float r061 = trunc(inF0);
return 0.0;
}
-float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2)
+float1 PixelShaderFunction1(float1 inF0, float1 inF1, float1 inF2)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
+float2 PixelShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
{
uint2 out_u2;
- all(inF0);
- abs(inF0);
- acos(inF0);
- any(inF0);
- asin(inF0);
- asint(inF0);
- asuint(inF0);
- asfloat(inU0);
+ bool r000 = all(inF0);
+ float2 r001 = abs(inF0);
+ float2 r002 = acos(inF0);
+ bool r003 = any(inF0);
+ float2 r004 = asin(inF0);
+ int2 r005 = asint(inF0);
+ uint2 r006 = asuint(inF0);
+ float2 r007 = asfloat(inU0);
// asdouble(inU0, inU1); // TODO: enable when HLSL parser used for intrinsics
- atan(inF0);
- atan2(inF0, inF1);
- ceil(inF0);
- clamp(inF0, inF1, inF2);
+ float2 r009 = atan(inF0);
+ float2 r010 = atan2(inF0, inF1);
+ float2 r011 = ceil(inF0);
+ float2 r012 = clamp(inF0, inF1, inF2);
clip(inF0);
- cos(inF0);
- cosh(inF0);
- countbits(int2(7,3));
- ddx(inF0);
- ddx_coarse(inF0);
- ddx_fine(inF0);
- ddy(inF0);
- ddy_coarse(inF0);
- ddy_fine(inF0);
- degrees(inF0);
- distance(inF0, inF1);
- dot(inF0, inF1);
+ float2 r013 = cos(inF0);
+ float2 r015 = cosh(inF0);
+ uint2 r016 = countbits(int2(7,3));
+ float2 r017 = ddx(inF0);
+ float2 r018 = ddx_coarse(inF0);
+ float2 r019 = ddx_fine(inF0);
+ float2 r020 = ddy(inF0);
+ float2 r021 = ddy_coarse(inF0);
+ float2 r022 = ddy_fine(inF0);
+ float2 r023 = degrees(inF0);
// EvaluateAttributeAtCentroid(inF0);
// EvaluateAttributeAtSample(inF0, 0);
// TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
- exp(inF0);
- exp2(inF0);
- faceforward(inF0, inF1, inF2);
- firstbithigh(7);
- firstbitlow(7);
- floor(inF0);
+ float r026 = distance(inF0, inF1);
+ float r027 = dot(inF0, inF1);
+ // EvaluateAttributeAtCentroid(inF0);
+ // EvaluateAttributeAtSample(inF0, 0);
+ // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
+ float2 r028 = exp(inF0);
+ float2 r029 = exp2(inF0);
+ float2 r030 = faceforward(inF0, inF1, inF2);
+ uint2 r031 = firstbithigh(uint2(7,8));
+ uint2 r032 = firstbitlow(uint2(7,8));
+ float2 r033 = floor(inF0);
// TODO: fma(inD0, inD1, inD2);
- fmod(inF0, inF1);
- frac(inF0);
- frexp(inF0, inF1);
- fwidth(inF0);
- isinf(inF0);
- isnan(inF0);
- ldexp(inF0, inF1);
- length(inF0);
- log(inF0);
- log10(inF0);
- log2(inF0);
- max(inF0, inF1);
- min(inF0, inF1);
- normalize(inF0);
- pow(inF0, inF1);
- radians(inF0);
- rcp(inF0);
- reflect(inF0, inF1);
- refract(inF0, inF1, 2.0);
- reversebits(int2(1,2));
- round(inF0);
- rsqrt(inF0);
- saturate(inF0);
- sign(inF0);
- sin(inF0);
+ float2 r035 = fmod(inF0, inF1);
+ float2 r036 = frac(inF0);
+ float2 r037 = frexp(inF0, inF1);
+ float2 r038 = fwidth(inF0);
+ bool2 r039 = isinf(inF0);
+ bool2 r040 = isnan(inF0);
+ float2 r041 = ldexp(inF0, inF1);
+ float2 r039a = lerp(inF0, inF1, inF2);
+ float r042 = length(inF0);
+ float2 r043 = log(inF0);
+ float2 r044 = log10(inF0);
+ float2 r045 = log2(inF0);
+ float2 r046 = max(inF0, inF1);
+ float2 r047 = min(inF0, inF1);
+ float2 r048 = normalize(inF0);
+ float2 r049 = pow(inF0, inF1);
+ float2 r050 = radians(inF0);
+ float2 r051 = rcp(inF0);
+ float2 r052 = reflect(inF0, inF1);
+ float2 r053 = refract(inF0, inF1, 2.0);
+ uint2 r054 = reversebits(uint2(1,2));
+ float2 r055 = round(inF0);
+ float2 r056 = rsqrt(inF0);
+ float2 r057 = saturate(inF0);
+ float2 r058 = sign(inF0);
+ float2 r059 = sin(inF0);
sincos(inF0, inF1, inF2);
- sinh(inF0);
- smoothstep(inF0, inF1, inF2);
- sqrt(inF0);
- step(inF0, inF1);
- tan(inF0);
- tanh(inF0);
+ float2 r060 = sinh(inF0);
+ float2 r061 = smoothstep(inF0, inF1, inF2);
+ float2 r062 = sqrt(inF0);
+ float2 r063 = step(inF0, inF1);
+ float2 r064 = tan(inF0);
+ float2 r065 = tanh(inF0);
// TODO: sampler intrinsics, when we can declare the types.
- trunc(inF0);
+ float2 r066 = trunc(inF0);
// TODO: ... add when float1 prototypes are generated
return float2(1,2);
}
-float3 PixelShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
+float3 PixelShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
{
uint3 out_u3;
- all(inF0);
- abs(inF0);
- acos(inF0);
- any(inF0);
- asin(inF0);
- asint(inF0);
- asuint(inF0);
- asfloat(inU0);
+ bool r000 = all(inF0);
+ float3 r001 = abs(inF0);
+ float3 r002 = acos(inF0);
+ bool r003 = any(inF0);
+ float3 r004 = asin(inF0);
+ int3 r005 = asint(inF0);
+ uint3 r006 = asuint(inF0);
+ float3 r007 = asfloat(inU0);
// asdouble(inU0, inU1); // TODO: enable when HLSL parser used for intrinsics
- atan(inF0);
- atan2(inF0, inF1);
- ceil(inF0);
- clamp(inF0, inF1, inF2);
+ float3 r009 = atan(inF0);
+ float3 r010 = atan2(inF0, inF1);
+ float3 r011 = ceil(inF0);
+ float3 r012 = clamp(inF0, inF1, inF2);
clip(inF0);
- cos(inF0);
- cosh(inF0);
- countbits(int3(7,3,5));
- cross(inF0, inF1);
- ddx(inF0);
- ddx_coarse(inF0);
- ddx_fine(inF0);
- ddy(inF0);
- ddy_coarse(inF0);
- ddy_fine(inF0);
- degrees(inF0);
- distance(inF0, inF1);
- dot(inF0, inF1);
+ float3 r013 = cos(inF0);
+ float3 r014 = cosh(inF0);
+ uint3 r015 = countbits(uint3(7,3,5));
+ float3 r016 = cross(inF0, inF1);
+ float3 r017 = ddx(inF0);
+ float3 r018 = ddx_coarse(inF0);
+ float3 r019 = ddx_fine(inF0);
+ float3 r020 = ddy(inF0);
+ float3 r021 = ddy_coarse(inF0);
+ float3 r022 = ddy_fine(inF0);
+ float3 r023 = degrees(inF0);
+ float r024 = distance(inF0, inF1);
+ float r025 = dot(inF0, inF1);
// EvaluateAttributeAtCentroid(inF0);
// EvaluateAttributeAtSample(inF0, 0);
// TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
- exp(inF0);
- exp2(inF0);
- faceforward(inF0, inF1, inF2);
- firstbithigh(7);
- firstbitlow(7);
- floor(inF0);
+ float3 r029 = exp(inF0);
+ float3 r030 = exp2(inF0);
+ float3 r031 = faceforward(inF0, inF1, inF2);
+ uint3 r032 = firstbithigh(uint3(2,3,4));
+ uint3 r033 = firstbitlow(uint3(2,3,4));
+ float3 r034 = floor(inF0);
// TODO: fma(inD0, inD1, inD2);
- fmod(inF0, inF1);
- frac(inF0);
- frexp(inF0, inF1);
- fwidth(inF0);
- isinf(inF0);
- isnan(inF0);
- ldexp(inF0, inF1);
- length(inF0);
- log(inF0);
- log10(inF0);
- log2(inF0);
- max(inF0, inF1);
- min(inF0, inF1);
- normalize(inF0);
- pow(inF0, inF1);
- radians(inF0);
- rcp(inF0);
- reflect(inF0, inF1);
- refract(inF0, inF1, 2.0);
- reversebits(int3(1,2,3));
- round(inF0);
- rsqrt(inF0);
- saturate(inF0);
- sign(inF0);
- sin(inF0);
+ float3 r036 = fmod(inF0, inF1);
+ float3 r037 = frac(inF0);
+ float3 r038 = frexp(inF0, inF1);
+ float3 r039 = fwidth(inF0);
+ bool3 r040 = isinf(inF0);
+ bool3 r041 = isnan(inF0);
+ float3 r042 = ldexp(inF0, inF1);
+ float3 r039a = lerp(inF0, inF1, inF2);
+ float r043 = length(inF0);
+ float3 r044 = log(inF0);
+ float3 r045 = log10(inF0);
+ float3 r046 = log2(inF0);
+ float3 r047 = max(inF0, inF1);
+ float3 r048 = min(inF0, inF1);
+ float3 r049 = normalize(inF0);
+ float3 r050 = pow(inF0, inF1);
+ float3 r051 = radians(inF0);
+ float3 r052 = rcp(inF0);
+ float3 r053 = reflect(inF0, inF1);
+ float3 r054 = refract(inF0, inF1, 2.0);
+ uint3 r055 = reversebits(uint3(1,2,3));
+ float3 r056 = round(inF0);
+ float3 r057 = rsqrt(inF0);
+ float3 r058 = saturate(inF0);
+ float3 r059 = sign(inF0);
+ float3 r060 = sin(inF0);
sincos(inF0, inF1, inF2);
- sinh(inF0);
- smoothstep(inF0, inF1, inF2);
- sqrt(inF0);
- step(inF0, inF1);
- tan(inF0);
- tanh(inF0);
+ float3 r061 = sinh(inF0);
+ float3 r062 = smoothstep(inF0, inF1, inF2);
+ float3 r063 = sqrt(inF0);
+ float3 r064 = step(inF0, inF1);
+ float3 r065 = tan(inF0);
+ float3 r066 = tanh(inF0);
// TODO: sampler intrinsics, when we can declare the types.
- trunc(inF0);
+ float3 r067 = trunc(inF0);
// TODO: ... add when float1 prototypes are generated
return float3(1,2,3);
{
uint4 out_u4;
- all(inF0);
- abs(inF0);
- acos(inF0);
- any(inF0);
- asin(inF0);
- asint(inF0);
- asuint(inF0);
- asfloat(inU0);
+ bool r000 = all(inF0);
+ float4 r001 = abs(inF0);
+ float4 r002 = acos(inF0);
+ bool r003 = any(inF0);
+ float4 r004 = asin(inF0);
+ int4 r005 = asint(inF0);
+ uint4 r006 = asuint(inF0);
+ float4 r007 = asfloat(inU0);
// asdouble(inU0, inU1); // TODO: enable when HLSL parser used for intrinsics
- atan(inF0);
- atan2(inF0, inF1);
- ceil(inF0);
- clamp(inF0, inF1, inF2);
+ float4 r009 = atan(inF0);
+ float4 r010 = atan2(inF0, inF1);
+ float4 r011 = ceil(inF0);
+ float4 r012 = clamp(inF0, inF1, inF2);
clip(inF0);
- cos(inF0);
- cosh(inF0);
- countbits(int4(7,3,5,2));
- ddx(inF0);
- ddx_coarse(inF0);
- ddx_fine(inF0);
- ddy(inF0);
- ddy_coarse(inF0);
- ddy_fine(inF0);
- degrees(inF0);
- distance(inF0, inF1);
- dot(inF0, inF1);
- dst(inF0, inF1);
+ float4 r013 = cos(inF0);
+ float4 r014 = cosh(inF0);
+ uint4 r015 = countbits(uint4(7,3,5,2));
+ float4 r016 = ddx(inF0);
+ float4 r017 = ddx_coarse(inF0);
+ float4 r018 = ddx_fine(inF0);
+ float4 r019 = ddy(inF0);
+ float4 r020 = ddy_coarse(inF0);
+ float4 r021 = ddy_fine(inF0);
+ float4 r022 = degrees(inF0);
+ float r023 = distance(inF0, inF1);
+ float r024 = dot(inF0, inF1);
+ float4 r025 = dst(inF0, inF1);
// EvaluateAttributeAtCentroid(inF0);
// EvaluateAttributeAtSample(inF0, 0);
// TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
- exp(inF0);
- exp2(inF0);
- faceforward(inF0, inF1, inF2);
- firstbithigh(7);
- firstbitlow(7);
- floor(inF0);
+ float4 r029 = exp(inF0);
+ float4 r030 = exp2(inF0);
+ float4 r031 = faceforward(inF0, inF1, inF2);
+ uint4 r032 = firstbithigh(uint4(7,8,9,10));
+ uint4 r033 = firstbitlow(uint4(7,8,9,10));
+ float4 r034 = floor(inF0);
// TODO: fma(inD0, inD1, inD2);
- fmod(inF0, inF1);
- frac(inF0);
- frexp(inF0, inF1);
- fwidth(inF0);
- isinf(inF0);
- isnan(inF0);
- ldexp(inF0, inF1);
- length(inF0);
- log(inF0);
- log10(inF0);
- log2(inF0);
- max(inF0, inF1);
- min(inF0, inF1);
- normalize(inF0);
- pow(inF0, inF1);
- radians(inF0);
- rcp(inF0);
- reflect(inF0, inF1);
- refract(inF0, inF1, 2.0);
- reversebits(int4(1,2,3,4));
- round(inF0);
- rsqrt(inF0);
- saturate(inF0);
- sign(inF0);
- sin(inF0);
+ float4 r036 = fmod(inF0, inF1);
+ float4 r037 = frac(inF0);
+ float4 r038 = frexp(inF0, inF1);
+ float4 r039 = fwidth(inF0);
+ bool4 r040 = isinf(inF0);
+ bool4 r041 = isnan(inF0);
+ float4 r042 = ldexp(inF0, inF1);
+ float4 r039a = lerp(inF0, inF1, inF2);
+ float r043 = length(inF0);
+ float4 r044 = log(inF0);
+ float4 r045 = log10(inF0);
+ float4 r046 = log2(inF0);
+ float4 r047 = max(inF0, inF1);
+ float4 r048 = min(inF0, inF1);
+ float4 r049 = normalize(inF0);
+ float4 r050 = pow(inF0, inF1);
+ float4 r051 = radians(inF0);
+ float4 r052 = rcp(inF0);
+ float4 r053 = reflect(inF0, inF1);
+ float4 r054 = refract(inF0, inF1, 2.0);
+ uint4 r055 = reversebits(uint4(1,2,3,4));
+ float4 r056 = round(inF0);
+ float4 r057 = rsqrt(inF0);
+ float4 r058 = saturate(inF0);
+ float4 r059 = sign(inF0);
+ float4 r060 = sin(inF0);
sincos(inF0, inF1, inF2);
- sinh(inF0);
- smoothstep(inF0, inF1, inF2);
- sqrt(inF0);
- step(inF0, inF1);
- tan(inF0);
- tanh(inF0);
+ float4 r061 = sinh(inF0);
+ float4 r062 = smoothstep(inF0, inF1, inF2);
+ float4 r063 = sqrt(inF0);
+ float4 r064 = step(inF0, inF1);
+ float4 r065 = tan(inF0);
+ float4 r066 = tanh(inF0);
// TODO: sampler intrinsics, when we can declare the types.
- trunc(inF0);
+ float4 r067 = trunc(inF0);
// TODO: ... add when float1 prototypes are generated
return float4(1,2,3,4);
// asuint(inF0); \
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
-#define MATFNS() \
- all(inF0); \
- abs(inF0); \
- acos(inF0); \
- any(inF0); \
- asin(inF0); \
- atan(inF0); \
- atan2(inF0, inF1); \
- ceil(inF0); \
- clip(inF0); \
- clamp(inF0, inF1, inF2); \
- cos(inF0); \
- cosh(inF0); \
- ddx(inF0); \
- ddx_coarse(inF0); \
- ddx_fine(inF0); \
- ddy(inF0); \
- ddy_coarse(inF0); \
- ddy_fine(inF0); \
- degrees(inF0); \
- determinant(inF0); \
- exp(inF0); \
- exp2(inF0); \
- firstbithigh(7); \
- firstbitlow(7); \
- floor(inF0); \
- fmod(inF0, inF1); \
- frac(inF0); \
- frexp(inF0, inF1); \
- fwidth(inF0); \
- ldexp(inF0, inF1); \
- log(inF0); \
- log10(inF0); \
- log2(inF0); \
- max(inF0, inF1); \
- min(inF0, inF1); \
- pow(inF0, inF1); \
- radians(inF0); \
- round(inF0); \
- rsqrt(inF0); \
- saturate(inF0); \
- sign(inF0); \
- sin(inF0); \
- sincos(inF0, inF1, inF2); \
- sinh(inF0); \
- smoothstep(inF0, inF1, inF2); \
- sqrt(inF0); \
- step(inF0, inF1); \
- tan(inF0); \
- tanh(inF0); \
- transpose(inF0); \
- trunc(inF0);
+#define MATFNS(MT) \
+ bool r000 = all(inF0); \
+ MT r001 = abs(inF0); \
+ acos(inF0); \
+ bool r003 = any(inF0); \
+ MT r004 = asin(inF0); \
+ MT r005 = atan(inF0); \
+ MT r006 = atan2(inF0, inF1); \
+ MT r007 = ceil(inF0); \
+ clip(inF0); \
+ MT r008 = clamp(inF0, inF1, inF2); \
+ MT r009 = cos(inF0); \
+ MT r010 = cosh(inF0); \
+ MT r011 = ddx(inF0); \
+ MT r012 = ddx_coarse(inF0); \
+ MT r013 = ddx_fine(inF0); \
+ MT r014 = ddy(inF0); \
+ MT r015 = ddy_coarse(inF0); \
+ MT r016 = ddy_fine(inF0); \
+ MT r017 = degrees(inF0); \
+ float r018 = determinant(inF0); \
+ MT r019 = exp(inF0); \
+ MT R020 = exp2(inF0); \
+ MT r021 = floor(inF0); \
+ MT r022 = fmod(inF0, inF1); \
+ MT r023 = frac(inF0); \
+ MT r024 = frexp(inF0, inF1); \
+ MT r025 = fwidth(inF0); \
+ MT r026 = ldexp(inF0, inF1); \
+ MT r026a = lerp(inF0, inF1, inF2); \
+ MT r027 = log(inF0); \
+ MT r028 = log10(inF0); \
+ MT r029 = log2(inF0); \
+ MT r030 = max(inF0, inF1); \
+ MT r031 = min(inF0, inF1); \
+ MT r032 = pow(inF0, inF1); \
+ MT r033 = radians(inF0); \
+ MT r034 = round(inF0); \
+ MT r035 = rsqrt(inF0); \
+ MT r036 = saturate(inF0); \
+ MT r037 = sign(inF0); \
+ MT r038 = sin(inF0); \
+ sincos(inF0, inF1, inF2); \
+ MT r039 = sinh(inF0); \
+ MT r049 = smoothstep(inF0, inF1, inF2); \
+ MT r041 = sqrt(inF0); \
+ MT r042 = step(inF0, inF1); \
+ MT r043 = tan(inF0); \
+ MT r044 = tanh(inF0); \
+ transpose(inF0); \
+ MT r046 = trunc(inF0);
// TODO: turn on non-square matrix tests when protos are available.
-float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 PixelShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
- MATFNS()
+ MATFNS(float2x2);
// TODO: ... add when float1 prototypes are generated
return float2x2(2,2,2,2);
}
-float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 PixelShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
- MATFNS()
+ MATFNS(float3x3);
// TODO: ... add when float1 prototypes are generated
return float3x3(3,3,3,3,3,3,3,3,3);
}
-float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 PixelShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
- MATFNS()
+ MATFNS(float4x4);
// TODO: ... add when float1 prototypes are generated
return float4x4(4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4);
MT r8 = mul(inFM0, inFM1);
-void TestGenMul(float inF0, float inF1,
+void TestGenMul2(float inF0, float inF1,
float2 inFV0, float2 inFV1,
float2x2 inFM0, float2x2 inFM1)
{
TESTGENMUL(float, float2, float2x2);
}
-void TestGenMul(float inF0, float inF1,
+void TestGenMul3(float inF0, float inF1,
float3 inFV0, float3 inFV1,
float3x3 inFM0, float3x3 inFM1)
{
TESTGENMUL(float, float3, float3x3);
}
-void TestGenMul(float inF0, float inF1,
+void TestGenMul4(float inF0, float inF1,
float4 inFV0, float4 inFV1,
float4x4 inFM0, float4x4 inFM1)
{
TESTGENMUL(float, float4, float4x4);
}
+
+// Test some non-square mats
+void TestGenMulNxM(float inF0, float inF1,
+ float2 inFV2, float3 inFV3,
+ float2x3 inFM2x3, float3x2 inFM3x2,
+ float3x3 inFM3x3, float3x4 inFM3x4,
+ float2x4 inFM2x4)
+{
+ float r00 = mul(inF0, inF1); // S=S*S
+ float2 r01 = mul(inFV2, inF0); // V=V*S
+ float3 r02 = mul(inFV3, inF0); // V=V*S
+ float2 r03 = mul(inF0, inFV2); // V=S*V
+ float3 r04 = mul(inF0, inFV3); // V=S*V
+ float r05 = mul(inFV2, inFV2); // S=V*V
+ float r06 = mul(inFV3, inFV3); // S=V*V
+ float3 r07 = mul(inFV2, inFM2x3); // V=V*M (return V dim is Mcols)
+ float2 r08 = mul(inFV3, inFM3x2); // V=V*M (return V dim is Mcols)
+ float2 r09 = mul(inFM2x3, inFV3); // V=M*V (return V dim is Mrows)
+ float3 r10 = mul(inFM3x2, inFV2); // V=M*V (return V dim is Mrows)
+ float2x3 r11 = mul(inFM2x3, inF0);
+ float3x2 r12 = mul(inFM3x2, inF0);
+ float2x2 r13 = mul(inFM2x3, inFM3x2);
+ float2x3 r14 = mul(inFM2x3, inFM3x3);
+ float2x4 r15 = mul(inFM2x3, inFM3x4);
+ float3x4 r16 = mul(inFM3x2, inFM2x4);
+}
-float ComputeShaderFunction(float inF0, float inF1, float inF2, int inI0)
+float ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
{
uint out_u1;
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
return 0.0;
}
-float1 ComputeShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
+float1 ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 ComputeShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
+float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
{
uint2 out_u2;
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
return float2(1,2);
}
-float3 ComputeShaderFunction(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
+float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
{
uint3 out_u3;
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
-float PixelShaderFunction(float inF0, float inF1, float inF2, int inI0)
+float PixelShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
{
// AllMemoryBarrier(); // TODO: expected error: invalid in fragment stage
// AllMemoryBarrierWithGroupSync(); // TODO: expected error: invalid in fragment stage
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
// InterlockedAdd(inI0, inI0, 3); // expected error: last parameter is out TODO: accepted even though marked as out in proto generator
// InterlockedAnd(inI0, inI0, 3); // expected error: last parameter is out TODO: accepted even though marked as out i // InterlockedMax(inI0, inI0, 3); // expected error: last parameter is out TODO: accepted even though marked as out in proto generator
// InterlockedMin(inI0, inI0, 3); // expected error: last parameter is out TODO: accepted even though marked as out in proto generator
return 0.0;
}
-float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
+float1 PixelShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
+float2 PixelShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
{
asdouble(inF0, inF1); // expected error: only integer inputs
CheckAccessFullyMapped(inF0); // expected error: only valid on scalars
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
reversebits(inF0); // expected error: only integer inputs
transpose(inF0); // expected error: only valid on mats
return float2(1,2);
}
-float3 PixelShaderFunction(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
+float3 PixelShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
{
CheckAccessFullyMapped(inF0); // expected error: only valid on scalars
countbits(inF0); // expected error: only integer inputs
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
reversebits(inF0); // expected error: only integer inputs
transpose(inF0); // expected error: only valid on mats
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
reversebits(inF0); // expected error: only integer inputs
transpose(inF0); // expected error: only valid on mats
f16tof32(inF0); \
firstbithigh(inF0); \
firstbitlow(inF0); \
- fma(inF0, inF1, inF2); \
reversebits(inF0); \
length(inF0); \
noise(inF0); \
// TODO: turn on non-square matrix tests when protos are available.
-float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 PixelShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS()
return float2x2(2,2,2,2);
}
-float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 PixelShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS()
return float3x3(3,3,3,3,3,3,3,3,3);
}
-float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 PixelShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS()
uint4 gs_ub4;
uint4 gs_uc4;
-float VertexShaderFunction(float inF0, float inF1, float inF2, int inI0)
+float VertexShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
{
uint out_u1;
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
return 0.0;
}
-float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
+float1 VertexShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
+float2 VertexShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
{
uint2 out_u2;
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
return float2(1,2);
}
-float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
+float3 VertexShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
{
uint3 out_u3;
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
f16tof32(inF0); // expected error: only integer inputs
firstbithigh(inF0); // expected error: only integer inputs
firstbitlow(inF0); // expected error: only integer inputs
- fma(inF0, inF1, inF2); // expected error: only double inputs
+ // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
fwidth(inF0); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
f16tof32(inF0); \
firstbithigh(inF0); \
firstbitlow(inF0); \
- fma(inF0, inF1, inF2); \
fwidth(inF0); \
noise(inF0); \
reversebits(inF0); \
// TODO: turn on non-square matrix tests when protos are available.
-float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 VertexShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS()
return float2x2(2,2,2,2);
}
-float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 VertexShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS()
return float3x3(3,3,3,3,3,3,3,3,3);
}
-float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 VertexShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS()
-float VertexShaderFunction(float inF0, float inF1, float inF2, uint inU0, uint inU1)
+float VertexShaderFunctionS(float inF0, float inF1, float inF2, uint inU0, uint inU1)
{
all(inF0);
abs(inF0);
isinf(inF0);
isnan(inF0);
ldexp(inF0, inF1);
+ lerp(inF0, inF1, inF2);
log(inF0);
log10(inF0);
log2(inF0);
return 0.0;
}
-float1 VertexShaderFunction(float1 inF0, float1 inF1, float1 inF2)
+float1 VertexShaderFunction1(float1 inF0, float1 inF1, float1 inF2)
{
// TODO: ... add when float1 prototypes are generated
return 0.0;
}
-float2 VertexShaderFunction(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
+float2 VertexShaderFunction2(float2 inF0, float2 inF1, float2 inF2, uint2 inU0, uint2 inU1)
{
all(inF0);
abs(inF0);
isinf(inF0);
isnan(inF0);
ldexp(inF0, inF1);
+ lerp(inF0, inF1, inF2);
length(inF0);
log(inF0);
log10(inF0);
return float2(1,2);
}
-float3 VertexShaderFunction(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
+float3 VertexShaderFunction3(float3 inF0, float3 inF1, float3 inF2, uint3 inU0, uint3 inU1)
{
all(inF0);
abs(inF0);
isinf(inF0);
isnan(inF0);
ldexp(inF0, inF1);
+ lerp(inF0, inF1, inF2);
length(inF0);
log(inF0);
log10(inF0);
return float3(1,2,3);
}
-float4 VertexShaderFunction(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, uint4 inU1)
+float4 VertexShaderFunction4(float4 inF0, float4 inF1, float4 inF2, uint4 inU0, uint4 inU1)
{
all(inF0);
abs(inF0);
isinf(inF0);
isnan(inF0);
ldexp(inF0, inF1);
+ lerp(inF0, inF1, inF2);
length(inF0);
log(inF0);
log10(inF0);
frac(inF0); \
frexp(inF0, inF1); \
ldexp(inF0, inF1); \
+ lerp(inF0, inF1, inF2); \
log(inF0); \
log10(inF0); \
log2(inF0); \
// TODO: turn on non-square matrix tests when protos are available.
-float2x2 VertexShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
+float2x2 VertexShaderFunction2x2(float2x2 inF0, float2x2 inF1, float2x2 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS();
return float2x2(2,2,2,2);
}
-float3x3 VertexShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
+float3x3 VertexShaderFunction3x3(float3x3 inF0, float3x3 inF1, float3x3 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS();
return float3x3(3,3,3,3,3,3,3,3,3);
}
-float4x4 VertexShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
+float4x4 VertexShaderFunction4x4(float4x4 inF0, float4x4 inF1, float4x4 inF2)
{
// TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
MATFNS();
MT r8 = mul(inFM0, inFM1);
-void TestGenMul(float inF0, float inF1,
- float2 inFV0, float2 inFV1,
- float2x2 inFM0, float2x2 inFM1)
+void TestGenMul2(float inF0, float inF1,
+ float2 inFV0, float2 inFV1,
+ float2x2 inFM0, float2x2 inFM1)
{
TESTGENMUL(float, float2, float2x2);
}
-void TestGenMul(float inF0, float inF1,
- float3 inFV0, float3 inFV1,
- float3x3 inFM0, float3x3 inFM1)
+void TestGenMul3(float inF0, float inF1,
+ float3 inFV0, float3 inFV1,
+ float3x3 inFM0, float3x3 inFM1)
{
TESTGENMUL(float, float3, float3x3);
}
-void TestGenMul(float inF0, float inF1,
- float4 inFV0, float4 inFV1,
- float4x4 inFM0, float4x4 inFM1)
+void TestGenMul4(float inF0, float inF1,
+ float4 inFV0, float4 inFV1,
+ float4x4 inFM0, float4x4 inFM1)
{
TESTGENMUL(float, float4, float4x4);
}
+
+// Test some non-square mats
+void TestGenMulNxM(float inF0, float inF1,
+ float2 inFV2, float3 inFV3,
+ float2x3 inFM2x3, float3x2 inFM3x2,
+ float3x3 inFM3x3, float3x4 inFM3x4,
+ float2x4 inFM2x4)
+{
+ float r00 = mul(inF0, inF1); // S=S*S
+ float2 r01 = mul(inFV2, inF0); // V=V*S
+ float3 r02 = mul(inFV3, inF0); // V=V*S
+ float2 r03 = mul(inF0, inFV2); // V=S*V
+ float3 r04 = mul(inF0, inFV3); // V=S*V
+ float r05 = mul(inFV2, inFV2); // S=V*V
+ float r06 = mul(inFV3, inFV3); // S=V*V
+ float3 r07 = mul(inFV2, inFM2x3); // V=V*M (return V dim is Mcols)
+ float2 r08 = mul(inFV3, inFM3x2); // V=V*M (return V dim is Mcols)
+ float2 r09 = mul(inFM2x3, inFV3); // V=M*V (return V dim is Mrows)
+ float3 r10 = mul(inFM3x2, inFV2); // V=M*V (return V dim is Mrows)
+ float2x3 r11 = mul(inFM2x3, inF0);
+ float3x2 r12 = mul(inFM3x2, inF0);
+ float2x2 r13 = mul(inFM2x3, inFM3x2);
+ float2x3 r14 = mul(inFM2x3, inFM3x3);
+ float2x4 r15 = mul(inFM2x3, inFM3x4);
+ float3x4 r16 = mul(inFM3x2, inFM2x4);
+}
--- /dev/null
+float4 PixelShaderFunction(float4 input, int c, int d) : COLOR0
+{
+ switch(c)
+ {
+ }
+
+ switch(c)
+ {
+ default:
+ }
+
+ switch (c) {
+ case 1:
+ ++input;
+ break;
+ case 2:
+ --input;
+ break;
+ }
+
+ switch (c) {
+ case 1:
+ ++input;
+ break;
+ case 2:
+ switch (d) {
+ case 2:
+ input += 2.0;
+ break;
+ case 3:
+ input += 3.0;
+ break;
+ }
+ break;
+ default:
+ input += 4.0;
+ }
+
+ switch (c) {
+ case 1:
+ }
+
+ switch (c) {
+ case 1:
+ case 2:
+ case 3:
+ ++input;
+ break;
+ case 4:
+ case 5:
+ --input;
+ }
+
+ return input;
+}
--- /dev/null
+
+float PixelShaderFunction()
+{
+ vector r00 = float4(1,2,3,4); // vector means float4
+ float4 r01 = vector(2,3,4,5); // vector means float4
+
+ vector<bool, 1> r12 = bool1(false);
+ vector<int, 1> r13 = int1(1);
+ vector<float, 1> r14 = float1(1);
+ vector<double, 1> r15 = double1(1);
+ vector<uint, 1> r16 = uint1(1);
+
+ vector<bool, 2> r20 = bool2(false, true);
+ vector<int, 2> r21 = int2(1,2);
+ vector<float, 2> r22 = float2(1,2);
+ vector<double, 2> r23 = double2(1,2);
+ vector<uint, 2> r24 = uint2(1,2);
+
+ vector<bool, 3> r30 = bool3(false, true, true);
+ vector<int, 3> r31 = int3(1,2,3);
+ vector<float, 3> r32 = float3(1,2,3);
+ vector<double, 3> r33 = double3(1,2,3);
+ vector<uint, 3> r34 = uint3(1,2,3);
+
+ vector<bool, 4> r40 = bool4(false, true, true, false);
+ vector<int, 4> r41 = int4(1,2,3,4);
+ vector<float, 4> r42 = float4(1,2,3,4);
+ vector<double, 4> r43 = double4(1,2,3,4);
+ vector<uint, 4> r44 = uint4(1,2,3,4);
+
+ matrix r50 = float4x4(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); // matrix means float4x4
+ float4x4 r51 = matrix(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); // matrix means float4x4
+
+ // matrix<bool, 2, 3> r60 = bool2x3(false, true, false, true, false, true); // TODO:
+ matrix<float, 2, 3> r61 = float2x3(1,2,3,4,5,6);
+ matrix<float, 3, 2> r62 = float3x2(1,2,3,4,5,6);
+ // matrix<float, 4, 1> r63 = float4x1(1,2,3,4); // TODO:
+ // matrix<float, 1, 4> r64 = float1x4(1,2,3,4); // TODO:
+ matrix<float, 4, 2> r65 = float4x2(1,2,3,4,5,6,7,8);
+ matrix<float, 4, 3> r66 = float4x3(1,2,3,4,5,6,7,8,9,10,11,12);
+
+ // TODO: bool mats
+ // TODO: int mats
+
+ return 0.0;
+}
+
--- /dev/null
+
+float PixelShaderFunction()
+{
+ // TODO: All of the below should fail, although presently the first failure
+ // aborts compilation and the rest are skipped. Having a separate test for
+ // each would be cumbersome.
+
+ vector<void, 2> r00; // cannot declare vectors of voids
+ matrix<void, 2, 3> r01; // cannot declare matrices of voids
+
+ vector<float, 2, 3> r02; // too many parameters to vector
+ matrix<float, 2> r03; // not enough parameters to matrix
+
+ int three = 3;
+ vector<void, three> r04; // size must be a literal constant integer
+ matrix<void, three, three> r05; // size must be a literal constant integer
+
+ vector<vector<int, 3>, 3> r06; // type must be a simple scalar
+ vector<float3, 3> r07; // type must be a simple scalar
+
+ return 0.0;
+}
+
--- /dev/null
+typedef float4 myVec4;
+
+float4 ShaderFunction(float4 input, int ii) : COLOR0
+{
+ typedef int myInt;
+ myVec4 a1 = myVec4(1.0);
+ myInt i = 2;
+ typedef myInt myInt2;
+ myInt2 j = ii;
+ return input * a1 + myVec4(i + j);
+}
--- /dev/null
+#version 130
+
+out float gl_ClipDistance[8]; // OK, 8 is gl_MaxClipDistances
+
+void main()
+{
+}
HASERROR=0
mkdir -p localResults
-#
-# configuration file tests
-#
-echo running configuration file test
-$EXE -c > $TARGETDIR/test.conf
-diff -b $BASEDIR/test.conf $TARGETDIR/test.conf || HASERROR=1
-$EXE -i -l $TARGETDIR/test.conf specExamples.vert > $TARGETDIR/specExamples.vert.out
-diff -b $BASEDIR/specExamples.vert.out $TARGETDIR || HASERROR=1
-$EXE -l 100Limits.vert 100.conf > $TARGETDIR/100LimitsConf.vert.out
-diff -b $BASEDIR/100LimitsConf.vert.out $TARGETDIR/100LimitsConf.vert.out || HASERROR=1
-
-#
-# isolated compilation tests
-#
-while read t; do
- echo Running $t...
- b=`basename $t`
- $EXE -i -l $t > $TARGETDIR/$b.out
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
-done < testlist
-
if [ -a localtestlist ]
then
while read t; do
done < localtestlist
fi
-#
-# SPIR-V code generation tests
-#
-while read t; do
- case $t in
- \#*)
- # Skip comment lines in the test list file.
- ;;
- *)
- echo Running SPIR-V $t...
- b=`basename $t`
- $EXE -H $t > $TARGETDIR/$b.out
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
- ;;
- esac
-done < test-spirv-list
rm -f comp.spv frag.spv geom.spv tesc.spv tese.spv vert.spv
#
-# HLSL -> SPIR-V code generation tests
-#
-while read t; do
- case $t in
- \#*)
- # Skip comment lines in the test list file.
- ;;
- *)
- echo Running HLSL-to-SPIR-V $t...
- b=`basename $t`
- $EXE -D -e PixelShaderFunction -H -i $t > $TARGETDIR/$b.out
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
- ;;
- esac
-done < test-hlsl-spirv-list
-rm -f comp.spv frag.spv geom.spv tesc.spv tese.spv vert.spv
-
-#
-# Preprocessor tests
-#
-while read t; do
- echo Running Preprocessor $t...
- b=`basename $t`
- $EXE -E $t > $TARGETDIR/$b.out 2> $TARGETDIR/$b.err
- diff -b $BASEDIR/$b.out $TARGETDIR/$b.out || HASERROR=1
- diff -b $BASEDIR/$b.err $TARGETDIR/$b.err || HASERROR=1
-done < test-preprocessor-list
-
-#
-# grouped shaders for bulk (faster) tests
-#
-function runBulkTest {
- echo Running $*...
- $EXE -i -l -t $* > $TARGETDIR/$1.out
- diff -b $BASEDIR/$1.out $TARGETDIR/$1.out || HASERROR=1
-}
-
-runBulkTest mains1.frag mains2.frag noMain1.geom noMain2.geom
-runBulkTest noMain.vert mains.frag
-runBulkTest link1.frag link2.frag link3.frag
-runBulkTest es-link1.frag es-link2.frag
-runBulkTest recurse1.vert recurse1.frag recurse2.frag
-runBulkTest 300link.frag
-runBulkTest 300link2.frag
-runBulkTest 300link3.frag
-runBulkTest empty.frag empty2.frag empty3.frag
-runBulkTest 150.tesc 150.tese 400.tesc 400.tese 410.tesc 420.tesc 420.tese
-runBulkTest max_vertices_0.geom
-
-#
# reflection tests
#
echo Running reflection...
-$EXE -l -q reflection.vert > $TARGETDIR/reflection.vert.out
+$EXE -l -q -C reflection.vert > $TARGETDIR/reflection.vert.out
diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1
#
# multi-threaded test
#
echo Comparing single thread to multithread for all tests in current directory...
-$EXE -i *.vert *.geom *.frag *.tes* *.comp > singleThread.out
-$EXE -i *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out
+$EXE -i -C *.vert *.geom *.frag *.tes* *.comp > singleThread.out
+$EXE -i -C *.vert *.geom *.frag *.tes* *.comp -t > multiThread.out
diff singleThread.out multiThread.out || HASERROR=1
if [ $HASERROR -eq 0 ]
--- /dev/null
+#version 430 core\r
+\r
+out vec4 color;\r
+\r
+void main()\r
+{\r
+ color = vec4(1.0);\r
+ color *= gl_Layer;\r
+ color *= gl_ViewportIndex;\r
+}\r
--- /dev/null
+#version 450 core\r
+\r
+layout(vertices = 4) out;\r
+\r
+patch out vec4 patchOut;\r
+\r
+struct S {\r
+ float sMem1; // should not see a patch decoration\r
+ float sMem2; // should not see a patch decoration\r
+};\r
+\r
+layout(location = 12) patch out TheBlock {\r
+ highp float bMem1; // should not see a location decoration\r
+ highp float bMem2;\r
+ S s; // should see a patch decoration\r
+} tcBlock[2];\r
+\r
+void main()\r
+{\r
+}\r
-#version 310 es\r
+#version 450\r
\r
\r
\r
func(counter);\r
uint val = atomicCounter(countArr[2]);\r
atomicCounterDecrement(counter);\r
+ atomicCounterIncrement(counter);\r
}\r
\r
shared int atomi;\r
--- /dev/null
+#version 330\r
+\r
+void main()\r
+{\r
+ gl_FragColor = vec4(1.0);\r
+}\r
--- /dev/null
+#version 450\r
+\r
+layout(constant_id = 11) const int a = 8;\r
+\r
+void main()\r
+{\r
+ gl_Position = vec4(1.0) / a;\r
+}\r
+++ /dev/null
-# Test looping constructs.
-# No tests yet for making sure break and continue from a nested loop
-# goes to the innermost target.
-hlsl.frag
+++ /dev/null
-preprocessor.cpp_style_line_directive.vert
-preprocessor.cpp_style___FILE__.vert
-preprocessor.edge_cases.vert
-preprocessor.errors.vert
-preprocessor.extensions.vert
-preprocessor.function_macro.vert
-preprocessor.include.enabled.vert
-preprocessor.include.disabled.vert
-preprocessor.line.vert
-preprocessor.line.frag
-preprocessor.pragma.vert
-preprocessor.simple.vert
-preprocessor.success_if_parse_would_fail.vert
-preprocessor.defined.vert
-preprocessor.many.endif.vert
-preprocessor.eof_missing.vert
+++ /dev/null
-# Test looping constructs.
-# No tests yet for making sure break and continue from a nested loop
-# goes to the innermost target.
-spv.do-simple.vert
-spv.do-while-continue-break.vert
-spv.for-complex-condition.vert
-spv.for-continue-break.vert
-spv.for-simple.vert
-spv.for-notest.vert
-spv.for-nobody.vert
-spv.while-continue-break.vert
-spv.while-simple.vert
-# vulkan-specific tests
-spv.set.vert
-spv.double.comp
-spv.100ops.frag
-spv.130.frag
-spv.140.frag
-spv.150.geom
-spv.150.vert
-spv.300BuiltIns.vert
-spv.300layout.frag
-spv.300layout.vert
-spv.300layoutp.vert
-spv.310.comp
-spv.330.geom
-spv.400.frag
-spv.400.tesc
-spv.400.tese
-spv.420.geom
-spv.430.vert
-spv.accessChain.frag
-spv.aggOps.frag
-spv.always-discard.frag
-spv.always-discard2.frag
-spv.bitCast.frag
-spv.bool.vert
-spv.boolInBlock.frag
-spv.branch-return.vert
-spv.conditionalDiscard.frag
-spv.conversion.frag
-spv.dataOut.frag
-spv.dataOutIndirect.frag
-spv.dataOutIndirect.vert
-spv.deepRvalue.frag
-spv.depthOut.frag
-spv.discard-dce.frag
-spv.doWhileLoop.frag
-spv.earlyReturnDiscard.frag
-spv.flowControl.frag
-spv.forLoop.frag
-spv.forwardFun.frag
-spv.functionCall.frag
-spv.functionSemantics.frag
-spv.interpOps.frag
-spv.int64.frag
-spv.layoutNested.vert
-spv.length.frag
-spv.localAggregates.frag
-spv.loops.frag
-spv.loopsArtificial.frag
-spv.matFun.vert
-spv.matrix.frag
-spv.matrix2.frag
-spv.memoryQualifier.frag
-spv.merge-unreachable.frag
-spv.newTexture.frag
-spv.noDeadDecorations.vert
-spv.nonSquare.vert
-spv.Operations.frag
-spv.intOps.vert
-spv.precision.frag
-spv.prepost.frag
-spv.qualifiers.vert
-spv.shaderBallot.comp
-spv.shaderGroupVote.comp
-spv.shiftOps.frag
-spv.simpleFunctionCall.frag
-spv.simpleMat.vert
-spv.sparseTexture.frag
-spv.sparseTextureClamp.frag
-spv.structAssignment.frag
-spv.structDeref.frag
-spv.structure.frag
-spv.switch.frag
-spv.swizzle.frag
-spv.test.frag
-spv.test.vert
-spv.texture.frag
-spv.texture.vert
-spv.image.frag
-spv.types.frag
-spv.uint.frag
-spv.uniformArray.frag
-spv.variableArrayIndex.frag
-spv.varyingArray.frag
-spv.varyingArrayIndirect.frag
-spv.voidFunction.frag
-spv.whileLoop.frag
-spv.AofA.frag
-spv.queryL.frag
-spv.separate.frag
-spv.shortCircuit.frag
-spv.pushConstant.vert
-spv.subpass.frag
-spv.specConstant.vert
-spv.specConstant.comp
-spv.specConstantComposite.vert
-spv.specConstantOperations.vert
-spv.precise.tese
-spv.precise.tesc
-# GLSL-level semantics
-vulkan.frag
-vulkan.vert
-vulkan.comp
+++ /dev/null
-sample.frag
-sample.vert
-decls.frag
-specExamples.frag
-specExamples.vert
-versionsClean.frag
-versionsClean.vert
-versionsErrors.frag
-versionsErrors.vert
-100.frag
-120.vert
-120.frag
-130.vert
-130.frag
-140.vert
-140.frag
-150.vert
-150.geom
-150.frag
-precision.frag
-precision.vert
-nonSquare.vert
-matrixError.vert
-cppSimple.vert
-cppIndent.vert
-cppNest.vert
-cppComplexExpr.vert
-badChars.frag
-pointCoord.frag
-array.frag
-array100.frag
-comment.frag
-300.vert
-300.frag
-300BuiltIns.frag
-300layout.vert
-300layout.frag
-300operations.frag
-300block.frag
-310.comp
-310.vert
-310.geom
-310.frag
-310.tesc
-310.tese
-310implicitSizeArrayError.vert
-310AofA.vert
-330.frag
-330comp.frag
-constErrors.frag
-constFold.frag
-errors.frag
-forwardRef.frag
-uint.frag
-switch.frag
-tokenLength.vert
-100Limits.vert
-100scope.vert
-110scope.vert
-300scope.vert
-400.frag
-420.frag
-420.vert
-420.geom
-420_size_gl_in.geom
-430scope.vert
-lineContinuation100.vert
-lineContinuation.vert
-numeral.frag
-400.geom
-400.tesc
-400.tese
-410.tesc
-420.tesc
-420.tese
-410.geom
-430.vert
-430.comp
-430AofA.frag
-440.vert
-440.frag
-450.vert
-450.geom
-450.tesc
-450.tese
-450.frag
-450.comp
-dce.frag
-atomic_uint.frag
-aggOps.frag
-always-discard.frag
-always-discard2.frag
-conditionalDiscard.frag
-conversion.frag
-dataOut.frag
-dataOutIndirect.frag
-deepRvalue.frag
-depthOut.frag
-discard-dce.frag
-doWhileLoop.frag
-earlyReturnDiscard.frag
-flowControl.frag
-forLoop.frag
-functionCall.frag
-functionSemantics.frag
-length.frag
-localAggregates.frag
-loops.frag
-loopsArtificial.frag
-matrix.frag
-matrix2.frag
-newTexture.frag
-Operations.frag
-prepost.frag
-simpleFunctionCall.frag
-structAssignment.frag
-structDeref.frag
-structure.frag
-swizzle.frag
-syntaxError.frag
-test.frag
-texture.frag
-types.frag
-uniformArray.frag
-variableArrayIndex.frag
-varyingArray.frag
-varyingArrayIndirect.frag
-voidFunction.frag
-whileLoop.frag
-nonVulkan.frag
-negativeArraySize.comp
-spv.atomic.comp
-precise.tesc
-precise_struct_block.vert
if (structure) {
s.append("{");
for (size_t i = 0; i < structure->size(); ++i) {
+ if (s.size() > 3 * GlslangMaxTypeLength) {
+ // If we are getting too long, cut it short,
+ // just need to draw the line somewhere, as there is no limit to
+ // how large a struct/block type can get.
+ s.append("...");
+ break;
+ }
if (! (*structure)[i].type->hiddenMember()) {
s.append((*structure)[i].type->getCompleteString());
s.append(" ");
EOpF32tof16, // HLSL conversion: half of a PackHalf2x16
EOpF16tof32, // HLSL conversion: half of an UnpackHalf2x16
EOpLit, // HLSL lighting coefficient vector
+ EOpTextureBias, // HLSL texture bias: will be lowered to EOpTexture
+ EOpAsDouble, // slightly different from EOpUint64BitsToDouble
};
class TIntermTraverser;
virtual const glslang::TIntermSymbol* getAsSymbolNode() const { return 0; }
virtual const glslang::TIntermBranch* getAsBranchNode() const { return 0; }
virtual ~TIntermNode() { }
+
protected:
+ TIntermNode(const TIntermNode&);
+ TIntermNode& operator=(const TIntermNode&);
glslang::TSourceLoc loc;
};
TString getCompleteString() const { return type.getCompleteString(); }
protected:
+ TIntermTyped& operator=(const TIntermTyped&);
TType type;
};
const TConstUnionArray& getConstArray() const { return constArray; }
void setConstSubtree(TIntermTyped* subtree) { constSubtree = subtree; }
TIntermTyped* getConstSubtree() const { return constSubtree; }
+
protected:
int id; // the unique id of the symbol this node represents
TString name; // the name of the symbol this node represents
void setLiteral() { literal = true; }
void setExpression() { literal = false; }
bool isLiteral() const { return literal; }
+
protected:
+ TIntermConstantUnion& operator=(const TIntermConstantUnion&);
+
const TConstUnionArray constArray;
bool literal; // true if node represents a literal in the source code
};
break;
}
+ case EOpAny:
+ {
+ bool result = false;
+ for (int i = 0; i < objectSize; i++) {
+ if (unionArray[i].getBConst())
+ result = true;
+ }
+ newConstArray[0].setBConst(result);
+ break;
+ }
+ case EOpAll:
+ {
+ bool result = true;
+ for (int i = 0; i < objectSize; i++) {
+ if (! unionArray[i].getBConst())
+ result = false;
+ }
+ newConstArray[0].setBConst(result);
+ break;
+ }
+
// TODO: 3.0 Functionality: unary constant folding: the rest of the ops have to be fleshed out
case EOpPackSnorm2x16:
case EOpDeterminant:
case EOpMatrixInverse:
case EOpTranspose:
-
- case EOpAny:
- case EOpAll:
return 0;
-
+
default:
assert(componentWise);
break;
(profile != EEsProfile && version >= 420)) {
commonBuiltins.append(
"highp uint packSnorm2x16(vec2);"
- "highp vec2 unpackSnorm2x16(highp uint);"
+ " vec2 unpackSnorm2x16(highp uint);"
"highp uint packHalf2x16(mediump vec2);"
- "mediump vec2 unpackHalf2x16(highp uint);"
+ " vec2 unpackHalf2x16(highp uint);"
"\n");
}
(profile != EEsProfile && version >= 400)) {
commonBuiltins.append(
"highp uint packSnorm4x8 (mediump vec4);"
- "mediump vec4 unpackSnorm4x8(highp uint);"
+ " vec4 unpackSnorm4x8(highp uint);"
"highp uint packUnorm4x8 (mediump vec4);"
- "mediump vec4 unpackUnorm4x8(highp uint);"
+ " vec4 unpackUnorm4x8(highp uint);"
"\n");
}
}
if (spvVersion.vulkan == 0) {
- // gl_spirv TODO
//
// Atomic counter functions.
//
"uvec3 bitfieldInsert(uvec3 base, uvec3, int, int);"
"uvec4 bitfieldInsert(uvec4 base, uvec4, int, int);"
- "lowp int findLSB( int);"
- "lowp ivec2 findLSB(ivec2);"
- "lowp ivec3 findLSB(ivec3);"
- "lowp ivec4 findLSB(ivec4);"
+ " int findLSB( int);"
+ "ivec2 findLSB(ivec2);"
+ "ivec3 findLSB(ivec3);"
+ "ivec4 findLSB(ivec4);"
- "lowp int findLSB( uint);"
- "lowp ivec2 findLSB(uvec2);"
- "lowp ivec3 findLSB(uvec3);"
- "lowp ivec4 findLSB(uvec4);"
+ " int findLSB( uint);"
+ "ivec2 findLSB(uvec2);"
+ "ivec3 findLSB(uvec3);"
+ "ivec4 findLSB(uvec4);"
"\n");
}
"highp uvec3 bitfieldReverse(highp uvec3);"
"highp uvec4 bitfieldReverse(highp uvec4);"
- "lowp int bitCount( int);"
- "lowp ivec2 bitCount(ivec2);"
- "lowp ivec3 bitCount(ivec3);"
- "lowp ivec4 bitCount(ivec4);"
-
- "lowp int bitCount( uint);"
- "lowp ivec2 bitCount(uvec2);"
- "lowp ivec3 bitCount(uvec3);"
- "lowp ivec4 bitCount(uvec4);"
-
- "lowp int findMSB(highp int);"
- "lowp ivec2 findMSB(highp ivec2);"
- "lowp ivec3 findMSB(highp ivec3);"
- "lowp ivec4 findMSB(highp ivec4);"
-
- "lowp int findMSB(highp uint);"
- "lowp ivec2 findMSB(highp uvec2);"
- "lowp ivec3 findMSB(highp uvec3);"
- "lowp ivec4 findMSB(highp uvec4);"
+ " int bitCount( int);"
+ "ivec2 bitCount(ivec2);"
+ "ivec3 bitCount(ivec3);"
+ "ivec4 bitCount(ivec4);"
+
+ " int bitCount( uint);"
+ "ivec2 bitCount(uvec2);"
+ "ivec3 bitCount(uvec3);"
+ "ivec4 bitCount(uvec4);"
+
+ " int findMSB(highp int);"
+ "ivec2 findMSB(highp ivec2);"
+ "ivec3 findMSB(highp ivec3);"
+ "ivec4 findMSB(highp ivec4);"
+
+ " int findMSB(highp uint);"
+ "ivec2 findMSB(highp uvec2);"
+ "ivec3 findMSB(highp uvec3);"
+ "ivec4 findMSB(highp uvec4);"
"\n");
}
"\n");
}
if (version >= 130 && spvVersion.vulkan == 0)
- // gl_spirv TODO
stageBuiltins[EShLangVertex].append(
"int gl_VertexID;" // needs qualifier fixed later
);
if (version >= 140 && spvVersion.vulkan == 0)
- // gl_spirv TODO
stageBuiltins[EShLangVertex].append(
"int gl_InstanceID;" // needs qualifier fixed later
);
if (spvVersion.vulkan >= 100 && version >= 140)
- // gl_spirv TODO
stageBuiltins[EShLangVertex].append(
"in int gl_VertexIndex;"
"in int gl_InstanceIndex;"
);
} else {
if (spvVersion.vulkan == 0)
- // gl_spirv TODO
stageBuiltins[EShLangVertex].append(
"in highp int gl_VertexID;" // needs qualifier fixed later
"in highp int gl_InstanceID;" // needs qualifier fixed later
);
if (spvVersion.vulkan >= 100)
- // gl_spirv TODO
stageBuiltins[EShLangVertex].append(
"in highp int gl_VertexIndex;"
"in highp int gl_InstanceIndex;"
}
if (spvVersion.vulkan == 0) {
- // gl_spirv TODO
SpecialQualifier("gl_VertexID", EvqVertexId, EbvVertexId, symbolTable);
SpecialQualifier("gl_InstanceID", EvqInstanceId, EbvInstanceId, symbolTable);
}
- BuiltInVariable("gl_VertexIndex", EbvVertexIndex, symbolTable);
- BuiltInVariable("gl_InstanceIndex", EbvInstanceIndex, symbolTable);
+ if (spvVersion.vulkan >= 100) {
+ BuiltInVariable("gl_VertexIndex", EbvVertexIndex, symbolTable);
+ BuiltInVariable("gl_InstanceIndex", EbvInstanceIndex, symbolTable);
+ }
// Fall through
va_start(args, szExtraInfoFormat);
outputMessage(loc, szReason, szToken, szExtraInfoFormat, EPrefixError, args);
va_end(args);
+
+ if ((messages & EShMsgCascadingErrors) == 0)
+ currentScanner->setEndOfInput();
}
void C_DECL TParseContext::warn(const TSourceLoc& loc, const char* szReason, const char* szToken,
va_start(args, szExtraInfoFormat);
outputMessage(loc, szReason, szToken, szExtraInfoFormat, EPrefixError, args);
va_end(args);
+
+ if ((messages & EShMsgCascadingErrors) == 0)
+ currentScanner->setEndOfInput();
}
void C_DECL TParseContext::ppWarn(const TSourceLoc& loc, const char* szReason, const char* szToken,
return result;
}
+TIntermNode* TParseContext::handleReturnValue(const TSourceLoc& loc, TIntermTyped* value)
+{
+ functionReturnsValue = true;
+ if (currentFunctionType->getBasicType() == EbtVoid) {
+ error(loc, "void function cannot return a value", "return", "");
+ return intermediate.addBranch(EOpReturn, loc);
+ } else if (*currentFunctionType != value->getType()) {
+ TIntermTyped* converted = intermediate.addConversion(EOpReturn, *currentFunctionType, value);
+ if (converted) {
+ if (*currentFunctionType != converted->getType())
+ error(loc, "cannot convert return value to function return type", "return", "");
+ if (version < 420)
+ warn(loc, "type conversion on return values was not explicitly allowed until version 420", "return", "");
+ return intermediate.addBranch(EOpReturn, converted, loc);
+ } else {
+ error(loc, "type does not match, or is not convertible to, the function's return type", "return", "");
+ return intermediate.addBranch(EOpReturn, value, loc);
+ }
+ } else
+ return intermediate.addBranch(EOpReturn, value, loc);
+}
+
// See if the operation is being done in an illegal location.
void TParseContext::checkLocation(const TSourceLoc& loc, TOperator op)
{
return;
if (symbol->getType().getBasicType() == EbtVoid) {
- error(symbol->getLoc(), "undeclared identifier", symbol->getName().c_str(), "");
+ const char *extraInfoFormat = "";
+ if (spvVersion.vulkan != 0 && symbol->getName() == "gl_VertexID") {
+ extraInfoFormat = "(Did you mean gl_VertexIndex?)";
+ } else if (spvVersion.vulkan != 0 && symbol->getName() == "gl_InstanceID") {
+ extraInfoFormat = "(Did you mean gl_InstanceIndex?)";
+ }
+ error(symbol->getLoc(), "undeclared identifier", symbol->getName().c_str(), extraInfoFormat);
// Add to symbol table to prevent future error messages on the same name
if (symbol->getName().size() > 0) {
limitCheck(loc, size, "gl_MaxCullDistances", "gl_CullDistance array size");
}
-// See if the provided value is less than the symbol indicated by limit,
+// See if the provided value is less than or equal to the symbol indicated by limit,
// which should be a constant in the symbol table.
void TParseContext::limitCheck(const TSourceLoc& loc, int value, const char* limit, const char* feature)
{
assert(symbol->getAsVariable());
const TConstUnionArray& constArray = symbol->getAsVariable()->getConstArray();
assert(! constArray.empty());
- if (value >= constArray[0].getIConst())
- error(loc, "must be less than", feature, "%s (%d)", limit, constArray[0].getIConst());
+ if (value > constArray[0].getIConst())
+ error(loc, "must be less than or equal to", feature, "%s (%d)", limit, constArray[0].getIConst());
}
//
std::transform(id.begin(), id.end(), id.begin(), ::tolower);
if (id == "offset") {
- const char* feature = "uniform offset";
+ // "offset" can be for either
+ // - uniform offsets
+ // - atomic_uint offsets
+ const char* feature = "offset";
requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, feature);
const char* exts[2] = { E_GL_ARB_enhanced_layouts, E_GL_ARB_shader_atomic_counters };
profileRequires(loc, ECoreProfile | ECompatibilityProfile, 420, 2, exts, feature);
error(loc, "set is too large", id.c_str(), "");
else
publicType.qualifier.layoutSet = value;
+ if (value != 0)
+ requireVulkan(loc, "descriptor set");
return;
} else if (id == "binding") {
profileRequires(loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, "binding");
TFunction* handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype);
TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&);
TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*);
+ TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*);
void checkLocation(const TSourceLoc&, TOperator);
TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*);
void addInputArgumentConversions(const TFunction&, TIntermNode*&) const;
namespace glslang {
-// Use a global end-of-input character, so no tranlation is needed across
+// Use a global end-of-input character, so no translation is needed across
// layers of encapsulation. Characters are all 8 bit, and positive, so there is
// no aliasing of character 255 onto -1, for example.
const int EndOfInput = -1;
int get()
{
int ret = peek();
- if (ret == EndOfInput) return ret;
+ if (ret == EndOfInput)
+ return ret;
++loc[currentSource].column;
++logicalSourceLoc.column;
if (ret == '\n') {
void unget()
{
// Do not roll back once we've reached the end of the file.
- if (endOfFileReached) return;
+ if (endOfFileReached)
+ return;
if (currentChar > 0) {
--currentChar;
loc[getLastValidSourceIndex()].name = filename;
}
- void setFile(const char* filename, size_t i)
+ void setFile(const char* filename, int i)
{
if (i == getLastValidSourceIndex()) {
logicalSourceLoc.name = filename;
loc[getLastValidSourceIndex()].column = col;
}
+ void setEndOfInput()
+ {
+ endOfFileReached = true;
+ currentSource = numSources;
+ }
+
const TSourceLoc& getSourceLoc() const
{
if (singleLogical) {
bool singleLogical; // treats the strings as a single logical string.
// locations will be reported from the first string.
- // set to true once peak() returns EndOfFile, so that we won't roll back
+ // Set to true once peek() returns EndOfFile, so that we won't roll back
// once we've reached EndOfFile.
bool endOfFileReached;
};
// Local mapping functions for making arrays of symbol tables....
+const int VersionCount = 15; // index range in MapVersionToIndex
+
int MapVersionToIndex(int version)
{
- switch (version) {
- case 100: return 0;
- case 110: return 1;
- case 120: return 2;
- case 130: return 3;
- case 140: return 4;
- case 150: return 5;
- case 300: return 6;
- case 330: return 7;
- case 400: return 8;
- case 410: return 9;
- case 420: return 10;
- case 430: return 11;
- case 440: return 12;
- case 310: return 13;
- case 450: return 14;
- default: // |
- return 0; // |
- } // |
-} // V
-const int VersionCount = 15; // number of case statements above
+ int index = 0;
+
+ switch (version) {
+ case 100: index = 0; break;
+ case 110: index = 1; break;
+ case 120: index = 2; break;
+ case 130: index = 3; break;
+ case 140: index = 4; break;
+ case 150: index = 5; break;
+ case 300: index = 6; break;
+ case 330: index = 7; break;
+ case 400: index = 8; break;
+ case 410: index = 9; break;
+ case 420: index = 10; break;
+ case 430: index = 11; break;
+ case 440: index = 12; break;
+ case 310: index = 13; break;
+ case 450: index = 14; break;
+ default: break;
+ }
+
+ assert(index < VersionCount);
+
+ return index;
+}
+
+const int SpvVersionCount = 3; // index range in MapSpvVersionToIndex
+
+int MapSpvVersionToIndex(const SpvVersion& spvVersion)
+{
+ int index = 0;
+
+ if (spvVersion.openGl > 0)
+ index = 1;
+ else if (spvVersion.vulkan > 0)
+ index = 2;
+
+ assert(index < SpvVersionCount);
+
+ return index;
+}
+
+const int ProfileCount = 4; // index range in MapProfileToIndex
int MapProfileToIndex(EProfile profile)
{
+ int index = 0;
+
switch (profile) {
- case ENoProfile: return 0;
- case ECoreProfile: return 1;
- case ECompatibilityProfile: return 2;
- case EEsProfile: return 3;
- default: // |
- return 0; // |
- } // |
-} // V
-const int ProfileCount = 4; // number of case statements above
+ case ENoProfile: index = 0; break;
+ case ECoreProfile: index = 1; break;
+ case ECompatibilityProfile: index = 2; break;
+ case EEsProfile: index = 3; break;
+ default: break;
+ }
+
+ assert(index < ProfileCount);
+
+ return index;
+}
// only one of these needed for non-ES; ES needs 2 for different precision defaults of built-ins
enum EPrecisionClass {
// Each has a different set of built-ins, and we want to preserve that from
// compile to compile.
//
-TSymbolTable* CommonSymbolTable[VersionCount][ProfileCount][EPcCount] = {};
-TSymbolTable* SharedSymbolTables[VersionCount][ProfileCount][EShLangCount] = {};
+TSymbolTable* CommonSymbolTable[VersionCount][SpvVersionCount][ProfileCount][EPcCount] = {};
+TSymbolTable* SharedSymbolTables[VersionCount][SpvVersionCount][ProfileCount][EShLangCount] = {};
TPoolAllocator* PerProcessGPA = 0;
// See if it's already been done for this version/profile combination
int versionIndex = MapVersionToIndex(version);
+ int spvVersionIndex = MapSpvVersionToIndex(spvVersion);
int profileIndex = MapProfileToIndex(profile);
- if (CommonSymbolTable[versionIndex][profileIndex][EPcGeneral]) {
+ if (CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][EPcGeneral]) {
glslang::ReleaseGlobalLock();
return;
// Copy the local symbol tables from the new pool to the global tables using the process-global pool
for (int precClass = 0; precClass < EPcCount; ++precClass) {
if (! commonTable[precClass]->isEmpty()) {
- CommonSymbolTable[versionIndex][profileIndex][precClass] = new TSymbolTable;
- CommonSymbolTable[versionIndex][profileIndex][precClass]->copyTable(*commonTable[precClass]);
- CommonSymbolTable[versionIndex][profileIndex][precClass]->readOnly();
+ CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][precClass] = new TSymbolTable;
+ CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][precClass]->copyTable(*commonTable[precClass]);
+ CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][precClass]->readOnly();
}
}
for (int stage = 0; stage < EShLangCount; ++stage) {
if (! stageTables[stage]->isEmpty()) {
- SharedSymbolTables[versionIndex][profileIndex][stage] = new TSymbolTable;
- SharedSymbolTables[versionIndex][profileIndex][stage]->adoptLevels(*CommonSymbolTable[versionIndex][profileIndex][CommonIndex(profile, (EShLanguage)stage)]);
- SharedSymbolTables[versionIndex][profileIndex][stage]->copyTable(*stageTables[stage]);
- SharedSymbolTables[versionIndex][profileIndex][stage]->readOnly();
+ SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][stage] = new TSymbolTable;
+ SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][stage]->adoptLevels(*CommonSymbolTable
+ [versionIndex][spvVersionIndex][profileIndex][CommonIndex(profile, (EShLanguage)stage)]);
+ SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][stage]->copyTable(*stageTables[stage]);
+ SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][stage]->readOnly();
}
}
bool correct = true;
if (source == EShSourceHlsl) {
- version = 450; // TODO: GLSL parser is still used for builtins.
- profile = ENoProfile;
+ version = 450; // TODO: GLSL parser is still used for builtins.
+ profile = ECoreProfile; // allow doubles in prototype parsing
return correct;
}
infoSink.info.message(EPrefixError, "#version: ES shaders for Vulkan SPIR-V require version 310 or higher");
version = 310;
}
- // gl_spirv TODO: test versions
+ if (spvVersion.openGl >= 100) {
+ correct = false;
+ infoSink.info.message(EPrefixError, "#version: ES shaders for OpenGL SPIR-V are not supported");
+ version = 310;
+ }
break;
case ECompatibilityProfile:
infoSink.info.message(EPrefixError, "#version: compilation for SPIR-V does not support the compatibility profile");
infoSink.info.message(EPrefixError, "#version: Desktop shaders for Vulkan SPIR-V require version 140 or higher");
version = 140;
}
- // gl_spirv TODO: test versions
+ if (spvVersion.openGl >= 100 && version < 330) {
+ correct = false;
+ infoSink.info.message(EPrefixError, "#version: Desktop shaders for OpenGL SPIR-V require version 330 or higher");
+ version = 330;
+ }
break;
}
}
if (messages & EShMsgSpvRules)
spvVersion.spv = 0x00010000; // TODO: eventually have this come from the outside
EShSource source = (messages & EShMsgReadHlsl) ? EShSourceHlsl : EShSourceGlsl;
+ if (messages & EShMsgVulkanRules)
+ spvVersion.vulkan = 100; // TODO: eventually have this come from the outside
+ else if (spvVersion.spv != 0)
+ spvVersion.openGl = 100; // TODO: eventually have this come from the outside
bool goodVersion = DeduceVersionProfile(compiler->infoSink, compiler->getLanguage(), versionNotFirst, defaultVersion, source, version, profile, spvVersion);
bool versionWillBeError = (versionNotFound || (profile == EEsProfile && version >= 300 && versionNotFirst));
bool warnVersionNotFirst = false;
versionWillBeError = true;
}
- if (messages & EShMsgVulkanRules)
- spvVersion.vulkan = 100; // TODO: eventually have this come from the outside
- else if (spvVersion.spv != 0)
- spvVersion.openGl = 100;
intermediate.setSource(source);
intermediate.setVersion(version);
intermediate.setProfile(profile);
SetupBuiltinSymbolTable(version, profile, spvVersion, source);
TSymbolTable* cachedTable = SharedSymbolTables[MapVersionToIndex(version)]
+ [MapSpvVersionToIndex(spvVersion)]
[MapProfileToIndex(profile)]
[compiler->getLanguage()];
void setLineNum(int newLineNum) { lastLine = newLineNum; }
private:
+ SourceLineSynchronizer& operator=(const SourceLineSynchronizer&);
+
// A function for getting the index of the last valid source string we've
// read tokens from.
const std::function<int()> getLastSourceIndex;
explicit DoPreprocessing(std::string* string): outputString(string) {}
bool operator()(TParseContextBase& parseContext, TPpContext& ppContext,
TInputScanner& input, bool versionWillBeError,
- TSymbolTable& , TIntermediate& ,
- EShOptimizationLevel , EShMessages )
+ TSymbolTable&, TIntermediate&,
+ EShOptimizationLevel, EShMessages)
{
// This is a list of tokens that do not require a space before or after.
static const std::string unNeededSpaceTokens = ";()[]";
int __fastcall ShFinalize()
{
for (int version = 0; version < VersionCount; ++version) {
- for (int p = 0; p < ProfileCount; ++p) {
- for (int lang = 0; lang < EShLangCount; ++lang) {
- delete SharedSymbolTables[version][p][lang];
- SharedSymbolTables[version][p][lang] = 0;
+ for (int spvVersion = 0; spvVersion < SpvVersionCount; ++spvVersion) {
+ for (int p = 0; p < ProfileCount; ++p) {
+ for (int lang = 0; lang < EShLangCount; ++lang) {
+ delete SharedSymbolTables[version][spvVersion][p][lang];
+ SharedSymbolTables[version][spvVersion][p][lang] = 0;
+ }
}
}
}
for (int version = 0; version < VersionCount; ++version) {
- for (int p = 0; p < ProfileCount; ++p) {
- for (int pc = 0; pc < EPcCount; ++pc) {
- delete CommonSymbolTable[version][p][pc];
- CommonSymbolTable[version][p][pc] = 0;
+ for (int spvVersion = 0; spvVersion < SpvVersionCount; ++spvVersion) {
+ for (int p = 0; p < ProfileCount; ++p) {
+ for (int pc = 0; pc < EPcCount; ++pc) {
+ delete CommonSymbolTable[version][spvVersion][p][pc];
+ CommonSymbolTable[version][spvVersion][p][pc] = 0;
+ }
}
}
}
extensionBehavior[E_GL_ARB_shader_texture_image_samples] = EBhDisable;
extensionBehavior[E_GL_ARB_viewport_array] = EBhDisable;
extensionBehavior[E_GL_ARB_gpu_shader_int64] = EBhDisable;
- extensionBehavior[E_GL_ARB_gl_spirv] = EBhDisable;
extensionBehavior[E_GL_ARB_shader_ballot] = EBhDisable;
extensionBehavior[E_GL_ARB_sparse_texture2] = EBhDisable;
extensionBehavior[E_GL_ARB_sparse_texture_clamp] = EBhDisable;
"#define GL_ARB_shader_texture_image_samples 1\n"
"#define GL_ARB_viewport_array 1\n"
"#define GL_ARB_gpu_shader_int64 1\n"
- "#define GL_ARB_gl_spirv 1\n"
"#define GL_ARB_shader_ballot 1\n"
"#define GL_ARB_sparse_texture2 1\n"
"#define GL_ARB_sparse_texture_clamp 1\n"
;
// #define VULKAN XXXX
+ const int numberBufSize = 12;
+ char numberBuf[numberBufSize];
if (spvVersion.vulkan > 0) {
preamble += "#define VULKAN ";
- char number[12];
- snprintf(number, 12, "%d", spvVersion.vulkan);
- preamble += number;
+ snprintf(numberBuf, numberBufSize, "%d", spvVersion.vulkan);
+ preamble += numberBuf;
preamble += "\n";
}
- // gl_spirv TODO
+ // #define GL_SPIRV XXXX
+ if (spvVersion.openGl > 0) {
+ preamble += "#define GL_SPIRV ";
+ snprintf(numberBuf, numberBufSize, "%d", spvVersion.openGl);
+ preamble += numberBuf;
+ preamble += "\n";
+ }
+
}
//
SpvVersion() : spv(0), vulkan(0), openGl(0) {}
unsigned int spv; // the version of the targeted SPIR-V, as defined by SPIR-V in word 1 of the SPIR-V binary header
int vulkan; // the version of semantics for Vulkan; e.g., for GLSL from KHR_vulkan_glsl "#define VULKAN"
- int openGl; // the version of semantics for OpenGL; gl_spirv TODO
+ int openGl; // the version of semantics for OpenGL; e.g., for GLSL from KHR_vulkan_glsl "#define GL_SPIRV"
};
//
const char* const E_GL_ARB_shader_texture_image_samples = "GL_ARB_shader_texture_image_samples";
const char* const E_GL_ARB_viewport_array = "GL_ARB_viewport_array";
const char* const E_GL_ARB_gpu_shader_int64 = "GL_ARB_gpu_shader_int64";
-const char* const E_GL_ARB_gl_spirv = "GL_ARB_gl_spirv";
const char* const E_GL_ARB_shader_ballot = "GL_ARB_shader_ballot";
const char* const E_GL_ARB_sparse_texture2 = "GL_ARB_sparse_texture2";
const char* const E_GL_ARB_sparse_texture_clamp = "GL_ARB_sparse_texture_clamp";
parseContext.postMainReturn = true;
}
| RETURN expression SEMICOLON {
- parseContext.functionReturnsValue = true;
- if (parseContext.currentFunctionType->getBasicType() == EbtVoid) {
- parseContext.error($1.loc, "void function cannot return a value", "return", "");
- $$ = parseContext.intermediate.addBranch(EOpReturn, $1.loc);
- } else if (*(parseContext.currentFunctionType) != $2->getType()) {
- TIntermTyped* converted = parseContext.intermediate.addConversion(EOpReturn, *parseContext.currentFunctionType, $2);
- if (converted) {
- if (parseContext.version < 420)
- parseContext.warn($1.loc, "type conversion on return values was not explicitly allowed until version 420", "return", "");
- $$ = parseContext.intermediate.addBranch(EOpReturn, converted, $1.loc);
- } else {
- parseContext.error($1.loc, "type does not match, or is not convertible to, the function's return type", "return", "");
- $$ = parseContext.intermediate.addBranch(EOpReturn, $2, $1.loc);
- }
- } else
- $$ = parseContext.intermediate.addBranch(EOpReturn, $2, $1.loc);
+ $$ = parseContext.handleReturnValue($1.loc, $2);
}
| DISCARD SEMICOLON {
parseContext.requireStage($1.loc, EShLangFragment, "discard");
2399, 2399, 2413, 2416, 2424, 2432, 2443, 2444, 2448, 2455,
2459, 2467, 2471, 2484, 2484, 2504, 2507, 2513, 2525, 2537,
2537, 2552, 2552, 2568, 2568, 2589, 2592, 2598, 2601, 2607,
- 2611, 2618, 2623, 2628, 2635, 2653, 2662, 2666, 2673, 2676,
- 2682, 2682
+ 2611, 2618, 2623, 2628, 2635, 2638, 2647, 2651, 2658, 2661,
+ 2667, 2667
};
#endif
case 414:
#line 2635 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
- parseContext.functionReturnsValue = true;
- if (parseContext.currentFunctionType->getBasicType() == EbtVoid) {
- parseContext.error((yyvsp[-2].lex).loc, "void function cannot return a value", "return", "");
- (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-2].lex).loc);
- } else if (*(parseContext.currentFunctionType) != (yyvsp[-1].interm.intermTypedNode)->getType()) {
- TIntermTyped* converted = parseContext.intermediate.addConversion(EOpReturn, *parseContext.currentFunctionType, (yyvsp[-1].interm.intermTypedNode));
- if (converted) {
- if (parseContext.version < 420)
- parseContext.warn((yyvsp[-2].lex).loc, "type conversion on return values was not explicitly allowed until version 420", "return", "");
- (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, converted, (yyvsp[-2].lex).loc);
- } else {
- parseContext.error((yyvsp[-2].lex).loc, "type does not match, or is not convertible to, the function's return type", "return", "");
- (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
- }
- } else
- (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
+ (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
-#line 7381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7366 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 415:
-#line 2653 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2638 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
-#line 7390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 416:
-#line 2662 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2647 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 7399 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7384 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 417:
-#line 2666 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2651 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 7408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7393 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 418:
-#line 2673 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2658 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 7416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 419:
-#line 2676 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2661 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 7424 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 420:
-#line 2682 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2667 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
}
-#line 7433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 421:
-#line 2686 "MachineIndependent/glslang.y" /* yacc.c:1646 */
+#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
(yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
(yyval.interm.intermNode)->getAsAggregate()->addToPragmaTable(parseContext.contextPragma.pragmaTable);
}
-#line 7453 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
-#line 7457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
+#line 7442 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
#endif
return yyresult;
}
-#line 2703 "MachineIndependent/glslang.y" /* yacc.c:1906 */
+#line 2688 "MachineIndependent/glslang.y" /* yacc.c:1906 */
}
private:
+ TokenizableIncludeFile& operator=(const TokenizableIncludeFile&);
+
// Stores the prologue for this string.
const std::string prologue_;
bool visitBranch(glslang::TVisit, glslang::TIntermBranch*) override;
protected:
+ TSymbolDefinitionCollectingTraverser& operator=(const TSymbolDefinitionCollectingTraverser&);
+
// The mapping from symbol node IDs to their defining nodes. This should be
// populated along traversing the AST.
NodeMapping& symbol_definition_mapping_;
}
protected:
+ TNoContractionAssigneeCheckingTraverser& operator=(const TNoContractionAssigneeCheckingTraverser&);
+
bool visitBinary(glslang::TVisit, glslang::TIntermBinary* node) override;
void visitSymbol(glslang::TIntermSymbol* node) override;
}
protected:
+ TNoContractionPropagator& operator=(const TNoContractionPropagator&);
+
// Visits an aggregate node. The node can be a initializer list, in which
// case we need to find the 'precise' or 'precise' containing object node
// with the access chain record. In other cases, just need to traverse all
#include "../Include/ResourceLimits.h"
#include "../MachineIndependent/Versions.h"
+#include <string.h>
+
#ifdef _WIN32
#define C_DECL __cdecl
//#ifdef SH_EXPORTING
EShMsgVulkanRules = (1 << 4), // issue messages for Vulkan-requirements of GLSL for SPIR-V
EShMsgOnlyPreprocessor = (1 << 5), // only print out errors produced by the preprocessor
EShMsgReadHlsl = (1 << 6), // use HLSL parsing rules and semantics
+ EShMsgCascadingErrors = (1 << 7), // get cascading errors; risks error-recovery issues, instead of an early exit
};
//
// 2. Call parse with an Includer.
//
// When the Glslang parser encounters an #include directive, it calls
- // the Includer's include method with the the requested include name
+ // the Includer's include method with the requested include name
// together with the current string name. The returned IncludeResult
// contains the fully resolved name of the included source, together
// with the source text that should replace the #include directive
// An IncludeResult contains the resolved name and content of a source
// inclusion.
struct IncludeResult {
+ IncludeResult(const std::string& file_name, const char* const file_data, const size_t file_length, void* user_data) :
+ file_name(file_name), file_data(file_data), file_length(file_length), user_data(user_data) { }
// For a successful inclusion, the fully resolved name of the requested
- // include. For example, in a filesystem-based includer, full resolution
+ // include. For example, in a file system-based includer, full resolution
// should convert a relative path name into an absolute path name.
// For a failed inclusion, this is an empty string.
const std::string file_name;
const size_t file_length;
// Include resolver's context.
void* user_data;
+ protected:
+ IncludeResult& operator=(const IncludeResult&);
+ IncludeResult();
};
// Resolves an inclusion request by name, type, current source name,
public:
IncludeResult* include(const char*, IncludeType, const char*, size_t) override
{
- static const char unexpected_include[] =
- "unexpected include directive";
- static const IncludeResult unexpectedIncludeResult =
- {"", unexpected_include, sizeof(unexpected_include) - 1, nullptr};
- return new IncludeResult(unexpectedIncludeResult);
+ const char* unexpected_include = "unexpected include directive";
+ return new IncludeResult(std::string(""), unexpected_include, strlen(unexpected_include), nullptr);
}
virtual void releaseInclude(IncludeResult* result) override
{
"voidFunction.frag",
"whileLoop.frag",
"nonVulkan.frag",
- "spv.atomic.comp",
+ "negativeArraySize.comp",
+ "precise.tesc",
+ "precise_struct_block.vert",
+ "maxClipDistances.vert",
})),
FileNameAsCustomTestSuffix
);
INSTANTIATE_TEST_CASE_P(
Glsl, ConfigTest,
::testing::ValuesIn(std::vector<TestCaseSpec>({
- {"specExamples.vert", "baseResults/test.conf", "specExamples.vert.out", EShMsgAST},
- {"100Limits.vert", "100.conf", "100LimitsConf.vert.out", EShMsgDefault},
+ {"specExamples.vert", "baseResults/test.conf", "specExamples.vert.out", (EShMessages)(EShMsgAST | EShMsgCascadingErrors)},
+ {"100Limits.vert", "100.conf", "100LimitsConf.vert.out", EShMsgCascadingErrors},
})),
);
// clang-format on
{"hlsl.assoc.frag", "PixelShaderFunction"},
{"hlsl.attribute.frag", "PixelShaderFunction"},
{"hlsl.cast.frag", "PixelShaderFunction"},
+ {"hlsl.discard.frag", "PixelShaderFunction"},
{"hlsl.doLoop.frag", "PixelShaderFunction"},
{"hlsl.float1.frag", "PixelShaderFunction"},
{"hlsl.float4.frag", "PixelShaderFunction"},
{"hlsl.forLoop.frag", "PixelShaderFunction"},
{"hlsl.if.frag", "PixelShaderFunction"},
+ {"hlsl.init.frag", "ShaderFunction"},
{"hlsl.intrinsics.barriers.comp", "ComputeShaderFunction"},
{"hlsl.intrinsics.comp", "ComputeShaderFunction"},
{"hlsl.intrinsics.evalfns.frag", "main"},
+ {"hlsl.intrinsics.double.frag", "PixelShaderFunction"},
{"hlsl.intrinsics.f1632.frag", "PixelShaderFunction"},
{"hlsl.intrinsics.frag", "PixelShaderFunction"},
{"hlsl.intrinsics.lit.frag", "PixelShaderFunction"},
{"hlsl.scope.frag", "PixelShaderFunction"},
{"hlsl.sin.frag", "PixelShaderFunction"},
{"hlsl.struct.frag", "PixelShaderFunction"},
+ {"hlsl.switch.frag", "PixelShaderFunction"},
{"hlsl.swizzle.frag", "PixelShaderFunction"},
+ {"hlsl.templatetypes.frag", "PixelShaderFunction"},
+ {"hlsl.typedef.frag", "PixelShaderFunction"},
{"hlsl.whileLoop.frag", "PixelShaderFunction"},
{"hlsl.void.frag", "PixelShaderFunction"},
}),
// gets fixed.
class GlslangInitializer {
public:
- GlslangInitializer() : lastMessages(EShMsgDefault)
+ GlslangInitializer() : lastMessages(EShMsgCascadingErrors)
{
glslang::InitializeProcess();
}
{
const auto& fileNames = GetParam();
const size_t fileCount = fileNames.size();
- const EShMessages controls = DeriveOptions(
- Source::GLSL, Semantics::OpenGL, Target::AST);
+ const EShMessages controls = DeriveOptions(Source::GLSL, Semantics::OpenGL, Target::AST);
GlslangResult result;
// Compile each input shader file.
"preprocessor.success_if_parse_would_fail.vert",
"preprocessor.defined.vert",
"preprocessor.many.endif.vert",
+ "preprocessor.eof_missing.vert",
})),
FileNameAsCustomTestSuffix
);
namespace glslangtest {
namespace {
-using CompileToSpirvTest = GlslangTest<::testing::TestWithParam<std::string>>;
+using CompileVulkanToSpirvTest = GlslangTest<::testing::TestWithParam<std::string>>;
+using CompileOpenGLToSpirvTest = GlslangTest<::testing::TestWithParam<std::string>>;
using VulkanSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
+using OpenGLSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
using VulkanAstSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
// Compiling GLSL to SPIR-V under Vulkan semantics. Expected to successfully
// generate SPIR-V.
-TEST_P(CompileToSpirvTest, FromFile)
+TEST_P(CompileVulkanToSpirvTest, FromFile)
{
loadFileCompileAndCheck(GLSLANG_TEST_DIRECTORY, GetParam(),
Source::GLSL, Semantics::Vulkan,
Target::Spv);
}
+// Compiling GLSL to SPIR-V under OpenGL semantics. Expected to successfully
+// generate SPIR-V.
+TEST_P(CompileOpenGLToSpirvTest, FromFile)
+{
+ loadFileCompileAndCheck(GLSLANG_TEST_DIRECTORY, GetParam(),
+ Source::GLSL, Semantics::OpenGL,
+ Target::Spv);
+}
+
// GLSL-level Vulkan semantics test. Expected to error out before generating
// SPIR-V.
TEST_P(VulkanSemantics, FromFile)
Target::Spv);
}
+// GLSL-level Vulkan semantics test. Expected to error out before generating
+// SPIR-V.
+TEST_P(OpenGLSemantics, FromFile)
+{
+ loadFileCompileAndCheck(GLSLANG_TEST_DIRECTORY, GetParam(),
+ Source::GLSL, Semantics::OpenGL,
+ Target::Spv);
+}
+
// GLSL-level Vulkan semantics test that need to see the AST for validation.
TEST_P(VulkanAstSemantics, FromFile)
{
// clang-format off
INSTANTIATE_TEST_CASE_P(
- Glsl, CompileToSpirvTest,
+ Glsl, CompileVulkanToSpirvTest,
::testing::ValuesIn(std::vector<std::string>({
// Test looping constructs.
// No tests yet for making sure break and continue from a nested loop
"spv.400.tesc",
"spv.400.tese",
"spv.420.geom",
+ "spv.430.frag",
"spv.430.vert",
+ "spv.450.tesc",
"spv.accessChain.frag",
"spv.aggOps.frag",
"spv.always-discard.frag",
"spv.specConstant.vert",
"spv.specConstant.comp",
"spv.specConstantComposite.vert",
+ "spv.specConstantOperations.vert",
+ "spv.precise.tese",
+ "spv.precise.tesc",
+ })),
+ FileNameAsCustomTestSuffix
+);
+
+// clang-format off
+INSTANTIATE_TEST_CASE_P(
+ Glsl, CompileOpenGLToSpirvTest,
+ ::testing::ValuesIn(std::vector<std::string>({
+ "spv.atomic.comp",
+ "spv.glFragColor.frag",
+ "spv.specConst.vert",
})),
FileNameAsCustomTestSuffix
);
);
INSTANTIATE_TEST_CASE_P(
+ Glsl, OpenGLSemantics,
+ ::testing::ValuesIn(std::vector<std::string>({
+ "glspv.esversion.vert",
+ "glspv.version.frag",
+ "glspv.version.vert",
+ "glspv.frag",
+ "glspv.vert",
+ })),
+ FileNameAsCustomTestSuffix
+);
+
+INSTANTIATE_TEST_CASE_P(
Glsl, VulkanAstSemantics,
::testing::ValuesIn(std::vector<std::string>({
"vulkan.ast.vert",
EShMessages DeriveOptions(Source source, Semantics semantics, Target target)
{
- EShMessages result = EShMsgDefault;
+ EShMessages result = EShMsgCascadingErrors;
switch (source) {
case Source::GLSL:
if (fstream) {
std::string contents;
fstream.seekg(0, std::ios::end);
- contents.reserve(fstream.tellg());
+ contents.reserve((std::string::size_type)fstream.tellg());
fstream.seekg(0, std::ios::beg);
contents.assign((std::istreambuf_iterator<char>(fstream)),
std::istreambuf_iterator<char>());
shader->setStringsWithLengths(&shaderStrings, &shaderLengths, 1);
if (!entryPointName.empty()) shader->setEntryPoint(entryPointName.c_str());
// Reinitialize glslang if the semantics change.
- GlslangInitializer::InitializationToken token =
- GlobalTestSettings.initializer->acquire(controls);
+ GlobalTestSettings.initializer->acquire(controls);
return shader->parse(
(resources ? resources : &glslang::DefaultTBuiltInResource),
defaultVersion, isForwardCompatible, controls);
tryLoadFile(expectedOutputFname, "expected output", &expectedOutput);
const EShMessages controls = DeriveOptions(source, semantics, target);
- GlslangResult result =
- compileAndLink(testName, input, entryPointName, controls);
+ GlslangResult result = compileAndLink(testName, input, entryPointName, controls);
// Generate the hybrid output in the way of glslangValidator.
std::ostringstream stream;
glslang::TShader::ForbidInclude includer;
const bool success = shader.preprocess(
&glslang::DefaultTBuiltInResource, defaultVersion, defaultProfile,
- forceVersionProfile, isForwardCompatible, EShMsgOnlyPreprocessor,
+ forceVersionProfile, isForwardCompatible, (EShMessages)(EShMsgOnlyPreprocessor | EShMsgCascadingErrors),
&ppShader, includer);
std::string log = shader.getInfoLog();
//
//Copyright (C) 2016 Google, Inc.
+//Copyright (C) 2016 LunarG, Inc.
//
//All rights reserved.
//
}
// declaration
-// : SEMICOLON
-// : fully_specified_type SEMICOLON
-// | fully_specified_type identifier array_specifier post_decls (EQUAL expression)opt SEMICOLON
-// | fully_specified_type identifier function_parameters post_decls SEMICOLON // function prototype
+// : fully_specified_type declarator_list SEMICOLON
// | fully_specified_type identifier function_parameters post_decls compound_statement // function definition
+// | typedef declaration
//
-// 'node' could get created if the declaration creates code, like an initializer
+// declarator_list
+// : declarator COMMA declarator COMMA declarator... // zero or more declarators
+//
+// declarator
+// : identifier array_specifier post_decls
+// | identifier array_specifier post_decls EQUAL assignment_expression
+// | identifier function_parameters post_decls // function prototype
+//
+// Parsing has to go pretty far in to know whether it's a variable, prototype, or
+// function definition, so the implementation below doesn't perfectly divide up the grammar
+// as above. (The 'identifier' in the first item in init_declarator list is the
+// same as 'identifier' for function declarations.)
+//
+// 'node' could get populated if the declaration creates code, like an initializer
// or a function body.
//
bool HlslGrammar::acceptDeclaration(TIntermNode*& node)
{
node = nullptr;
+ bool list = false;
+
+ // typedef
+ bool typedefDecl = acceptTokenClass(EHTokTypedef);
// fully_specified_type
TType type;
if (! acceptFullySpecifiedType(type))
return false;
+ if (type.getQualifier().storage == EvqTemporary && parseContext.symbolTable.atGlobalLevel())
+ type.getQualifier().storage = EvqGlobal;
// identifier
HlslToken idToken;
- if (acceptIdentifier(idToken)) {
- // array_specifier
- TArraySizes* arraySizes = nullptr;
- acceptArraySpecifier(arraySizes);
-
- // post_decls
- acceptPostDecls(type);
-
- // EQUAL expression
- TIntermTyped* expressionNode = nullptr;
- if (acceptTokenClass(EHTokAssign)) {
- if (! acceptExpression(expressionNode)) {
- expected("initializer");
- return false;
- }
- }
-
- // SEMICOLON
- if (acceptTokenClass(EHTokSemicolon)) {
- node = parseContext.declareVariable(idToken.loc, *idToken.string, type, arraySizes, expressionNode);
- return true;
- }
-
+ while (acceptIdentifier(idToken)) {
// function_parameters
TFunction* function = new TFunction(idToken.string, type);
if (acceptFunctionParameters(*function)) {
// post_decls
acceptPostDecls(type);
- // compound_statement
- if (peekTokenClass(EHTokLeftBrace))
+ // compound_statement (function body definition) or just a prototype?
+ if (peekTokenClass(EHTokLeftBrace)) {
+ if (list)
+ parseContext.error(idToken.loc, "function body can't be in a declarator list", "{", "");
+ if (typedefDecl)
+ parseContext.error(idToken.loc, "function body can't be in a typedef", "{", "");
return acceptFunctionDefinition(*function, node);
+ } else {
+ if (typedefDecl)
+ parseContext.error(idToken.loc, "function typedefs not implemented", "{", "");
+ parseContext.handleFunctionDeclarator(idToken.loc, *function, true);
+ }
+ } else {
+ // a variable declaration
- // SEMICOLON
- if (acceptTokenClass(EHTokSemicolon))
- return true;
+ // array_specifier
+ TArraySizes* arraySizes = nullptr;
+ acceptArraySpecifier(arraySizes);
- return false;
+ // post_decls
+ acceptPostDecls(type);
+
+ // EQUAL assignment_expression
+ TIntermTyped* expressionNode = nullptr;
+ if (acceptTokenClass(EHTokAssign)) {
+ if (typedefDecl)
+ parseContext.error(idToken.loc, "can't have an initializer", "typedef", "");
+ if (! acceptAssignmentExpression(expressionNode)) {
+ expected("initializer");
+ return false;
+ }
+ }
+
+ if (typedefDecl)
+ parseContext.declareTypedef(idToken.loc, *idToken.string, type, arraySizes);
+ else {
+ // Declare the variable and add any initializer code to the AST.
+ // The top-level node is always made into an aggregate, as that's
+ // historically how the AST has been.
+ node = intermediate.growAggregate(node,
+ parseContext.declareVariable(idToken.loc, *idToken.string, type,
+ arraySizes, expressionNode),
+ idToken.loc);
+ }
}
- }
+
+ if (acceptTokenClass(EHTokComma)) {
+ list = true;
+ continue;
+ }
+ };
+
+ // The top-level node is a sequence.
+ if (node != nullptr)
+ node->getAsAggregate()->setOperator(EOpSequence);
// SEMICOLON
- if (acceptTokenClass(EHTokSemicolon))
- return true;
+ if (! acceptTokenClass(EHTokSemicolon)) {
+ expected(";");
+ return false;
+ }
+
+ return true;
+}
+
+// control_declaration
+// : fully_specified_type identifier EQUAL expression
+//
+bool HlslGrammar::acceptControlDeclaration(TIntermNode*& node)
+{
+ node = nullptr;
+
+ // fully_specified_type
+ TType type;
+ if (! acceptFullySpecifiedType(type))
+ return false;
+
+ // identifier
+ HlslToken idToken;
+ if (! acceptIdentifier(idToken)) {
+ expected("identifier");
+ return false;
+ }
+
+ // EQUAL
+ TIntermTyped* expressionNode = nullptr;
+ if (! acceptTokenClass(EHTokAssign)) {
+ expected("=");
+ return false;
+ }
+
+ // expression
+ if (! acceptExpression(expressionNode)) {
+ expected("initializer");
+ return false;
+ }
+
+ node = parseContext.declareVariable(idToken.loc, *idToken.string, type, 0, expressionNode);
return true;
}
} while (true);
}
+// template_type
+// : FLOAT
+// | DOUBLE
+// | INT
+// | DWORD
+// | UINT
+// | BOOL
+//
+bool HlslGrammar::acceptTemplateType(TBasicType& basicType)
+{
+ switch (peek()) {
+ case EHTokFloat:
+ basicType = EbtFloat;
+ break;
+ case EHTokDouble:
+ basicType = EbtDouble;
+ break;
+ case EHTokInt:
+ case EHTokDword:
+ basicType = EbtInt;
+ break;
+ case EHTokUint:
+ basicType = EbtUint;
+ break;
+ case EHTokBool:
+ basicType = EbtBool;
+ break;
+ default:
+ return false;
+ }
+
+ advanceToken();
+
+ return true;
+}
+
+// vector_template_type
+// : VECTOR
+// | VECTOR LEFT_ANGLE template_type COMMA integer_literal RIGHT_ANGLE
+//
+bool HlslGrammar::acceptVectorTemplateType(TType& type)
+{
+ if (! acceptTokenClass(EHTokVector))
+ return false;
+
+ if (! acceptTokenClass(EHTokLeftAngle)) {
+ // in HLSL, 'vector' alone means float4.
+ new(&type) TType(EbtFloat, EvqTemporary, 4);
+ return true;
+ }
+
+ TBasicType basicType;
+ if (! acceptTemplateType(basicType)) {
+ expected("scalar type");
+ return false;
+ }
+
+ // COMMA
+ if (! acceptTokenClass(EHTokComma)) {
+ expected(",");
+ return false;
+ }
+
+ // integer
+ if (! peekTokenClass(EHTokIntConstant)) {
+ expected("literal integer");
+ return false;
+ }
+
+ TIntermTyped* vecSize;
+ if (! acceptLiteral(vecSize))
+ return false;
+
+ const int vecSizeI = vecSize->getAsConstantUnion()->getConstArray()[0].getIConst();
+
+ new(&type) TType(basicType, EvqTemporary, vecSizeI);
+
+ if (vecSizeI == 1)
+ type.makeVector();
+
+ if (!acceptTokenClass(EHTokRightAngle)) {
+ expected("right angle bracket");
+ return false;
+ }
+
+ return true;
+}
+
+// matrix_template_type
+// : MATRIX
+// | MATRIX LEFT_ANGLE template_type COMMA integer_literal COMMA integer_literal RIGHT_ANGLE
+//
+bool HlslGrammar::acceptMatrixTemplateType(TType& type)
+{
+ if (! acceptTokenClass(EHTokMatrix))
+ return false;
+
+ if (! acceptTokenClass(EHTokLeftAngle)) {
+ // in HLSL, 'matrix' alone means float4x4.
+ new(&type) TType(EbtFloat, EvqTemporary, 0, 4, 4);
+ return true;
+ }
+
+ TBasicType basicType;
+ if (! acceptTemplateType(basicType)) {
+ expected("scalar type");
+ return false;
+ }
+
+ // COMMA
+ if (! acceptTokenClass(EHTokComma)) {
+ expected(",");
+ return false;
+ }
+
+ // integer rows
+ if (! peekTokenClass(EHTokIntConstant)) {
+ expected("literal integer");
+ return false;
+ }
+
+ TIntermTyped* rows;
+ if (! acceptLiteral(rows))
+ return false;
+
+ // COMMA
+ if (! acceptTokenClass(EHTokComma)) {
+ expected(",");
+ return false;
+ }
+
+ // integer cols
+ if (! peekTokenClass(EHTokIntConstant)) {
+ expected("literal integer");
+ return false;
+ }
+
+ TIntermTyped* cols;
+ if (! acceptLiteral(cols))
+ return false;
+
+ new(&type) TType(basicType, EvqTemporary, 0,
+ cols->getAsConstantUnion()->getConstArray()[0].getIConst(),
+ rows->getAsConstantUnion()->getConstArray()[0].getIConst());
+
+ if (!acceptTokenClass(EHTokRightAngle)) {
+ expected("right angle bracket");
+ return false;
+ }
+
+ return true;
+}
+
+
// If token is for a type, update 'type' with the type information,
// and return true and advance.
// Otherwise, return false, and don't advance
bool HlslGrammar::acceptType(TType& type)
{
switch (peek()) {
+ case EHTokVector:
+ return acceptVectorTemplateType(type);
+ break;
+
+ case EHTokMatrix:
+ return acceptMatrixTemplateType(type);
+ break;
+
case EHTokStruct:
return acceptStruct(type);
break;
new(&type) TType(EbtUint, EvqTemporary, 4);
break;
+
case EHTokBool:
new(&type) TType(EbtBool);
break;
// Accept an expression with parenthesis around it, where
// the parenthesis ARE NOT expression parenthesis, but the
-// syntactically required ones like in "if ( expression )"
+// syntactically required ones like in "if ( expression )".
+//
+// Also accepts a declaration expression; "if (int a = expression)".
//
// Note this one is not set up to be speculative; as it gives
// errors if not found.
if (! acceptTokenClass(EHTokLeftParen))
expected("(");
- if (! acceptExpression(expression)) {
- expected("expression");
- return false;
+ bool decl = false;
+ TIntermNode* declNode = nullptr;
+ decl = acceptControlDeclaration(declNode);
+ if (decl) {
+ if (declNode == nullptr || declNode->getAsTyped() == nullptr) {
+ expected("initialized declaration");
+ return false;
+ } else
+ expression = declNode->getAsTyped();
+ } else {
+ // no declaration
+ if (! acceptExpression(expression)) {
+ expected("expression");
+ return false;
+ }
}
// RIGHT_PAREN
} while (true);
}
+// initializer
+// : LEFT_BRACE initializer_list RIGHT_BRACE
+//
+// initializer_list
+// : assignment_expression COMMA assignment_expression COMMA ...
+//
+bool HlslGrammar::acceptInitializer(TIntermTyped*& node)
+{
+ // LEFT_BRACE
+ if (! acceptTokenClass(EHTokLeftBrace))
+ return false;
+
+ // initializer_list
+ TSourceLoc loc = token.loc;
+ node = nullptr;
+ do {
+ // assignment_expression
+ TIntermTyped* expr;
+ if (! acceptAssignmentExpression(expr)) {
+ expected("assignment expression in initializer list");
+ return false;
+ }
+ node = intermediate.growAggregate(node, expr, loc);
+
+ // COMMA
+ if (acceptTokenClass(EHTokComma))
+ continue;
+
+ // RIGHT_BRACE
+ if (acceptTokenClass(EHTokRightBrace))
+ return true;
+
+ expected(", or }");
+ return false;
+ } while (true);
+}
+
// Accept an assignment expression, where assignment operations
-// associate right-to-left. This is, it is implicit, for example
+// associate right-to-left. That is, it is implicit, for example
//
// a op (b op (c op d))
//
// assigment_expression
// : binary_expression op binary_expression op binary_expression ...
+// | initializer
//
bool HlslGrammar::acceptAssignmentExpression(TIntermTyped*& node)
{
+ // initializer
+ if (peekTokenClass(EHTokLeftBrace)) {
+ if (acceptInitializer(node))
+ return true;
+
+ expected("initializer");
+ return false;
+ }
+
+ // binary_expression
if (! acceptBinaryExpression(node, PlLogicalOr))
return false;
+ // assignment operation?
TOperator assignOp = HlslOpMap::assignment(peek());
if (assignOp == EOpNull)
return true;
- // ... op
+ // assignment op
TSourceLoc loc = token.loc;
advanceToken();
- // ... binary_expression
+ // binary_expression
// But, done by recursing this function, which automatically
// gets the right-to-left associativity.
TIntermTyped* rightNode = nullptr;
// statement statement ...
TIntermNode* statement = nullptr;
while (acceptStatement(statement)) {
- // hook it up
- compoundStatement = intermediate.growAggregate(compoundStatement, statement);
+ TIntermBranch* branch = statement ? statement->getAsBranchNode() : nullptr;
+ if (branch != nullptr && (branch->getFlowOp() == EOpCase ||
+ branch->getFlowOp() == EOpDefault)) {
+ // hook up individual subsequences within a switch statement
+ parseContext.wrapupSwitchSubsequence(compoundStatement, statement);
+ compoundStatement = nullptr;
+ } else {
+ // hook it up to the growing compound statement
+ compoundStatement = intermediate.growAggregate(compoundStatement, statement);
+ }
}
if (compoundStatement)
compoundStatement->setOperator(EOpSequence);
case EHTokCase:
return acceptCaseLabel(statement);
+ case EHTokDefault:
+ return acceptDefaultLabel(statement);
case EHTokSemicolon:
return acceptTokenClass(EHTokSemicolon);
return true;
}
+// switch_statement
+// : SWITCH LEFT_PAREN expression RIGHT_PAREN compound_statement
+//
bool HlslGrammar::acceptSwitchStatement(TIntermNode*& statement)
{
- return false;
+ // SWITCH
+ TSourceLoc loc = token.loc;
+ if (! acceptTokenClass(EHTokSwitch))
+ return false;
+
+ // LEFT_PAREN expression RIGHT_PAREN
+ parseContext.pushScope();
+ TIntermTyped* switchExpression;
+ if (! acceptParenExpression(switchExpression)) {
+ parseContext.popScope();
+ return false;
+ }
+
+ // compound_statement
+ parseContext.pushSwitchSequence(new TIntermSequence);
+ bool statementOkay = acceptCompoundStatement(statement);
+ if (statementOkay)
+ statement = parseContext.addSwitch(loc, switchExpression, statement ? statement->getAsAggregate() : nullptr);
+
+ parseContext.popSwitchSequence();
+ parseContext.popScope();
+
+ return statementOkay;
}
// iteration_statement
// of the for sub-statement
parseContext.pushScope();
- // initializer SEMI_COLON
- TIntermTyped* initializer = nullptr; // TODO, "for (initializer" needs to support decl. statement
- acceptExpression(initializer);
+ // initializer
+ TIntermNode* initNode = nullptr;
+ if (! acceptControlDeclaration(initNode)) {
+ TIntermTyped* initExpr = nullptr;
+ acceptExpression(initExpr);
+ initNode = initExpr;
+ }
+ // SEMI_COLON
if (! acceptTokenClass(EHTokSemicolon))
expected(";");
return false;
}
- statement = intermediate.addForLoop(statement, initializer, condition, iterator, true, loc);
+ statement = intermediate.addForLoop(statement, initNode, condition, iterator, true, loc);
parseContext.popScope();
parseContext.unnestLooping();
//
bool HlslGrammar::acceptJumpStatement(TIntermNode*& statement)
{
- switch (peek()) {
+ EHlslTokenClass jump = peek();
+ switch (jump) {
case EHTokContinue:
case EHTokBreak:
case EHTokDiscard:
- // TODO
- return false;
-
case EHTokReturn:
- // return
- if (acceptTokenClass(EHTokReturn)) {
- // expression
- TIntermTyped* node;
- if (acceptExpression(node)) {
- // hook it up
- statement = intermediate.addBranch(EOpReturn, node, token.loc);
- } else
- statement = intermediate.addBranch(EOpReturn, token.loc);
+ advanceToken();
+ break;
+ default:
+ // not something we handle in this function
+ return false;
+ }
- // SEMICOLON
- if (! acceptTokenClass(EHTokSemicolon)) {
- expected(";");
- return false;
- }
+ switch (jump) {
+ case EHTokContinue:
+ statement = intermediate.addBranch(EOpContinue, token.loc);
+ break;
+ case EHTokBreak:
+ statement = intermediate.addBranch(EOpBreak, token.loc);
+ break;
+ case EHTokDiscard:
+ statement = intermediate.addBranch(EOpKill, token.loc);
+ break;
- return true;
- }
+ case EHTokReturn:
+ {
+ // expression
+ TIntermTyped* node;
+ if (acceptExpression(node)) {
+ // hook it up
+ statement = intermediate.addBranch(EOpReturn, node, token.loc);
+ } else
+ statement = intermediate.addBranch(EOpReturn, token.loc);
+ break;
+ }
default:
+ assert(0);
return false;
}
-}
+ // SEMICOLON
+ if (! acceptTokenClass(EHTokSemicolon))
+ expected(";");
+
+ return true;
+}
+// case_label
+// : CASE expression COLON
+//
bool HlslGrammar::acceptCaseLabel(TIntermNode*& statement)
{
- return false;
+ TSourceLoc loc = token.loc;
+ if (! acceptTokenClass(EHTokCase))
+ return false;
+
+ TIntermTyped* expression;
+ if (! acceptExpression(expression)) {
+ expected("case expression");
+ return false;
+ }
+
+ if (! acceptTokenClass(EHTokColon)) {
+ expected(":");
+ return false;
+ }
+
+ statement = parseContext.intermediate.addBranch(EOpCase, expression, loc);
+
+ return true;
+}
+
+// default_label
+// : DEFAULT COLON
+//
+bool HlslGrammar::acceptDefaultLabel(TIntermNode*& statement)
+{
+ TSourceLoc loc = token.loc;
+ if (! acceptTokenClass(EHTokDefault))
+ return false;
+
+ if (! acceptTokenClass(EHTokColon)) {
+ expected(":");
+ return false;
+ }
+
+ statement = parseContext.intermediate.addBranch(EOpDefault, loc);
+
+ return true;
}
// array_specifier
//
//Copyright (C) 2016 Google, Inc.
+//Copyright (C) 2016 LunarG, Inc.
//
//All rights reserved.
//
bool parse();
protected:
+ HlslGrammar();
+ HlslGrammar& operator=(const HlslGrammar&);
+
void expected(const char*);
bool acceptIdentifier(HlslToken&);
bool acceptCompilationUnit();
bool acceptDeclaration(TIntermNode*& node);
+ bool acceptControlDeclaration(TIntermNode*& node);
bool acceptFullySpecifiedType(TType&);
void acceptQualifier(TQualifier&);
bool acceptType(TType&);
+ bool acceptTemplateType(TBasicType&);
+ bool acceptVectorTemplateType(TType&);
+ bool acceptMatrixTemplateType(TType&);
bool acceptStruct(TType&);
bool acceptStructDeclarationList(TTypeList*&);
bool acceptFunctionParameters(TFunction&);
bool acceptFunctionDefinition(TFunction&, TIntermNode*&);
bool acceptParenExpression(TIntermTyped*&);
bool acceptExpression(TIntermTyped*&);
+ bool acceptInitializer(TIntermTyped*&);
bool acceptAssignmentExpression(TIntermTyped*&);
bool acceptBinaryExpression(TIntermTyped*&, PrecedenceLevel);
bool acceptUnaryExpression(TIntermTyped*&);
bool acceptIterationStatement(TIntermNode*&);
bool acceptJumpStatement(TIntermNode*&);
bool acceptCaseLabel(TIntermNode*&);
+ bool acceptDefaultLabel(TIntermNode*&);
void acceptArraySpecifier(TArraySizes*&);
void acceptPostDecls(TType&);
return result;
}
-void HlslParseContext::checkIndex(const TSourceLoc& loc, const TType& type, int& index)
+void HlslParseContext::checkIndex(const TSourceLoc& /*loc*/, const TType& /*type*/, int& /*index*/)
{
// HLSL todo: any rules for index fixups?
}
return 0;
}
-void HlslParseContext::checkIoArrayConsistency(const TSourceLoc& loc, int requiredSize, const char* feature, TType& type, const TString& name)
+void HlslParseContext::checkIoArrayConsistency(const TSourceLoc& /*loc*/, int requiredSize, const char* /*feature*/, TType& type, const TString& /*name*/)
{
if (type.isImplicitlySizedArray())
type.changeOuterArraySize(requiredSize);
// If this is a definition, the definition production code will check for redefinitions
// (we don't know at this point if it's a definition or not).
//
- // Redeclarations (full signature match) are allowed. But, return types and parameter qualifiers must also match.
- // - except ES 100, which only allows a single prototype
- //
- // ES 100 does not allow redefining, but does allow overloading of built-in functions.
- // ES 300 does not allow redefining or overloading of built-in functions.
- //
bool builtIn;
TSymbol* symbol = symbolTable.find(function.getMangledName(), &builtIn);
const TFunction* prevDec = symbol ? symbol->getAsFunction() : 0;
}
}
+//
+// Change texture parameters to match AST & SPIR-V semantics
+//
+void HlslParseContext::textureParameters(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
+{
+ if (!node || !node->getAsOperator())
+ return;
+
+ const TOperator op = node->getAsOperator()->getOp();
+ const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr;
+
+ switch (op) {
+ case EOpTexture:
+ {
+ // Texture with ddx & ddy is really gradient form
+ if (argAggregate->getSequence().size() == 4) {
+ node->getAsAggregate()->setOperator(EOpTextureGrad);
+ break;
+ }
+
+ break;
+ }
+
+ case EOpTextureBias:
+ {
+ TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped(); // sampler
+ TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped(); // coord
+
+ // HLSL puts bias in W component of coordinate. We extract it and add it to
+ // the argument list, instead
+ TIntermTyped* w = intermediate.addConstantUnion(3, loc, true);
+ TIntermTyped* bias = intermediate.addIndex(EOpIndexDirect, arg1, w, loc);
+
+ TOperator constructOp = EOpNull;
+ switch (arg0->getType().getSampler().dim) {
+ case Esd1D: constructOp = EOpConstructFloat; break; // 1D
+ case Esd2D: constructOp = EOpConstructVec2; break; // 2D
+ case Esd3D: constructOp = EOpConstructVec3; break; // 3D
+ case EsdCube: constructOp = EOpConstructVec3; break; // also 3D
+ default: break;
+ }
+
+ TIntermAggregate* constructCoord = new TIntermAggregate(constructOp);
+ constructCoord->getSequence().push_back(arg1);
+ constructCoord->setLoc(loc);
+
+ TIntermAggregate* tex = new TIntermAggregate(EOpTexture);
+ tex->getSequence().push_back(arg0); // sampler
+ tex->getSequence().push_back(constructCoord); // coordinate
+ tex->getSequence().push_back(bias); // bias
+ tex->setLoc(loc);
+ node = tex;
+
+ break;
+ }
+
+ default:
+ break; // most pass through unchanged
+ }
+}
+
+//
// Optionally decompose intrinsics to AST opcodes.
//
void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
compoundStatement = intermediate.growAggregate(compoundStatement, cosAssign);
compoundStatement->setOperator(EOpSequence);
compoundStatement->setLoc(loc);
+ compoundStatement->setType(TType(EbtVoid));
node = compoundStatement;
break;
}
+ case EOpAsDouble:
+ {
+ // asdouble accepts two 32 bit ints. we can use EOpUint64BitsToDouble, but must
+ // first construct a uint64.
+ TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped();
+ TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped();
+
+ if (arg0->getType().isVector()) { // TODO: ...
+ error(loc, "double2 conversion not implemented", "asdouble", "");
+ break;
+ }
+
+ TIntermAggregate* uint64 = new TIntermAggregate(EOpConstructUVec2);
+
+ uint64->getSequence().push_back(arg0);
+ uint64->getSequence().push_back(arg1);
+ uint64->setType(TType(EbtUint, EvqTemporary, 2)); // convert 2 uints to a uint2
+ uint64->setLoc(loc);
+
+ // bitcast uint2 to a double
+ TIntermTyped* convert = new TIntermUnary(EOpUint64BitsToDouble);
+ convert->getAsUnaryNode()->setOperand(uint64);
+ convert->setLoc(loc);
+ convert->setType(TType(EbtDouble, EvqTemporary));
+ node = convert;
+
+ break;
+ }
+
case EOpF16tof32:
case EOpF32tof16:
{
if (arguments) {
// Make sure qualifications work for these arguments.
- TIntermAggregate* aggregate = arguments->getAsAggregate();
- for (int i = 0; i < fnCandidate->getParamCount(); ++i) {
- // At this early point there is a slight ambiguity between whether an aggregate 'arguments'
- // is the single argument itself or its children are the arguments. Only one argument
- // means take 'arguments' itself as the one argument.
- TIntermNode* arg = fnCandidate->getParamCount() == 1 ? arguments : (aggregate ? aggregate->getSequence()[i] : arguments);
- TQualifier& formalQualifier = (*fnCandidate)[i].type->getQualifier();
- TQualifier& argQualifier = arg->getAsTyped()->getQualifier();
- }
+ //TIntermAggregate* aggregate = arguments->getAsAggregate();
+ //for (int i = 0; i < fnCandidate->getParamCount(); ++i) {
+ // // At this early point there is a slight ambiguity between whether an aggregate 'arguments'
+ // // is the single argument itself or its children are the arguments. Only one argument
+ // // means take 'arguments' itself as the one argument.
+ // TIntermNode* arg = fnCandidate->getParamCount() == 1 ? arguments : (aggregate ? aggregate->getSequence()[i] : arguments);
+ // TQualifier& formalQualifier = (*fnCandidate)[i].type->getQualifier();
+ // TQualifier& argQualifier = arg->getAsTyped()->getQualifier();
+ //}
// Convert 'in' arguments
addInputArgumentConversions(*fnCandidate, arguments); // arguments may be modified if it's just a single argument node
}
decomposeIntrinsic(loc, result, arguments);
+ textureParameters(loc, result, arguments);
}
}
}
-bool HlslParseContext::builtInName(const TString& identifier)
+bool HlslParseContext::builtInName(const TString& /*identifier*/)
{
return false;
}
//
// Returns true if there was an error in construction.
//
-bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, TFunction& function, TOperator op, TType& type)
+bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* /*node*/, TFunction& function,
+ TOperator op, TType& type)
{
type.shallowCopy(function.getType());
return true;
}
- TIntermTyped* typed = node->getAsTyped();
+ // TIntermTyped* typed = node->getAsTyped();
return false;
}
//
// Fix just a full qualifier (no variables or types yet, but qualifier is complete) at global level.
//
-void HlslParseContext::globalQualifierFix(const TSourceLoc& loc, TQualifier& qualifier)
+void HlslParseContext::globalQualifierFix(const TSourceLoc&, TQualifier& qualifier)
{
// move from parameter/unknown qualifiers to pipeline in/out qualifiers
switch (qualifier.storage) {
//
// Returns a redeclared and type-modified variable if a redeclared occurred.
//
-TSymbol* HlslParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier, const TQualifier& qualifier, const TShaderQualifiers& publicType, bool& newDeclaration)
+TSymbol* HlslParseContext::redeclareBuiltinVariable(const TSourceLoc& /*loc*/, const TString& identifier,
+ const TQualifier& /*qualifier*/,
+ const TShaderQualifiers& /*publicType*/, bool& /*newDeclaration*/)
{
if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel())
return nullptr;
void HlslParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publicType, TString& id, const TIntermTyped* node)
{
const char* feature = "layout-id value";
- const char* nonLiteralFeature = "non-literal layout-id value";
+ //const char* nonLiteralFeature = "non-literal layout-id value";
integerCheck(node, feature);
const TIntermConstantUnion* constUnion = node->getAsConstantUnion();
case EShLangFragment:
if (id == "index") {
- const char* exts[2] = { E_GL_ARB_separate_shader_objects, E_GL_ARB_explicit_attrib_location };
publicType.qualifier.layoutIndex = value;
return;
}
//
const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, const TFunction& call, bool& builtIn)
{
- const TFunction* function = nullptr;
+ // const TFunction* function = nullptr;
if (symbolTable.isFunctionNameVariable(call.getName())) {
error(loc, "can't use function syntax on variable", call.getName().c_str(), "");
}
//
+// Do everything necessary to handle a typedef declaration, for a single symbol.
+//
+// 'parseType' is the type part of the declaration (to the left)
+// 'arraySizes' is the arrayness tagged on the identifier (to the right)
+//
+void HlslParseContext::declareTypedef(const TSourceLoc& loc, TString& identifier, const TType& parseType, TArraySizes* arraySizes)
+{
+ TType type;
+ type.deepCopy(parseType);
+
+ // Arrayness is potentially coming both from the type and from the
+ // variable: "int[] a[];" or just one or the other.
+ // Merge it all to the type, so all arrayness is part of the type.
+ arrayDimMerge(type, arraySizes);
+
+ TVariable* typeSymbol = new TVariable(&identifier, type, true);
+ if (! symbolTable.insert(*typeSymbol))
+ error(loc, "name already defined", "typedef", identifier.c_str());
+}
+
+//
// Do everything necessary to handle a variable (non-block) declaration.
// Either redeclaring a variable, or making a new one, updating the symbol
// table, and all error checking.
// Returns a subtree node that computes an initializer, if needed.
// Returns nullptr if there is no code to execute for initialization.
//
-// 'publicType' is the type part of the declaration (to the left)
+// 'parseType' is the type part of the declaration (to the left)
// 'arraySizes' is the arrayness tagged on the identifier (to the right)
//
TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& identifier, const TType& parseType, TArraySizes* arraySizes, TIntermTyped* initializer)
if (type.isImplicitlySizedArray()) {
// Because "int[] a = int[2](...), b = int[3](...)" makes two arrays a and b
// of different sizes, for this case sharing the shallow copy of arrayness
- // with the publicType oversubscribes it, so get a deep copy of the arrayness.
+ // with the parseType oversubscribes it, so get a deep copy of the arrayness.
type.newArraySizes(*parseType.getArraySizes());
}
// Check for redeclaration of built-ins and/or attempting to declare a reserved name
bool newDeclaration = false; // true if a new entry gets added to the symbol table
- TSymbol* symbol = nullptr; // = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers, newDeclaration);
+ TSymbol* symbol = nullptr; // = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), parseType.shaderQualifiers, newDeclaration);
inheritGlobalDefaults(type.getQualifier());
{
if (publicType.shaderQualifiers.vertices != TQualifier::layoutNotSet) {
assert(language == EShLangTessControl || language == EShLangGeometry);
- const char* id = (language == EShLangTessControl) ? "vertices" : "max_vertices";
+ // const char* id = (language == EShLangTessControl) ? "vertices" : "max_vertices";
if (language == EShLangTessControl)
checkIoArraysConsistency(loc);
TIntermSequence* switchSequence = switchSequenceStack.back();
if (statements) {
- if (switchSequence->size() == 0)
- error(statements->getLoc(), "cannot have statements before first case/default label", "switch", "");
statements->setOperator(EOpSequence);
switchSequence->push_back(statements);
}
void C_DECL ppWarn(const TSourceLoc&, const char* szReason, const char* szToken,
const char* szExtraInfoFormat, ...);
- void reservedPpErrorCheck(const TSourceLoc&, const char* name, const char* op) { }
- bool lineContinuationCheck(const TSourceLoc&, bool endOfComment) { return true; }
+ void reservedPpErrorCheck(const TSourceLoc&, const char* /*name*/, const char* /*op*/) { }
+ bool lineContinuationCheck(const TSourceLoc&, bool /*endOfComment*/) { return true; }
bool lineDirectiveShouldSetNextLine() const { return true; }
bool builtInName(const TString&);
void handleFunctionArgument(TFunction*, TIntermTyped*& arguments, TIntermTyped* newArg);
TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*);
void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
+ void textureParameters(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*);
void addInputArgumentConversions(const TFunction&, TIntermNode*&) const;
TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&) const;
void checkNoShaderLayouts(const TSourceLoc&, const TShaderQualifiers&);
const TFunction* findFunction(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
+ void declareTypedef(const TSourceLoc&, TString& identifier, const TType&, TArraySizes* typeArray = 0);
TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, const TType&, TArraySizes* typeArray = 0, TIntermTyped* initializer = 0);
TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&, TOperator);
TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&);
void pushScope() { symbolTable.push(); }
void popScope() { symbolTable.pop(0); }
+ void pushSwitchSequence(TIntermSequence* sequence) { switchSequenceStack.push_back(sequence); }
+ void popSwitchSequence() { switchSequenceStack.pop_back(); }
+
protected:
void inheritGlobalDefaults(TQualifier& dst) const;
TVariable* makeInternalVariable(const char* name, const TType&) const;
int structNestingLevel; // 0 if outside blocks and structures
int controlFlowNestingLevel; // 0 if outside all flow control
TList<TIntermSequence*> switchSequenceStack; // case, node, case, case, node, ...; ensure only one node between cases; stack of them for nesting
- TList<int> switchLevel; // the statementNestingLevel the current switch statement is at, which must match the level of its case statements
bool inEntrypoint; // if inside a function, true if the function is the entry point
bool postMainReturn; // if inside a function, true if the function is the entry point and this is after a return statement
const TType* currentFunctionType; // the return type of the function that's currently being parsed
namespace { // anonymous namespace functions
+const bool UseHlslTypes = false;
+
const char* BaseTypeName(const char* argOrder, const char* scalarName, const char* vecName, const char* matName)
{
switch (*argOrder) {
glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, const char* argType, int dim0, int dim1)
{
const bool transpose = (argOrder[0] == '^');
+ const bool matMul = (argOrder[0] == '#');
- // Take transpose of matrix dimensions
- if (transpose) {
- std::swap(dim0, dim1);
+ if (transpose) { // Take transpose of matrix dimensions
+ std::swap(dim0, dim1);
+ ++argOrder;
+ } else if (matMul) {
+ dim0 = dim1; // set vector dimension to mat col
++argOrder;
}
- switch (*argType) {
- case '-': s += "void"; break;
- case 'F': s += BaseTypeName(argOrder, "float", "vec", "mat"); break;
- case 'D': s += BaseTypeName(argOrder, "double", "dvec", "dmat"); break;
- case 'I': s += BaseTypeName(argOrder, "int", "ivec", "imat"); break;
- case 'U': s += BaseTypeName(argOrder, "uint", "uvec", "umat"); break;
- case 'B': s += BaseTypeName(argOrder, "bool", "bvec", "bmat"); break;
- case 'S': s += BaseTypeName(argOrder, "sampler", "sampler", "sampler"); break; // TODO:
- default: s += "UNKNOWN_TYPE"; break;
+ if (UseHlslTypes) {
+ switch (*argType) {
+ case '-': s += "void"; break;
+ case 'F': s += "float"; break;
+ case 'D': s += "double"; break;
+ case 'I': s += "int"; break;
+ case 'U': s += "uint"; break;
+ case 'B': s += "bool"; break;
+ case 'S': s += "sampler"; break;
+ default: s += "UNKNOWN_TYPE"; break;
+ }
+ } else {
+ switch (*argType) {
+ case '-': s += "void"; break;
+ case 'F': s += BaseTypeName(argOrder, "float", "vec", "mat"); break;
+ case 'D': s += BaseTypeName(argOrder, "double", "dvec", "dmat"); break;
+ case 'I': s += BaseTypeName(argOrder, "int", "ivec", "imat"); break;
+ case 'U': s += BaseTypeName(argOrder, "uint", "uvec", "umat"); break;
+ case 'B': s += BaseTypeName(argOrder, "bool", "bvec", "bmat"); break;
+ case 'S': s += BaseTypeName(argOrder, "sampler", "sampler", "sampler"); break; // TODO:
+ default: s += "UNKNOWN_TYPE"; break;
+ }
}
// handle fixed vector sizes, such as float3, and only ever 3.
switch (*argOrder) {
case '-': break; // no dimensions for voids
case 'S': break; // no dimensions on scalars
- case 'V': s += ('0' + dim0); break;
- case 'M': s += ('0' + dim0); s += 'x'; s += ('0' + dim1); break;
+ case 'V': s += ('0' + (char)dim0); break;
+ case 'M':
+ {
+ if (!UseHlslTypes) // GLSL has column first for mat types
+ std::swap(dim0, dim1);
+ s += ('0' + (char)dim0);
+ s += 'x';
+ s += ('0' + (char)dim1);
+ break;
+ }
}
return s;
// TODO: the GLSL parser is currently used to parse HLSL prototypes. However, many valid HLSL prototypes
// are not valid GLSL prototypes. This rejects the invalid ones. Thus, there is a single switch below
// to enable creation of the entire HLSL space.
-inline bool IsValidGlsl(const char* cname, char retOrder, char retType, char argOrder, char argType,
+inline bool IsValidGlsl(const char* cname, char retOrder, char retType, char /*argOrder*/, char argType,
int dim0, int dim1, int dim0Max, int dim1Max)
{
const bool isVec = dim0Max > 1 || argType == 'V';
const bool isMat = dim1Max > 1 || argType == 'M';
- if (argType == 'D' || // avoid double args
- retType == 'D' || // avoid double return
- (isVec && dim0 == 1) || // avoid vec1
+ if ((isVec && dim0 == 1) || // avoid vec1
(isMat && dim0 == 1 && dim1 == 1)) // avoid mat1x1
return false;
const std::string name(cname); // for ease of comparison. slow, but temporary, until HLSL parser is online.
- if (isMat && dim0 != dim1) // TODO: avoid mats until we find the right GLSL profile
+ if (isMat && dim1 == 1) // TODO: avoid mat Nx1 until we find the right GLSL profile
return false;
if (isMat && (argType == 'I' || argType == 'U' || argType == 'B') ||
return arg;
}
-inline void FindVectorMatrixBounds(const char* argOrder, int fixedVecSize, int& dim0Min, int& dim0Max, int& dim1Min, int& dim1Max)
+inline void FindVectorMatrixBounds(const char* argOrder, int fixedVecSize, int& dim0Min, int& dim0Max, int& /*dim1Min*/, int& dim1Max)
{
for (int arg = 0; ; ++arg) {
const char* nthArgOrder(NthArg(argOrder, arg));
{
}
+
+//
+// Handle creation of mat*mat specially, since it doesn't fall conveniently out of
+// the generic prototype creation code below.
+//
+void TBuiltInParseablesHlsl::createMatTimesMat()
+{
+ TString& s = commonBuiltins;
+
+ const int first = (UseHlslTypes ? 1 : 2);
+
+ for (int xRows = first; xRows <=4; xRows++) {
+ for (int xCols = first; xCols <=4; xCols++) {
+ const int yRows = xCols;
+ for (int yCols = first; yCols <=4; yCols++) {
+ const int retRows = xRows;
+ const int retCols = yCols;
+
+ AppendTypeName(s, "M", "F", retRows, retCols); // add return type
+ s.append(" "); // space between type and name
+ s.append("mul"); // intrinsic name
+ s.append("("); // open paren
+
+ AppendTypeName(s, "M", "F", xRows, xCols); // add X input
+ s.append(", ");
+ AppendTypeName(s, "M", "F", yRows, yCols); // add Y input
+
+ s.append(");\n"); // close paren
+ }
+ }
+ }
+}
+
//
// Add all context-independent built-in functions and variables that are present
// for the given version and profile. Share common ones across stages, otherwise
// Most built-ins variables can be added as simple text strings. Some need to
// be added programmatically, which is done later in IdentifyBuiltIns() below.
//
-void TBuiltInParseablesHlsl::initialize(int version, EProfile profile, const SpvVersion& spvVersion)
+void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, const SpvVersion& /*spvVersion*/)
{
static const EShLanguageMask EShLangAll = EShLanguageMask(EShLangCount - 1);
// '>' as first letter of order creates an output parameter
// '<' as first letter of order creates an input parameter
// '^' as first letter of order takes transpose dimensions
+ // '#' as first letter of order sets rows=cols for mats
static const struct {
const char* name; // intrinsic name
{ "isnan", nullptr, "B" , "SVM", "F", EShLangAll },
{ "ldexp", nullptr, nullptr, "SVM,", "F,", EShLangAll },
{ "length", "S", "F", "V", "F", EShLangAll },
+ { "lerp", nullptr, nullptr, "SVM,,", "F,,", EShLangAll },
{ "lit", "V4", "F", "S,,", "F,,", EShLangAll },
{ "log", nullptr, nullptr, "SVM", "F", EShLangAll },
{ "log10", nullptr, nullptr, "SVM", "F", EShLangAll },
{ "min", nullptr, nullptr, "SVM,", "FI,", EShLangAll },
{ "modf", nullptr, nullptr, "SVM,>", "FI,", EShLangAll },
{ "msad4", "V4", "U", "S,V2,V4", "U,,", EShLangAll },
- // TODO: fix matrix return size for non-square mats used with mul opcode
{ "mul", "S", nullptr, "S,S", "FI,", EShLangAll },
{ "mul", "V", nullptr, "S,V", "FI,", EShLangAll },
{ "mul", "M", nullptr, "S,M", "FI,", EShLangAll },
{ "mul", "V", nullptr, "V,S", "FI,", EShLangAll },
{ "mul", "S", nullptr, "V,V", "FI,", EShLangAll },
- { "mul", "V", nullptr, "V,M", "FI,", EShLangAll },
+ { "mul", "#V", nullptr, "V,M", "FI,", EShLangAll },
{ "mul", "M", nullptr, "M,S", "FI,", EShLangAll },
- { "mul", "V", nullptr, "M,V", "FI,", EShLangAll },
- { "mul", "M", nullptr, "M,M", "FI,", EShLangAll },
+ { "mul", "V", nullptr, "M,#V", "FI,", EShLangAll },
+ // mat*mat form of mul is handled in createMatTimesMat()
{ "noise", "S", "F", "V", "F", EShLangFragmentMask },
{ "normalize", nullptr, nullptr, "V", "F", EShLangAll },
{ "pow", nullptr, nullptr, "SVM,", "F,", EShLangAll },
if (*nthArgOrder == ',' || *nthArgOrder == '\0') nthArgOrder = argOrder;
if (*nthArgType == ',' || *nthArgType == '\0') nthArgType = argType;
- AppendTypeName(s, nthArgOrder, nthArgType, dim0, dim1); // Add first argument
+ AppendTypeName(s, nthArgOrder, nthArgType, dim0, dim1); // Add arguments
}
s.append(");\n"); // close paren and trailing semicolon
}
}
+ createMatTimesMat(); // handle this case separately, for convenience
+
// printf("Common:\n%s\n", getCommonString().c_str());
// printf("Frag:\n%s\n", getStageString(EShLangFragment).c_str());
// printf("Vertex:\n%s\n", getStageString(EShLangVertex).c_str());
// add stage-specific entries to the commonBuiltins, and only if that stage
// was requested.
//
-void TBuiltInParseablesHlsl::initialize(const TBuiltInResource &resources, int version, EProfile profile,
- const SpvVersion& spvVersion, EShLanguage language)
+void TBuiltInParseablesHlsl::initialize(const TBuiltInResource& /*resources*/, int /*version*/, EProfile /*profile*/,
+ const SpvVersion& /*spvVersion*/, EShLanguage /*language*/)
{
}
// 3) Tag extension-related symbols added to their base version with their extensions, so
// that if an early version has the extension turned off, there is an error reported on use.
//
-void TBuiltInParseablesHlsl::identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
+void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profile*/, const SpvVersion& /*spvVersion*/, EShLanguage /*language*/,
TSymbolTable& symbolTable)
{
// symbolTable.relateToOperator("abort", EOpAbort);
symbolTable.relateToOperator("AllMemoryBarrier", EOpMemoryBarrier);
symbolTable.relateToOperator("AllMemoryBarrierWithGroupSync", EOpAllMemoryBarrierWithGroupSync);
symbolTable.relateToOperator("any", EOpAny);
- symbolTable.relateToOperator("asdouble", EOpUint64BitsToDouble);
+ symbolTable.relateToOperator("asdouble", EOpAsDouble);
symbolTable.relateToOperator("asfloat", EOpIntBitsToFloat);
symbolTable.relateToOperator("asin", EOpAsin);
symbolTable.relateToOperator("asint", EOpFloatBitsToInt);
symbolTable.relateToOperator("isnan", EOpIsNan);
symbolTable.relateToOperator("ldexp", EOpLdexp);
symbolTable.relateToOperator("length", EOpLength);
+ symbolTable.relateToOperator("lerp", EOpMix);
symbolTable.relateToOperator("lit", EOpLit);
symbolTable.relateToOperator("log", EOpLog);
symbolTable.relateToOperator("log10", EOpLog10);
symbolTable.relateToOperator("log2", EOpLog2);
- // symbolTable.relateToOperator("mad");
+ symbolTable.relateToOperator("mad", EOpFma);
symbolTable.relateToOperator("max", EOpMax);
symbolTable.relateToOperator("min", EOpMin);
symbolTable.relateToOperator("modf", EOpModf);
symbolTable.relateToOperator("tan", EOpTan);
symbolTable.relateToOperator("tanh", EOpTanh);
symbolTable.relateToOperator("tex1D", EOpTexture);
- // symbolTable.relateToOperator("tex1Dbias", // TODO:
+ symbolTable.relateToOperator("tex1Dbias", EOpTextureBias);
symbolTable.relateToOperator("tex1Dgrad", EOpTextureGrad);
symbolTable.relateToOperator("tex1Dlod", EOpTextureLod);
symbolTable.relateToOperator("tex1Dproj", EOpTextureProj);
symbolTable.relateToOperator("tex2D", EOpTexture);
- // symbolTable.relateToOperator("tex2Dbias", // TODO:
+ symbolTable.relateToOperator("tex2Dbias", EOpTextureBias);
symbolTable.relateToOperator("tex2Dgrad", EOpTextureGrad);
symbolTable.relateToOperator("tex2Dlod", EOpTextureLod);
- // symbolTable.relateToOperator("tex2Dproj", EOpTextureProj);
+ symbolTable.relateToOperator("tex2Dproj", EOpTextureProj);
symbolTable.relateToOperator("tex3D", EOpTexture);
- // symbolTable.relateToOperator("tex3Dbias"); // TODO
+ symbolTable.relateToOperator("tex3Dbias", EOpTextureBias);
symbolTable.relateToOperator("tex3Dgrad", EOpTextureGrad);
symbolTable.relateToOperator("tex3Dlod", EOpTextureLod);
- // symbolTable.relateToOperator("tex3Dproj", EOpTextureProj);
+ symbolTable.relateToOperator("tex3Dproj", EOpTextureProj);
symbolTable.relateToOperator("texCUBE", EOpTexture);
- // symbolTable.relateToOperator("texCUBEbias", // TODO
+ symbolTable.relateToOperator("texCUBEbias", EOpTextureBias);
symbolTable.relateToOperator("texCUBEgrad", EOpTextureGrad);
symbolTable.relateToOperator("texCUBElod", EOpTextureLod);
- // symbolTable.relateToOperator("texCUBEproj", EOpTextureProj);
+ symbolTable.relateToOperator("texCUBEproj", EOpTextureProj);
symbolTable.relateToOperator("transpose", EOpTranspose);
symbolTable.relateToOperator("trunc", EOpTrunc);
}
// 2) Tag extension-related symbols added to their base version with their extensions, so
// that if an early version has the extension turned off, there is an error reported on use.
//
-void TBuiltInParseablesHlsl::identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
- TSymbolTable& symbolTable, const TBuiltInResource &resources)
+void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profile*/, const SpvVersion& /*spvVersion*/, EShLanguage /*language*/,
+ TSymbolTable& /*symbolTable*/, const TBuiltInResource& /*resources*/)
{
}
void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable);
void identifyBuiltIns(int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TSymbolTable& symbolTable, const TBuiltInResource &resources);
+
+private:
+ void createMatTimesMat();
};
} // end namespace glslang
HlslToken token; // the token we are currently looking at, but have not yet accepted
private:
+ HlslTokenStream();
+ HlslTokenStream& operator=(const HlslTokenStream&);
+
HlslScanContext& scanner; // lexical scanner, to get next token
// Previously scanned tokens, returned for future advances,