diff options
189 files changed, 17224 insertions, 5190 deletions
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp index 49bb0a17..7abd04d6 100755 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -99,7 +99,7 @@ private: class TGlslangToSpvTraverser : public glslang::TIntermTraverser { public: TGlslangToSpvTraverser(const glslang::TIntermediate*, spv::SpvBuildLogger* logger); - virtual ~TGlslangToSpvTraverser(); + virtual ~TGlslangToSpvTraverser() { } bool visitAggregate(glslang::TVisit, glslang::TIntermAggregate*); bool visitBinary(glslang::TVisit, glslang::TIntermBinary*); @@ -111,6 +111,7 @@ public: bool visitLoop(glslang::TVisit, glslang::TIntermLoop*); bool visitBranch(glslang::TVisit visit, glslang::TIntermBranch*); + void finishSpv(); void dumpSpv(std::vector<unsigned int>& out); protected: @@ -181,8 +182,8 @@ protected: // There is a 1:1 mapping between a spv builder and a module; this is thread safe spv::Builder builder; - bool inMain; - bool mainTerminated; + bool inEntryPoint; + bool entryPointTerminated; bool linkageOnly; // true when visiting the set of objects in the AST present only for establishing interface, whether or not they were statically used std::set<spv::Id> iOSet; // all input/output variables from either static use or declaration of interface const glslang::TIntermediate* glslangIntermediate; @@ -768,7 +769,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* gls : TIntermTraverser(true, false, true), shaderEntry(nullptr), currentFunction(nullptr), sequenceDepth(0), logger(buildLogger), builder((glslang::GetKhronosToolId() << 16) | GeneratorVersion, logger), - inMain(false), mainTerminated(false), linkageOnly(false), + inEntryPoint(false), entryPointTerminated(false), linkageOnly(false), glslangIntermediate(glslangIntermediate) { spv::ExecutionModel executionModel = TranslateExecutionModel(glslangIntermediate->getStage()); @@ -896,27 +897,27 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* gls default: break; } - } -// Finish everything and dump -void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out) +// Finish creating SPV, after the traversal is complete. +void TGlslangToSpvTraverser::finishSpv() { + if (! entryPointTerminated) { + builder.setBuildPoint(shaderEntry->getLastBlock()); + builder.leaveFunction(); + } + // finish off the entry-point SPV instruction by adding the Input/Output <id> for (auto it = iOSet.cbegin(); it != iOSet.cend(); ++it) entryPoint->addIdOperand(*it); builder.eliminateDeadDecorations(); - builder.dump(out); } -TGlslangToSpvTraverser::~TGlslangToSpvTraverser() +// Write the SPV into 'out'. +void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out) { - if (! mainTerminated) { - spv::Block* lastMainBlock = shaderEntry->getLastBlock(); - builder.setBuildPoint(lastMainBlock); - builder.leaveFunction(); - } + builder.dump(out); } // @@ -1382,17 +1383,17 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt case glslang::EOpFunction: if (visit == glslang::EvPreVisit) { if (isShaderEntryPoint(node)) { - inMain = true; + inEntryPoint = true; builder.setBuildPoint(shaderEntry->getLastBlock()); currentFunction = shaderEntry; } else { handleFunctionEntry(node); } } else { - if (inMain) - mainTerminated = true; + if (inEntryPoint) + entryPointTerminated = true; builder.leaveFunction(); - inMain = false; + inEntryPoint = false; } return true; @@ -4118,11 +4119,9 @@ spv::Id TGlslangToSpvTraverser::createAtomicOperation(glslang::TOperator op, spv // Create group invocation operations. spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy) { - bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64; #ifdef AMD_EXTENSIONS + bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64; bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16; -#else - bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble; #endif spv::Op opCode = spv::OpNop; @@ -4133,10 +4132,12 @@ spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op builder.addCapability(spv::CapabilitySubgroupBallotKHR); } else { builder.addCapability(spv::CapabilityGroups); +#ifdef AMD_EXTENSIONS if (op == glslang::EOpMinInvocationsNonUniform || op == glslang::EOpMaxInvocationsNonUniform || op == glslang::EOpAddInvocationsNonUniform) builder.addExtension(spv::E_SPV_AMD_shader_ballot); +#endif spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup)); #ifdef AMD_EXTENSIONS @@ -4597,7 +4598,7 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv: builder.createNoResultOp(spv::OpEndPrimitive); return 0; case glslang::EOpBarrier: - builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsMaskNone); + builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone); return 0; case glslang::EOpMemoryBarrier: builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory); @@ -5120,9 +5121,8 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign glslang::GetThreadPoolAllocator().push(); TGlslangToSpvTraverser it(&intermediate, logger); - root->traverse(&it); - + it.finishSpv(); it.dumpSpv(spirv); glslang::GetThreadPoolAllocator().pop(); diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h index 97b280ca..428cfb6a 100644 --- a/SPIRV/GlslangToSpv.h +++ b/SPIRV/GlslangToSpv.h @@ -32,6 +32,10 @@ //ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE //POSSIBILITY OF SUCH DAMAGE. +#if _MSC_VER >= 1900 + #pragma warning(disable : 4464) // relative include path contains '..' +#endif + #include "../glslang/Include/intermediate.h" #include <string> diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 4703edc3..04b0f04f 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -64,7 +64,7 @@ Builder::Builder(unsigned int magicNumber, SpvBuildLogger* buildLogger) : builderNumber(magicNumber), buildPoint(0), uniqueId(0), - mainFunction(0), + entryPointFunction(0), generatingOpCodeForSpecConst(false), logger(buildLogger) { @@ -967,15 +967,15 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat // Comments in header Function* Builder::makeEntryPoint(const char* entryPoint) { - assert(! mainFunction); + assert(! entryPointFunction); Block* entry; std::vector<Id> params; std::vector<Decoration> precisions; - mainFunction = makeFunctionEntry(NoPrecision, makeVoidType(), entryPoint, params, precisions, &entry); + entryPointFunction = makeFunctionEntry(NoPrecision, makeVoidType(), entryPoint, params, precisions, &entry); - return mainFunction; + return entryPointFunction; } // Comments in header diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 0e8d9cae..e8524b2b 100755 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -564,7 +564,7 @@ public: Module module; Block* buildPoint; Id uniqueId; - Function* mainFunction; + Function* entryPointFunction; bool generatingOpCodeForSpecConst; AccessChain accessChain; diff --git a/StandAlone/ResourceLimits.cpp b/StandAlone/ResourceLimits.cpp index 8a5e6f37..e22ec801 100644 --- a/StandAlone/ResourceLimits.cpp +++ b/StandAlone/ResourceLimits.cpp @@ -35,6 +35,7 @@ #include <cstdlib> #include <cstring> #include <sstream> +#include <cctype> #include "ResourceLimits.h" @@ -240,208 +241,217 @@ std::string GetDefaultTBuiltInResourceString() void DecodeResourceLimits(TBuiltInResource* resources, char* config) { - const char* delims = " \t\n\r"; -#pragma warning(suppress: 4996) - const char* token = strtok(config, delims); - while (token) { -#pragma warning(suppress: 4996) - const char* valueStr = strtok(0, delims); - if (valueStr == 0 || ! (valueStr[0] == '-' || (valueStr[0] >= '0' && valueStr[0] <= '9'))) { - printf("Error: '%s' bad .conf file. Each name must be followed by one number.\n", valueStr ? valueStr : ""); + static const char* delims = " \t\n\r"; + + size_t pos = 0; + std::string configStr(config); + + while ((pos = configStr.find_first_not_of(delims, pos)) != std::string::npos) { + const size_t token_s = pos; + const size_t token_e = configStr.find_first_of(delims, token_s); + const size_t value_s = configStr.find_first_not_of(delims, token_e); + const size_t value_e = configStr.find_first_of(delims, value_s); + pos = value_e; + + // Faster to use compare(), but prefering readability. + const std::string tokenStr = configStr.substr(token_s, token_e-token_s); + const std::string valueStr = configStr.substr(value_s, value_e-value_s); + + if (value_s == std::string::npos || ! (valueStr[0] == '-' || isdigit(valueStr[0]))) { + printf("Error: '%s' bad .conf file. Each name must be followed by one number.\n", + valueStr.c_str()); return; } - int value = atoi(valueStr); - if (strcmp(token, "MaxLights") == 0) + const int value = std::atoi(valueStr.c_str()); + + if (tokenStr == "MaxLights") resources->maxLights = value; - else if (strcmp(token, "MaxClipPlanes") == 0) + else if (tokenStr == "MaxClipPlanes") resources->maxClipPlanes = value; - else if (strcmp(token, "MaxTextureUnits") == 0) + else if (tokenStr == "MaxTextureUnits") resources->maxTextureUnits = value; - else if (strcmp(token, "MaxTextureCoords") == 0) + else if (tokenStr == "MaxTextureCoords") resources->maxTextureCoords = value; - else if (strcmp(token, "MaxVertexAttribs") == 0) + else if (tokenStr == "MaxVertexAttribs") resources->maxVertexAttribs = value; - else if (strcmp(token, "MaxVertexUniformComponents") == 0) + else if (tokenStr == "MaxVertexUniformComponents") resources->maxVertexUniformComponents = value; - else if (strcmp(token, "MaxVaryingFloats") == 0) + else if (tokenStr == "MaxVaryingFloats") resources->maxVaryingFloats = value; - else if (strcmp(token, "MaxVertexTextureImageUnits") == 0) + else if (tokenStr == "MaxVertexTextureImageUnits") resources->maxVertexTextureImageUnits = value; - else if (strcmp(token, "MaxCombinedTextureImageUnits") == 0) + else if (tokenStr == "MaxCombinedTextureImageUnits") resources->maxCombinedTextureImageUnits = value; - else if (strcmp(token, "MaxTextureImageUnits") == 0) + else if (tokenStr == "MaxTextureImageUnits") resources->maxTextureImageUnits = value; - else if (strcmp(token, "MaxFragmentUniformComponents") == 0) + else if (tokenStr == "MaxFragmentUniformComponents") resources->maxFragmentUniformComponents = value; - else if (strcmp(token, "MaxDrawBuffers") == 0) + else if (tokenStr == "MaxDrawBuffers") resources->maxDrawBuffers = value; - else if (strcmp(token, "MaxVertexUniformVectors") == 0) + else if (tokenStr == "MaxVertexUniformVectors") resources->maxVertexUniformVectors = value; - else if (strcmp(token, "MaxVaryingVectors") == 0) + else if (tokenStr == "MaxVaryingVectors") resources->maxVaryingVectors = value; - else if (strcmp(token, "MaxFragmentUniformVectors") == 0) + else if (tokenStr == "MaxFragmentUniformVectors") resources->maxFragmentUniformVectors = value; - else if (strcmp(token, "MaxVertexOutputVectors") == 0) + else if (tokenStr == "MaxVertexOutputVectors") resources->maxVertexOutputVectors = value; - else if (strcmp(token, "MaxFragmentInputVectors") == 0) + else if (tokenStr == "MaxFragmentInputVectors") resources->maxFragmentInputVectors = value; - else if (strcmp(token, "MinProgramTexelOffset") == 0) + else if (tokenStr == "MinProgramTexelOffset") resources->minProgramTexelOffset = value; - else if (strcmp(token, "MaxProgramTexelOffset") == 0) + else if (tokenStr == "MaxProgramTexelOffset") resources->maxProgramTexelOffset = value; - else if (strcmp(token, "MaxClipDistances") == 0) + else if (tokenStr == "MaxClipDistances") resources->maxClipDistances = value; - else if (strcmp(token, "MaxComputeWorkGroupCountX") == 0) + else if (tokenStr == "MaxComputeWorkGroupCountX") resources->maxComputeWorkGroupCountX = value; - else if (strcmp(token, "MaxComputeWorkGroupCountY") == 0) + else if (tokenStr == "MaxComputeWorkGroupCountY") resources->maxComputeWorkGroupCountY = value; - else if (strcmp(token, "MaxComputeWorkGroupCountZ") == 0) + else if (tokenStr == "MaxComputeWorkGroupCountZ") resources->maxComputeWorkGroupCountZ = value; - else if (strcmp(token, "MaxComputeWorkGroupSizeX") == 0) + else if (tokenStr == "MaxComputeWorkGroupSizeX") resources->maxComputeWorkGroupSizeX = value; - else if (strcmp(token, "MaxComputeWorkGroupSizeY") == 0) + else if (tokenStr == "MaxComputeWorkGroupSizeY") resources->maxComputeWorkGroupSizeY = value; - else if (strcmp(token, "MaxComputeWorkGroupSizeZ") == 0) + else if (tokenStr == "MaxComputeWorkGroupSizeZ") resources->maxComputeWorkGroupSizeZ = value; - else if (strcmp(token, "MaxComputeUniformComponents") == 0) + else if (tokenStr == "MaxComputeUniformComponents") resources->maxComputeUniformComponents = value; - else if (strcmp(token, "MaxComputeTextureImageUnits") == 0) + else if (tokenStr == "MaxComputeTextureImageUnits") resources->maxComputeTextureImageUnits = value; - else if (strcmp(token, "MaxComputeImageUniforms") == 0) + else if (tokenStr == "MaxComputeImageUniforms") resources->maxComputeImageUniforms = value; - else if (strcmp(token, "MaxComputeAtomicCounters") == 0) + else if (tokenStr == "MaxComputeAtomicCounters") resources->maxComputeAtomicCounters = value; - else if (strcmp(token, "MaxComputeAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxComputeAtomicCounterBuffers") resources->maxComputeAtomicCounterBuffers = value; - else if (strcmp(token, "MaxVaryingComponents") == 0) + else if (tokenStr == "MaxVaryingComponents") resources->maxVaryingComponents = value; - else if (strcmp(token, "MaxVertexOutputComponents") == 0) + else if (tokenStr == "MaxVertexOutputComponents") resources->maxVertexOutputComponents = value; - else if (strcmp(token, "MaxGeometryInputComponents") == 0) + else if (tokenStr == "MaxGeometryInputComponents") resources->maxGeometryInputComponents = value; - else if (strcmp(token, "MaxGeometryOutputComponents") == 0) + else if (tokenStr == "MaxGeometryOutputComponents") resources->maxGeometryOutputComponents = value; - else if (strcmp(token, "MaxFragmentInputComponents") == 0) + else if (tokenStr == "MaxFragmentInputComponents") resources->maxFragmentInputComponents = value; - else if (strcmp(token, "MaxImageUnits") == 0) + else if (tokenStr == "MaxImageUnits") resources->maxImageUnits = value; - else if (strcmp(token, "MaxCombinedImageUnitsAndFragmentOutputs") == 0) + else if (tokenStr == "MaxCombinedImageUnitsAndFragmentOutputs") resources->maxCombinedImageUnitsAndFragmentOutputs = value; - else if (strcmp(token, "MaxCombinedShaderOutputResources") == 0) + else if (tokenStr == "MaxCombinedShaderOutputResources") resources->maxCombinedShaderOutputResources = value; - else if (strcmp(token, "MaxImageSamples") == 0) + else if (tokenStr == "MaxImageSamples") resources->maxImageSamples = value; - else if (strcmp(token, "MaxVertexImageUniforms") == 0) + else if (tokenStr == "MaxVertexImageUniforms") resources->maxVertexImageUniforms = value; - else if (strcmp(token, "MaxTessControlImageUniforms") == 0) + else if (tokenStr == "MaxTessControlImageUniforms") resources->maxTessControlImageUniforms = value; - else if (strcmp(token, "MaxTessEvaluationImageUniforms") == 0) + else if (tokenStr == "MaxTessEvaluationImageUniforms") resources->maxTessEvaluationImageUniforms = value; - else if (strcmp(token, "MaxGeometryImageUniforms") == 0) + else if (tokenStr == "MaxGeometryImageUniforms") resources->maxGeometryImageUniforms = value; - else if (strcmp(token, "MaxFragmentImageUniforms") == 0) + else if (tokenStr == "MaxFragmentImageUniforms") resources->maxFragmentImageUniforms = value; - else if (strcmp(token, "MaxCombinedImageUniforms") == 0) + else if (tokenStr == "MaxCombinedImageUniforms") resources->maxCombinedImageUniforms = value; - else if (strcmp(token, "MaxGeometryTextureImageUnits") == 0) + else if (tokenStr == "MaxGeometryTextureImageUnits") resources->maxGeometryTextureImageUnits = value; - else if (strcmp(token, "MaxGeometryOutputVertices") == 0) + else if (tokenStr == "MaxGeometryOutputVertices") resources->maxGeometryOutputVertices = value; - else if (strcmp(token, "MaxGeometryTotalOutputComponents") == 0) + else if (tokenStr == "MaxGeometryTotalOutputComponents") resources->maxGeometryTotalOutputComponents = value; - else if (strcmp(token, "MaxGeometryUniformComponents") == 0) + else if (tokenStr == "MaxGeometryUniformComponents") resources->maxGeometryUniformComponents = value; - else if (strcmp(token, "MaxGeometryVaryingComponents") == 0) + else if (tokenStr == "MaxGeometryVaryingComponents") resources->maxGeometryVaryingComponents = value; - else if (strcmp(token, "MaxTessControlInputComponents") == 0) + else if (tokenStr == "MaxTessControlInputComponents") resources->maxTessControlInputComponents = value; - else if (strcmp(token, "MaxTessControlOutputComponents") == 0) + else if (tokenStr == "MaxTessControlOutputComponents") resources->maxTessControlOutputComponents = value; - else if (strcmp(token, "MaxTessControlTextureImageUnits") == 0) + else if (tokenStr == "MaxTessControlTextureImageUnits") resources->maxTessControlTextureImageUnits = value; - else if (strcmp(token, "MaxTessControlUniformComponents") == 0) + else if (tokenStr == "MaxTessControlUniformComponents") resources->maxTessControlUniformComponents = value; - else if (strcmp(token, "MaxTessControlTotalOutputComponents") == 0) + else if (tokenStr == "MaxTessControlTotalOutputComponents") resources->maxTessControlTotalOutputComponents = value; - else if (strcmp(token, "MaxTessEvaluationInputComponents") == 0) + else if (tokenStr == "MaxTessEvaluationInputComponents") resources->maxTessEvaluationInputComponents = value; - else if (strcmp(token, "MaxTessEvaluationOutputComponents") == 0) + else if (tokenStr == "MaxTessEvaluationOutputComponents") resources->maxTessEvaluationOutputComponents = value; - else if (strcmp(token, "MaxTessEvaluationTextureImageUnits") == 0) + else if (tokenStr == "MaxTessEvaluationTextureImageUnits") resources->maxTessEvaluationTextureImageUnits = value; - else if (strcmp(token, "MaxTessEvaluationUniformComponents") == 0) + else if (tokenStr == "MaxTessEvaluationUniformComponents") resources->maxTessEvaluationUniformComponents = value; - else if (strcmp(token, "MaxTessPatchComponents") == 0) + else if (tokenStr == "MaxTessPatchComponents") resources->maxTessPatchComponents = value; - else if (strcmp(token, "MaxPatchVertices") == 0) + else if (tokenStr == "MaxPatchVertices") resources->maxPatchVertices = value; - else if (strcmp(token, "MaxTessGenLevel") == 0) + else if (tokenStr == "MaxTessGenLevel") resources->maxTessGenLevel = value; - else if (strcmp(token, "MaxViewports") == 0) + else if (tokenStr == "MaxViewports") resources->maxViewports = value; - else if (strcmp(token, "MaxVertexAtomicCounters") == 0) + else if (tokenStr == "MaxVertexAtomicCounters") resources->maxVertexAtomicCounters = value; - else if (strcmp(token, "MaxTessControlAtomicCounters") == 0) + else if (tokenStr == "MaxTessControlAtomicCounters") resources->maxTessControlAtomicCounters = value; - else if (strcmp(token, "MaxTessEvaluationAtomicCounters") == 0) + else if (tokenStr == "MaxTessEvaluationAtomicCounters") resources->maxTessEvaluationAtomicCounters = value; - else if (strcmp(token, "MaxGeometryAtomicCounters") == 0) + else if (tokenStr == "MaxGeometryAtomicCounters") resources->maxGeometryAtomicCounters = value; - else if (strcmp(token, "MaxFragmentAtomicCounters") == 0) + else if (tokenStr == "MaxFragmentAtomicCounters") resources->maxFragmentAtomicCounters = value; - else if (strcmp(token, "MaxCombinedAtomicCounters") == 0) + else if (tokenStr == "MaxCombinedAtomicCounters") resources->maxCombinedAtomicCounters = value; - else if (strcmp(token, "MaxAtomicCounterBindings") == 0) + else if (tokenStr == "MaxAtomicCounterBindings") resources->maxAtomicCounterBindings = value; - else if (strcmp(token, "MaxVertexAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxVertexAtomicCounterBuffers") resources->maxVertexAtomicCounterBuffers = value; - else if (strcmp(token, "MaxTessControlAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxTessControlAtomicCounterBuffers") resources->maxTessControlAtomicCounterBuffers = value; - else if (strcmp(token, "MaxTessEvaluationAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxTessEvaluationAtomicCounterBuffers") resources->maxTessEvaluationAtomicCounterBuffers = value; - else if (strcmp(token, "MaxGeometryAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxGeometryAtomicCounterBuffers") resources->maxGeometryAtomicCounterBuffers = value; - else if (strcmp(token, "MaxFragmentAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxFragmentAtomicCounterBuffers") resources->maxFragmentAtomicCounterBuffers = value; - else if (strcmp(token, "MaxCombinedAtomicCounterBuffers") == 0) + else if (tokenStr == "MaxCombinedAtomicCounterBuffers") resources->maxCombinedAtomicCounterBuffers = value; - else if (strcmp(token, "MaxAtomicCounterBufferSize") == 0) + else if (tokenStr == "MaxAtomicCounterBufferSize") resources->maxAtomicCounterBufferSize = value; - else if (strcmp(token, "MaxTransformFeedbackBuffers") == 0) + else if (tokenStr == "MaxTransformFeedbackBuffers") resources->maxTransformFeedbackBuffers = value; - else if (strcmp(token, "MaxTransformFeedbackInterleavedComponents") == 0) + else if (tokenStr == "MaxTransformFeedbackInterleavedComponents") resources->maxTransformFeedbackInterleavedComponents = value; - else if (strcmp(token, "MaxCullDistances") == 0) + else if (tokenStr == "MaxCullDistances") resources->maxCullDistances = value; - else if (strcmp(token, "MaxCombinedClipAndCullDistances") == 0) + else if (tokenStr == "MaxCombinedClipAndCullDistances") resources->maxCombinedClipAndCullDistances = value; - else if (strcmp(token, "MaxSamples") == 0) + else if (tokenStr == "MaxSamples") resources->maxSamples = value; - - else if (strcmp(token, "nonInductiveForLoops") == 0) + else if (tokenStr == "nonInductiveForLoops") resources->limits.nonInductiveForLoops = (value != 0); - else if (strcmp(token, "whileLoops") == 0) + else if (tokenStr == "whileLoops") resources->limits.whileLoops = (value != 0); - else if (strcmp(token, "doWhileLoops") == 0) + else if (tokenStr == "doWhileLoops") resources->limits.doWhileLoops = (value != 0); - else if (strcmp(token, "generalUniformIndexing") == 0) + else if (tokenStr == "generalUniformIndexing") resources->limits.generalUniformIndexing = (value != 0); - else if (strcmp(token, "generalAttributeMatrixVectorIndexing") == 0) + else if (tokenStr == "generalAttributeMatrixVectorIndexing") resources->limits.generalAttributeMatrixVectorIndexing = (value != 0); - else if (strcmp(token, "generalVaryingIndexing") == 0) + else if (tokenStr == "generalVaryingIndexing") resources->limits.generalVaryingIndexing = (value != 0); - else if (strcmp(token, "generalSamplerIndexing") == 0) + else if (tokenStr == "generalSamplerIndexing") resources->limits.generalSamplerIndexing = (value != 0); - else if (strcmp(token, "generalVariableIndexing") == 0) + else if (tokenStr == "generalVariableIndexing") resources->limits.generalVariableIndexing = (value != 0); - else if (strcmp(token, "generalConstantMatrixVectorIndexing") == 0) + else if (tokenStr == "generalConstantMatrixVectorIndexing") resources->limits.generalConstantMatrixVectorIndexing = (value != 0); else - printf("Warning: unrecognized limit (%s) in configuration file.\n", token); + printf("Warning: unrecognized limit (%s) in configuration file.\n", tokenStr.c_str()); -#pragma warning(suppress: 4996) - token = strtok(0, delims); } } diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 0ac72d3b..377e7cb3 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -164,6 +164,7 @@ const char* shaderStageName = nullptr; std::array<unsigned int, EShLangCount> baseSamplerBinding; std::array<unsigned int, EShLangCount> baseTextureBinding; +std::array<unsigned int, EShLangCount> baseImageBinding; std::array<unsigned int, EShLangCount> baseUboBinding; // @@ -252,6 +253,7 @@ void ProcessArguments(int argc, char* argv[]) { baseSamplerBinding.fill(0); baseTextureBinding.fill(0); + baseImageBinding.fill(0); baseUboBinding.fill(0); ExecutableName = argv[0]; @@ -279,6 +281,10 @@ void ProcessArguments(int argc, char* argv[]) lowerword == "shift-texture-binding" || lowerword == "stb") { ProcessBindingBase(argc, argv, baseTextureBinding); + } else if (lowerword == "shift-image-bindings" || // synonyms + lowerword == "shift-image-binding" || + lowerword == "sib") { + ProcessBindingBase(argc, argv, baseImageBinding); } else if (lowerword == "shift-ubo-bindings" || // synonyms lowerword == "shift-ubo-binding" || lowerword == "sub") { @@ -544,6 +550,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits) shader->setShiftSamplerBinding(baseSamplerBinding[compUnit.stage]); shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]); + shader->setShiftImageBinding(baseImageBinding[compUnit.stage]); shader->setShiftUboBinding(baseUboBinding[compUnit.stage]); shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0); shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0); @@ -941,6 +948,9 @@ void usage() " --shift-texture-binding [stage] num set base binding number for textures\n" " --stb [stage] num synonym for --shift-texture-binding\n" "\n" + " --shift-image-binding [stage] num set base binding number for images (uav)\n" + " --sib [stage] num synonym for --shift-image-binding\n" + "\n" " --shift-UBO-binding [stage] num set base binding number for UBOs\n" " --sub [stage] num synonym for --shift-UBO-binding\n" "\n" diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out index edd65ab2..74a597ff 100644 --- a/Test/baseResults/100.frag.out +++ b/Test/baseResults/100.frag.out @@ -393,13 +393,13 @@ ERROR: node is still EOpNull! 0:? 'a' (global 3-element array of mediump int) 0:? 'uint' (global mediump int) 0:? 'v' (smooth in 3-element array of mediump 4-component vector of float) -0:? 'f' (global mediump float) +0:? 'f' (invariant global mediump float) 0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x}) 0:? 'fa' (global implicitly-sized array of mediump float) -0:? 'f13' (global mediump float) +0:? 'f13' (invariant global mediump float) 0:? 'fi' (invariant temp mediump float) -0:? 'av' (smooth in mediump 4-component vector of float) -0:? 'uv2' (uniform mediump 2-component vector of float) +0:? 'av' (invariant smooth in mediump 4-component vector of float) +0:? 'uv2' (invariant uniform mediump 2-component vector of float) 0:? 'uv3' (invariant uniform mediump 3-component vector of float) 0:? 'glob2D' (global lowp sampler2D) 0:? 'vary2D' (smooth in lowp sampler2D) @@ -731,13 +731,13 @@ ERROR: node is still EOpNull! 0:? 'a' (global 3-element array of mediump int) 0:? 'uint' (global mediump int) 0:? 'v' (smooth in 3-element array of mediump 4-component vector of float) -0:? 'f' (global mediump float) +0:? 'f' (invariant global mediump float) 0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x}) 0:? 'fa' (global 1-element array of mediump float) -0:? 'f13' (global mediump float) +0:? 'f13' (invariant global mediump float) 0:? 'fi' (invariant temp mediump float) -0:? 'av' (smooth in mediump 4-component vector of float) -0:? 'uv2' (uniform mediump 2-component vector of float) +0:? 'av' (invariant smooth in mediump 4-component vector of float) +0:? 'uv2' (invariant uniform mediump 2-component vector of float) 0:? 'uv3' (invariant uniform mediump 3-component vector of float) 0:? 'glob2D' (global lowp sampler2D) 0:? 'vary2D' (smooth in lowp sampler2D) diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out index 73ced6a1..18fb221d 100644 --- a/Test/baseResults/120.vert.out +++ b/Test/baseResults/120.vert.out @@ -420,7 +420,6 @@ ERROR: node is still EOpNull! 0:? 'concall' (const float) 0:? 0.295520 0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord) -0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord) 0:? 'c' (uniform int) 0:? 'x' (in 2-component vector of int) 0:? 'v2a' (in 2-component vector of float) @@ -772,7 +771,6 @@ ERROR: node is still EOpNull! 0:? 'concall' (const float) 0:? 0.295520 0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord) -0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord) 0:? 'c' (uniform int) 0:? 'x' (in 2-component vector of int) 0:? 'v2a' (in 2-component vector of float) diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out index b2b4dd06..a28908ea 100644 --- a/Test/baseResults/130.frag.out +++ b/Test/baseResults/130.frag.out @@ -383,8 +383,7 @@ ERROR: node is still EOpNull! 0:? 'fnop' (noperspective in float) 0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance) 0:? 'sampC' (uniform samplerCube) -0:? 'gl_Color' (smooth in 4-component vector of float Color) -0:? 'gl_Color' (flat in 4-component vector of float Color) +0:? 'gl_Color' (in 4-component vector of float Color) 0:? 'samp2D' (uniform sampler2D) 0:? 'samp2DS' (uniform sampler2DShadow) 0:? 'samp2DR' (uniform sampler2DRect) @@ -759,8 +758,7 @@ ERROR: node is still EOpNull! 0:? 'fnop' (noperspective in float) 0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance) 0:? 'sampC' (uniform samplerCube) -0:? 'gl_Color' (smooth in 4-component vector of float Color) -0:? 'gl_Color' (flat in 4-component vector of float Color) +0:? 'gl_Color' (in 4-component vector of float Color) 0:? 'samp2D' (uniform sampler2D) 0:? 'samp2DS' (uniform sampler2DShadow) 0:? 'samp2DR' (uniform sampler2DRect) diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out index fbeee83a..38c3b9f4 100644 --- a/Test/baseResults/140.frag.out +++ b/Test/baseResults/140.frag.out @@ -104,7 +104,6 @@ ERROR: node is still EOpNull! 0:? 'i' (smooth in 4-component vector of float) 0:? 'o' (out 4-component vector of float) 0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) -0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) 0:? 's' (smooth in structure{global float f}) 0:? 'patch' (global float) 0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float) @@ -211,7 +210,6 @@ ERROR: node is still EOpNull! 0:? 'i' (smooth in 4-component vector of float) 0:? 'o' (out 4-component vector of float) 0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) -0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance) 0:? 's' (smooth in structure{global float f}) 0:? 'patch' (global float) 0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float) diff --git a/Test/baseResults/140.vert.out b/Test/baseResults/140.vert.out index 634458cd..365a0aae 100644 --- a/Test/baseResults/140.vert.out +++ b/Test/baseResults/140.vert.out @@ -124,11 +124,8 @@ ERROR: node is still EOpNull! 0:? 'locBad' (layout(location=9 ) in 4-component vector of float) 0:? 'loc' (layout(location=9 ) in 4-component vector of float) 0:? 'gl_PointSize' (gl_PointSize float PointSize) -0:? 'gl_PointSize' (gl_PointSize float PointSize) -0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) 0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) 0:? 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:? 'gl_FogFragCoord' (smooth out float FogFragCoord) 0:? 's2dr' (uniform sampler2DRect) 0:? 's2drs' (uniform sampler2DRectShadow) 0:? 'itloc2' (in 2-component vector of int) @@ -254,11 +251,8 @@ ERROR: node is still EOpNull! 0:? 'locBad' (layout(location=9 ) in 4-component vector of float) 0:? 'loc' (layout(location=9 ) in 4-component vector of float) 0:? 'gl_PointSize' (gl_PointSize float PointSize) -0:? 'gl_PointSize' (gl_PointSize float PointSize) -0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) 0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex) 0:? 'gl_FogFragCoord' (smooth out float FogFragCoord) -0:? 'gl_FogFragCoord' (smooth out float FogFragCoord) 0:? 's2dr' (uniform sampler2DRect) 0:? 's2drs' (uniform sampler2DRectShadow) 0:? 'itloc2' (in 2-component vector of int) diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out index 082a8274..0972fdcd 100644 --- a/Test/baseResults/150.frag.out +++ b/Test/baseResults/150.frag.out @@ -108,7 +108,6 @@ ERROR: node is still EOpNull! 0:49 'gl_PrimitiveID' (flat in int PrimitiveID) 0:? Linker Objects 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'foo' (smooth in 4-component vector of float) 0:? 's' (smooth in structure{global float f}) 0:? 'patch' (global float) @@ -228,7 +227,6 @@ ERROR: node is still EOpNull! 0:49 'gl_PrimitiveID' (flat in int PrimitiveID) 0:? Linker Objects 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'foo' (smooth in 4-component vector of float) 0:? 's' (smooth in structure{global float f}) 0:? 'patch' (global float) diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out index ecfa3d50..d35929f7 100644 --- a/Test/baseResults/300.vert.out +++ b/Test/baseResults/300.vert.out @@ -308,9 +308,9 @@ ERROR: node is still EOpNull! 0:? 'badsize2' (global implicitly-sized array of highp float) 0:? 'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a}) 0:? 'okayA' (global 2-element array of highp float) -0:? 'newV' (smooth out highp 3-component vector of float) -0:? 'invIn' (in highp 4-component vector of float) -0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f}) +0:? 'newV' (invariant smooth out highp 3-component vector of float) +0:? 'invIn' (invariant in highp 4-component vector of float) +0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) 0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) 0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f}) 0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23}) @@ -592,9 +592,9 @@ ERROR: node is still EOpNull! 0:? 'badsize2' (global 1-element array of highp float) 0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a}) 0:? 'okayA' (global 2-element array of highp float) -0:? 'newV' (smooth out highp 3-component vector of float) -0:? 'invIn' (in highp 4-component vector of float) -0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f}) +0:? 'newV' (invariant smooth out highp 3-component vector of float) +0:? 'invIn' (invariant in highp 4-component vector of float) +0:? 's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) 0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f}) 0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f}) 0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23}) diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out index 6cfd3f44..66d6ae00 100644 --- a/Test/baseResults/310.frag.out +++ b/Test/baseResults/310.frag.out @@ -963,7 +963,6 @@ ERROR: node is still EOpNull! 0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float) 0:? 'arrayedInst' (in 4-element array of block{in mediump float f}) 0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth) -0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth) 0:? 'inf' (smooth in mediump 2-component vector of float) 0:? 'ing' (smooth in mediump 2-component vector of float) 0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int) @@ -1844,7 +1843,6 @@ ERROR: node is still EOpNull! 0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float) 0:? 'arrayedInst' (in 4-element array of block{in mediump float f}) 0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth) -0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth) 0:? 'inf' (smooth in mediump 2-component vector of float) 0:? 'ing' (smooth in mediump 2-component vector of float) 0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int) diff --git a/Test/baseResults/310AofA.vert.out b/Test/baseResults/310AofA.vert.out index 83f105ca..28592d51 100644 --- a/Test/baseResults/310AofA.vert.out +++ b/Test/baseResults/310AofA.vert.out @@ -5,7 +5,7 @@ ERROR: 0:23: '' : array size required ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized ERROR: 0:40: '' : array size required ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument -ERROR: 0:49: 'constructior' : array constructor argument not correct type to construct array element +ERROR: 0:49: 'constructor' : array constructor argument not correct type to construct array element ERROR: 0:62: '[' : array index out of range '4' ERROR: 0:78: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global 5-element array of 7-element array of highp float' ERROR: 0:79: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global implicitly-sized array of 7-element array of highp float' diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out index 33a8c9ab..90904140 100644 --- a/Test/baseResults/400.frag.out +++ b/Test/baseResults/400.frag.out @@ -481,8 +481,6 @@ ERROR: node is still EOpNull! 0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float) 0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float) 0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) -0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'u2drs' (uniform sampler2DRectShadow) 0:? 'patchIn' (smooth patch in 4-component vector of float) @@ -962,8 +960,6 @@ ERROR: node is still EOpNull! 0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float) 0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float) 0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) -0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'u2drs' (uniform sampler2DRectShadow) 0:? 'patchIn' (smooth patch in 4-component vector of float) diff --git a/Test/baseResults/420.frag.out b/Test/baseResults/420.frag.out index 784cdb4b..3b4c9be3 100644 --- a/Test/baseResults/420.frag.out +++ b/Test/baseResults/420.frag.out @@ -19,7 +19,6 @@ ERROR: node is still EOpNull! 0:8 0.300000 0:? Linker Objects 0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) 0:? 'depth' (smooth in float) 0:? 'a' (layout(binding=0 offset=0 ) uniform implicitly-sized array of atomic_uint) @@ -39,7 +38,6 @@ ERROR: node is still EOpNull! 0:8 0.300000 0:? Linker Objects 0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) 0:? 'depth' (smooth in float) 0:? 'a' (layout(binding=0 offset=0 ) uniform 1-element array of atomic_uint) diff --git a/Test/baseResults/430AofA.frag.out b/Test/baseResults/430AofA.frag.out index 68285f73..f3bbfb8b 100644 --- a/Test/baseResults/430AofA.frag.out +++ b/Test/baseResults/430AofA.frag.out @@ -2,7 +2,7 @@ Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument -ERROR: 0:15: 'constructior' : array constructor argument not correct type to construct array element +ERROR: 0:15: 'constructor' : array constructor argument not correct type to construct array element ERROR: 0:28: '[' : array index out of range '4' ERROR: 0:56: 'constructor' : cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float' ERROR: 0:60: 'constructor' : cannot convert parameter 2 from 'const 2-element array of 4-component vector of float' to 'temp 3-element array of 4-component vector of float' diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out index 1be59064..44d76552 100755 --- a/Test/baseResults/hlsl.amend.frag.out +++ b/Test/baseResults/hlsl.amend.frag.out @@ -58,7 +58,7 @@ gl_FragCoord origin is upper left 0:25 Constant: 0:25 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) Linked fragment stage: @@ -123,7 +123,7 @@ gl_FragCoord origin is upper left 0:25 Constant: 0:25 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out index cbfb0ef9..74a348a2 100644 --- a/Test/baseResults/hlsl.array.flatten.frag.out +++ b/Test/baseResults/hlsl.array.flatten.frag.out @@ -138,6 +138,7 @@ gl_FragCoord origin is upper left 0:? 'g_samp[2]' (uniform sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tex[0]' (uniform texture1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_tex[2]' (uniform texture1D) @@ -150,9 +151,8 @@ gl_FragCoord origin is upper left 0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler) 0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler) 0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:? 'not_flattened_a' (global 5-element array of int) -0:? 'color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -297,6 +297,7 @@ gl_FragCoord origin is upper left 0:? 'g_samp[2]' (uniform sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tex[0]' (uniform texture1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_tex[2]' (uniform texture1D) @@ -309,9 +310,8 @@ gl_FragCoord origin is upper left 0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler) 0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler) 0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:? 'not_flattened_a' (global 5-element array of int) -0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out index 00aedb3d..e04a5e81 100755 --- a/Test/baseResults/hlsl.array.frag.out +++ b/Test/baseResults/hlsl.array.frag.out @@ -57,9 +57,9 @@ gl_FragCoord origin is upper left 0:10 Branch: Return 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) 0:? 'i' (layout(location=0 ) in int) 0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) Linked fragment stage: @@ -123,9 +123,9 @@ gl_FragCoord origin is upper left 0:10 Branch: Return 0:? Linker Objects 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) 0:? 'i' (layout(location=0 ) in int) 0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.array.implicit-size.frag.out b/Test/baseResults/hlsl.array.implicit-size.frag.out index d8e0ed86..5674cb47 100644 --- a/Test/baseResults/hlsl.array.implicit-size.frag.out +++ b/Test/baseResults/hlsl.array.implicit-size.frag.out @@ -81,6 +81,7 @@ gl_FragCoord origin is upper left Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -234,6 +235,7 @@ gl_FragCoord origin is upper left Store 18(g_array) 24 Store 28(g_array_unused) 31 Store 37(g_mystruct) 42 + Return FunctionEnd 12(main(struct-PS_OUTPUT-vf41;): 2 Function None 10 11(ps_output): 9(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out index a2df1a8d..66890b52 100644 --- a/Test/baseResults/hlsl.array.multidim.frag.out +++ b/Test/baseResults/hlsl.array.multidim.frag.out @@ -59,7 +59,7 @@ gl_FragCoord origin is upper left 0:19 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) Linked fragment stage: @@ -125,7 +125,7 @@ gl_FragCoord origin is upper left 0:19 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out new file mode 100644 index 00000000..2316cd9b --- /dev/null +++ b/Test/baseResults/hlsl.attribute.expression.comp.out @@ -0,0 +1,138 @@ +hlsl.attribute.expression.comp +Shader version: 450 +local_size = (4, 6, 8) +0:? Sequence +0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp int) +0:11 'x' (temp int) +0:11 Constant: +0:11 0 (const int) +0:11 Loop with condition tested first +0:11 Loop Condition +0:11 Compare Less Than (temp bool) +0:11 'x' (temp int) +0:11 bound: direct index for structure (layout(offset=0 ) uniform int) +0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) +0:11 Constant: +0:11 0 (const uint) +0:11 No loop body +0:11 Loop Terminal Expression +0:11 Pre-Increment (temp int) +0:11 'x' (temp int) +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:14 Branch: Return +0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) + + +Linked compute stage: + + +Shader version: 450 +local_size = (4, 6, 8) +0:? Sequence +0:9 Function Definition: main( (temp 4-component vector of float) +0:9 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp int) +0:11 'x' (temp int) +0:11 Constant: +0:11 0 (const int) +0:11 Loop with condition tested first +0:11 Loop Condition +0:11 Compare Less Than (temp bool) +0:11 'x' (temp int) +0:11 bound: direct index for structure (layout(offset=0 ) uniform int) +0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) +0:11 Constant: +0:11 0 (const uint) +0:11 No loop body +0:11 Loop Terminal Expression +0:11 Pre-Increment (temp int) +0:11 'x' (temp int) +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:14 Branch: Return +0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 34 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" 30 + ExecutionMode 4 LocalSize 4 6 8 + Name 4 "main" + Name 8 "x" + Name 16 "$Global" + MemberName 16($Global) 0 "bound" + Name 18 "" + Name 30 "@entryPointOutput" + MemberDecorate 16($Global) 0 Offset 0 + Decorate 16($Global) Block + Decorate 18 DescriptorSet 0 + Decorate 30(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 9: 6(int) Constant 0 + 16($Global): TypeStruct 6(int) + 17: TypePointer Uniform 16($Global) + 18: 17(ptr) Variable Uniform + 19: TypePointer Uniform 6(int) + 22: TypeBool + 25: 6(int) Constant 1 + 27: TypeFloat 32 + 28: TypeVector 27(float) 4 + 29: TypePointer Output 28(fvec4) +30(@entryPointOutput): 29(ptr) Variable Output + 31: 27(float) Constant 0 + 32: 28(fvec4) ConstantComposite 31 31 31 31 + 4(main): 2 Function None 3 + 5: Label + 8(x): 7(ptr) Variable Function + Store 8(x) 9 + Branch 10 + 10: Label + LoopMerge 12 13 None + Branch 14 + 14: Label + 15: 6(int) Load 8(x) + 20: 19(ptr) AccessChain 18 9 + 21: 6(int) Load 20 + 23: 22(bool) SLessThan 15 21 + BranchConditional 23 11 12 + 11: Label + Branch 13 + 13: Label + 24: 6(int) Load 8(x) + 26: 6(int) IAdd 24 25 + Store 8(x) 26 + Branch 10 + 12: Label + Store 30(@entryPointOutput) 32 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out index c6dc3e5c..9101e22f 100755 --- a/Test/baseResults/hlsl.basic.comp.out +++ b/Test/baseResults/hlsl.basic.comp.out @@ -8,8 +8,8 @@ local_size = (1, 1, 1) 0:? Sequence 0:5 'dti' (in int LocalInvocationID) 0:? Linker Objects -0:? 'a' (shared 100-element array of 4-component vector of float) 0:? 'dti' (in int LocalInvocationID) +0:? 'a' (shared 100-element array of 4-component vector of float) Linked compute stage: @@ -24,8 +24,8 @@ local_size = (1, 1, 1) 0:? Sequence 0:5 'dti' (in int LocalInvocationID) 0:? Linker Objects -0:? 'a' (shared 100-element array of 4-component vector of float) 0:? 'dti' (in int LocalInvocationID) +0:? 'a' (shared 100-element array of 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.basic.geom.out b/Test/baseResults/hlsl.basic.geom.out new file mode 100644 index 00000000..2c20b439 --- /dev/null +++ b/Test/baseResults/hlsl.basic.geom.out @@ -0,0 +1,201 @@ +hlsl.basic.geom +Shader version: 450 +invocations = -1 +max_vertices = 4 +input primitive = triangles +output primitive = line_strip +0:? Sequence +0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:16 Function Parameters: +0:16 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:16 'test' (layout(location=3 ) in 3-element array of uint) +0:16 'OutputStream' (out structure{temp float myfloat, temp int something}) +0:? Sequence +0:19 move second child to first child (temp float) +0:19 myfloat: direct index for structure (temp float) +0:19 'Vert' (temp structure{temp float myfloat, temp int something}) +0:19 Constant: +0:19 0 (const int) +0:19 Convert uint to float (temp float) +0:19 add (temp uint) +0:19 add (temp uint) +0:19 direct index (layout(location=3 ) temp uint) +0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Constant: +0:19 0 (const int) +0:19 direct index (layout(location=3 ) temp uint) +0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Constant: +0:19 1 (const int) +0:19 direct index (layout(location=3 ) temp uint) +0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Constant: +0:19 2 (const int) +0:20 move second child to first child (temp int) +0:20 something: direct index for structure (temp int) +0:20 'Vert' (temp structure{temp float myfloat, temp int something}) +0:20 Constant: +0:20 1 (const int) +0:20 Convert uint to int (temp int) +0:20 direct index (layout(location=0 ) temp uint) +0:20 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:20 Constant: +0:20 0 (const int) +0:22 Sequence +0:22 move second child to first child (temp structure{temp float myfloat, temp int something}) +0:22 'OutputStream' (out structure{temp float myfloat, temp int something}) +0:22 'Vert' (temp structure{temp float myfloat, temp int something}) +0:22 EmitVertex (temp void) +0:23 Sequence +0:23 move second child to first child (temp structure{temp float myfloat, temp int something}) +0:23 'OutputStream' (out structure{temp float myfloat, temp int something}) +0:23 'Vert' (temp structure{temp float myfloat, temp int something}) +0:23 EmitVertex (temp void) +0:24 EndPrimitive (temp void) +0:? Linker Objects +0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:? 'test' (layout(location=3 ) in 3-element array of uint) +0:? 'myfloat' (layout(location=0 ) out float) +0:? 'something' (layout(location=1 ) out int) + + +Linked geometry stage: + + +Shader version: 450 +invocations = 1 +max_vertices = 4 +input primitive = triangles +output primitive = line_strip +0:? Sequence +0:16 Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void) +0:16 Function Parameters: +0:16 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:16 'test' (layout(location=3 ) in 3-element array of uint) +0:16 'OutputStream' (out structure{temp float myfloat, temp int something}) +0:? Sequence +0:19 move second child to first child (temp float) +0:19 myfloat: direct index for structure (temp float) +0:19 'Vert' (temp structure{temp float myfloat, temp int something}) +0:19 Constant: +0:19 0 (const int) +0:19 Convert uint to float (temp float) +0:19 add (temp uint) +0:19 add (temp uint) +0:19 direct index (layout(location=3 ) temp uint) +0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Constant: +0:19 0 (const int) +0:19 direct index (layout(location=3 ) temp uint) +0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Constant: +0:19 1 (const int) +0:19 direct index (layout(location=3 ) temp uint) +0:19 'test' (layout(location=3 ) in 3-element array of uint) +0:19 Constant: +0:19 2 (const int) +0:20 move second child to first child (temp int) +0:20 something: direct index for structure (temp int) +0:20 'Vert' (temp structure{temp float myfloat, temp int something}) +0:20 Constant: +0:20 1 (const int) +0:20 Convert uint to int (temp int) +0:20 direct index (layout(location=0 ) temp uint) +0:20 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:20 Constant: +0:20 0 (const int) +0:22 Sequence +0:22 move second child to first child (temp structure{temp float myfloat, temp int something}) +0:22 'OutputStream' (out structure{temp float myfloat, temp int something}) +0:22 'Vert' (temp structure{temp float myfloat, temp int something}) +0:22 EmitVertex (temp void) +0:23 Sequence +0:23 move second child to first child (temp structure{temp float myfloat, temp int something}) +0:23 'OutputStream' (out structure{temp float myfloat, temp int something}) +0:23 'Vert' (temp structure{temp float myfloat, temp int something}) +0:23 EmitVertex (temp void) +0:24 EndPrimitive (temp void) +0:? Linker Objects +0:? 'VertexID' (layout(location=0 ) in 3-element array of uint) +0:? 'test' (layout(location=3 ) in 3-element array of uint) +0:? 'myfloat' (layout(location=0 ) out float) +0:? 'something' (layout(location=1 ) out int) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 45 + + Capability Geometry + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Geometry 4 "main" 16 31 38 42 44 + ExecutionMode 4 Triangles + ExecutionMode 4 Invocations 1 + ExecutionMode 4 OutputLineStrip + ExecutionMode 4 OutputVertices 4 + Name 4 "main" + Name 8 "PSInput" + MemberName 8(PSInput) 0 "myfloat" + MemberName 8(PSInput) 1 "something" + Name 10 "Vert" + Name 16 "test" + Name 31 "VertexID" + Name 38 "OutputStream" + Name 42 "myfloat" + Name 44 "something" + Decorate 16(test) Location 3 + Decorate 31(VertexID) Location 0 + Decorate 42(myfloat) Location 0 + Decorate 44(something) Location 1 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeInt 32 1 + 8(PSInput): TypeStruct 6(float) 7(int) + 9: TypePointer Function 8(PSInput) + 11: 7(int) Constant 0 + 12: TypeInt 32 0 + 13: 12(int) Constant 3 + 14: TypeArray 12(int) 13 + 15: TypePointer Input 14 + 16(test): 15(ptr) Variable Input + 17: TypePointer Input 12(int) + 20: 7(int) Constant 1 + 24: 7(int) Constant 2 + 29: TypePointer Function 6(float) + 31(VertexID): 15(ptr) Variable Input + 35: TypePointer Function 7(int) + 37: TypePointer Output 8(PSInput) +38(OutputStream): 37(ptr) Variable Output + 41: TypePointer Output 6(float) + 42(myfloat): 41(ptr) Variable Output + 43: TypePointer Output 7(int) + 44(something): 43(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 10(Vert): 9(ptr) Variable Function + 18: 17(ptr) AccessChain 16(test) 11 + 19: 12(int) Load 18 + 21: 17(ptr) AccessChain 16(test) 20 + 22: 12(int) Load 21 + 23: 12(int) IAdd 19 22 + 25: 17(ptr) AccessChain 16(test) 24 + 26: 12(int) Load 25 + 27: 12(int) IAdd 23 26 + 28: 6(float) ConvertUToF 27 + 30: 29(ptr) AccessChain 10(Vert) 11 + Store 30 28 + 32: 17(ptr) AccessChain 31(VertexID) 11 + 33: 12(int) Load 32 + 34: 7(int) Bitcast 33 + 36: 35(ptr) AccessChain 10(Vert) 20 + Store 36 34 + 39: 8(PSInput) Load 10(Vert) + Store 38(OutputStream) 39 + EmitVertex + 40: 8(PSInput) Load 10(Vert) + Store 38(OutputStream) 40 + EmitVertex + EndPrimitive + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out index 2eb1f9ce..dbb2b5e1 100755 --- a/Test/baseResults/hlsl.buffer.frag.out +++ b/Test/baseResults/hlsl.buffer.frag.out @@ -32,12 +32,12 @@ gl_FragCoord origin is upper left 0:31 0 (const uint) 0:31 Branch: Return 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) 0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) 0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) 0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) Linked fragment stage: @@ -76,12 +76,12 @@ gl_FragCoord origin is upper left 0:31 0 (const uint) 0:31 Branch: Return 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1}) 0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2}) 0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3}) 0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...}) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index ff18441c..56a2ce86 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -155,6 +155,8 @@ gl_FragCoord origin is upper left 0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -166,8 +168,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -329,6 +329,8 @@ gl_FragCoord origin is upper left 0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -340,8 +342,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index ecd1f0d1..799dcc37 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -167,6 +167,8 @@ ERROR: node is still EOpNull! 0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -178,8 +180,6 @@ ERROR: node is still EOpNull! 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -341,6 +341,8 @@ ERROR: node is still EOpNull! 0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -352,7 +354,5 @@ ERROR: node is still EOpNull! 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out new file mode 100644 index 00000000..1bf63ec8 --- /dev/null +++ b/Test/baseResults/hlsl.comparison.vec.frag.out @@ -0,0 +1,402 @@ +hlsl.comparison.vec.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:4 Function Definition: Bug1(vf4; (temp void) +0:4 Function Parameters: +0:4 'a' (in 4-component vector of float) +0:? Sequence +0:5 Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:5 'v04' (temp 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:6 Sequence +0:6 move second child to first child (temp float) +0:6 'v01' (temp float) +0:6 Constant: +0:6 0.000000 +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of bool) +0:8 'r00' (temp 4-component vector of bool) +0:8 Equal (temp 4-component vector of bool) +0:8 'a' (in 4-component vector of float) +0:8 'v04' (temp 4-component vector of float) +0:9 Sequence +0:9 move second child to first child (temp 4-component vector of bool) +0:9 'r01' (temp 4-component vector of bool) +0:9 NotEqual (temp 4-component vector of bool) +0:9 'a' (in 4-component vector of float) +0:9 'v04' (temp 4-component vector of float) +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of bool) +0:10 'r02' (temp 4-component vector of bool) +0:10 Compare Less Than (temp 4-component vector of bool) +0:10 'a' (in 4-component vector of float) +0:10 'v04' (temp 4-component vector of float) +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of bool) +0:11 'r03' (temp 4-component vector of bool) +0:11 Compare Greater Than (temp 4-component vector of bool) +0:11 'a' (in 4-component vector of float) +0:11 'v04' (temp 4-component vector of float) +0:13 Sequence +0:13 move second child to first child (temp 4-component vector of bool) +0:13 'r10' (temp 4-component vector of bool) +0:13 Equal (temp 4-component vector of bool) +0:13 'a' (in 4-component vector of float) +0:13 Construct vec4 (in 4-component vector of float) +0:13 'v01' (temp float) +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of bool) +0:14 'r11' (temp 4-component vector of bool) +0:14 NotEqual (temp 4-component vector of bool) +0:14 'a' (in 4-component vector of float) +0:14 Construct vec4 (in 4-component vector of float) +0:14 'v01' (temp float) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of bool) +0:15 'r12' (temp 4-component vector of bool) +0:15 Compare Less Than (temp 4-component vector of bool) +0:15 'a' (in 4-component vector of float) +0:15 Construct vec4 (in 4-component vector of float) +0:15 'v01' (temp float) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of bool) +0:16 'r13' (temp 4-component vector of bool) +0:16 Compare Greater Than (temp 4-component vector of bool) +0:16 'a' (in 4-component vector of float) +0:16 Construct vec4 (in 4-component vector of float) +0:16 'v01' (temp float) +0:18 Sequence +0:18 move second child to first child (temp 4-component vector of bool) +0:18 'r20' (temp 4-component vector of bool) +0:18 Equal (temp 4-component vector of bool) +0:18 Construct vec4 (in 4-component vector of float) +0:18 'v01' (temp float) +0:18 'a' (in 4-component vector of float) +0:19 Sequence +0:19 move second child to first child (temp 4-component vector of bool) +0:19 'r21' (temp 4-component vector of bool) +0:19 NotEqual (temp 4-component vector of bool) +0:19 Construct vec4 (in 4-component vector of float) +0:19 'v01' (temp float) +0:19 'a' (in 4-component vector of float) +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of bool) +0:20 'r22' (temp 4-component vector of bool) +0:20 Compare Less Than (temp 4-component vector of bool) +0:20 Construct vec4 (in 4-component vector of float) +0:20 'v01' (temp float) +0:20 'a' (in 4-component vector of float) +0:21 Sequence +0:21 move second child to first child (temp 4-component vector of bool) +0:21 'r23' (temp 4-component vector of bool) +0:21 Compare Greater Than (temp 4-component vector of bool) +0:21 Construct vec4 (in 4-component vector of float) +0:21 'v01' (temp float) +0:21 'a' (in 4-component vector of float) +0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:30 Function Parameters: +0:? Sequence +0:32 move second child to first child (temp 4-component vector of float) +0:32 Color: direct index for structure (temp 4-component vector of float) +0:32 'psout' (temp structure{temp 4-component vector of float Color}) +0:32 Constant: +0:32 0 (const int) +0:32 Constant: +0:32 0.000000 +0:32 0.000000 +0:32 0.000000 +0:32 0.000000 +0:33 Sequence +0:33 Sequence +0:33 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color}) +0:33 Constant: +0:33 0 (const int) +0:33 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:4 Function Definition: Bug1(vf4; (temp void) +0:4 Function Parameters: +0:4 'a' (in 4-component vector of float) +0:? Sequence +0:5 Sequence +0:5 move second child to first child (temp 4-component vector of float) +0:5 'v04' (temp 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:6 Sequence +0:6 move second child to first child (temp float) +0:6 'v01' (temp float) +0:6 Constant: +0:6 0.000000 +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of bool) +0:8 'r00' (temp 4-component vector of bool) +0:8 Equal (temp 4-component vector of bool) +0:8 'a' (in 4-component vector of float) +0:8 'v04' (temp 4-component vector of float) +0:9 Sequence +0:9 move second child to first child (temp 4-component vector of bool) +0:9 'r01' (temp 4-component vector of bool) +0:9 NotEqual (temp 4-component vector of bool) +0:9 'a' (in 4-component vector of float) +0:9 'v04' (temp 4-component vector of float) +0:10 Sequence +0:10 move second child to first child (temp 4-component vector of bool) +0:10 'r02' (temp 4-component vector of bool) +0:10 Compare Less Than (temp 4-component vector of bool) +0:10 'a' (in 4-component vector of float) +0:10 'v04' (temp 4-component vector of float) +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of bool) +0:11 'r03' (temp 4-component vector of bool) +0:11 Compare Greater Than (temp 4-component vector of bool) +0:11 'a' (in 4-component vector of float) +0:11 'v04' (temp 4-component vector of float) +0:13 Sequence +0:13 move second child to first child (temp 4-component vector of bool) +0:13 'r10' (temp 4-component vector of bool) +0:13 Equal (temp 4-component vector of bool) +0:13 'a' (in 4-component vector of float) +0:13 Construct vec4 (in 4-component vector of float) +0:13 'v01' (temp float) +0:14 Sequence +0:14 move second child to first child (temp 4-component vector of bool) +0:14 'r11' (temp 4-component vector of bool) +0:14 NotEqual (temp 4-component vector of bool) +0:14 'a' (in 4-component vector of float) +0:14 Construct vec4 (in 4-component vector of float) +0:14 'v01' (temp float) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of bool) +0:15 'r12' (temp 4-component vector of bool) +0:15 Compare Less Than (temp 4-component vector of bool) +0:15 'a' (in 4-component vector of float) +0:15 Construct vec4 (in 4-component vector of float) +0:15 'v01' (temp float) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of bool) +0:16 'r13' (temp 4-component vector of bool) +0:16 Compare Greater Than (temp 4-component vector of bool) +0:16 'a' (in 4-component vector of float) +0:16 Construct vec4 (in 4-component vector of float) +0:16 'v01' (temp float) +0:18 Sequence +0:18 move second child to first child (temp 4-component vector of bool) +0:18 'r20' (temp 4-component vector of bool) +0:18 Equal (temp 4-component vector of bool) +0:18 Construct vec4 (in 4-component vector of float) +0:18 'v01' (temp float) +0:18 'a' (in 4-component vector of float) +0:19 Sequence +0:19 move second child to first child (temp 4-component vector of bool) +0:19 'r21' (temp 4-component vector of bool) +0:19 NotEqual (temp 4-component vector of bool) +0:19 Construct vec4 (in 4-component vector of float) +0:19 'v01' (temp float) +0:19 'a' (in 4-component vector of float) +0:20 Sequence +0:20 move second child to first child (temp 4-component vector of bool) +0:20 'r22' (temp 4-component vector of bool) +0:20 Compare Less Than (temp 4-component vector of bool) +0:20 Construct vec4 (in 4-component vector of float) +0:20 'v01' (temp float) +0:20 'a' (in 4-component vector of float) +0:21 Sequence +0:21 move second child to first child (temp 4-component vector of bool) +0:21 'r23' (temp 4-component vector of bool) +0:21 Compare Greater Than (temp 4-component vector of bool) +0:21 Construct vec4 (in 4-component vector of float) +0:21 'v01' (temp float) +0:21 'a' (in 4-component vector of float) +0:30 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:30 Function Parameters: +0:? Sequence +0:32 move second child to first child (temp 4-component vector of float) +0:32 Color: direct index for structure (temp 4-component vector of float) +0:32 'psout' (temp structure{temp 4-component vector of float Color}) +0:32 Constant: +0:32 0 (const int) +0:32 Constant: +0:32 0.000000 +0:32 0.000000 +0:32 0.000000 +0:32 0.000000 +0:33 Sequence +0:33 Sequence +0:33 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:33 Color: direct index for structure (temp 4-component vector of float) +0:33 'psout' (temp structure{temp 4-component vector of float Color}) +0:33 Constant: +0:33 0 (const int) +0:33 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float uf4}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 91 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 84 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 11 "Bug1(vf4;" + Name 10 "a" + Name 13 "v04" + Name 17 "v01" + Name 21 "r00" + Name 25 "r01" + Name 29 "r02" + Name 33 "r03" + Name 37 "r10" + Name 42 "r11" + Name 47 "r12" + Name 52 "r13" + Name 57 "r20" + Name 62 "r21" + Name 67 "r22" + Name 72 "r23" + Name 77 "PS_OUTPUT" + MemberName 77(PS_OUTPUT) 0 "Color" + Name 79 "psout" + Name 84 "Color" + Name 88 "$Global" + MemberName 88($Global) 0 "uf4" + Name 90 "" + Decorate 84(Color) Location 0 + MemberDecorate 88($Global) 0 Offset 0 + Decorate 88($Global) Block + Decorate 90 DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 9: TypeFunction 2 8(ptr) + 14: 6(float) Constant 0 + 15: 7(fvec4) ConstantComposite 14 14 14 14 + 16: TypePointer Function 6(float) + 18: TypeBool + 19: TypeVector 18(bool) 4 + 20: TypePointer Function 19(bvec4) + 77(PS_OUTPUT): TypeStruct 7(fvec4) + 78: TypePointer Function 77(PS_OUTPUT) + 80: TypeInt 32 1 + 81: 80(int) Constant 0 + 83: TypePointer Output 7(fvec4) + 84(Color): 83(ptr) Variable Output + 88($Global): TypeStruct 7(fvec4) + 89: TypePointer Uniform 88($Global) + 90: 89(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 79(psout): 78(ptr) Variable Function + 82: 8(ptr) AccessChain 79(psout) 81 + Store 82 15 + 85: 8(ptr) AccessChain 79(psout) 81 + 86: 7(fvec4) Load 85 + Store 84(Color) 86 + Return + FunctionEnd + 11(Bug1(vf4;): 2 Function None 9 + 10(a): 8(ptr) FunctionParameter + 12: Label + 13(v04): 8(ptr) Variable Function + 17(v01): 16(ptr) Variable Function + 21(r00): 20(ptr) Variable Function + 25(r01): 20(ptr) Variable Function + 29(r02): 20(ptr) Variable Function + 33(r03): 20(ptr) Variable Function + 37(r10): 20(ptr) Variable Function + 42(r11): 20(ptr) Variable Function + 47(r12): 20(ptr) Variable Function + 52(r13): 20(ptr) Variable Function + 57(r20): 20(ptr) Variable Function + 62(r21): 20(ptr) Variable Function + 67(r22): 20(ptr) Variable Function + 72(r23): 20(ptr) Variable Function + Store 13(v04) 15 + Store 17(v01) 14 + 22: 7(fvec4) Load 10(a) + 23: 7(fvec4) Load 13(v04) + 24: 19(bvec4) FOrdEqual 22 23 + Store 21(r00) 24 + 26: 7(fvec4) Load 10(a) + 27: 7(fvec4) Load 13(v04) + 28: 19(bvec4) FOrdNotEqual 26 27 + Store 25(r01) 28 + 30: 7(fvec4) Load 10(a) + 31: 7(fvec4) Load 13(v04) + 32: 19(bvec4) FOrdLessThan 30 31 + Store 29(r02) 32 + 34: 7(fvec4) Load 10(a) + 35: 7(fvec4) Load 13(v04) + 36: 19(bvec4) FOrdGreaterThan 34 35 + Store 33(r03) 36 + 38: 7(fvec4) Load 10(a) + 39: 6(float) Load 17(v01) + 40: 7(fvec4) CompositeConstruct 39 39 39 39 + 41: 19(bvec4) FOrdEqual 38 40 + Store 37(r10) 41 + 43: 7(fvec4) Load 10(a) + 44: 6(float) Load 17(v01) + 45: 7(fvec4) CompositeConstruct 44 44 44 44 + 46: 19(bvec4) FOrdNotEqual 43 45 + Store 42(r11) 46 + 48: 7(fvec4) Load 10(a) + 49: 6(float) Load 17(v01) + 50: 7(fvec4) CompositeConstruct 49 49 49 49 + 51: 19(bvec4) FOrdLessThan 48 50 + Store 47(r12) 51 + 53: 7(fvec4) Load 10(a) + 54: 6(float) Load 17(v01) + 55: 7(fvec4) CompositeConstruct 54 54 54 54 + 56: 19(bvec4) FOrdGreaterThan 53 55 + Store 52(r13) 56 + 58: 6(float) Load 17(v01) + 59: 7(fvec4) CompositeConstruct 58 58 58 58 + 60: 7(fvec4) Load 10(a) + 61: 19(bvec4) FOrdEqual 59 60 + Store 57(r20) 61 + 63: 6(float) Load 17(v01) + 64: 7(fvec4) CompositeConstruct 63 63 63 63 + 65: 7(fvec4) Load 10(a) + 66: 19(bvec4) FOrdNotEqual 64 65 + Store 62(r21) 66 + 68: 6(float) Load 17(v01) + 69: 7(fvec4) CompositeConstruct 68 68 68 68 + 70: 7(fvec4) Load 10(a) + 71: 19(bvec4) FOrdLessThan 69 70 + Store 67(r22) 71 + 73: 6(float) Load 17(v01) + 74: 7(fvec4) CompositeConstruct 73 73 73 73 + 75: 7(fvec4) Load 10(a) + 76: 19(bvec4) FOrdGreaterThan 74 75 + Store 72(r23) 76 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out index 2d5a8fbf..c060cdc7 100755 --- a/Test/baseResults/hlsl.doLoop.frag.out +++ b/Test/baseResults/hlsl.doLoop.frag.out @@ -18,9 +18,10 @@ gl_FragCoord origin is upper left 0:4 No loop body 0:5 Loop with condition not tested first 0:5 Loop Condition -0:5 Compare Equal (temp bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 all (temp bool) +0:5 Equal (temp 4-component vector of bool) +0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (layout(location=0 ) in 4-component vector of float) 0:5 Loop Body 0:5 Sequence 0:5 move second child to first child (temp 4-component vector of float) @@ -54,9 +55,10 @@ gl_FragCoord origin is upper left 0:4 No loop body 0:5 Loop with condition not tested first 0:5 Loop Condition -0:5 Compare Equal (temp bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 all (temp bool) +0:5 Equal (temp 4-component vector of bool) +0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (layout(location=0 ) in 4-component vector of float) 0:5 Loop Body 0:5 Sequence 0:5 move second child to first child (temp 4-component vector of float) diff --git a/Test/baseResults/hlsl.float1.frag.out b/Test/baseResults/hlsl.float1.frag.out index 83a243fc..641febd7 100755 --- a/Test/baseResults/hlsl.float1.frag.out +++ b/Test/baseResults/hlsl.float1.frag.out @@ -32,6 +32,7 @@ gl_FragCoord origin is upper left Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -92,6 +93,7 @@ gl_FragCoord origin is upper left 5: Label Store 14(f1) 15 Store 16(scalar) 17 + Return FunctionEnd 11(ShaderFunction(vf1;f1;): 6(float) Function None 8 9(inFloat1): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out index 6caac247..27c9a5c6 100755 --- a/Test/baseResults/hlsl.float4.frag.out +++ b/Test/baseResults/hlsl.float4.frag.out @@ -17,11 +17,12 @@ gl_FragCoord origin is upper left 0:10 Constant: 0:10 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -38,7 +39,7 @@ gl_FragCoord origin is upper left 0:10 Constant: 0:10 0 (const uint) 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4}) // Module Version 10000 // Generated by (magic number): 80001 @@ -82,6 +83,7 @@ gl_FragCoord origin is upper left 20: TypePointer Uniform 7(fvec4) 4(PixelShaderFunction): 2 Function None 3 5: Label + Return FunctionEnd 11(ShaderFunction(vf4;): 7(fvec4) Function None 9 10(input): 8(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out index cc475784..85b8fb27 100755 --- a/Test/baseResults/hlsl.forLoop.frag.out +++ b/Test/baseResults/hlsl.forLoop.frag.out @@ -19,16 +19,18 @@ gl_FragCoord origin is upper left 0:? Sequence 0:5 Loop with condition tested first 0:5 Loop Condition -0:5 Compare Not Equal (temp bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 any (temp bool) +0:5 NotEqual (temp 4-component vector of bool) +0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (layout(location=0 ) in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition -0:6 Compare Not Equal (temp bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 any (temp bool) +0:6 NotEqual (temp 4-component vector of bool) +0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (layout(location=0 ) in 4-component vector of float) 0:6 Loop Body 0:? Sequence 0:6 Sequence @@ -42,9 +44,10 @@ gl_FragCoord origin is upper left 0:7 'input' (layout(location=0 ) in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition -0:7 Compare Not Equal (temp bool) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 any (temp bool) +0:7 NotEqual (temp 4-component vector of bool) +0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (layout(location=0 ) in 4-component vector of float) 0:7 Loop Body 0:? Sequence 0:7 Sequence @@ -141,16 +144,18 @@ gl_FragCoord origin is upper left 0:? Sequence 0:5 Loop with condition tested first 0:5 Loop Condition -0:5 Compare Not Equal (temp bool) -0:5 'input' (layout(location=0 ) in 4-component vector of float) -0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 any (temp bool) +0:5 NotEqual (temp 4-component vector of bool) +0:5 'input' (layout(location=0 ) in 4-component vector of float) +0:5 'input' (layout(location=0 ) in 4-component vector of float) 0:5 No loop body 0:? Sequence 0:6 Loop with condition tested first 0:6 Loop Condition -0:6 Compare Not Equal (temp bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 any (temp bool) +0:6 NotEqual (temp 4-component vector of bool) +0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (layout(location=0 ) in 4-component vector of float) 0:6 Loop Body 0:? Sequence 0:6 Sequence @@ -164,9 +169,10 @@ gl_FragCoord origin is upper left 0:7 'input' (layout(location=0 ) in 4-component vector of float) 0:7 Loop with condition tested first 0:7 Loop Condition -0:7 Compare Not Equal (temp bool) -0:7 'input' (layout(location=0 ) in 4-component vector of float) -0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 any (temp bool) +0:7 NotEqual (temp 4-component vector of bool) +0:7 'input' (layout(location=0 ) in 4-component vector of float) +0:7 'input' (layout(location=0 ) in 4-component vector of float) 0:7 Loop Body 0:? Sequence 0:7 Sequence diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index a09b87ce..ee550d16 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:29 Sequence 0:29 move second child to first child (temp 4-component vector of float) 0:29 'txval20' (temp 4-component vector of float) -0:29 textureGather (global 4-component vector of float) +0:29 textureGather (temp 4-component vector of float) 0:29 Construct combined texture-sampler (temp sampler2DArray) 0:29 'g_tTex2df4a' (uniform texture2DArray) 0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -19,7 +19,7 @@ gl_FragCoord origin is upper left 0:30 Sequence 0:30 move second child to first child (temp 4-component vector of int) 0:30 'txval21' (temp 4-component vector of int) -0:30 textureGather (global 4-component vector of int) +0:30 textureGather (temp 4-component vector of int) 0:30 Construct combined texture-sampler (temp isampler2DArray) 0:30 'g_tTex2di4a' (uniform itexture2DArray) 0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -30,7 +30,7 @@ gl_FragCoord origin is upper left 0:31 Sequence 0:31 move second child to first child (temp 4-component vector of uint) 0:31 'txval22' (temp 4-component vector of uint) -0:31 textureGather (global 4-component vector of uint) +0:31 textureGather (temp 4-component vector of uint) 0:31 Construct combined texture-sampler (temp usampler2DArray) 0:31 'g_tTex2du4a' (uniform utexture2DArray) 0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -41,7 +41,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of float) 0:35 'txval40' (temp 4-component vector of float) -0:35 textureGather (global 4-component vector of float) +0:35 textureGather (temp 4-component vector of float) 0:35 Construct combined texture-sampler (temp samplerCubeArray) 0:35 'g_tTexcdf4a' (uniform textureCubeArray) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -53,7 +53,7 @@ gl_FragCoord origin is upper left 0:36 Sequence 0:36 move second child to first child (temp 4-component vector of int) 0:36 'txval41' (temp 4-component vector of int) -0:36 textureGather (global 4-component vector of int) +0:36 textureGather (temp 4-component vector of int) 0:36 Construct combined texture-sampler (temp isamplerCubeArray) 0:36 'g_tTexcdi4a' (uniform itextureCubeArray) 0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -65,7 +65,7 @@ gl_FragCoord origin is upper left 0:37 Sequence 0:37 move second child to first child (temp 4-component vector of uint) 0:37 'txval42' (temp 4-component vector of uint) -0:37 textureGather (global 4-component vector of uint) +0:37 textureGather (temp 4-component vector of uint) 0:37 Construct combined texture-sampler (temp usamplerCubeArray) 0:37 'g_tTexcdu4a' (uniform utextureCubeArray) 0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -107,6 +107,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -118,8 +120,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -134,7 +134,7 @@ gl_FragCoord origin is upper left 0:29 Sequence 0:29 move second child to first child (temp 4-component vector of float) 0:29 'txval20' (temp 4-component vector of float) -0:29 textureGather (global 4-component vector of float) +0:29 textureGather (temp 4-component vector of float) 0:29 Construct combined texture-sampler (temp sampler2DArray) 0:29 'g_tTex2df4a' (uniform texture2DArray) 0:29 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -145,7 +145,7 @@ gl_FragCoord origin is upper left 0:30 Sequence 0:30 move second child to first child (temp 4-component vector of int) 0:30 'txval21' (temp 4-component vector of int) -0:30 textureGather (global 4-component vector of int) +0:30 textureGather (temp 4-component vector of int) 0:30 Construct combined texture-sampler (temp isampler2DArray) 0:30 'g_tTex2di4a' (uniform itexture2DArray) 0:30 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -156,7 +156,7 @@ gl_FragCoord origin is upper left 0:31 Sequence 0:31 move second child to first child (temp 4-component vector of uint) 0:31 'txval22' (temp 4-component vector of uint) -0:31 textureGather (global 4-component vector of uint) +0:31 textureGather (temp 4-component vector of uint) 0:31 Construct combined texture-sampler (temp usampler2DArray) 0:31 'g_tTex2du4a' (uniform utexture2DArray) 0:31 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -167,7 +167,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of float) 0:35 'txval40' (temp 4-component vector of float) -0:35 textureGather (global 4-component vector of float) +0:35 textureGather (temp 4-component vector of float) 0:35 Construct combined texture-sampler (temp samplerCubeArray) 0:35 'g_tTexcdf4a' (uniform textureCubeArray) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -179,7 +179,7 @@ gl_FragCoord origin is upper left 0:36 Sequence 0:36 move second child to first child (temp 4-component vector of int) 0:36 'txval41' (temp 4-component vector of int) -0:36 textureGather (global 4-component vector of int) +0:36 textureGather (temp 4-component vector of int) 0:36 Construct combined texture-sampler (temp isamplerCubeArray) 0:36 'g_tTexcdi4a' (uniform itextureCubeArray) 0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -191,7 +191,7 @@ gl_FragCoord origin is upper left 0:37 Sequence 0:37 move second child to first child (temp 4-component vector of uint) 0:37 'txval42' (temp 4-component vector of uint) -0:37 textureGather (global 4-component vector of uint) +0:37 textureGather (temp 4-component vector of uint) 0:37 Construct combined texture-sampler (temp usamplerCubeArray) 0:37 'g_tTexcdu4a' (uniform utextureCubeArray) 0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -233,6 +233,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -244,8 +246,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 467ccf4c..86e106ca 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of float) 0:34 'txval20' (temp 4-component vector of float) -0:34 textureGather (global 4-component vector of float) +0:34 textureGather (temp 4-component vector of float) 0:34 Construct combined texture-sampler (temp sampler2D) 0:34 'g_tTex2df4' (uniform texture2D) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -18,7 +18,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of int) 0:35 'txval21' (temp 4-component vector of int) -0:35 textureGather (global 4-component vector of int) +0:35 textureGather (temp 4-component vector of int) 0:35 Construct combined texture-sampler (temp isampler2D) 0:35 'g_tTex2di4' (uniform itexture2D) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -28,7 +28,7 @@ gl_FragCoord origin is upper left 0:36 Sequence 0:36 move second child to first child (temp 4-component vector of uint) 0:36 'txval22' (temp 4-component vector of uint) -0:36 textureGather (global 4-component vector of uint) +0:36 textureGather (temp 4-component vector of uint) 0:36 Construct combined texture-sampler (temp usampler2D) 0:36 'g_tTex2du4' (uniform utexture2D) 0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -38,7 +38,7 @@ gl_FragCoord origin is upper left 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of float) 0:40 'txval40' (temp 4-component vector of float) -0:40 textureGather (global 4-component vector of float) +0:40 textureGather (temp 4-component vector of float) 0:40 Construct combined texture-sampler (temp samplerCube) 0:40 'g_tTexcdf4' (uniform textureCube) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -49,7 +49,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of int) 0:41 'txval41' (temp 4-component vector of int) -0:41 textureGather (global 4-component vector of int) +0:41 textureGather (temp 4-component vector of int) 0:41 Construct combined texture-sampler (temp isamplerCube) 0:41 'g_tTexcdi4' (uniform itextureCube) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp 4-component vector of uint) 0:42 'txval42' (temp 4-component vector of uint) -0:42 textureGather (global 4-component vector of uint) +0:42 textureGather (temp 4-component vector of uint) 0:42 Construct combined texture-sampler (temp usamplerCube) 0:42 'g_tTexcdu4' (uniform utextureCube) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -101,6 +101,8 @@ gl_FragCoord origin is upper left 0:47 1 (const int) 0:47 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -116,8 +118,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -132,7 +132,7 @@ gl_FragCoord origin is upper left 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of float) 0:34 'txval20' (temp 4-component vector of float) -0:34 textureGather (global 4-component vector of float) +0:34 textureGather (temp 4-component vector of float) 0:34 Construct combined texture-sampler (temp sampler2D) 0:34 'g_tTex2df4' (uniform texture2D) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -142,7 +142,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of int) 0:35 'txval21' (temp 4-component vector of int) -0:35 textureGather (global 4-component vector of int) +0:35 textureGather (temp 4-component vector of int) 0:35 Construct combined texture-sampler (temp isampler2D) 0:35 'g_tTex2di4' (uniform itexture2D) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -152,7 +152,7 @@ gl_FragCoord origin is upper left 0:36 Sequence 0:36 move second child to first child (temp 4-component vector of uint) 0:36 'txval22' (temp 4-component vector of uint) -0:36 textureGather (global 4-component vector of uint) +0:36 textureGather (temp 4-component vector of uint) 0:36 Construct combined texture-sampler (temp usampler2D) 0:36 'g_tTex2du4' (uniform utexture2D) 0:36 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -162,7 +162,7 @@ gl_FragCoord origin is upper left 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of float) 0:40 'txval40' (temp 4-component vector of float) -0:40 textureGather (global 4-component vector of float) +0:40 textureGather (temp 4-component vector of float) 0:40 Construct combined texture-sampler (temp samplerCube) 0:40 'g_tTexcdf4' (uniform textureCube) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -173,7 +173,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of int) 0:41 'txval41' (temp 4-component vector of int) -0:41 textureGather (global 4-component vector of int) +0:41 textureGather (temp 4-component vector of int) 0:41 Construct combined texture-sampler (temp isamplerCube) 0:41 'g_tTexcdi4' (uniform itextureCube) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -184,7 +184,7 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp 4-component vector of uint) 0:42 'txval42' (temp 4-component vector of uint) -0:42 textureGather (global 4-component vector of uint) +0:42 textureGather (temp 4-component vector of uint) 0:42 Construct combined texture-sampler (temp usamplerCube) 0:42 'g_tTexcdu4' (uniform utextureCube) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -225,6 +225,8 @@ gl_FragCoord origin is upper left 0:47 1 (const int) 0:47 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -240,8 +242,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out index d08a57e7..a8936753 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -7,7 +7,7 @@ Shader version: 450 0:33 Sequence 0:33 move second child to first child (temp 4-component vector of float) 0:33 'txval20' (temp 4-component vector of float) -0:33 textureGather (global 4-component vector of float) +0:33 textureGather (temp 4-component vector of float) 0:33 Construct combined texture-sampler (temp sampler2D) 0:33 'g_tTex2df4' (uniform texture2D) 0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -17,7 +17,7 @@ Shader version: 450 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of int) 0:34 'txval21' (temp 4-component vector of int) -0:34 textureGather (global 4-component vector of int) +0:34 textureGather (temp 4-component vector of int) 0:34 Construct combined texture-sampler (temp isampler2D) 0:34 'g_tTex2di4' (uniform itexture2D) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -27,7 +27,7 @@ Shader version: 450 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of uint) 0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGather (global 4-component vector of uint) +0:35 textureGather (temp 4-component vector of uint) 0:35 Construct combined texture-sampler (temp usampler2D) 0:35 'g_tTex2du4' (uniform utexture2D) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -37,7 +37,7 @@ Shader version: 450 0:39 Sequence 0:39 move second child to first child (temp 4-component vector of float) 0:39 'txval40' (temp 4-component vector of float) -0:39 textureGather (global 4-component vector of float) +0:39 textureGather (temp 4-component vector of float) 0:39 Construct combined texture-sampler (temp samplerCube) 0:39 'g_tTexcdf4' (uniform textureCube) 0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -48,7 +48,7 @@ Shader version: 450 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of int) 0:40 'txval41' (temp 4-component vector of int) -0:40 textureGather (global 4-component vector of int) +0:40 textureGather (temp 4-component vector of int) 0:40 Construct combined texture-sampler (temp isamplerCube) 0:40 'g_tTexcdi4' (uniform itextureCube) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -59,7 +59,7 @@ Shader version: 450 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of uint) 0:41 'txval42' (temp 4-component vector of uint) -0:41 textureGather (global 4-component vector of uint) +0:41 textureGather (temp 4-component vector of uint) 0:41 Construct combined texture-sampler (temp usamplerCube) 0:41 'g_tTexcdu4' (uniform utextureCube) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -87,6 +87,7 @@ Shader version: 450 0:45 0 (const int) 0:45 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -102,7 +103,6 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Pos' (out 4-component vector of float Position) Linked vertex stage: @@ -116,7 +116,7 @@ Shader version: 450 0:33 Sequence 0:33 move second child to first child (temp 4-component vector of float) 0:33 'txval20' (temp 4-component vector of float) -0:33 textureGather (global 4-component vector of float) +0:33 textureGather (temp 4-component vector of float) 0:33 Construct combined texture-sampler (temp sampler2D) 0:33 'g_tTex2df4' (uniform texture2D) 0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -126,7 +126,7 @@ Shader version: 450 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of int) 0:34 'txval21' (temp 4-component vector of int) -0:34 textureGather (global 4-component vector of int) +0:34 textureGather (temp 4-component vector of int) 0:34 Construct combined texture-sampler (temp isampler2D) 0:34 'g_tTex2di4' (uniform itexture2D) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -136,7 +136,7 @@ Shader version: 450 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of uint) 0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGather (global 4-component vector of uint) +0:35 textureGather (temp 4-component vector of uint) 0:35 Construct combined texture-sampler (temp usampler2D) 0:35 'g_tTex2du4' (uniform utexture2D) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -146,7 +146,7 @@ Shader version: 450 0:39 Sequence 0:39 move second child to first child (temp 4-component vector of float) 0:39 'txval40' (temp 4-component vector of float) -0:39 textureGather (global 4-component vector of float) +0:39 textureGather (temp 4-component vector of float) 0:39 Construct combined texture-sampler (temp samplerCube) 0:39 'g_tTexcdf4' (uniform textureCube) 0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -157,7 +157,7 @@ Shader version: 450 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of int) 0:40 'txval41' (temp 4-component vector of int) -0:40 textureGather (global 4-component vector of int) +0:40 textureGather (temp 4-component vector of int) 0:40 Construct combined texture-sampler (temp isamplerCube) 0:40 'g_tTexcdi4' (uniform itextureCube) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -168,7 +168,7 @@ Shader version: 450 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of uint) 0:41 'txval42' (temp 4-component vector of uint) -0:41 textureGather (global 4-component vector of uint) +0:41 textureGather (temp 4-component vector of uint) 0:41 Construct combined texture-sampler (temp usamplerCube) 0:41 'g_tTexcdu4' (uniform utextureCube) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -196,6 +196,7 @@ Shader version: 450 0:45 0 (const int) 0:45 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -211,7 +212,6 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Pos' (out 4-component vector of float Position) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index ff7eb398..5b48bf32 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:33 Sequence 0:33 move second child to first child (temp 4-component vector of float) 0:33 'txval20' (temp 4-component vector of float) -0:33 textureGatherOffset (global 4-component vector of float) +0:33 textureGatherOffset (temp 4-component vector of float) 0:33 Construct combined texture-sampler (temp sampler2D) 0:33 'g_tTex2df4' (uniform texture2D) 0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -21,7 +21,7 @@ gl_FragCoord origin is upper left 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of int) 0:34 'txval21' (temp 4-component vector of int) -0:34 textureGatherOffset (global 4-component vector of int) +0:34 textureGatherOffset (temp 4-component vector of int) 0:34 Construct combined texture-sampler (temp isampler2D) 0:34 'g_tTex2di4' (uniform itexture2D) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -34,7 +34,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of uint) 0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGatherOffset (global 4-component vector of uint) +0:35 textureGatherOffset (temp 4-component vector of uint) 0:35 Construct combined texture-sampler (temp usampler2D) 0:35 'g_tTex2du4' (uniform utexture2D) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -77,6 +77,8 @@ gl_FragCoord origin is upper left 0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -91,8 +93,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -107,7 +107,7 @@ gl_FragCoord origin is upper left 0:33 Sequence 0:33 move second child to first child (temp 4-component vector of float) 0:33 'txval20' (temp 4-component vector of float) -0:33 textureGatherOffset (global 4-component vector of float) +0:33 textureGatherOffset (temp 4-component vector of float) 0:33 Construct combined texture-sampler (temp sampler2D) 0:33 'g_tTex2df4' (uniform texture2D) 0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -120,7 +120,7 @@ gl_FragCoord origin is upper left 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of int) 0:34 'txval21' (temp 4-component vector of int) -0:34 textureGatherOffset (global 4-component vector of int) +0:34 textureGatherOffset (temp 4-component vector of int) 0:34 Construct combined texture-sampler (temp isampler2D) 0:34 'g_tTex2di4' (uniform itexture2D) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -133,7 +133,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of uint) 0:35 'txval22' (temp 4-component vector of uint) -0:35 textureGatherOffset (global 4-component vector of uint) +0:35 textureGatherOffset (temp 4-component vector of uint) 0:35 Construct combined texture-sampler (temp usampler2D) 0:35 'g_tTex2du4' (uniform utexture2D) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -176,6 +176,8 @@ gl_FragCoord origin is upper left 0:43 1 (const int) 0:43 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -190,8 +192,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index dc64a807..a7589cd9 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:25 Sequence 0:25 move second child to first child (temp 4-component vector of float) 0:25 'txval20' (temp 4-component vector of float) -0:25 textureGatherOffset (global 4-component vector of float) +0:25 textureGatherOffset (temp 4-component vector of float) 0:25 Construct combined texture-sampler (temp sampler2DArray) 0:25 'g_tTex2df4' (uniform texture2DArray) 0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -22,7 +22,7 @@ gl_FragCoord origin is upper left 0:26 Sequence 0:26 move second child to first child (temp 4-component vector of int) 0:26 'txval21' (temp 4-component vector of int) -0:26 textureGatherOffset (global 4-component vector of int) +0:26 textureGatherOffset (temp 4-component vector of int) 0:26 Construct combined texture-sampler (temp isampler2DArray) 0:26 'g_tTex2di4' (uniform itexture2DArray) 0:26 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -36,7 +36,7 @@ gl_FragCoord origin is upper left 0:27 Sequence 0:27 move second child to first child (temp 4-component vector of uint) 0:27 'txval22' (temp 4-component vector of uint) -0:27 textureGatherOffset (global 4-component vector of uint) +0:27 textureGatherOffset (temp 4-component vector of uint) 0:27 Construct combined texture-sampler (temp usampler2DArray) 0:27 'g_tTex2du4' (uniform utexture2DArray) 0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -80,6 +80,8 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -88,8 +90,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -104,7 +104,7 @@ gl_FragCoord origin is upper left 0:25 Sequence 0:25 move second child to first child (temp 4-component vector of float) 0:25 'txval20' (temp 4-component vector of float) -0:25 textureGatherOffset (global 4-component vector of float) +0:25 textureGatherOffset (temp 4-component vector of float) 0:25 Construct combined texture-sampler (temp sampler2DArray) 0:25 'g_tTex2df4' (uniform texture2DArray) 0:25 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -118,7 +118,7 @@ gl_FragCoord origin is upper left 0:26 Sequence 0:26 move second child to first child (temp 4-component vector of int) 0:26 'txval21' (temp 4-component vector of int) -0:26 textureGatherOffset (global 4-component vector of int) +0:26 textureGatherOffset (temp 4-component vector of int) 0:26 Construct combined texture-sampler (temp isampler2DArray) 0:26 'g_tTex2di4' (uniform itexture2DArray) 0:26 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -132,7 +132,7 @@ gl_FragCoord origin is upper left 0:27 Sequence 0:27 move second child to first child (temp 4-component vector of uint) 0:27 'txval22' (temp 4-component vector of uint) -0:27 textureGatherOffset (global 4-component vector of uint) +0:27 textureGatherOffset (temp 4-component vector of uint) 0:27 Construct combined texture-sampler (temp usampler2DArray) 0:27 'g_tTex2du4' (uniform utexture2DArray) 0:27 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -176,6 +176,8 @@ gl_FragCoord origin is upper left 0:35 1 (const int) 0:35 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -184,8 +186,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index 4e78cdaf..b04a8573 100644 --- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:33 Sequence 0:33 move second child to first child (temp 4-component vector of float) 0:33 'txval00' (temp 4-component vector of float) -0:33 textureGather (global 4-component vector of float) +0:33 textureGather (temp 4-component vector of float) 0:33 Construct combined texture-sampler (temp sampler2DArray) 0:33 'g_tTex2df4a' (uniform texture2DArray) 0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -21,7 +21,7 @@ gl_FragCoord origin is upper left 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of int) 0:34 'txval01' (temp 4-component vector of int) -0:34 textureGather (global 4-component vector of int) +0:34 textureGather (temp 4-component vector of int) 0:34 Construct combined texture-sampler (temp isampler2DArray) 0:34 'g_tTex2di4a' (uniform itexture2DArray) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -34,7 +34,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of uint) 0:35 'txval02' (temp 4-component vector of uint) -0:35 textureGather (global 4-component vector of uint) +0:35 textureGather (temp 4-component vector of uint) 0:35 Construct combined texture-sampler (temp usampler2DArray) 0:35 'g_tTex2du4a' (uniform utexture2DArray) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -47,7 +47,7 @@ gl_FragCoord origin is upper left 0:37 Sequence 0:37 move second child to first child (temp 4-component vector of float) 0:37 'txval10' (temp 4-component vector of float) -0:37 textureGather (global 4-component vector of float) +0:37 textureGather (temp 4-component vector of float) 0:37 Construct combined texture-sampler (temp sampler2DArray) 0:37 'g_tTex2df4a' (uniform texture2DArray) 0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left 0:38 Sequence 0:38 move second child to first child (temp 4-component vector of int) 0:38 'txval11' (temp 4-component vector of int) -0:38 textureGather (global 4-component vector of int) +0:38 textureGather (temp 4-component vector of int) 0:38 Construct combined texture-sampler (temp isampler2DArray) 0:38 'g_tTex2di4a' (uniform itexture2DArray) 0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -73,7 +73,7 @@ gl_FragCoord origin is upper left 0:39 Sequence 0:39 move second child to first child (temp 4-component vector of uint) 0:39 'txval12' (temp 4-component vector of uint) -0:39 textureGather (global 4-component vector of uint) +0:39 textureGather (temp 4-component vector of uint) 0:39 Construct combined texture-sampler (temp usampler2DArray) 0:39 'g_tTex2du4a' (uniform utexture2DArray) 0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -86,7 +86,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of float) 0:41 'txval20' (temp 4-component vector of float) -0:41 textureGather (global 4-component vector of float) +0:41 textureGather (temp 4-component vector of float) 0:41 Construct combined texture-sampler (temp sampler2DArray) 0:41 'g_tTex2df4a' (uniform texture2DArray) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -99,7 +99,7 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp 4-component vector of int) 0:42 'txval21' (temp 4-component vector of int) -0:42 textureGather (global 4-component vector of int) +0:42 textureGather (temp 4-component vector of int) 0:42 Construct combined texture-sampler (temp isampler2DArray) 0:42 'g_tTex2di4a' (uniform itexture2DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -112,7 +112,7 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp 4-component vector of uint) 0:43 'txval22' (temp 4-component vector of uint) -0:43 textureGather (global 4-component vector of uint) +0:43 textureGather (temp 4-component vector of uint) 0:43 Construct combined texture-sampler (temp usampler2DArray) 0:43 'g_tTex2du4a' (uniform utexture2DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -125,7 +125,7 @@ gl_FragCoord origin is upper left 0:45 Sequence 0:45 move second child to first child (temp 4-component vector of float) 0:45 'txval30' (temp 4-component vector of float) -0:45 textureGather (global 4-component vector of float) +0:45 textureGather (temp 4-component vector of float) 0:45 Construct combined texture-sampler (temp sampler2DArray) 0:45 'g_tTex2df4a' (uniform texture2DArray) 0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -138,7 +138,7 @@ gl_FragCoord origin is upper left 0:46 Sequence 0:46 move second child to first child (temp 4-component vector of int) 0:46 'txval31' (temp 4-component vector of int) -0:46 textureGather (global 4-component vector of int) +0:46 textureGather (temp 4-component vector of int) 0:46 Construct combined texture-sampler (temp isampler2DArray) 0:46 'g_tTex2di4a' (uniform itexture2DArray) 0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -151,7 +151,7 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp 4-component vector of uint) 0:47 'txval32' (temp 4-component vector of uint) -0:47 textureGather (global 4-component vector of uint) +0:47 textureGather (temp 4-component vector of uint) 0:47 Construct combined texture-sampler (temp usampler2DArray) 0:47 'g_tTex2du4a' (uniform utexture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -164,7 +164,7 @@ gl_FragCoord origin is upper left 0:51 Sequence 0:51 move second child to first child (temp 4-component vector of float) 0:51 'txval40' (temp 4-component vector of float) -0:51 textureGather (global 4-component vector of float) +0:51 textureGather (temp 4-component vector of float) 0:51 Construct combined texture-sampler (temp samplerCubeArray) 0:51 'g_tTexcdf4a' (uniform textureCubeArray) 0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -177,7 +177,7 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp 4-component vector of int) 0:52 'txval41' (temp 4-component vector of int) -0:52 textureGather (global 4-component vector of int) +0:52 textureGather (temp 4-component vector of int) 0:52 Construct combined texture-sampler (temp isamplerCubeArray) 0:52 'g_tTexcdi4a' (uniform itextureCubeArray) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -190,7 +190,7 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp 4-component vector of uint) 0:53 'txval42' (temp 4-component vector of uint) -0:53 textureGather (global 4-component vector of uint) +0:53 textureGather (temp 4-component vector of uint) 0:53 Construct combined texture-sampler (temp usamplerCubeArray) 0:53 'g_tTexcdu4a' (uniform utextureCubeArray) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -203,7 +203,7 @@ gl_FragCoord origin is upper left 0:55 Sequence 0:55 move second child to first child (temp 4-component vector of float) 0:55 'txval50' (temp 4-component vector of float) -0:55 textureGather (global 4-component vector of float) +0:55 textureGather (temp 4-component vector of float) 0:55 Construct combined texture-sampler (temp samplerCubeArray) 0:55 'g_tTexcdf4a' (uniform textureCubeArray) 0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -216,7 +216,7 @@ gl_FragCoord origin is upper left 0:56 Sequence 0:56 move second child to first child (temp 4-component vector of int) 0:56 'txval51' (temp 4-component vector of int) -0:56 textureGather (global 4-component vector of int) +0:56 textureGather (temp 4-component vector of int) 0:56 Construct combined texture-sampler (temp isamplerCubeArray) 0:56 'g_tTexcdi4a' (uniform itextureCubeArray) 0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -229,7 +229,7 @@ gl_FragCoord origin is upper left 0:57 Sequence 0:57 move second child to first child (temp 4-component vector of uint) 0:57 'txval52' (temp 4-component vector of uint) -0:57 textureGather (global 4-component vector of uint) +0:57 textureGather (temp 4-component vector of uint) 0:57 Construct combined texture-sampler (temp usamplerCubeArray) 0:57 'g_tTexcdu4a' (uniform utextureCubeArray) 0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -242,7 +242,7 @@ gl_FragCoord origin is upper left 0:59 Sequence 0:59 move second child to first child (temp 4-component vector of float) 0:59 'txval60' (temp 4-component vector of float) -0:59 textureGather (global 4-component vector of float) +0:59 textureGather (temp 4-component vector of float) 0:59 Construct combined texture-sampler (temp samplerCubeArray) 0:59 'g_tTexcdf4a' (uniform textureCubeArray) 0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -255,7 +255,7 @@ gl_FragCoord origin is upper left 0:60 Sequence 0:60 move second child to first child (temp 4-component vector of int) 0:60 'txval61' (temp 4-component vector of int) -0:60 textureGather (global 4-component vector of int) +0:60 textureGather (temp 4-component vector of int) 0:60 Construct combined texture-sampler (temp isamplerCubeArray) 0:60 'g_tTexcdi4a' (uniform itextureCubeArray) 0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -268,7 +268,7 @@ gl_FragCoord origin is upper left 0:61 Sequence 0:61 move second child to first child (temp 4-component vector of uint) 0:61 'txval62' (temp 4-component vector of uint) -0:61 textureGather (global 4-component vector of uint) +0:61 textureGather (temp 4-component vector of uint) 0:61 Construct combined texture-sampler (temp usamplerCubeArray) 0:61 'g_tTexcdu4a' (uniform utextureCubeArray) 0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -281,7 +281,7 @@ gl_FragCoord origin is upper left 0:63 Sequence 0:63 move second child to first child (temp 4-component vector of float) 0:63 'txval70' (temp 4-component vector of float) -0:63 textureGather (global 4-component vector of float) +0:63 textureGather (temp 4-component vector of float) 0:63 Construct combined texture-sampler (temp samplerCubeArray) 0:63 'g_tTexcdf4a' (uniform textureCubeArray) 0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -294,7 +294,7 @@ gl_FragCoord origin is upper left 0:64 Sequence 0:64 move second child to first child (temp 4-component vector of int) 0:64 'txval71' (temp 4-component vector of int) -0:64 textureGather (global 4-component vector of int) +0:64 textureGather (temp 4-component vector of int) 0:64 Construct combined texture-sampler (temp isamplerCubeArray) 0:64 'g_tTexcdi4a' (uniform itextureCubeArray) 0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -307,7 +307,7 @@ gl_FragCoord origin is upper left 0:65 Sequence 0:65 move second child to first child (temp 4-component vector of uint) 0:65 'txval72' (temp 4-component vector of uint) -0:65 textureGather (global 4-component vector of uint) +0:65 textureGather (temp 4-component vector of uint) 0:65 Construct combined texture-sampler (temp usamplerCubeArray) 0:65 'g_tTexcdu4a' (uniform utextureCubeArray) 0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -350,6 +350,8 @@ gl_FragCoord origin is upper left 0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -361,9 +363,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) Linked fragment stage: @@ -378,7 +378,7 @@ gl_FragCoord origin is upper left 0:33 Sequence 0:33 move second child to first child (temp 4-component vector of float) 0:33 'txval00' (temp 4-component vector of float) -0:33 textureGather (global 4-component vector of float) +0:33 textureGather (temp 4-component vector of float) 0:33 Construct combined texture-sampler (temp sampler2DArray) 0:33 'g_tTex2df4a' (uniform texture2DArray) 0:33 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -391,7 +391,7 @@ gl_FragCoord origin is upper left 0:34 Sequence 0:34 move second child to first child (temp 4-component vector of int) 0:34 'txval01' (temp 4-component vector of int) -0:34 textureGather (global 4-component vector of int) +0:34 textureGather (temp 4-component vector of int) 0:34 Construct combined texture-sampler (temp isampler2DArray) 0:34 'g_tTex2di4a' (uniform itexture2DArray) 0:34 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -404,7 +404,7 @@ gl_FragCoord origin is upper left 0:35 Sequence 0:35 move second child to first child (temp 4-component vector of uint) 0:35 'txval02' (temp 4-component vector of uint) -0:35 textureGather (global 4-component vector of uint) +0:35 textureGather (temp 4-component vector of uint) 0:35 Construct combined texture-sampler (temp usampler2DArray) 0:35 'g_tTex2du4a' (uniform utexture2DArray) 0:35 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -417,7 +417,7 @@ gl_FragCoord origin is upper left 0:37 Sequence 0:37 move second child to first child (temp 4-component vector of float) 0:37 'txval10' (temp 4-component vector of float) -0:37 textureGather (global 4-component vector of float) +0:37 textureGather (temp 4-component vector of float) 0:37 Construct combined texture-sampler (temp sampler2DArray) 0:37 'g_tTex2df4a' (uniform texture2DArray) 0:37 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -430,7 +430,7 @@ gl_FragCoord origin is upper left 0:38 Sequence 0:38 move second child to first child (temp 4-component vector of int) 0:38 'txval11' (temp 4-component vector of int) -0:38 textureGather (global 4-component vector of int) +0:38 textureGather (temp 4-component vector of int) 0:38 Construct combined texture-sampler (temp isampler2DArray) 0:38 'g_tTex2di4a' (uniform itexture2DArray) 0:38 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -443,7 +443,7 @@ gl_FragCoord origin is upper left 0:39 Sequence 0:39 move second child to first child (temp 4-component vector of uint) 0:39 'txval12' (temp 4-component vector of uint) -0:39 textureGather (global 4-component vector of uint) +0:39 textureGather (temp 4-component vector of uint) 0:39 Construct combined texture-sampler (temp usampler2DArray) 0:39 'g_tTex2du4a' (uniform utexture2DArray) 0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -456,7 +456,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of float) 0:41 'txval20' (temp 4-component vector of float) -0:41 textureGather (global 4-component vector of float) +0:41 textureGather (temp 4-component vector of float) 0:41 Construct combined texture-sampler (temp sampler2DArray) 0:41 'g_tTex2df4a' (uniform texture2DArray) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -469,7 +469,7 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp 4-component vector of int) 0:42 'txval21' (temp 4-component vector of int) -0:42 textureGather (global 4-component vector of int) +0:42 textureGather (temp 4-component vector of int) 0:42 Construct combined texture-sampler (temp isampler2DArray) 0:42 'g_tTex2di4a' (uniform itexture2DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -482,7 +482,7 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp 4-component vector of uint) 0:43 'txval22' (temp 4-component vector of uint) -0:43 textureGather (global 4-component vector of uint) +0:43 textureGather (temp 4-component vector of uint) 0:43 Construct combined texture-sampler (temp usampler2DArray) 0:43 'g_tTex2du4a' (uniform utexture2DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -495,7 +495,7 @@ gl_FragCoord origin is upper left 0:45 Sequence 0:45 move second child to first child (temp 4-component vector of float) 0:45 'txval30' (temp 4-component vector of float) -0:45 textureGather (global 4-component vector of float) +0:45 textureGather (temp 4-component vector of float) 0:45 Construct combined texture-sampler (temp sampler2DArray) 0:45 'g_tTex2df4a' (uniform texture2DArray) 0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -508,7 +508,7 @@ gl_FragCoord origin is upper left 0:46 Sequence 0:46 move second child to first child (temp 4-component vector of int) 0:46 'txval31' (temp 4-component vector of int) -0:46 textureGather (global 4-component vector of int) +0:46 textureGather (temp 4-component vector of int) 0:46 Construct combined texture-sampler (temp isampler2DArray) 0:46 'g_tTex2di4a' (uniform itexture2DArray) 0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -521,7 +521,7 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp 4-component vector of uint) 0:47 'txval32' (temp 4-component vector of uint) -0:47 textureGather (global 4-component vector of uint) +0:47 textureGather (temp 4-component vector of uint) 0:47 Construct combined texture-sampler (temp usampler2DArray) 0:47 'g_tTex2du4a' (uniform utexture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -534,7 +534,7 @@ gl_FragCoord origin is upper left 0:51 Sequence 0:51 move second child to first child (temp 4-component vector of float) 0:51 'txval40' (temp 4-component vector of float) -0:51 textureGather (global 4-component vector of float) +0:51 textureGather (temp 4-component vector of float) 0:51 Construct combined texture-sampler (temp samplerCubeArray) 0:51 'g_tTexcdf4a' (uniform textureCubeArray) 0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -547,7 +547,7 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp 4-component vector of int) 0:52 'txval41' (temp 4-component vector of int) -0:52 textureGather (global 4-component vector of int) +0:52 textureGather (temp 4-component vector of int) 0:52 Construct combined texture-sampler (temp isamplerCubeArray) 0:52 'g_tTexcdi4a' (uniform itextureCubeArray) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -560,7 +560,7 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp 4-component vector of uint) 0:53 'txval42' (temp 4-component vector of uint) -0:53 textureGather (global 4-component vector of uint) +0:53 textureGather (temp 4-component vector of uint) 0:53 Construct combined texture-sampler (temp usamplerCubeArray) 0:53 'g_tTexcdu4a' (uniform utextureCubeArray) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -573,7 +573,7 @@ gl_FragCoord origin is upper left 0:55 Sequence 0:55 move second child to first child (temp 4-component vector of float) 0:55 'txval50' (temp 4-component vector of float) -0:55 textureGather (global 4-component vector of float) +0:55 textureGather (temp 4-component vector of float) 0:55 Construct combined texture-sampler (temp samplerCubeArray) 0:55 'g_tTexcdf4a' (uniform textureCubeArray) 0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -586,7 +586,7 @@ gl_FragCoord origin is upper left 0:56 Sequence 0:56 move second child to first child (temp 4-component vector of int) 0:56 'txval51' (temp 4-component vector of int) -0:56 textureGather (global 4-component vector of int) +0:56 textureGather (temp 4-component vector of int) 0:56 Construct combined texture-sampler (temp isamplerCubeArray) 0:56 'g_tTexcdi4a' (uniform itextureCubeArray) 0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -599,7 +599,7 @@ gl_FragCoord origin is upper left 0:57 Sequence 0:57 move second child to first child (temp 4-component vector of uint) 0:57 'txval52' (temp 4-component vector of uint) -0:57 textureGather (global 4-component vector of uint) +0:57 textureGather (temp 4-component vector of uint) 0:57 Construct combined texture-sampler (temp usamplerCubeArray) 0:57 'g_tTexcdu4a' (uniform utextureCubeArray) 0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -612,7 +612,7 @@ gl_FragCoord origin is upper left 0:59 Sequence 0:59 move second child to first child (temp 4-component vector of float) 0:59 'txval60' (temp 4-component vector of float) -0:59 textureGather (global 4-component vector of float) +0:59 textureGather (temp 4-component vector of float) 0:59 Construct combined texture-sampler (temp samplerCubeArray) 0:59 'g_tTexcdf4a' (uniform textureCubeArray) 0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -625,7 +625,7 @@ gl_FragCoord origin is upper left 0:60 Sequence 0:60 move second child to first child (temp 4-component vector of int) 0:60 'txval61' (temp 4-component vector of int) -0:60 textureGather (global 4-component vector of int) +0:60 textureGather (temp 4-component vector of int) 0:60 Construct combined texture-sampler (temp isamplerCubeArray) 0:60 'g_tTexcdi4a' (uniform itextureCubeArray) 0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -638,7 +638,7 @@ gl_FragCoord origin is upper left 0:61 Sequence 0:61 move second child to first child (temp 4-component vector of uint) 0:61 'txval62' (temp 4-component vector of uint) -0:61 textureGather (global 4-component vector of uint) +0:61 textureGather (temp 4-component vector of uint) 0:61 Construct combined texture-sampler (temp usamplerCubeArray) 0:61 'g_tTexcdu4a' (uniform utextureCubeArray) 0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -651,7 +651,7 @@ gl_FragCoord origin is upper left 0:63 Sequence 0:63 move second child to first child (temp 4-component vector of float) 0:63 'txval70' (temp 4-component vector of float) -0:63 textureGather (global 4-component vector of float) +0:63 textureGather (temp 4-component vector of float) 0:63 Construct combined texture-sampler (temp samplerCubeArray) 0:63 'g_tTexcdf4a' (uniform textureCubeArray) 0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -664,7 +664,7 @@ gl_FragCoord origin is upper left 0:64 Sequence 0:64 move second child to first child (temp 4-component vector of int) 0:64 'txval71' (temp 4-component vector of int) -0:64 textureGather (global 4-component vector of int) +0:64 textureGather (temp 4-component vector of int) 0:64 Construct combined texture-sampler (temp isamplerCubeArray) 0:64 'g_tTexcdi4a' (uniform itextureCubeArray) 0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -677,7 +677,7 @@ gl_FragCoord origin is upper left 0:65 Sequence 0:65 move second child to first child (temp 4-component vector of uint) 0:65 'txval72' (temp 4-component vector of uint) -0:65 textureGather (global 4-component vector of uint) +0:65 textureGather (temp 4-component vector of uint) 0:65 Construct combined texture-sampler (temp usamplerCubeArray) 0:65 'g_tTexcdu4a' (uniform utextureCubeArray) 0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -720,6 +720,8 @@ gl_FragCoord origin is upper left 0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -731,9 +733,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index ef1e7e05..d2fb0b17 100644 --- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:39 Sequence 0:39 move second child to first child (temp 4-component vector of float) 0:39 'txval00' (temp 4-component vector of float) -0:39 textureGather (global 4-component vector of float) +0:39 textureGather (temp 4-component vector of float) 0:39 Construct combined texture-sampler (temp sampler2D) 0:39 'g_tTex2df4' (uniform texture2D) 0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -21,7 +21,7 @@ gl_FragCoord origin is upper left 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of int) 0:40 'txval01' (temp 4-component vector of int) -0:40 textureGather (global 4-component vector of int) +0:40 textureGather (temp 4-component vector of int) 0:40 Construct combined texture-sampler (temp isampler2D) 0:40 'g_tTex2di4' (uniform itexture2D) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -34,7 +34,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of uint) 0:41 'txval02' (temp 4-component vector of uint) -0:41 textureGather (global 4-component vector of uint) +0:41 textureGather (temp 4-component vector of uint) 0:41 Construct combined texture-sampler (temp usampler2D) 0:41 'g_tTex2du4' (uniform utexture2D) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -47,7 +47,7 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp 4-component vector of float) 0:43 'txval10' (temp 4-component vector of float) -0:43 textureGather (global 4-component vector of float) +0:43 textureGather (temp 4-component vector of float) 0:43 Construct combined texture-sampler (temp sampler2D) 0:43 'g_tTex2df4' (uniform texture2D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -60,7 +60,7 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp 4-component vector of int) 0:44 'txval11' (temp 4-component vector of int) -0:44 textureGather (global 4-component vector of int) +0:44 textureGather (temp 4-component vector of int) 0:44 Construct combined texture-sampler (temp isampler2D) 0:44 'g_tTex2di4' (uniform itexture2D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -73,7 +73,7 @@ gl_FragCoord origin is upper left 0:45 Sequence 0:45 move second child to first child (temp 4-component vector of uint) 0:45 'txval12' (temp 4-component vector of uint) -0:45 textureGather (global 4-component vector of uint) +0:45 textureGather (temp 4-component vector of uint) 0:45 Construct combined texture-sampler (temp usampler2D) 0:45 'g_tTex2du4' (uniform utexture2D) 0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -86,7 +86,7 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp 4-component vector of float) 0:47 'txval20' (temp 4-component vector of float) -0:47 textureGather (global 4-component vector of float) +0:47 textureGather (temp 4-component vector of float) 0:47 Construct combined texture-sampler (temp sampler2D) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -99,7 +99,7 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp 4-component vector of int) 0:48 'txval21' (temp 4-component vector of int) -0:48 textureGather (global 4-component vector of int) +0:48 textureGather (temp 4-component vector of int) 0:48 Construct combined texture-sampler (temp isampler2D) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -112,7 +112,7 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp 4-component vector of uint) 0:49 'txval22' (temp 4-component vector of uint) -0:49 textureGather (global 4-component vector of uint) +0:49 textureGather (temp 4-component vector of uint) 0:49 Construct combined texture-sampler (temp usampler2D) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -125,7 +125,7 @@ gl_FragCoord origin is upper left 0:51 Sequence 0:51 move second child to first child (temp 4-component vector of float) 0:51 'txval30' (temp 4-component vector of float) -0:51 textureGather (global 4-component vector of float) +0:51 textureGather (temp 4-component vector of float) 0:51 Construct combined texture-sampler (temp sampler2D) 0:51 'g_tTex2df4' (uniform texture2D) 0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -138,7 +138,7 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp 4-component vector of int) 0:52 'txval31' (temp 4-component vector of int) -0:52 textureGather (global 4-component vector of int) +0:52 textureGather (temp 4-component vector of int) 0:52 Construct combined texture-sampler (temp isampler2D) 0:52 'g_tTex2di4' (uniform itexture2D) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -151,7 +151,7 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp 4-component vector of uint) 0:53 'txval32' (temp 4-component vector of uint) -0:53 textureGather (global 4-component vector of uint) +0:53 textureGather (temp 4-component vector of uint) 0:53 Construct combined texture-sampler (temp usampler2D) 0:53 'g_tTex2du4' (uniform utexture2D) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -164,7 +164,7 @@ gl_FragCoord origin is upper left 0:57 Sequence 0:57 move second child to first child (temp 4-component vector of float) 0:57 'txval40' (temp 4-component vector of float) -0:57 textureGather (global 4-component vector of float) +0:57 textureGather (temp 4-component vector of float) 0:57 Construct combined texture-sampler (temp samplerCube) 0:57 'g_tTexcdf4' (uniform textureCube) 0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -177,7 +177,7 @@ gl_FragCoord origin is upper left 0:58 Sequence 0:58 move second child to first child (temp 4-component vector of int) 0:58 'txval41' (temp 4-component vector of int) -0:58 textureGather (global 4-component vector of int) +0:58 textureGather (temp 4-component vector of int) 0:58 Construct combined texture-sampler (temp isamplerCube) 0:58 'g_tTexcdi4' (uniform itextureCube) 0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -190,7 +190,7 @@ gl_FragCoord origin is upper left 0:59 Sequence 0:59 move second child to first child (temp 4-component vector of uint) 0:59 'txval42' (temp 4-component vector of uint) -0:59 textureGather (global 4-component vector of uint) +0:59 textureGather (temp 4-component vector of uint) 0:59 Construct combined texture-sampler (temp usamplerCube) 0:59 'g_tTexcdu4' (uniform utextureCube) 0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -203,7 +203,7 @@ gl_FragCoord origin is upper left 0:61 Sequence 0:61 move second child to first child (temp 4-component vector of float) 0:61 'txval50' (temp 4-component vector of float) -0:61 textureGather (global 4-component vector of float) +0:61 textureGather (temp 4-component vector of float) 0:61 Construct combined texture-sampler (temp samplerCube) 0:61 'g_tTexcdf4' (uniform textureCube) 0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -216,7 +216,7 @@ gl_FragCoord origin is upper left 0:62 Sequence 0:62 move second child to first child (temp 4-component vector of int) 0:62 'txval51' (temp 4-component vector of int) -0:62 textureGather (global 4-component vector of int) +0:62 textureGather (temp 4-component vector of int) 0:62 Construct combined texture-sampler (temp isamplerCube) 0:62 'g_tTexcdi4' (uniform itextureCube) 0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -229,7 +229,7 @@ gl_FragCoord origin is upper left 0:63 Sequence 0:63 move second child to first child (temp 4-component vector of uint) 0:63 'txval52' (temp 4-component vector of uint) -0:63 textureGather (global 4-component vector of uint) +0:63 textureGather (temp 4-component vector of uint) 0:63 Construct combined texture-sampler (temp usamplerCube) 0:63 'g_tTexcdu4' (uniform utextureCube) 0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -242,7 +242,7 @@ gl_FragCoord origin is upper left 0:65 Sequence 0:65 move second child to first child (temp 4-component vector of float) 0:65 'txval60' (temp 4-component vector of float) -0:65 textureGather (global 4-component vector of float) +0:65 textureGather (temp 4-component vector of float) 0:65 Construct combined texture-sampler (temp samplerCube) 0:65 'g_tTexcdf4' (uniform textureCube) 0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -255,7 +255,7 @@ gl_FragCoord origin is upper left 0:66 Sequence 0:66 move second child to first child (temp 4-component vector of int) 0:66 'txval61' (temp 4-component vector of int) -0:66 textureGather (global 4-component vector of int) +0:66 textureGather (temp 4-component vector of int) 0:66 Construct combined texture-sampler (temp isamplerCube) 0:66 'g_tTexcdi4' (uniform itextureCube) 0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -268,7 +268,7 @@ gl_FragCoord origin is upper left 0:67 Sequence 0:67 move second child to first child (temp 4-component vector of uint) 0:67 'txval62' (temp 4-component vector of uint) -0:67 textureGather (global 4-component vector of uint) +0:67 textureGather (temp 4-component vector of uint) 0:67 Construct combined texture-sampler (temp usamplerCube) 0:67 'g_tTexcdu4' (uniform utextureCube) 0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -281,7 +281,7 @@ gl_FragCoord origin is upper left 0:69 Sequence 0:69 move second child to first child (temp 4-component vector of float) 0:69 'txval70' (temp 4-component vector of float) -0:69 textureGather (global 4-component vector of float) +0:69 textureGather (temp 4-component vector of float) 0:69 Construct combined texture-sampler (temp samplerCube) 0:69 'g_tTexcdf4' (uniform textureCube) 0:69 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -294,7 +294,7 @@ gl_FragCoord origin is upper left 0:70 Sequence 0:70 move second child to first child (temp 4-component vector of int) 0:70 'txval71' (temp 4-component vector of int) -0:70 textureGather (global 4-component vector of int) +0:70 textureGather (temp 4-component vector of int) 0:70 Construct combined texture-sampler (temp isamplerCube) 0:70 'g_tTexcdi4' (uniform itextureCube) 0:70 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -307,7 +307,7 @@ gl_FragCoord origin is upper left 0:71 Sequence 0:71 move second child to first child (temp 4-component vector of uint) 0:71 'txval72' (temp 4-component vector of uint) -0:71 textureGather (global 4-component vector of uint) +0:71 textureGather (temp 4-component vector of uint) 0:71 Construct combined texture-sampler (temp usamplerCube) 0:71 'g_tTexcdu4' (uniform utextureCube) 0:71 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -350,6 +350,8 @@ gl_FragCoord origin is upper left 0:76 1 (const int) 0:76 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -365,9 +367,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) Linked fragment stage: @@ -382,7 +382,7 @@ gl_FragCoord origin is upper left 0:39 Sequence 0:39 move second child to first child (temp 4-component vector of float) 0:39 'txval00' (temp 4-component vector of float) -0:39 textureGather (global 4-component vector of float) +0:39 textureGather (temp 4-component vector of float) 0:39 Construct combined texture-sampler (temp sampler2D) 0:39 'g_tTex2df4' (uniform texture2D) 0:39 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -395,7 +395,7 @@ gl_FragCoord origin is upper left 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of int) 0:40 'txval01' (temp 4-component vector of int) -0:40 textureGather (global 4-component vector of int) +0:40 textureGather (temp 4-component vector of int) 0:40 Construct combined texture-sampler (temp isampler2D) 0:40 'g_tTex2di4' (uniform itexture2D) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -408,7 +408,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of uint) 0:41 'txval02' (temp 4-component vector of uint) -0:41 textureGather (global 4-component vector of uint) +0:41 textureGather (temp 4-component vector of uint) 0:41 Construct combined texture-sampler (temp usampler2D) 0:41 'g_tTex2du4' (uniform utexture2D) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -421,7 +421,7 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp 4-component vector of float) 0:43 'txval10' (temp 4-component vector of float) -0:43 textureGather (global 4-component vector of float) +0:43 textureGather (temp 4-component vector of float) 0:43 Construct combined texture-sampler (temp sampler2D) 0:43 'g_tTex2df4' (uniform texture2D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -434,7 +434,7 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp 4-component vector of int) 0:44 'txval11' (temp 4-component vector of int) -0:44 textureGather (global 4-component vector of int) +0:44 textureGather (temp 4-component vector of int) 0:44 Construct combined texture-sampler (temp isampler2D) 0:44 'g_tTex2di4' (uniform itexture2D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -447,7 +447,7 @@ gl_FragCoord origin is upper left 0:45 Sequence 0:45 move second child to first child (temp 4-component vector of uint) 0:45 'txval12' (temp 4-component vector of uint) -0:45 textureGather (global 4-component vector of uint) +0:45 textureGather (temp 4-component vector of uint) 0:45 Construct combined texture-sampler (temp usampler2D) 0:45 'g_tTex2du4' (uniform utexture2D) 0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -460,7 +460,7 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp 4-component vector of float) 0:47 'txval20' (temp 4-component vector of float) -0:47 textureGather (global 4-component vector of float) +0:47 textureGather (temp 4-component vector of float) 0:47 Construct combined texture-sampler (temp sampler2D) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -473,7 +473,7 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp 4-component vector of int) 0:48 'txval21' (temp 4-component vector of int) -0:48 textureGather (global 4-component vector of int) +0:48 textureGather (temp 4-component vector of int) 0:48 Construct combined texture-sampler (temp isampler2D) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -486,7 +486,7 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp 4-component vector of uint) 0:49 'txval22' (temp 4-component vector of uint) -0:49 textureGather (global 4-component vector of uint) +0:49 textureGather (temp 4-component vector of uint) 0:49 Construct combined texture-sampler (temp usampler2D) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -499,7 +499,7 @@ gl_FragCoord origin is upper left 0:51 Sequence 0:51 move second child to first child (temp 4-component vector of float) 0:51 'txval30' (temp 4-component vector of float) -0:51 textureGather (global 4-component vector of float) +0:51 textureGather (temp 4-component vector of float) 0:51 Construct combined texture-sampler (temp sampler2D) 0:51 'g_tTex2df4' (uniform texture2D) 0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -512,7 +512,7 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp 4-component vector of int) 0:52 'txval31' (temp 4-component vector of int) -0:52 textureGather (global 4-component vector of int) +0:52 textureGather (temp 4-component vector of int) 0:52 Construct combined texture-sampler (temp isampler2D) 0:52 'g_tTex2di4' (uniform itexture2D) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -525,7 +525,7 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp 4-component vector of uint) 0:53 'txval32' (temp 4-component vector of uint) -0:53 textureGather (global 4-component vector of uint) +0:53 textureGather (temp 4-component vector of uint) 0:53 Construct combined texture-sampler (temp usampler2D) 0:53 'g_tTex2du4' (uniform utexture2D) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -538,7 +538,7 @@ gl_FragCoord origin is upper left 0:57 Sequence 0:57 move second child to first child (temp 4-component vector of float) 0:57 'txval40' (temp 4-component vector of float) -0:57 textureGather (global 4-component vector of float) +0:57 textureGather (temp 4-component vector of float) 0:57 Construct combined texture-sampler (temp samplerCube) 0:57 'g_tTexcdf4' (uniform textureCube) 0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -551,7 +551,7 @@ gl_FragCoord origin is upper left 0:58 Sequence 0:58 move second child to first child (temp 4-component vector of int) 0:58 'txval41' (temp 4-component vector of int) -0:58 textureGather (global 4-component vector of int) +0:58 textureGather (temp 4-component vector of int) 0:58 Construct combined texture-sampler (temp isamplerCube) 0:58 'g_tTexcdi4' (uniform itextureCube) 0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -564,7 +564,7 @@ gl_FragCoord origin is upper left 0:59 Sequence 0:59 move second child to first child (temp 4-component vector of uint) 0:59 'txval42' (temp 4-component vector of uint) -0:59 textureGather (global 4-component vector of uint) +0:59 textureGather (temp 4-component vector of uint) 0:59 Construct combined texture-sampler (temp usamplerCube) 0:59 'g_tTexcdu4' (uniform utextureCube) 0:59 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -577,7 +577,7 @@ gl_FragCoord origin is upper left 0:61 Sequence 0:61 move second child to first child (temp 4-component vector of float) 0:61 'txval50' (temp 4-component vector of float) -0:61 textureGather (global 4-component vector of float) +0:61 textureGather (temp 4-component vector of float) 0:61 Construct combined texture-sampler (temp samplerCube) 0:61 'g_tTexcdf4' (uniform textureCube) 0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -590,7 +590,7 @@ gl_FragCoord origin is upper left 0:62 Sequence 0:62 move second child to first child (temp 4-component vector of int) 0:62 'txval51' (temp 4-component vector of int) -0:62 textureGather (global 4-component vector of int) +0:62 textureGather (temp 4-component vector of int) 0:62 Construct combined texture-sampler (temp isamplerCube) 0:62 'g_tTexcdi4' (uniform itextureCube) 0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -603,7 +603,7 @@ gl_FragCoord origin is upper left 0:63 Sequence 0:63 move second child to first child (temp 4-component vector of uint) 0:63 'txval52' (temp 4-component vector of uint) -0:63 textureGather (global 4-component vector of uint) +0:63 textureGather (temp 4-component vector of uint) 0:63 Construct combined texture-sampler (temp usamplerCube) 0:63 'g_tTexcdu4' (uniform utextureCube) 0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -616,7 +616,7 @@ gl_FragCoord origin is upper left 0:65 Sequence 0:65 move second child to first child (temp 4-component vector of float) 0:65 'txval60' (temp 4-component vector of float) -0:65 textureGather (global 4-component vector of float) +0:65 textureGather (temp 4-component vector of float) 0:65 Construct combined texture-sampler (temp samplerCube) 0:65 'g_tTexcdf4' (uniform textureCube) 0:65 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -629,7 +629,7 @@ gl_FragCoord origin is upper left 0:66 Sequence 0:66 move second child to first child (temp 4-component vector of int) 0:66 'txval61' (temp 4-component vector of int) -0:66 textureGather (global 4-component vector of int) +0:66 textureGather (temp 4-component vector of int) 0:66 Construct combined texture-sampler (temp isamplerCube) 0:66 'g_tTexcdi4' (uniform itextureCube) 0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -642,7 +642,7 @@ gl_FragCoord origin is upper left 0:67 Sequence 0:67 move second child to first child (temp 4-component vector of uint) 0:67 'txval62' (temp 4-component vector of uint) -0:67 textureGather (global 4-component vector of uint) +0:67 textureGather (temp 4-component vector of uint) 0:67 Construct combined texture-sampler (temp usamplerCube) 0:67 'g_tTexcdu4' (uniform utextureCube) 0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -655,7 +655,7 @@ gl_FragCoord origin is upper left 0:69 Sequence 0:69 move second child to first child (temp 4-component vector of float) 0:69 'txval70' (temp 4-component vector of float) -0:69 textureGather (global 4-component vector of float) +0:69 textureGather (temp 4-component vector of float) 0:69 Construct combined texture-sampler (temp samplerCube) 0:69 'g_tTexcdf4' (uniform textureCube) 0:69 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -668,7 +668,7 @@ gl_FragCoord origin is upper left 0:70 Sequence 0:70 move second child to first child (temp 4-component vector of int) 0:70 'txval71' (temp 4-component vector of int) -0:70 textureGather (global 4-component vector of int) +0:70 textureGather (temp 4-component vector of int) 0:70 Construct combined texture-sampler (temp isamplerCube) 0:70 'g_tTexcdi4' (uniform itextureCube) 0:70 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -681,7 +681,7 @@ gl_FragCoord origin is upper left 0:71 Sequence 0:71 move second child to first child (temp 4-component vector of uint) 0:71 'txval72' (temp 4-component vector of uint) -0:71 textureGather (global 4-component vector of uint) +0:71 textureGather (temp 4-component vector of uint) 0:71 Construct combined texture-sampler (temp usamplerCube) 0:71 'g_tTexcdu4' (uniform utextureCube) 0:71 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -724,6 +724,8 @@ gl_FragCoord origin is upper left 0:76 1 (const int) 0:76 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -739,9 +741,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index f178c3b3..43395741 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:46 Sequence 0:46 move second child to first child (temp 4-component vector of float) 0:46 'txval001' (temp 4-component vector of float) -0:46 textureGatherOffset (global 4-component vector of float) +0:46 textureGatherOffset (temp 4-component vector of float) 0:46 Construct combined texture-sampler (temp sampler2D) 0:46 'g_tTex2df4' (uniform texture2D) 0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -25,7 +25,7 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp 4-component vector of int) 0:47 'txval011' (temp 4-component vector of int) -0:47 textureGatherOffset (global 4-component vector of int) +0:47 textureGatherOffset (temp 4-component vector of int) 0:47 Construct combined texture-sampler (temp isampler2D) 0:47 'g_tTex2di4' (uniform itexture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -42,7 +42,7 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp 4-component vector of uint) 0:48 'txval021' (temp 4-component vector of uint) -0:48 textureGatherOffset (global 4-component vector of uint) +0:48 textureGatherOffset (temp 4-component vector of uint) 0:48 Construct combined texture-sampler (temp usampler2D) 0:48 'g_tTex2du4' (uniform utexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -59,7 +59,7 @@ gl_FragCoord origin is upper left 0:50 Sequence 0:50 move second child to first child (temp 4-component vector of float) 0:50 'txval004' (temp 4-component vector of float) -0:50 textureGatherOffsets (global 4-component vector of float) +0:50 textureGatherOffsets (temp 4-component vector of float) 0:50 Construct combined texture-sampler (temp sampler2D) 0:50 'g_tTex2df4' (uniform texture2D) 0:50 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -89,7 +89,7 @@ gl_FragCoord origin is upper left 0:51 Sequence 0:51 move second child to first child (temp 4-component vector of int) 0:51 'txval014' (temp 4-component vector of int) -0:51 textureGatherOffsets (global 4-component vector of int) +0:51 textureGatherOffsets (temp 4-component vector of int) 0:51 Construct combined texture-sampler (temp isampler2D) 0:51 'g_tTex2di4' (uniform itexture2D) 0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -119,7 +119,7 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp 4-component vector of uint) 0:52 'txval024' (temp 4-component vector of uint) -0:52 textureGatherOffsets (global 4-component vector of uint) +0:52 textureGatherOffsets (temp 4-component vector of uint) 0:52 Construct combined texture-sampler (temp usampler2D) 0:52 'g_tTex2du4' (uniform utexture2D) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -149,7 +149,7 @@ gl_FragCoord origin is upper left 0:62 Sequence 0:62 move second child to first child (temp 4-component vector of float) 0:62 'txval101' (temp 4-component vector of float) -0:62 textureGatherOffset (global 4-component vector of float) +0:62 textureGatherOffset (temp 4-component vector of float) 0:62 Construct combined texture-sampler (temp sampler2D) 0:62 'g_tTex2df4' (uniform texture2D) 0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -166,7 +166,7 @@ gl_FragCoord origin is upper left 0:63 Sequence 0:63 move second child to first child (temp 4-component vector of int) 0:63 'txval111' (temp 4-component vector of int) -0:63 textureGatherOffset (global 4-component vector of int) +0:63 textureGatherOffset (temp 4-component vector of int) 0:63 Construct combined texture-sampler (temp isampler2D) 0:63 'g_tTex2di4' (uniform itexture2D) 0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -183,7 +183,7 @@ gl_FragCoord origin is upper left 0:64 Sequence 0:64 move second child to first child (temp 4-component vector of uint) 0:64 'txval121' (temp 4-component vector of uint) -0:64 textureGatherOffset (global 4-component vector of uint) +0:64 textureGatherOffset (temp 4-component vector of uint) 0:64 Construct combined texture-sampler (temp usampler2D) 0:64 'g_tTex2du4' (uniform utexture2D) 0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -200,7 +200,7 @@ gl_FragCoord origin is upper left 0:66 Sequence 0:66 move second child to first child (temp 4-component vector of float) 0:66 'txval104' (temp 4-component vector of float) -0:66 textureGatherOffsets (global 4-component vector of float) +0:66 textureGatherOffsets (temp 4-component vector of float) 0:66 Construct combined texture-sampler (temp sampler2D) 0:66 'g_tTex2df4' (uniform texture2D) 0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -230,7 +230,7 @@ gl_FragCoord origin is upper left 0:67 Sequence 0:67 move second child to first child (temp 4-component vector of int) 0:67 'txval114' (temp 4-component vector of int) -0:67 textureGatherOffsets (global 4-component vector of int) +0:67 textureGatherOffsets (temp 4-component vector of int) 0:67 Construct combined texture-sampler (temp isampler2D) 0:67 'g_tTex2di4' (uniform itexture2D) 0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -260,7 +260,7 @@ gl_FragCoord origin is upper left 0:68 Sequence 0:68 move second child to first child (temp 4-component vector of uint) 0:68 'txval124' (temp 4-component vector of uint) -0:68 textureGatherOffsets (global 4-component vector of uint) +0:68 textureGatherOffsets (temp 4-component vector of uint) 0:68 Construct combined texture-sampler (temp usampler2D) 0:68 'g_tTex2du4' (uniform utexture2D) 0:68 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -290,7 +290,7 @@ gl_FragCoord origin is upper left 0:78 Sequence 0:78 move second child to first child (temp 4-component vector of float) 0:78 'txval201' (temp 4-component vector of float) -0:78 textureGatherOffset (global 4-component vector of float) +0:78 textureGatherOffset (temp 4-component vector of float) 0:78 Construct combined texture-sampler (temp sampler2D) 0:78 'g_tTex2df4' (uniform texture2D) 0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -307,7 +307,7 @@ gl_FragCoord origin is upper left 0:79 Sequence 0:79 move second child to first child (temp 4-component vector of int) 0:79 'txval211' (temp 4-component vector of int) -0:79 textureGatherOffset (global 4-component vector of int) +0:79 textureGatherOffset (temp 4-component vector of int) 0:79 Construct combined texture-sampler (temp isampler2D) 0:79 'g_tTex2di4' (uniform itexture2D) 0:79 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -324,7 +324,7 @@ gl_FragCoord origin is upper left 0:80 Sequence 0:80 move second child to first child (temp 4-component vector of uint) 0:80 'txval221' (temp 4-component vector of uint) -0:80 textureGatherOffset (global 4-component vector of uint) +0:80 textureGatherOffset (temp 4-component vector of uint) 0:80 Construct combined texture-sampler (temp usampler2D) 0:80 'g_tTex2du4' (uniform utexture2D) 0:80 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -341,7 +341,7 @@ gl_FragCoord origin is upper left 0:82 Sequence 0:82 move second child to first child (temp 4-component vector of float) 0:82 'txval204' (temp 4-component vector of float) -0:82 textureGatherOffsets (global 4-component vector of float) +0:82 textureGatherOffsets (temp 4-component vector of float) 0:82 Construct combined texture-sampler (temp sampler2D) 0:82 'g_tTex2df4' (uniform texture2D) 0:82 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -371,7 +371,7 @@ gl_FragCoord origin is upper left 0:83 Sequence 0:83 move second child to first child (temp 4-component vector of int) 0:83 'txval214' (temp 4-component vector of int) -0:83 textureGatherOffsets (global 4-component vector of int) +0:83 textureGatherOffsets (temp 4-component vector of int) 0:83 Construct combined texture-sampler (temp isampler2D) 0:83 'g_tTex2di4' (uniform itexture2D) 0:83 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -401,7 +401,7 @@ gl_FragCoord origin is upper left 0:84 Sequence 0:84 move second child to first child (temp 4-component vector of uint) 0:84 'txval224' (temp 4-component vector of uint) -0:84 textureGatherOffsets (global 4-component vector of uint) +0:84 textureGatherOffsets (temp 4-component vector of uint) 0:84 Construct combined texture-sampler (temp usampler2D) 0:84 'g_tTex2du4' (uniform utexture2D) 0:84 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -431,7 +431,7 @@ gl_FragCoord origin is upper left 0:94 Sequence 0:94 move second child to first child (temp 4-component vector of float) 0:94 'txval301' (temp 4-component vector of float) -0:94 textureGatherOffset (global 4-component vector of float) +0:94 textureGatherOffset (temp 4-component vector of float) 0:94 Construct combined texture-sampler (temp sampler2D) 0:94 'g_tTex2df4' (uniform texture2D) 0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -448,7 +448,7 @@ gl_FragCoord origin is upper left 0:95 Sequence 0:95 move second child to first child (temp 4-component vector of int) 0:95 'txval311' (temp 4-component vector of int) -0:95 textureGatherOffset (global 4-component vector of int) +0:95 textureGatherOffset (temp 4-component vector of int) 0:95 Construct combined texture-sampler (temp isampler2D) 0:95 'g_tTex2di4' (uniform itexture2D) 0:95 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -465,7 +465,7 @@ gl_FragCoord origin is upper left 0:96 Sequence 0:96 move second child to first child (temp 4-component vector of uint) 0:96 'txval321' (temp 4-component vector of uint) -0:96 textureGatherOffset (global 4-component vector of uint) +0:96 textureGatherOffset (temp 4-component vector of uint) 0:96 Construct combined texture-sampler (temp usampler2D) 0:96 'g_tTex2du4' (uniform utexture2D) 0:96 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -482,7 +482,7 @@ gl_FragCoord origin is upper left 0:98 Sequence 0:98 move second child to first child (temp 4-component vector of float) 0:98 'txval304' (temp 4-component vector of float) -0:98 textureGatherOffsets (global 4-component vector of float) +0:98 textureGatherOffsets (temp 4-component vector of float) 0:98 Construct combined texture-sampler (temp sampler2D) 0:98 'g_tTex2df4' (uniform texture2D) 0:98 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -512,7 +512,7 @@ gl_FragCoord origin is upper left 0:99 Sequence 0:99 move second child to first child (temp 4-component vector of int) 0:99 'txval314' (temp 4-component vector of int) -0:99 textureGatherOffsets (global 4-component vector of int) +0:99 textureGatherOffsets (temp 4-component vector of int) 0:99 Construct combined texture-sampler (temp isampler2D) 0:99 'g_tTex2di4' (uniform itexture2D) 0:99 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -542,7 +542,7 @@ gl_FragCoord origin is upper left 0:100 Sequence 0:100 move second child to first child (temp 4-component vector of uint) 0:100 'txval324' (temp 4-component vector of uint) -0:100 textureGatherOffsets (global 4-component vector of uint) +0:100 textureGatherOffsets (temp 4-component vector of uint) 0:100 Construct combined texture-sampler (temp usampler2D) 0:100 'g_tTex2du4' (uniform utexture2D) 0:100 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -602,6 +602,8 @@ gl_FragCoord origin is upper left 0:115 1 (const int) 0:115 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -617,9 +619,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -634,7 +634,7 @@ gl_FragCoord origin is upper left 0:46 Sequence 0:46 move second child to first child (temp 4-component vector of float) 0:46 'txval001' (temp 4-component vector of float) -0:46 textureGatherOffset (global 4-component vector of float) +0:46 textureGatherOffset (temp 4-component vector of float) 0:46 Construct combined texture-sampler (temp sampler2D) 0:46 'g_tTex2df4' (uniform texture2D) 0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -651,7 +651,7 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp 4-component vector of int) 0:47 'txval011' (temp 4-component vector of int) -0:47 textureGatherOffset (global 4-component vector of int) +0:47 textureGatherOffset (temp 4-component vector of int) 0:47 Construct combined texture-sampler (temp isampler2D) 0:47 'g_tTex2di4' (uniform itexture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -668,7 +668,7 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp 4-component vector of uint) 0:48 'txval021' (temp 4-component vector of uint) -0:48 textureGatherOffset (global 4-component vector of uint) +0:48 textureGatherOffset (temp 4-component vector of uint) 0:48 Construct combined texture-sampler (temp usampler2D) 0:48 'g_tTex2du4' (uniform utexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -685,7 +685,7 @@ gl_FragCoord origin is upper left 0:50 Sequence 0:50 move second child to first child (temp 4-component vector of float) 0:50 'txval004' (temp 4-component vector of float) -0:50 textureGatherOffsets (global 4-component vector of float) +0:50 textureGatherOffsets (temp 4-component vector of float) 0:50 Construct combined texture-sampler (temp sampler2D) 0:50 'g_tTex2df4' (uniform texture2D) 0:50 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -715,7 +715,7 @@ gl_FragCoord origin is upper left 0:51 Sequence 0:51 move second child to first child (temp 4-component vector of int) 0:51 'txval014' (temp 4-component vector of int) -0:51 textureGatherOffsets (global 4-component vector of int) +0:51 textureGatherOffsets (temp 4-component vector of int) 0:51 Construct combined texture-sampler (temp isampler2D) 0:51 'g_tTex2di4' (uniform itexture2D) 0:51 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -745,7 +745,7 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp 4-component vector of uint) 0:52 'txval024' (temp 4-component vector of uint) -0:52 textureGatherOffsets (global 4-component vector of uint) +0:52 textureGatherOffsets (temp 4-component vector of uint) 0:52 Construct combined texture-sampler (temp usampler2D) 0:52 'g_tTex2du4' (uniform utexture2D) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -775,7 +775,7 @@ gl_FragCoord origin is upper left 0:62 Sequence 0:62 move second child to first child (temp 4-component vector of float) 0:62 'txval101' (temp 4-component vector of float) -0:62 textureGatherOffset (global 4-component vector of float) +0:62 textureGatherOffset (temp 4-component vector of float) 0:62 Construct combined texture-sampler (temp sampler2D) 0:62 'g_tTex2df4' (uniform texture2D) 0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -792,7 +792,7 @@ gl_FragCoord origin is upper left 0:63 Sequence 0:63 move second child to first child (temp 4-component vector of int) 0:63 'txval111' (temp 4-component vector of int) -0:63 textureGatherOffset (global 4-component vector of int) +0:63 textureGatherOffset (temp 4-component vector of int) 0:63 Construct combined texture-sampler (temp isampler2D) 0:63 'g_tTex2di4' (uniform itexture2D) 0:63 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -809,7 +809,7 @@ gl_FragCoord origin is upper left 0:64 Sequence 0:64 move second child to first child (temp 4-component vector of uint) 0:64 'txval121' (temp 4-component vector of uint) -0:64 textureGatherOffset (global 4-component vector of uint) +0:64 textureGatherOffset (temp 4-component vector of uint) 0:64 Construct combined texture-sampler (temp usampler2D) 0:64 'g_tTex2du4' (uniform utexture2D) 0:64 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -826,7 +826,7 @@ gl_FragCoord origin is upper left 0:66 Sequence 0:66 move second child to first child (temp 4-component vector of float) 0:66 'txval104' (temp 4-component vector of float) -0:66 textureGatherOffsets (global 4-component vector of float) +0:66 textureGatherOffsets (temp 4-component vector of float) 0:66 Construct combined texture-sampler (temp sampler2D) 0:66 'g_tTex2df4' (uniform texture2D) 0:66 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -856,7 +856,7 @@ gl_FragCoord origin is upper left 0:67 Sequence 0:67 move second child to first child (temp 4-component vector of int) 0:67 'txval114' (temp 4-component vector of int) -0:67 textureGatherOffsets (global 4-component vector of int) +0:67 textureGatherOffsets (temp 4-component vector of int) 0:67 Construct combined texture-sampler (temp isampler2D) 0:67 'g_tTex2di4' (uniform itexture2D) 0:67 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -886,7 +886,7 @@ gl_FragCoord origin is upper left 0:68 Sequence 0:68 move second child to first child (temp 4-component vector of uint) 0:68 'txval124' (temp 4-component vector of uint) -0:68 textureGatherOffsets (global 4-component vector of uint) +0:68 textureGatherOffsets (temp 4-component vector of uint) 0:68 Construct combined texture-sampler (temp usampler2D) 0:68 'g_tTex2du4' (uniform utexture2D) 0:68 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -916,7 +916,7 @@ gl_FragCoord origin is upper left 0:78 Sequence 0:78 move second child to first child (temp 4-component vector of float) 0:78 'txval201' (temp 4-component vector of float) -0:78 textureGatherOffset (global 4-component vector of float) +0:78 textureGatherOffset (temp 4-component vector of float) 0:78 Construct combined texture-sampler (temp sampler2D) 0:78 'g_tTex2df4' (uniform texture2D) 0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -933,7 +933,7 @@ gl_FragCoord origin is upper left 0:79 Sequence 0:79 move second child to first child (temp 4-component vector of int) 0:79 'txval211' (temp 4-component vector of int) -0:79 textureGatherOffset (global 4-component vector of int) +0:79 textureGatherOffset (temp 4-component vector of int) 0:79 Construct combined texture-sampler (temp isampler2D) 0:79 'g_tTex2di4' (uniform itexture2D) 0:79 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -950,7 +950,7 @@ gl_FragCoord origin is upper left 0:80 Sequence 0:80 move second child to first child (temp 4-component vector of uint) 0:80 'txval221' (temp 4-component vector of uint) -0:80 textureGatherOffset (global 4-component vector of uint) +0:80 textureGatherOffset (temp 4-component vector of uint) 0:80 Construct combined texture-sampler (temp usampler2D) 0:80 'g_tTex2du4' (uniform utexture2D) 0:80 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -967,7 +967,7 @@ gl_FragCoord origin is upper left 0:82 Sequence 0:82 move second child to first child (temp 4-component vector of float) 0:82 'txval204' (temp 4-component vector of float) -0:82 textureGatherOffsets (global 4-component vector of float) +0:82 textureGatherOffsets (temp 4-component vector of float) 0:82 Construct combined texture-sampler (temp sampler2D) 0:82 'g_tTex2df4' (uniform texture2D) 0:82 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -997,7 +997,7 @@ gl_FragCoord origin is upper left 0:83 Sequence 0:83 move second child to first child (temp 4-component vector of int) 0:83 'txval214' (temp 4-component vector of int) -0:83 textureGatherOffsets (global 4-component vector of int) +0:83 textureGatherOffsets (temp 4-component vector of int) 0:83 Construct combined texture-sampler (temp isampler2D) 0:83 'g_tTex2di4' (uniform itexture2D) 0:83 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1027,7 +1027,7 @@ gl_FragCoord origin is upper left 0:84 Sequence 0:84 move second child to first child (temp 4-component vector of uint) 0:84 'txval224' (temp 4-component vector of uint) -0:84 textureGatherOffsets (global 4-component vector of uint) +0:84 textureGatherOffsets (temp 4-component vector of uint) 0:84 Construct combined texture-sampler (temp usampler2D) 0:84 'g_tTex2du4' (uniform utexture2D) 0:84 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1057,7 +1057,7 @@ gl_FragCoord origin is upper left 0:94 Sequence 0:94 move second child to first child (temp 4-component vector of float) 0:94 'txval301' (temp 4-component vector of float) -0:94 textureGatherOffset (global 4-component vector of float) +0:94 textureGatherOffset (temp 4-component vector of float) 0:94 Construct combined texture-sampler (temp sampler2D) 0:94 'g_tTex2df4' (uniform texture2D) 0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1074,7 +1074,7 @@ gl_FragCoord origin is upper left 0:95 Sequence 0:95 move second child to first child (temp 4-component vector of int) 0:95 'txval311' (temp 4-component vector of int) -0:95 textureGatherOffset (global 4-component vector of int) +0:95 textureGatherOffset (temp 4-component vector of int) 0:95 Construct combined texture-sampler (temp isampler2D) 0:95 'g_tTex2di4' (uniform itexture2D) 0:95 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1091,7 +1091,7 @@ gl_FragCoord origin is upper left 0:96 Sequence 0:96 move second child to first child (temp 4-component vector of uint) 0:96 'txval321' (temp 4-component vector of uint) -0:96 textureGatherOffset (global 4-component vector of uint) +0:96 textureGatherOffset (temp 4-component vector of uint) 0:96 Construct combined texture-sampler (temp usampler2D) 0:96 'g_tTex2du4' (uniform utexture2D) 0:96 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1108,7 +1108,7 @@ gl_FragCoord origin is upper left 0:98 Sequence 0:98 move second child to first child (temp 4-component vector of float) 0:98 'txval304' (temp 4-component vector of float) -0:98 textureGatherOffsets (global 4-component vector of float) +0:98 textureGatherOffsets (temp 4-component vector of float) 0:98 Construct combined texture-sampler (temp sampler2D) 0:98 'g_tTex2df4' (uniform texture2D) 0:98 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1138,7 +1138,7 @@ gl_FragCoord origin is upper left 0:99 Sequence 0:99 move second child to first child (temp 4-component vector of int) 0:99 'txval314' (temp 4-component vector of int) -0:99 textureGatherOffsets (global 4-component vector of int) +0:99 textureGatherOffsets (temp 4-component vector of int) 0:99 Construct combined texture-sampler (temp isampler2D) 0:99 'g_tTex2di4' (uniform itexture2D) 0:99 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1168,7 +1168,7 @@ gl_FragCoord origin is upper left 0:100 Sequence 0:100 move second child to first child (temp 4-component vector of uint) 0:100 'txval324' (temp 4-component vector of uint) -0:100 textureGatherOffsets (global 4-component vector of uint) +0:100 textureGatherOffsets (temp 4-component vector of uint) 0:100 Construct combined texture-sampler (temp usampler2D) 0:100 'g_tTex2du4' (uniform utexture2D) 0:100 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1228,6 +1228,8 @@ gl_FragCoord origin is upper left 0:115 1 (const int) 0:115 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -1243,9 +1245,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index f565379f..4722cff6 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -8,7 +8,7 @@ gl_FragCoord origin is upper left 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of float) 0:40 'txval001' (temp 4-component vector of float) -0:40 textureGatherOffset (global 4-component vector of float) +0:40 textureGatherOffset (temp 4-component vector of float) 0:40 Construct combined texture-sampler (temp sampler2DArray) 0:40 'g_tTex2df4a' (uniform texture2DArray) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -25,7 +25,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of int) 0:41 'txval011' (temp 4-component vector of int) -0:41 textureGatherOffset (global 4-component vector of int) +0:41 textureGatherOffset (temp 4-component vector of int) 0:41 Construct combined texture-sampler (temp isampler2DArray) 0:41 'g_tTex2di4a' (uniform itexture2DArray) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -42,7 +42,7 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp 4-component vector of uint) 0:42 'txval021' (temp 4-component vector of uint) -0:42 textureGatherOffset (global 4-component vector of uint) +0:42 textureGatherOffset (temp 4-component vector of uint) 0:42 Construct combined texture-sampler (temp usampler2DArray) 0:42 'g_tTex2du4a' (uniform utexture2DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -59,7 +59,7 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp 4-component vector of float) 0:44 'txval004' (temp 4-component vector of float) -0:44 textureGatherOffsets (global 4-component vector of float) +0:44 textureGatherOffsets (temp 4-component vector of float) 0:44 Construct combined texture-sampler (temp sampler2DArray) 0:44 'g_tTex2df4a' (uniform texture2DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -89,7 +89,7 @@ gl_FragCoord origin is upper left 0:45 Sequence 0:45 move second child to first child (temp 4-component vector of int) 0:45 'txval014' (temp 4-component vector of int) -0:45 textureGatherOffsets (global 4-component vector of int) +0:45 textureGatherOffsets (temp 4-component vector of int) 0:45 Construct combined texture-sampler (temp isampler2DArray) 0:45 'g_tTex2di4a' (uniform itexture2DArray) 0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -119,7 +119,7 @@ gl_FragCoord origin is upper left 0:46 Sequence 0:46 move second child to first child (temp 4-component vector of uint) 0:46 'txval024' (temp 4-component vector of uint) -0:46 textureGatherOffsets (global 4-component vector of uint) +0:46 textureGatherOffsets (temp 4-component vector of uint) 0:46 Construct combined texture-sampler (temp usampler2DArray) 0:46 'g_tTex2du4a' (uniform utexture2DArray) 0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -149,7 +149,7 @@ gl_FragCoord origin is upper left 0:56 Sequence 0:56 move second child to first child (temp 4-component vector of float) 0:56 'txval101' (temp 4-component vector of float) -0:56 textureGatherOffset (global 4-component vector of float) +0:56 textureGatherOffset (temp 4-component vector of float) 0:56 Construct combined texture-sampler (temp sampler2DArray) 0:56 'g_tTex2df4a' (uniform texture2DArray) 0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -166,7 +166,7 @@ gl_FragCoord origin is upper left 0:57 Sequence 0:57 move second child to first child (temp 4-component vector of int) 0:57 'txval111' (temp 4-component vector of int) -0:57 textureGatherOffset (global 4-component vector of int) +0:57 textureGatherOffset (temp 4-component vector of int) 0:57 Construct combined texture-sampler (temp isampler2DArray) 0:57 'g_tTex2di4a' (uniform itexture2DArray) 0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -183,7 +183,7 @@ gl_FragCoord origin is upper left 0:58 Sequence 0:58 move second child to first child (temp 4-component vector of uint) 0:58 'txval121' (temp 4-component vector of uint) -0:58 textureGatherOffset (global 4-component vector of uint) +0:58 textureGatherOffset (temp 4-component vector of uint) 0:58 Construct combined texture-sampler (temp usampler2DArray) 0:58 'g_tTex2du4a' (uniform utexture2DArray) 0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -200,7 +200,7 @@ gl_FragCoord origin is upper left 0:60 Sequence 0:60 move second child to first child (temp 4-component vector of float) 0:60 'txval104' (temp 4-component vector of float) -0:60 textureGatherOffsets (global 4-component vector of float) +0:60 textureGatherOffsets (temp 4-component vector of float) 0:60 Construct combined texture-sampler (temp sampler2DArray) 0:60 'g_tTex2df4a' (uniform texture2DArray) 0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -230,7 +230,7 @@ gl_FragCoord origin is upper left 0:61 Sequence 0:61 move second child to first child (temp 4-component vector of int) 0:61 'txval114' (temp 4-component vector of int) -0:61 textureGatherOffsets (global 4-component vector of int) +0:61 textureGatherOffsets (temp 4-component vector of int) 0:61 Construct combined texture-sampler (temp isampler2DArray) 0:61 'g_tTex2di4a' (uniform itexture2DArray) 0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -260,7 +260,7 @@ gl_FragCoord origin is upper left 0:62 Sequence 0:62 move second child to first child (temp 4-component vector of uint) 0:62 'txval124' (temp 4-component vector of uint) -0:62 textureGatherOffsets (global 4-component vector of uint) +0:62 textureGatherOffsets (temp 4-component vector of uint) 0:62 Construct combined texture-sampler (temp usampler2DArray) 0:62 'g_tTex2du4a' (uniform utexture2DArray) 0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -290,7 +290,7 @@ gl_FragCoord origin is upper left 0:72 Sequence 0:72 move second child to first child (temp 4-component vector of float) 0:72 'txval201' (temp 4-component vector of float) -0:72 textureGatherOffset (global 4-component vector of float) +0:72 textureGatherOffset (temp 4-component vector of float) 0:72 Construct combined texture-sampler (temp sampler2DArray) 0:72 'g_tTex2df4a' (uniform texture2DArray) 0:72 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -307,7 +307,7 @@ gl_FragCoord origin is upper left 0:73 Sequence 0:73 move second child to first child (temp 4-component vector of int) 0:73 'txval211' (temp 4-component vector of int) -0:73 textureGatherOffset (global 4-component vector of int) +0:73 textureGatherOffset (temp 4-component vector of int) 0:73 Construct combined texture-sampler (temp isampler2DArray) 0:73 'g_tTex2di4a' (uniform itexture2DArray) 0:73 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -324,7 +324,7 @@ gl_FragCoord origin is upper left 0:74 Sequence 0:74 move second child to first child (temp 4-component vector of uint) 0:74 'txval221' (temp 4-component vector of uint) -0:74 textureGatherOffset (global 4-component vector of uint) +0:74 textureGatherOffset (temp 4-component vector of uint) 0:74 Construct combined texture-sampler (temp usampler2DArray) 0:74 'g_tTex2du4a' (uniform utexture2DArray) 0:74 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -341,7 +341,7 @@ gl_FragCoord origin is upper left 0:76 Sequence 0:76 move second child to first child (temp 4-component vector of float) 0:76 'txval204' (temp 4-component vector of float) -0:76 textureGatherOffsets (global 4-component vector of float) +0:76 textureGatherOffsets (temp 4-component vector of float) 0:76 Construct combined texture-sampler (temp sampler2DArray) 0:76 'g_tTex2df4a' (uniform texture2DArray) 0:76 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -371,7 +371,7 @@ gl_FragCoord origin is upper left 0:77 Sequence 0:77 move second child to first child (temp 4-component vector of int) 0:77 'txval214' (temp 4-component vector of int) -0:77 textureGatherOffsets (global 4-component vector of int) +0:77 textureGatherOffsets (temp 4-component vector of int) 0:77 Construct combined texture-sampler (temp isampler2DArray) 0:77 'g_tTex2di4a' (uniform itexture2DArray) 0:77 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -401,7 +401,7 @@ gl_FragCoord origin is upper left 0:78 Sequence 0:78 move second child to first child (temp 4-component vector of uint) 0:78 'txval224' (temp 4-component vector of uint) -0:78 textureGatherOffsets (global 4-component vector of uint) +0:78 textureGatherOffsets (temp 4-component vector of uint) 0:78 Construct combined texture-sampler (temp usampler2DArray) 0:78 'g_tTex2du4a' (uniform utexture2DArray) 0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -431,7 +431,7 @@ gl_FragCoord origin is upper left 0:88 Sequence 0:88 move second child to first child (temp 4-component vector of float) 0:88 'txval301' (temp 4-component vector of float) -0:88 textureGatherOffset (global 4-component vector of float) +0:88 textureGatherOffset (temp 4-component vector of float) 0:88 Construct combined texture-sampler (temp sampler2DArray) 0:88 'g_tTex2df4a' (uniform texture2DArray) 0:88 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -448,7 +448,7 @@ gl_FragCoord origin is upper left 0:89 Sequence 0:89 move second child to first child (temp 4-component vector of int) 0:89 'txval311' (temp 4-component vector of int) -0:89 textureGatherOffset (global 4-component vector of int) +0:89 textureGatherOffset (temp 4-component vector of int) 0:89 Construct combined texture-sampler (temp isampler2DArray) 0:89 'g_tTex2di4a' (uniform itexture2DArray) 0:89 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -465,7 +465,7 @@ gl_FragCoord origin is upper left 0:90 Sequence 0:90 move second child to first child (temp 4-component vector of uint) 0:90 'txval321' (temp 4-component vector of uint) -0:90 textureGatherOffset (global 4-component vector of uint) +0:90 textureGatherOffset (temp 4-component vector of uint) 0:90 Construct combined texture-sampler (temp usampler2DArray) 0:90 'g_tTex2du4a' (uniform utexture2DArray) 0:90 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -482,7 +482,7 @@ gl_FragCoord origin is upper left 0:92 Sequence 0:92 move second child to first child (temp 4-component vector of float) 0:92 'txval304' (temp 4-component vector of float) -0:92 textureGatherOffsets (global 4-component vector of float) +0:92 textureGatherOffsets (temp 4-component vector of float) 0:92 Construct combined texture-sampler (temp sampler2DArray) 0:92 'g_tTex2df4a' (uniform texture2DArray) 0:92 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -512,7 +512,7 @@ gl_FragCoord origin is upper left 0:93 Sequence 0:93 move second child to first child (temp 4-component vector of int) 0:93 'txval314' (temp 4-component vector of int) -0:93 textureGatherOffsets (global 4-component vector of int) +0:93 textureGatherOffsets (temp 4-component vector of int) 0:93 Construct combined texture-sampler (temp isampler2DArray) 0:93 'g_tTex2di4a' (uniform itexture2DArray) 0:93 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -542,7 +542,7 @@ gl_FragCoord origin is upper left 0:94 Sequence 0:94 move second child to first child (temp 4-component vector of uint) 0:94 'txval324' (temp 4-component vector of uint) -0:94 textureGatherOffsets (global 4-component vector of uint) +0:94 textureGatherOffsets (temp 4-component vector of uint) 0:94 Construct combined texture-sampler (temp usampler2DArray) 0:94 'g_tTex2du4a' (uniform utexture2DArray) 0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -602,6 +602,8 @@ gl_FragCoord origin is upper left 0:109 1 (const int) 0:109 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -613,9 +615,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -630,7 +630,7 @@ gl_FragCoord origin is upper left 0:40 Sequence 0:40 move second child to first child (temp 4-component vector of float) 0:40 'txval001' (temp 4-component vector of float) -0:40 textureGatherOffset (global 4-component vector of float) +0:40 textureGatherOffset (temp 4-component vector of float) 0:40 Construct combined texture-sampler (temp sampler2DArray) 0:40 'g_tTex2df4a' (uniform texture2DArray) 0:40 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -647,7 +647,7 @@ gl_FragCoord origin is upper left 0:41 Sequence 0:41 move second child to first child (temp 4-component vector of int) 0:41 'txval011' (temp 4-component vector of int) -0:41 textureGatherOffset (global 4-component vector of int) +0:41 textureGatherOffset (temp 4-component vector of int) 0:41 Construct combined texture-sampler (temp isampler2DArray) 0:41 'g_tTex2di4a' (uniform itexture2DArray) 0:41 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -664,7 +664,7 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp 4-component vector of uint) 0:42 'txval021' (temp 4-component vector of uint) -0:42 textureGatherOffset (global 4-component vector of uint) +0:42 textureGatherOffset (temp 4-component vector of uint) 0:42 Construct combined texture-sampler (temp usampler2DArray) 0:42 'g_tTex2du4a' (uniform utexture2DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -681,7 +681,7 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp 4-component vector of float) 0:44 'txval004' (temp 4-component vector of float) -0:44 textureGatherOffsets (global 4-component vector of float) +0:44 textureGatherOffsets (temp 4-component vector of float) 0:44 Construct combined texture-sampler (temp sampler2DArray) 0:44 'g_tTex2df4a' (uniform texture2DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -711,7 +711,7 @@ gl_FragCoord origin is upper left 0:45 Sequence 0:45 move second child to first child (temp 4-component vector of int) 0:45 'txval014' (temp 4-component vector of int) -0:45 textureGatherOffsets (global 4-component vector of int) +0:45 textureGatherOffsets (temp 4-component vector of int) 0:45 Construct combined texture-sampler (temp isampler2DArray) 0:45 'g_tTex2di4a' (uniform itexture2DArray) 0:45 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -741,7 +741,7 @@ gl_FragCoord origin is upper left 0:46 Sequence 0:46 move second child to first child (temp 4-component vector of uint) 0:46 'txval024' (temp 4-component vector of uint) -0:46 textureGatherOffsets (global 4-component vector of uint) +0:46 textureGatherOffsets (temp 4-component vector of uint) 0:46 Construct combined texture-sampler (temp usampler2DArray) 0:46 'g_tTex2du4a' (uniform utexture2DArray) 0:46 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -771,7 +771,7 @@ gl_FragCoord origin is upper left 0:56 Sequence 0:56 move second child to first child (temp 4-component vector of float) 0:56 'txval101' (temp 4-component vector of float) -0:56 textureGatherOffset (global 4-component vector of float) +0:56 textureGatherOffset (temp 4-component vector of float) 0:56 Construct combined texture-sampler (temp sampler2DArray) 0:56 'g_tTex2df4a' (uniform texture2DArray) 0:56 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -788,7 +788,7 @@ gl_FragCoord origin is upper left 0:57 Sequence 0:57 move second child to first child (temp 4-component vector of int) 0:57 'txval111' (temp 4-component vector of int) -0:57 textureGatherOffset (global 4-component vector of int) +0:57 textureGatherOffset (temp 4-component vector of int) 0:57 Construct combined texture-sampler (temp isampler2DArray) 0:57 'g_tTex2di4a' (uniform itexture2DArray) 0:57 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -805,7 +805,7 @@ gl_FragCoord origin is upper left 0:58 Sequence 0:58 move second child to first child (temp 4-component vector of uint) 0:58 'txval121' (temp 4-component vector of uint) -0:58 textureGatherOffset (global 4-component vector of uint) +0:58 textureGatherOffset (temp 4-component vector of uint) 0:58 Construct combined texture-sampler (temp usampler2DArray) 0:58 'g_tTex2du4a' (uniform utexture2DArray) 0:58 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -822,7 +822,7 @@ gl_FragCoord origin is upper left 0:60 Sequence 0:60 move second child to first child (temp 4-component vector of float) 0:60 'txval104' (temp 4-component vector of float) -0:60 textureGatherOffsets (global 4-component vector of float) +0:60 textureGatherOffsets (temp 4-component vector of float) 0:60 Construct combined texture-sampler (temp sampler2DArray) 0:60 'g_tTex2df4a' (uniform texture2DArray) 0:60 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -852,7 +852,7 @@ gl_FragCoord origin is upper left 0:61 Sequence 0:61 move second child to first child (temp 4-component vector of int) 0:61 'txval114' (temp 4-component vector of int) -0:61 textureGatherOffsets (global 4-component vector of int) +0:61 textureGatherOffsets (temp 4-component vector of int) 0:61 Construct combined texture-sampler (temp isampler2DArray) 0:61 'g_tTex2di4a' (uniform itexture2DArray) 0:61 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -882,7 +882,7 @@ gl_FragCoord origin is upper left 0:62 Sequence 0:62 move second child to first child (temp 4-component vector of uint) 0:62 'txval124' (temp 4-component vector of uint) -0:62 textureGatherOffsets (global 4-component vector of uint) +0:62 textureGatherOffsets (temp 4-component vector of uint) 0:62 Construct combined texture-sampler (temp usampler2DArray) 0:62 'g_tTex2du4a' (uniform utexture2DArray) 0:62 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -912,7 +912,7 @@ gl_FragCoord origin is upper left 0:72 Sequence 0:72 move second child to first child (temp 4-component vector of float) 0:72 'txval201' (temp 4-component vector of float) -0:72 textureGatherOffset (global 4-component vector of float) +0:72 textureGatherOffset (temp 4-component vector of float) 0:72 Construct combined texture-sampler (temp sampler2DArray) 0:72 'g_tTex2df4a' (uniform texture2DArray) 0:72 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -929,7 +929,7 @@ gl_FragCoord origin is upper left 0:73 Sequence 0:73 move second child to first child (temp 4-component vector of int) 0:73 'txval211' (temp 4-component vector of int) -0:73 textureGatherOffset (global 4-component vector of int) +0:73 textureGatherOffset (temp 4-component vector of int) 0:73 Construct combined texture-sampler (temp isampler2DArray) 0:73 'g_tTex2di4a' (uniform itexture2DArray) 0:73 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -946,7 +946,7 @@ gl_FragCoord origin is upper left 0:74 Sequence 0:74 move second child to first child (temp 4-component vector of uint) 0:74 'txval221' (temp 4-component vector of uint) -0:74 textureGatherOffset (global 4-component vector of uint) +0:74 textureGatherOffset (temp 4-component vector of uint) 0:74 Construct combined texture-sampler (temp usampler2DArray) 0:74 'g_tTex2du4a' (uniform utexture2DArray) 0:74 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -963,7 +963,7 @@ gl_FragCoord origin is upper left 0:76 Sequence 0:76 move second child to first child (temp 4-component vector of float) 0:76 'txval204' (temp 4-component vector of float) -0:76 textureGatherOffsets (global 4-component vector of float) +0:76 textureGatherOffsets (temp 4-component vector of float) 0:76 Construct combined texture-sampler (temp sampler2DArray) 0:76 'g_tTex2df4a' (uniform texture2DArray) 0:76 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -993,7 +993,7 @@ gl_FragCoord origin is upper left 0:77 Sequence 0:77 move second child to first child (temp 4-component vector of int) 0:77 'txval214' (temp 4-component vector of int) -0:77 textureGatherOffsets (global 4-component vector of int) +0:77 textureGatherOffsets (temp 4-component vector of int) 0:77 Construct combined texture-sampler (temp isampler2DArray) 0:77 'g_tTex2di4a' (uniform itexture2DArray) 0:77 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1023,7 +1023,7 @@ gl_FragCoord origin is upper left 0:78 Sequence 0:78 move second child to first child (temp 4-component vector of uint) 0:78 'txval224' (temp 4-component vector of uint) -0:78 textureGatherOffsets (global 4-component vector of uint) +0:78 textureGatherOffsets (temp 4-component vector of uint) 0:78 Construct combined texture-sampler (temp usampler2DArray) 0:78 'g_tTex2du4a' (uniform utexture2DArray) 0:78 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1053,7 +1053,7 @@ gl_FragCoord origin is upper left 0:88 Sequence 0:88 move second child to first child (temp 4-component vector of float) 0:88 'txval301' (temp 4-component vector of float) -0:88 textureGatherOffset (global 4-component vector of float) +0:88 textureGatherOffset (temp 4-component vector of float) 0:88 Construct combined texture-sampler (temp sampler2DArray) 0:88 'g_tTex2df4a' (uniform texture2DArray) 0:88 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1070,7 +1070,7 @@ gl_FragCoord origin is upper left 0:89 Sequence 0:89 move second child to first child (temp 4-component vector of int) 0:89 'txval311' (temp 4-component vector of int) -0:89 textureGatherOffset (global 4-component vector of int) +0:89 textureGatherOffset (temp 4-component vector of int) 0:89 Construct combined texture-sampler (temp isampler2DArray) 0:89 'g_tTex2di4a' (uniform itexture2DArray) 0:89 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1087,7 +1087,7 @@ gl_FragCoord origin is upper left 0:90 Sequence 0:90 move second child to first child (temp 4-component vector of uint) 0:90 'txval321' (temp 4-component vector of uint) -0:90 textureGatherOffset (global 4-component vector of uint) +0:90 textureGatherOffset (temp 4-component vector of uint) 0:90 Construct combined texture-sampler (temp usampler2DArray) 0:90 'g_tTex2du4a' (uniform utexture2DArray) 0:90 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1104,7 +1104,7 @@ gl_FragCoord origin is upper left 0:92 Sequence 0:92 move second child to first child (temp 4-component vector of float) 0:92 'txval304' (temp 4-component vector of float) -0:92 textureGatherOffsets (global 4-component vector of float) +0:92 textureGatherOffsets (temp 4-component vector of float) 0:92 Construct combined texture-sampler (temp sampler2DArray) 0:92 'g_tTex2df4a' (uniform texture2DArray) 0:92 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1134,7 +1134,7 @@ gl_FragCoord origin is upper left 0:93 Sequence 0:93 move second child to first child (temp 4-component vector of int) 0:93 'txval314' (temp 4-component vector of int) -0:93 textureGatherOffsets (global 4-component vector of int) +0:93 textureGatherOffsets (temp 4-component vector of int) 0:93 Construct combined texture-sampler (temp isampler2DArray) 0:93 'g_tTex2di4a' (uniform itexture2DArray) 0:93 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1164,7 +1164,7 @@ gl_FragCoord origin is upper left 0:94 Sequence 0:94 move second child to first child (temp 4-component vector of uint) 0:94 'txval324' (temp 4-component vector of uint) -0:94 textureGatherOffsets (global 4-component vector of uint) +0:94 textureGatherOffsets (temp 4-component vector of uint) 0:94 Construct combined texture-sampler (temp usampler2DArray) 0:94 'g_tTex2du4a' (uniform utexture2DArray) 0:94 'g_sSamp' (layout(binding=0 ) uniform sampler) @@ -1224,6 +1224,8 @@ gl_FragCoord origin is upper left 0:109 1 (const int) 0:109 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray) @@ -1235,9 +1237,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 3a55d682..0c488cfb 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -1076,6 +1076,8 @@ gl_FragCoord origin is upper left 0:279 1 (const int) 0:279 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -1104,8 +1106,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -2188,6 +2188,8 @@ gl_FragCoord origin is upper left 0:279 1 (const int) 0:279 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -2216,8 +2218,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out index 3a05bca8..c1c90f4b 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -46,9 +46,9 @@ Shader version: 450 0:26 0 (const int) 0:26 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'Pos' (out 4-component vector of float Position) Linked vertex stage: @@ -101,9 +101,9 @@ Shader version: 450 0:26 0 (const int) 0:26 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) -0:? 'Pos' (out 4-component vector of float Position) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out index 717c376a..918246b6 100644 --- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out @@ -326,6 +326,8 @@ gl_FragCoord origin is upper left 0:95 1 (const int) 0:95 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -345,9 +347,7 @@ gl_FragCoord origin is upper left 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -680,6 +680,8 @@ gl_FragCoord origin is upper left 0:95 1 (const int) 0:95 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -699,9 +701,7 @@ gl_FragCoord origin is upper left 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 @@ -796,6 +796,14 @@ gl_FragCoord origin is upper left Decorate 214(Depth) BuiltIn FragDepth Decorate 220(g_sSamp) DescriptorSet 0 Decorate 220(g_sSamp) Binding 0 + MemberDecorate 222($Global) 0 Offset 0 + MemberDecorate 222($Global) 1 Offset 8 + MemberDecorate 222($Global) 2 Offset 16 + MemberDecorate 222($Global) 3 Offset 32 + MemberDecorate 222($Global) 4 Offset 48 + MemberDecorate 222($Global) 5 Offset 56 + MemberDecorate 222($Global) 6 Offset 64 + MemberDecorate 222($Global) 7 Offset 80 Decorate 222($Global) Block Decorate 224 DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index 9465c62b..5985eadc 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -14,7 +14,7 @@ ERROR: node is still EOpNull! 0:16 move second child to first child (temp 2-component vector of float) 0:16 'r00' (temp 2-component vector of float) 0:16 ERROR: Bad aggregation op - (global 2-component vector of float) + (temp 2-component vector of float) 0:16 'g_tTex2dmsf4' (uniform texture2DMS) 0:16 Constant: 0:16 1 (const int) @@ -22,7 +22,7 @@ ERROR: node is still EOpNull! 0:17 move second child to first child (temp 2-component vector of float) 0:17 'r01' (temp 2-component vector of float) 0:17 ERROR: Bad aggregation op - (global 2-component vector of float) + (temp 2-component vector of float) 0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:17 Constant: 0:17 2 (const int) @@ -59,11 +59,11 @@ ERROR: node is still EOpNull! 0:22 1 (const int) 0:22 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -79,7 +79,7 @@ ERROR: node is still EOpNull! 0:16 move second child to first child (temp 2-component vector of float) 0:16 'r00' (temp 2-component vector of float) 0:16 ERROR: Bad aggregation op - (global 2-component vector of float) + (temp 2-component vector of float) 0:16 'g_tTex2dmsf4' (uniform texture2DMS) 0:16 Constant: 0:16 1 (const int) @@ -87,7 +87,7 @@ ERROR: node is still EOpNull! 0:17 move second child to first child (temp 2-component vector of float) 0:17 'r01' (temp 2-component vector of float) 0:17 ERROR: Bad aggregation op - (global 2-component vector of float) + (temp 2-component vector of float) 0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:17 Constant: 0:17 2 (const int) @@ -124,10 +124,10 @@ ERROR: node is still EOpNull! 0:22 1 (const int) 0:22 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/hlsl.identifier.sample.frag.out b/Test/baseResults/hlsl.identifier.sample.frag.out new file mode 100644 index 00000000..8e740819 --- /dev/null +++ b/Test/baseResults/hlsl.identifier.sample.frag.out @@ -0,0 +1,103 @@ +hlsl.identifier.sample.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:9 Function Definition: sample(i1; (temp int) +0:9 Function Parameters: +0:9 'x' (in int) +0:? Sequence +0:9 Branch: Return with expression +0:9 'x' (in int) +0:12 Function Definition: main( (temp 4-component vector of float) +0:12 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child (temp int) +0:15 'sample' (temp int) +0:15 Constant: +0:15 3 (const int) +0:17 Sequence +0:17 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:17 Branch: Return +0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:9 Function Definition: sample(i1; (temp int) +0:9 Function Parameters: +0:9 'x' (in int) +0:? Sequence +0:9 Branch: Return with expression +0:9 'x' (in int) +0:12 Function Definition: main( (temp 4-component vector of float) +0:12 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child (temp int) +0:15 'sample' (temp int) +0:15 Constant: +0:15 3 (const int) +0:17 Sequence +0:17 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:17 Branch: Return +0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 24 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 20 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 10 "sample(i1;" + Name 9 "x" + Name 15 "sample" + Name 20 "@entryPointOutput" + Decorate 20(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypePointer Function 6(int) + 8: TypeFunction 6(int) 7(ptr) + 16: 6(int) Constant 3 + 17: TypeFloat 32 + 18: TypeVector 17(float) 4 + 19: TypePointer Output 18(fvec4) +20(@entryPointOutput): 19(ptr) Variable Output + 21: 17(float) Constant 0 + 22: 18(fvec4) ConstantComposite 21 21 21 21 + 4(main): 2 Function None 3 + 5: Label + 15(sample): 7(ptr) Variable Function + Store 15(sample) 16 + Store 20(@entryPointOutput) 22 + Return + FunctionEnd + 10(sample(i1;): 6(int) Function None 8 + 9(x): 7(ptr) FunctionParameter + 11: Label + 12: 6(int) Load 9(x) + ReturnValue 12 + FunctionEnd diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out index 3b329ae1..c37bff61 100755 --- a/Test/baseResults/hlsl.if.frag.out +++ b/Test/baseResults/hlsl.if.frag.out @@ -8,9 +8,10 @@ gl_FragCoord origin is upper left 0:? Sequence 0:3 Test condition and select (temp void) 0:3 Condition -0:3 Compare Equal (temp bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 all (temp bool) +0:3 Equal (temp 4-component vector of bool) +0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 true case 0:4 Sequence 0:4 move second child to first child (temp 4-component vector of float) @@ -19,9 +20,10 @@ gl_FragCoord origin is upper left 0:4 Branch: Return 0:6 Test condition and select (temp void) 0:6 Condition -0:6 Compare Equal (temp bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 all (temp bool) +0:6 Equal (temp 4-component vector of bool) +0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (layout(location=0 ) in 4-component vector of float) 0:6 true case 0:7 Sequence 0:7 move second child to first child (temp 4-component vector of float) @@ -37,21 +39,24 @@ gl_FragCoord origin is upper left 0:9 Branch: Return 0:11 Test condition and select (temp void) 0:11 Condition -0:11 Compare Equal (temp bool) -0:11 'input' (layout(location=0 ) in 4-component vector of float) -0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 all (temp bool) +0:11 Equal (temp 4-component vector of bool) +0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 'input' (layout(location=0 ) in 4-component vector of float) 0:11 true case is null 0:14 Test condition and select (temp void) 0:14 Condition -0:14 Compare Equal (temp bool) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 all (temp bool) +0:14 Equal (temp 4-component vector of bool) +0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (layout(location=0 ) in 4-component vector of float) 0:14 true case is null 0:19 Test condition and select (temp void) 0:19 Condition -0:19 Compare Equal (temp bool) -0:19 'input' (layout(location=0 ) in 4-component vector of float) -0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 all (temp bool) +0:19 Equal (temp 4-component vector of bool) +0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 'input' (layout(location=0 ) in 4-component vector of float) 0:19 true case 0:? Sequence 0:20 Sequence @@ -61,9 +66,10 @@ gl_FragCoord origin is upper left 0:20 Branch: Return 0:23 Test condition and select (temp void) 0:23 Condition -0:23 Compare Equal (temp bool) -0:23 'input' (layout(location=0 ) in 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 all (temp bool) +0:23 Equal (temp 4-component vector of bool) +0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 'input' (layout(location=0 ) in 4-component vector of float) 0:23 true case 0:? Sequence 0:24 Sequence @@ -109,9 +115,10 @@ gl_FragCoord origin is upper left 0:? Sequence 0:3 Test condition and select (temp void) 0:3 Condition -0:3 Compare Equal (temp bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 all (temp bool) +0:3 Equal (temp 4-component vector of bool) +0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 true case 0:4 Sequence 0:4 move second child to first child (temp 4-component vector of float) @@ -120,9 +127,10 @@ gl_FragCoord origin is upper left 0:4 Branch: Return 0:6 Test condition and select (temp void) 0:6 Condition -0:6 Compare Equal (temp bool) -0:6 'input' (layout(location=0 ) in 4-component vector of float) -0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 all (temp bool) +0:6 Equal (temp 4-component vector of bool) +0:6 'input' (layout(location=0 ) in 4-component vector of float) +0:6 'input' (layout(location=0 ) in 4-component vector of float) 0:6 true case 0:7 Sequence 0:7 move second child to first child (temp 4-component vector of float) @@ -138,21 +146,24 @@ gl_FragCoord origin is upper left 0:9 Branch: Return 0:11 Test condition and select (temp void) 0:11 Condition -0:11 Compare Equal (temp bool) -0:11 'input' (layout(location=0 ) in 4-component vector of float) -0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 all (temp bool) +0:11 Equal (temp 4-component vector of bool) +0:11 'input' (layout(location=0 ) in 4-component vector of float) +0:11 'input' (layout(location=0 ) in 4-component vector of float) 0:11 true case is null 0:14 Test condition and select (temp void) 0:14 Condition -0:14 Compare Equal (temp bool) -0:14 'input' (layout(location=0 ) in 4-component vector of float) -0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 all (temp bool) +0:14 Equal (temp 4-component vector of bool) +0:14 'input' (layout(location=0 ) in 4-component vector of float) +0:14 'input' (layout(location=0 ) in 4-component vector of float) 0:14 true case is null 0:19 Test condition and select (temp void) 0:19 Condition -0:19 Compare Equal (temp bool) -0:19 'input' (layout(location=0 ) in 4-component vector of float) -0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 all (temp bool) +0:19 Equal (temp 4-component vector of bool) +0:19 'input' (layout(location=0 ) in 4-component vector of float) +0:19 'input' (layout(location=0 ) in 4-component vector of float) 0:19 true case 0:? Sequence 0:20 Sequence @@ -162,9 +173,10 @@ gl_FragCoord origin is upper left 0:20 Branch: Return 0:23 Test condition and select (temp void) 0:23 Condition -0:23 Compare Equal (temp bool) -0:23 'input' (layout(location=0 ) in 4-component vector of float) -0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 all (temp bool) +0:23 Equal (temp 4-component vector of bool) +0:23 'input' (layout(location=0 ) in 4-component vector of float) +0:23 'input' (layout(location=0 ) in 4-component vector of float) 0:23 true case 0:? Sequence 0:24 Sequence diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out index b31921b4..42f94cae 100755 --- a/Test/baseResults/hlsl.init.frag.out +++ b/Test/baseResults/hlsl.init.frag.out @@ -132,6 +132,8 @@ gl_FragCoord origin is upper left 0:35 'a1' (global 4-component vector of float) 0:35 Branch: Return 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'a1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float) 0:? 'a1i' (global 4-component vector of float) @@ -150,8 +152,6 @@ gl_FragCoord origin is upper left 0:? 'single2' (global structure{temp 2-component vector of uint v}) 0:? 'single3' (global structure{temp structure{temp int f} s1}) 0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) Linked fragment stage: @@ -290,6 +290,8 @@ gl_FragCoord origin is upper left 0:35 'a1' (global 4-component vector of float) 0:35 Branch: Return 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'a1' (global 4-component vector of float) 0:? 'b1' (global 4-component vector of float) 0:? 'a1i' (global 4-component vector of float) @@ -308,8 +310,6 @@ gl_FragCoord origin is upper left 0:? 'single2' (global structure{temp 2-component vector of uint v}) 0:? 'single3' (global structure{temp structure{temp int f} s1}) 0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1}) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'input' (layout(location=0 ) in 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/Test/baseResults/hlsl.intrinsics.barriers.comp.out index 5d92dd1f..07bd3709 100644 --- a/Test/baseResults/hlsl.intrinsics.barriers.comp.out +++ b/Test/baseResults/hlsl.intrinsics.barriers.comp.out @@ -5,12 +5,12 @@ local_size = (1, 1, 1) 0:3 Function Definition: ComputeShaderFunction( (temp float) 0:3 Function Parameters: 0:? Sequence -0:4 MemoryBarrier (global void) -0:5 AllMemoryBarrierWithGroupSync (global void) -0:6 GroupMemoryBarrier (global void) -0:7 GroupMemoryBarrierWithGroupSync (global void) -0:8 WorkgroupMemoryBarrier (global void) -0:9 WorkgroupMemoryBarrierWithGroupSync (global void) +0:4 MemoryBarrier (temp void) +0:5 AllMemoryBarrierWithGroupSync (temp void) +0:6 GroupMemoryBarrier (temp void) +0:7 GroupMemoryBarrierWithGroupSync (temp void) +0:8 WorkgroupMemoryBarrier (temp void) +0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) 0:11 Sequence 0:11 move second child to first child (temp float) 0:? '@entryPointOutput' (layout(location=0 ) out float) @@ -30,12 +30,12 @@ local_size = (1, 1, 1) 0:3 Function Definition: ComputeShaderFunction( (temp float) 0:3 Function Parameters: 0:? Sequence -0:4 MemoryBarrier (global void) -0:5 AllMemoryBarrierWithGroupSync (global void) -0:6 GroupMemoryBarrier (global void) -0:7 GroupMemoryBarrierWithGroupSync (global void) -0:8 WorkgroupMemoryBarrier (global void) -0:9 WorkgroupMemoryBarrierWithGroupSync (global void) +0:4 MemoryBarrier (temp void) +0:5 AllMemoryBarrierWithGroupSync (temp void) +0:6 GroupMemoryBarrier (temp void) +0:7 GroupMemoryBarrierWithGroupSync (temp void) +0:8 WorkgroupMemoryBarrier (temp void) +0:9 WorkgroupMemoryBarrierWithGroupSync (temp void) 0:11 Sequence 0:11 move second child to first child (temp float) 0:? '@entryPointOutput' (layout(location=0 ) out float) diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out index cd366fcb..42ad9731 100644 --- a/Test/baseResults/hlsl.intrinsics.comp.out +++ b/Test/baseResults/hlsl.intrinsics.comp.out @@ -10,9 +10,9 @@ local_size = (1, 1, 1) 0:17 'inU0' (in uint) 0:17 'inU1' (in uint) 0:? Sequence -0:21 all (global bool) +0:21 all (temp bool) 0:21 'inF0' (in float) -0:24 AtomicAdd (global void) +0:24 AtomicAdd (temp void) 0:24 'gs_ua' (shared uint) 0:24 'gs_ub' (shared uint) 0:25 move second child to first child (temp uint) @@ -20,7 +20,7 @@ local_size = (1, 1, 1) 0:25 AtomicAdd (temp uint) 0:25 'gs_ua' (shared uint) 0:25 'gs_ub' (shared uint) -0:26 AtomicAnd (global void) +0:26 AtomicAnd (temp void) 0:26 'gs_ua' (shared uint) 0:26 'gs_ub' (shared uint) 0:27 move second child to first child (temp uint) @@ -39,7 +39,7 @@ local_size = (1, 1, 1) 0:29 AtomicExchange (temp uint) 0:29 'gs_ua' (shared uint) 0:29 'gs_ub' (shared uint) -0:30 AtomicMax (global void) +0:30 AtomicMax (temp void) 0:30 'gs_ua' (shared uint) 0:30 'gs_ub' (shared uint) 0:31 move second child to first child (temp uint) @@ -47,7 +47,7 @@ local_size = (1, 1, 1) 0:31 AtomicMax (temp uint) 0:31 'gs_ua' (shared uint) 0:31 'gs_ub' (shared uint) -0:32 AtomicMin (global void) +0:32 AtomicMin (temp void) 0:32 'gs_ua' (shared uint) 0:32 'gs_ub' (shared uint) 0:33 move second child to first child (temp uint) @@ -55,7 +55,7 @@ local_size = (1, 1, 1) 0:33 AtomicMin (temp uint) 0:33 'gs_ua' (shared uint) 0:33 'gs_ub' (shared uint) -0:34 AtomicOr (global void) +0:34 AtomicOr (temp void) 0:34 'gs_ua' (shared uint) 0:34 'gs_ub' (shared uint) 0:35 move second child to first child (temp uint) @@ -63,7 +63,7 @@ local_size = (1, 1, 1) 0:35 AtomicOr (temp uint) 0:35 'gs_ua' (shared uint) 0:35 'gs_ub' (shared uint) -0:36 AtomicXor (global void) +0:36 AtomicXor (temp void) 0:36 'gs_ua' (shared uint) 0:36 'gs_ub' (shared uint) 0:37 move second child to first child (temp uint) @@ -91,9 +91,9 @@ local_size = (1, 1, 1) 0:51 'inU0' (in 2-component vector of uint) 0:51 'inU1' (in 2-component vector of uint) 0:? Sequence -0:55 all (global bool) +0:55 all (temp bool) 0:55 'inF0' (in 2-component vector of float) -0:58 AtomicAdd (global void) +0:58 AtomicAdd (temp void) 0:58 'gs_ua2' (shared 2-component vector of uint) 0:58 'gs_ub2' (shared 2-component vector of uint) 0:59 move second child to first child (temp 2-component vector of uint) @@ -101,7 +101,7 @@ local_size = (1, 1, 1) 0:59 AtomicAdd (temp 2-component vector of uint) 0:59 'gs_ua2' (shared 2-component vector of uint) 0:59 'gs_ub2' (shared 2-component vector of uint) -0:60 AtomicAnd (global void) +0:60 AtomicAnd (temp void) 0:60 'gs_ua2' (shared 2-component vector of uint) 0:60 'gs_ub2' (shared 2-component vector of uint) 0:61 move second child to first child (temp 2-component vector of uint) @@ -120,7 +120,7 @@ local_size = (1, 1, 1) 0:63 AtomicExchange (temp 2-component vector of uint) 0:63 'gs_ua2' (shared 2-component vector of uint) 0:63 'gs_ub2' (shared 2-component vector of uint) -0:64 AtomicMax (global void) +0:64 AtomicMax (temp void) 0:64 'gs_ua2' (shared 2-component vector of uint) 0:64 'gs_ub2' (shared 2-component vector of uint) 0:65 move second child to first child (temp 2-component vector of uint) @@ -128,7 +128,7 @@ local_size = (1, 1, 1) 0:65 AtomicMax (temp 2-component vector of uint) 0:65 'gs_ua2' (shared 2-component vector of uint) 0:65 'gs_ub2' (shared 2-component vector of uint) -0:66 AtomicMin (global void) +0:66 AtomicMin (temp void) 0:66 'gs_ua2' (shared 2-component vector of uint) 0:66 'gs_ub2' (shared 2-component vector of uint) 0:67 move second child to first child (temp 2-component vector of uint) @@ -136,7 +136,7 @@ local_size = (1, 1, 1) 0:67 AtomicMin (temp 2-component vector of uint) 0:67 'gs_ua2' (shared 2-component vector of uint) 0:67 'gs_ub2' (shared 2-component vector of uint) -0:68 AtomicOr (global void) +0:68 AtomicOr (temp void) 0:68 'gs_ua2' (shared 2-component vector of uint) 0:68 'gs_ub2' (shared 2-component vector of uint) 0:69 move second child to first child (temp 2-component vector of uint) @@ -144,7 +144,7 @@ local_size = (1, 1, 1) 0:69 AtomicOr (temp 2-component vector of uint) 0:69 'gs_ua2' (shared 2-component vector of uint) 0:69 'gs_ub2' (shared 2-component vector of uint) -0:70 AtomicXor (global void) +0:70 AtomicXor (temp void) 0:70 'gs_ua2' (shared 2-component vector of uint) 0:70 'gs_ub2' (shared 2-component vector of uint) 0:71 move second child to first child (temp 2-component vector of uint) @@ -164,9 +164,9 @@ local_size = (1, 1, 1) 0:78 'inU0' (in 3-component vector of uint) 0:78 'inU1' (in 3-component vector of uint) 0:? Sequence -0:82 all (global bool) +0:82 all (temp bool) 0:82 'inF0' (in 3-component vector of float) -0:85 AtomicAdd (global void) +0:85 AtomicAdd (temp void) 0:85 'gs_ua3' (shared 3-component vector of uint) 0:85 'gs_ub3' (shared 3-component vector of uint) 0:86 move second child to first child (temp 3-component vector of uint) @@ -174,7 +174,7 @@ local_size = (1, 1, 1) 0:86 AtomicAdd (temp 3-component vector of uint) 0:86 'gs_ua3' (shared 3-component vector of uint) 0:86 'gs_ub3' (shared 3-component vector of uint) -0:87 AtomicAnd (global void) +0:87 AtomicAnd (temp void) 0:87 'gs_ua3' (shared 3-component vector of uint) 0:87 'gs_ub3' (shared 3-component vector of uint) 0:88 move second child to first child (temp 3-component vector of uint) @@ -193,7 +193,7 @@ local_size = (1, 1, 1) 0:90 AtomicExchange (temp 3-component vector of uint) 0:90 'gs_ua3' (shared 3-component vector of uint) 0:90 'gs_ub3' (shared 3-component vector of uint) -0:91 AtomicMax (global void) +0:91 AtomicMax (temp void) 0:91 'gs_ua3' (shared 3-component vector of uint) 0:91 'gs_ub3' (shared 3-component vector of uint) 0:92 move second child to first child (temp 3-component vector of uint) @@ -201,7 +201,7 @@ local_size = (1, 1, 1) 0:92 AtomicMax (temp 3-component vector of uint) 0:92 'gs_ua3' (shared 3-component vector of uint) 0:92 'gs_ub3' (shared 3-component vector of uint) -0:93 AtomicMin (global void) +0:93 AtomicMin (temp void) 0:93 'gs_ua3' (shared 3-component vector of uint) 0:93 'gs_ub3' (shared 3-component vector of uint) 0:94 move second child to first child (temp 3-component vector of uint) @@ -209,7 +209,7 @@ local_size = (1, 1, 1) 0:94 AtomicMin (temp 3-component vector of uint) 0:94 'gs_ua3' (shared 3-component vector of uint) 0:94 'gs_ub3' (shared 3-component vector of uint) -0:95 AtomicOr (global void) +0:95 AtomicOr (temp void) 0:95 'gs_ua3' (shared 3-component vector of uint) 0:95 'gs_ub3' (shared 3-component vector of uint) 0:96 move second child to first child (temp 3-component vector of uint) @@ -217,7 +217,7 @@ local_size = (1, 1, 1) 0:96 AtomicOr (temp 3-component vector of uint) 0:96 'gs_ua3' (shared 3-component vector of uint) 0:96 'gs_ub3' (shared 3-component vector of uint) -0:97 AtomicXor (global void) +0:97 AtomicXor (temp void) 0:97 'gs_ua3' (shared 3-component vector of uint) 0:97 'gs_ub3' (shared 3-component vector of uint) 0:98 move second child to first child (temp 3-component vector of uint) @@ -238,9 +238,9 @@ local_size = (1, 1, 1) 0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) 0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? Sequence -0:109 all (global bool) +0:109 all (temp bool) 0:109 'inF0' (layout(location=0 ) in 4-component vector of float) -0:112 AtomicAdd (global void) +0:112 AtomicAdd (temp void) 0:112 'gs_ua4' (shared 4-component vector of uint) 0:112 'gs_ub4' (shared 4-component vector of uint) 0:113 move second child to first child (temp 4-component vector of uint) @@ -248,7 +248,7 @@ local_size = (1, 1, 1) 0:113 AtomicAdd (temp 4-component vector of uint) 0:113 'gs_ua4' (shared 4-component vector of uint) 0:113 'gs_ub4' (shared 4-component vector of uint) -0:114 AtomicAnd (global void) +0:114 AtomicAnd (temp void) 0:114 'gs_ua4' (shared 4-component vector of uint) 0:114 'gs_ub4' (shared 4-component vector of uint) 0:115 move second child to first child (temp 4-component vector of uint) @@ -267,7 +267,7 @@ local_size = (1, 1, 1) 0:117 AtomicExchange (temp 4-component vector of uint) 0:117 'gs_ua4' (shared 4-component vector of uint) 0:117 'gs_ub4' (shared 4-component vector of uint) -0:118 AtomicMax (global void) +0:118 AtomicMax (temp void) 0:118 'gs_ua4' (shared 4-component vector of uint) 0:118 'gs_ub4' (shared 4-component vector of uint) 0:119 move second child to first child (temp 4-component vector of uint) @@ -275,7 +275,7 @@ local_size = (1, 1, 1) 0:119 AtomicMax (temp 4-component vector of uint) 0:119 'gs_ua4' (shared 4-component vector of uint) 0:119 'gs_ub4' (shared 4-component vector of uint) -0:120 AtomicMin (global void) +0:120 AtomicMin (temp void) 0:120 'gs_ua4' (shared 4-component vector of uint) 0:120 'gs_ub4' (shared 4-component vector of uint) 0:121 move second child to first child (temp 4-component vector of uint) @@ -283,7 +283,7 @@ local_size = (1, 1, 1) 0:121 AtomicMin (temp 4-component vector of uint) 0:121 'gs_ua4' (shared 4-component vector of uint) 0:121 'gs_ub4' (shared 4-component vector of uint) -0:122 AtomicOr (global void) +0:122 AtomicOr (temp void) 0:122 'gs_ua4' (shared 4-component vector of uint) 0:122 'gs_ub4' (shared 4-component vector of uint) 0:123 move second child to first child (temp 4-component vector of uint) @@ -291,7 +291,7 @@ local_size = (1, 1, 1) 0:123 AtomicOr (temp 4-component vector of uint) 0:123 'gs_ua4' (shared 4-component vector of uint) 0:123 'gs_ub4' (shared 4-component vector of uint) -0:124 AtomicXor (global void) +0:124 AtomicXor (temp void) 0:124 'gs_ua4' (shared 4-component vector of uint) 0:124 'gs_ub4' (shared 4-component vector of uint) 0:125 move second child to first child (temp 4-component vector of uint) @@ -309,6 +309,12 @@ local_size = (1, 1, 1) 0:? 4.000000 0:128 Branch: Return 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -321,12 +327,6 @@ local_size = (1, 1, 1) 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) Linked compute stage: @@ -343,9 +343,9 @@ local_size = (1, 1, 1) 0:17 'inU0' (in uint) 0:17 'inU1' (in uint) 0:? Sequence -0:21 all (global bool) +0:21 all (temp bool) 0:21 'inF0' (in float) -0:24 AtomicAdd (global void) +0:24 AtomicAdd (temp void) 0:24 'gs_ua' (shared uint) 0:24 'gs_ub' (shared uint) 0:25 move second child to first child (temp uint) @@ -353,7 +353,7 @@ local_size = (1, 1, 1) 0:25 AtomicAdd (temp uint) 0:25 'gs_ua' (shared uint) 0:25 'gs_ub' (shared uint) -0:26 AtomicAnd (global void) +0:26 AtomicAnd (temp void) 0:26 'gs_ua' (shared uint) 0:26 'gs_ub' (shared uint) 0:27 move second child to first child (temp uint) @@ -372,7 +372,7 @@ local_size = (1, 1, 1) 0:29 AtomicExchange (temp uint) 0:29 'gs_ua' (shared uint) 0:29 'gs_ub' (shared uint) -0:30 AtomicMax (global void) +0:30 AtomicMax (temp void) 0:30 'gs_ua' (shared uint) 0:30 'gs_ub' (shared uint) 0:31 move second child to first child (temp uint) @@ -380,7 +380,7 @@ local_size = (1, 1, 1) 0:31 AtomicMax (temp uint) 0:31 'gs_ua' (shared uint) 0:31 'gs_ub' (shared uint) -0:32 AtomicMin (global void) +0:32 AtomicMin (temp void) 0:32 'gs_ua' (shared uint) 0:32 'gs_ub' (shared uint) 0:33 move second child to first child (temp uint) @@ -388,7 +388,7 @@ local_size = (1, 1, 1) 0:33 AtomicMin (temp uint) 0:33 'gs_ua' (shared uint) 0:33 'gs_ub' (shared uint) -0:34 AtomicOr (global void) +0:34 AtomicOr (temp void) 0:34 'gs_ua' (shared uint) 0:34 'gs_ub' (shared uint) 0:35 move second child to first child (temp uint) @@ -396,7 +396,7 @@ local_size = (1, 1, 1) 0:35 AtomicOr (temp uint) 0:35 'gs_ua' (shared uint) 0:35 'gs_ub' (shared uint) -0:36 AtomicXor (global void) +0:36 AtomicXor (temp void) 0:36 'gs_ua' (shared uint) 0:36 'gs_ub' (shared uint) 0:37 move second child to first child (temp uint) @@ -424,9 +424,9 @@ local_size = (1, 1, 1) 0:51 'inU0' (in 2-component vector of uint) 0:51 'inU1' (in 2-component vector of uint) 0:? Sequence -0:55 all (global bool) +0:55 all (temp bool) 0:55 'inF0' (in 2-component vector of float) -0:58 AtomicAdd (global void) +0:58 AtomicAdd (temp void) 0:58 'gs_ua2' (shared 2-component vector of uint) 0:58 'gs_ub2' (shared 2-component vector of uint) 0:59 move second child to first child (temp 2-component vector of uint) @@ -434,7 +434,7 @@ local_size = (1, 1, 1) 0:59 AtomicAdd (temp 2-component vector of uint) 0:59 'gs_ua2' (shared 2-component vector of uint) 0:59 'gs_ub2' (shared 2-component vector of uint) -0:60 AtomicAnd (global void) +0:60 AtomicAnd (temp void) 0:60 'gs_ua2' (shared 2-component vector of uint) 0:60 'gs_ub2' (shared 2-component vector of uint) 0:61 move second child to first child (temp 2-component vector of uint) @@ -453,7 +453,7 @@ local_size = (1, 1, 1) 0:63 AtomicExchange (temp 2-component vector of uint) 0:63 'gs_ua2' (shared 2-component vector of uint) 0:63 'gs_ub2' (shared 2-component vector of uint) -0:64 AtomicMax (global void) +0:64 AtomicMax (temp void) 0:64 'gs_ua2' (shared 2-component vector of uint) 0:64 'gs_ub2' (shared 2-component vector of uint) 0:65 move second child to first child (temp 2-component vector of uint) @@ -461,7 +461,7 @@ local_size = (1, 1, 1) 0:65 AtomicMax (temp 2-component vector of uint) 0:65 'gs_ua2' (shared 2-component vector of uint) 0:65 'gs_ub2' (shared 2-component vector of uint) -0:66 AtomicMin (global void) +0:66 AtomicMin (temp void) 0:66 'gs_ua2' (shared 2-component vector of uint) 0:66 'gs_ub2' (shared 2-component vector of uint) 0:67 move second child to first child (temp 2-component vector of uint) @@ -469,7 +469,7 @@ local_size = (1, 1, 1) 0:67 AtomicMin (temp 2-component vector of uint) 0:67 'gs_ua2' (shared 2-component vector of uint) 0:67 'gs_ub2' (shared 2-component vector of uint) -0:68 AtomicOr (global void) +0:68 AtomicOr (temp void) 0:68 'gs_ua2' (shared 2-component vector of uint) 0:68 'gs_ub2' (shared 2-component vector of uint) 0:69 move second child to first child (temp 2-component vector of uint) @@ -477,7 +477,7 @@ local_size = (1, 1, 1) 0:69 AtomicOr (temp 2-component vector of uint) 0:69 'gs_ua2' (shared 2-component vector of uint) 0:69 'gs_ub2' (shared 2-component vector of uint) -0:70 AtomicXor (global void) +0:70 AtomicXor (temp void) 0:70 'gs_ua2' (shared 2-component vector of uint) 0:70 'gs_ub2' (shared 2-component vector of uint) 0:71 move second child to first child (temp 2-component vector of uint) @@ -497,9 +497,9 @@ local_size = (1, 1, 1) 0:78 'inU0' (in 3-component vector of uint) 0:78 'inU1' (in 3-component vector of uint) 0:? Sequence -0:82 all (global bool) +0:82 all (temp bool) 0:82 'inF0' (in 3-component vector of float) -0:85 AtomicAdd (global void) +0:85 AtomicAdd (temp void) 0:85 'gs_ua3' (shared 3-component vector of uint) 0:85 'gs_ub3' (shared 3-component vector of uint) 0:86 move second child to first child (temp 3-component vector of uint) @@ -507,7 +507,7 @@ local_size = (1, 1, 1) 0:86 AtomicAdd (temp 3-component vector of uint) 0:86 'gs_ua3' (shared 3-component vector of uint) 0:86 'gs_ub3' (shared 3-component vector of uint) -0:87 AtomicAnd (global void) +0:87 AtomicAnd (temp void) 0:87 'gs_ua3' (shared 3-component vector of uint) 0:87 'gs_ub3' (shared 3-component vector of uint) 0:88 move second child to first child (temp 3-component vector of uint) @@ -526,7 +526,7 @@ local_size = (1, 1, 1) 0:90 AtomicExchange (temp 3-component vector of uint) 0:90 'gs_ua3' (shared 3-component vector of uint) 0:90 'gs_ub3' (shared 3-component vector of uint) -0:91 AtomicMax (global void) +0:91 AtomicMax (temp void) 0:91 'gs_ua3' (shared 3-component vector of uint) 0:91 'gs_ub3' (shared 3-component vector of uint) 0:92 move second child to first child (temp 3-component vector of uint) @@ -534,7 +534,7 @@ local_size = (1, 1, 1) 0:92 AtomicMax (temp 3-component vector of uint) 0:92 'gs_ua3' (shared 3-component vector of uint) 0:92 'gs_ub3' (shared 3-component vector of uint) -0:93 AtomicMin (global void) +0:93 AtomicMin (temp void) 0:93 'gs_ua3' (shared 3-component vector of uint) 0:93 'gs_ub3' (shared 3-component vector of uint) 0:94 move second child to first child (temp 3-component vector of uint) @@ -542,7 +542,7 @@ local_size = (1, 1, 1) 0:94 AtomicMin (temp 3-component vector of uint) 0:94 'gs_ua3' (shared 3-component vector of uint) 0:94 'gs_ub3' (shared 3-component vector of uint) -0:95 AtomicOr (global void) +0:95 AtomicOr (temp void) 0:95 'gs_ua3' (shared 3-component vector of uint) 0:95 'gs_ub3' (shared 3-component vector of uint) 0:96 move second child to first child (temp 3-component vector of uint) @@ -550,7 +550,7 @@ local_size = (1, 1, 1) 0:96 AtomicOr (temp 3-component vector of uint) 0:96 'gs_ua3' (shared 3-component vector of uint) 0:96 'gs_ub3' (shared 3-component vector of uint) -0:97 AtomicXor (global void) +0:97 AtomicXor (temp void) 0:97 'gs_ua3' (shared 3-component vector of uint) 0:97 'gs_ub3' (shared 3-component vector of uint) 0:98 move second child to first child (temp 3-component vector of uint) @@ -571,9 +571,9 @@ local_size = (1, 1, 1) 0:105 'inU0' (layout(location=3 ) in 4-component vector of uint) 0:105 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? Sequence -0:109 all (global bool) +0:109 all (temp bool) 0:109 'inF0' (layout(location=0 ) in 4-component vector of float) -0:112 AtomicAdd (global void) +0:112 AtomicAdd (temp void) 0:112 'gs_ua4' (shared 4-component vector of uint) 0:112 'gs_ub4' (shared 4-component vector of uint) 0:113 move second child to first child (temp 4-component vector of uint) @@ -581,7 +581,7 @@ local_size = (1, 1, 1) 0:113 AtomicAdd (temp 4-component vector of uint) 0:113 'gs_ua4' (shared 4-component vector of uint) 0:113 'gs_ub4' (shared 4-component vector of uint) -0:114 AtomicAnd (global void) +0:114 AtomicAnd (temp void) 0:114 'gs_ua4' (shared 4-component vector of uint) 0:114 'gs_ub4' (shared 4-component vector of uint) 0:115 move second child to first child (temp 4-component vector of uint) @@ -600,7 +600,7 @@ local_size = (1, 1, 1) 0:117 AtomicExchange (temp 4-component vector of uint) 0:117 'gs_ua4' (shared 4-component vector of uint) 0:117 'gs_ub4' (shared 4-component vector of uint) -0:118 AtomicMax (global void) +0:118 AtomicMax (temp void) 0:118 'gs_ua4' (shared 4-component vector of uint) 0:118 'gs_ub4' (shared 4-component vector of uint) 0:119 move second child to first child (temp 4-component vector of uint) @@ -608,7 +608,7 @@ local_size = (1, 1, 1) 0:119 AtomicMax (temp 4-component vector of uint) 0:119 'gs_ua4' (shared 4-component vector of uint) 0:119 'gs_ub4' (shared 4-component vector of uint) -0:120 AtomicMin (global void) +0:120 AtomicMin (temp void) 0:120 'gs_ua4' (shared 4-component vector of uint) 0:120 'gs_ub4' (shared 4-component vector of uint) 0:121 move second child to first child (temp 4-component vector of uint) @@ -616,7 +616,7 @@ local_size = (1, 1, 1) 0:121 AtomicMin (temp 4-component vector of uint) 0:121 'gs_ua4' (shared 4-component vector of uint) 0:121 'gs_ub4' (shared 4-component vector of uint) -0:122 AtomicOr (global void) +0:122 AtomicOr (temp void) 0:122 'gs_ua4' (shared 4-component vector of uint) 0:122 'gs_ub4' (shared 4-component vector of uint) 0:123 move second child to first child (temp 4-component vector of uint) @@ -624,7 +624,7 @@ local_size = (1, 1, 1) 0:123 AtomicOr (temp 4-component vector of uint) 0:123 'gs_ua4' (shared 4-component vector of uint) 0:123 'gs_ub4' (shared 4-component vector of uint) -0:124 AtomicXor (global void) +0:124 AtomicXor (temp void) 0:124 'gs_ua4' (shared 4-component vector of uint) 0:124 'gs_ub4' (shared 4-component vector of uint) 0:125 move second child to first child (temp 4-component vector of uint) @@ -642,6 +642,12 @@ local_size = (1, 1, 1) 0:? 4.000000 0:128 Branch: Return 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) +0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -654,12 +660,6 @@ local_size = (1, 1, 1) 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inU0' (layout(location=3 ) in 4-component vector of uint) -0:? 'inU1' (layout(location=4 ) in 4-component vector of uint) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.intrinsics.double.frag.out b/Test/baseResults/hlsl.intrinsics.double.frag.out index 554e5520..91abf737 100644 --- a/Test/baseResults/hlsl.intrinsics.double.frag.out +++ b/Test/baseResults/hlsl.intrinsics.double.frag.out @@ -16,7 +16,7 @@ gl_FragCoord origin is upper left 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 fma (temp double) 0:6 'inDV1a' (layout(location=0 ) in double) 0:6 'inDV1b' (layout(location=1 ) in double) 0:6 'inDV1c' (layout(location=2 ) in double) @@ -65,7 +65,7 @@ gl_FragCoord origin is upper left 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 fma (temp double) 0:6 'inDV1a' (layout(location=0 ) in double) 0:6 'inDV1b' (layout(location=1 ) in double) 0:6 'inDV1c' (layout(location=2 ) in double) diff --git a/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/Test/baseResults/hlsl.intrinsics.f1632.frag.out index 5fcb5f99..0b4c0746 100644 --- a/Test/baseResults/hlsl.intrinsics.f1632.frag.out +++ b/Test/baseResults/hlsl.intrinsics.f1632.frag.out @@ -14,7 +14,7 @@ ERROR: node is still EOpNull! 0:2 'inF0' (in float) 0:? Sequence 0:3 ERROR: Bad unary op - (global uint) + (temp uint) 0:3 'inF0' (in float) 0:5 Branch: Return with expression 0:5 Constant: @@ -31,7 +31,7 @@ ERROR: node is still EOpNull! 0:15 'inF0' (in 2-component vector of float) 0:? Sequence 0:16 ERROR: Bad unary op - (global 2-component vector of uint) + (temp 2-component vector of uint) 0:16 'inF0' (in 2-component vector of float) 0:18 Branch: Return with expression 0:? Constant: @@ -42,7 +42,7 @@ ERROR: node is still EOpNull! 0:22 'inF0' (in 3-component vector of float) 0:? Sequence 0:23 ERROR: Bad unary op - (global 3-component vector of uint) + (temp 3-component vector of uint) 0:23 'inF0' (in 3-component vector of float) 0:25 Branch: Return with expression 0:? Constant: @@ -54,7 +54,7 @@ ERROR: node is still EOpNull! 0:29 'inF0' (layout(location=0 ) in 4-component vector of float) 0:? Sequence 0:30 ERROR: Bad unary op - (global 4-component vector of uint) + (temp 4-component vector of uint) 0:30 'inF0' (layout(location=0 ) in 4-component vector of float) 0:32 Sequence 0:32 move second child to first child (temp 4-component vector of float) @@ -81,7 +81,7 @@ ERROR: node is still EOpNull! 0:2 'inF0' (in float) 0:? Sequence 0:3 ERROR: Bad unary op - (global uint) + (temp uint) 0:3 'inF0' (in float) 0:5 Branch: Return with expression 0:5 Constant: @@ -98,7 +98,7 @@ ERROR: node is still EOpNull! 0:15 'inF0' (in 2-component vector of float) 0:? Sequence 0:16 ERROR: Bad unary op - (global 2-component vector of uint) + (temp 2-component vector of uint) 0:16 'inF0' (in 2-component vector of float) 0:18 Branch: Return with expression 0:? Constant: @@ -109,7 +109,7 @@ ERROR: node is still EOpNull! 0:22 'inF0' (in 3-component vector of float) 0:? Sequence 0:23 ERROR: Bad unary op - (global 3-component vector of uint) + (temp 3-component vector of uint) 0:23 'inF0' (in 3-component vector of float) 0:25 Branch: Return with expression 0:? Constant: @@ -121,7 +121,7 @@ ERROR: node is still EOpNull! 0:29 'inF0' (layout(location=0 ) in 4-component vector of float) 0:? Sequence 0:30 ERROR: Bad unary op - (global 4-component vector of uint) + (temp 4-component vector of uint) 0:30 'inF0' (layout(location=0 ) in 4-component vector of float) 0:32 Sequence 0:32 move second child to first child (temp 4-component vector of float) diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out index d5a0f998..8a1935ee 100644 --- a/Test/baseResults/hlsl.intrinsics.frag.out +++ b/Test/baseResults/hlsl.intrinsics.frag.out @@ -13,63 +13,63 @@ gl_FragCoord origin is upper left 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 all (temp 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 Absolute value (temp 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 arc cosine (temp 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 any (temp 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 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 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 arc tangent (temp 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 Ceiling (temp 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 clamp (temp float) 0:32 'inF0' (in float) 0:32 'inF1' (in float) 0:32 'inF2' (in float) @@ -84,132 +84,132 @@ gl_FragCoord origin is upper left 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 cosine (temp 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 hyp. cosine (temp 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 bitCount (temp 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 dPdx (temp 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 dPdxCoarse (temp 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 dPdxFine (temp 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 dPdy (temp 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 dPdyCoarse (temp 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 dPdyFine (temp 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 degrees (temp 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 exp (temp 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 exp2 (temp 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 findMSB (temp 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 findLSB (temp 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 Floor (temp 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 mod (temp 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 Fraction (temp 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 frexp (temp 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 fwidth (temp 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 isinf (temp 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 isnan (temp 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 ldexp (temp 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 mix (temp 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 log (temp float) 0:61 'inF0' (in float) 0:62 Sequence 0:62 move second child to first child (temp float) @@ -222,30 +222,30 @@ gl_FragCoord origin is upper left 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 log2 (temp 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 max (temp 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 min (temp 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 pow (temp 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 radians (temp float) 0:67 'inF0' (in float) 0:68 Sequence 0:68 move second child to first child (temp float) @@ -257,18 +257,18 @@ gl_FragCoord origin is upper left 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 bitFieldReverse (temp 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 roundEven (temp 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 inverse sqrt (temp float) 0:71 'inF0' (in float) 0:72 Sequence 0:72 move second child to first child (temp float) @@ -282,12 +282,12 @@ gl_FragCoord origin is upper left 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 Sign (temp float) 0:73 'inF0' (in float) 0:74 Sequence 0:74 move second child to first child (temp float) 0:74 'r053' (temp float) -0:74 sine (global float) +0:74 sine (temp float) 0:74 'inF0' (in float) 0:75 Sequence 0:75 move second child to first child (temp float) @@ -301,40 +301,40 @@ gl_FragCoord origin is upper left 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 hyp. sine (temp 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 smoothstep (temp 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 sqrt (temp 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 step (temp 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 tangent (temp 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 hyp. tangent (temp 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 trunc (temp float) 0:83 'inF0' (in float) 0:85 Branch: Return with expression 0:85 Constant: @@ -359,63 +359,63 @@ gl_FragCoord origin is upper left 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 all (temp 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 Absolute value (temp 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 arc cosine (temp 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 any (temp 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 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 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 arc tangent (temp 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 Ceiling (temp 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 clamp (temp 2-component vector of float) 0:110 '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) @@ -432,157 +432,157 @@ gl_FragCoord origin is upper left 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 cosine (temp 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 hyp. cosine (temp 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:? bitCount (temp 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 dPdx (temp 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 dPdxCoarse (temp 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 dPdxFine (temp 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 dPdy (temp 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 dPdyCoarse (temp 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 dPdyFine (temp 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 degrees (temp 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 distance (temp 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 dot-product (temp 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 exp (temp 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 exp2 (temp 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 face-forward (temp 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:? findMSB (temp 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:? findLSB (temp 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 Floor (temp 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 mod (temp 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 Fraction (temp 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 frexp (temp 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 fwidth (temp 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 isinf (temp 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 isnan (temp 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 ldexp (temp 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 mix (temp 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 length (temp 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 log (temp 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) @@ -595,35 +595,35 @@ gl_FragCoord origin is upper left 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 log2 (temp 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 max (temp 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 min (temp 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 normalize (temp 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 pow (temp 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 radians (temp 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) @@ -635,13 +635,13 @@ gl_FragCoord origin is upper left 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 reflect (temp 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 refract (temp 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: @@ -649,19 +649,19 @@ gl_FragCoord origin is upper left 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:? bitFieldReverse (temp 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 'r055' (temp 2-component vector of float) -0:158 roundEven (global 2-component vector of float) +0:158 roundEven (temp 2-component vector of float) 0:158 'inF0' (in 2-component vector of float) 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 inverse sqrt (temp 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) @@ -675,12 +675,12 @@ gl_FragCoord origin is upper left 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 Sign (temp 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 sine (temp 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) @@ -694,40 +694,40 @@ gl_FragCoord origin is upper left 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 hyp. sine (temp 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 smoothstep (temp 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 sqrt (temp 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 step (temp 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 tangent (temp 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 hyp. tangent (temp 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 trunc (temp 2-component vector of float) 0:171 'inF0' (in 2-component vector of float) 0:174 Branch: Return with expression 0:? Constant: @@ -744,63 +744,63 @@ gl_FragCoord origin is upper left 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 all (temp 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 Absolute value (temp 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 arc cosine (temp 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 any (temp 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 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 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 arc tangent (temp 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 Ceiling (temp 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 clamp (temp 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) @@ -818,17 +818,17 @@ gl_FragCoord origin is upper left 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 cosine (temp 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 hyp. cosine (temp 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:? bitCount (temp 3-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) @@ -836,77 +836,77 @@ gl_FragCoord origin is upper left 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 cross-product (temp 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 dPdx (temp 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 dPdxCoarse (temp 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 dPdxFine (temp 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 dPdy (temp 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 dPdyCoarse (temp 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 dPdyFine (temp 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 degrees (temp 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 distance (temp 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 dot-product (temp 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 exp (temp 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 exp2 (temp 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 face-forward (temp 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:? findMSB (temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) @@ -914,7 +914,7 @@ gl_FragCoord origin is upper left 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:? findLSB (temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) @@ -922,57 +922,57 @@ gl_FragCoord origin is upper left 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 Floor (temp 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 mod (temp 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 Fraction (temp 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 frexp (temp 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 fwidth (temp 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 isinf (temp 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 isnan (temp 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 ldexp (temp 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 mix (temp 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 3-component vector of float) 0:226 'r039b' (temp 3-component vector of float) -0:226 mix (global 3-component vector of float) +0:226 mix (temp 3-component vector of float) 0:226 'inF0' (in 3-component vector of float) 0:226 'inF1' (in 3-component vector of float) 0:226 Constant: @@ -980,12 +980,12 @@ gl_FragCoord origin is upper left 0:227 Sequence 0:227 move second child to first child (temp float) 0:227 'r043' (temp float) -0:227 length (global float) +0:227 length (temp 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 'r044' (temp 3-component vector of float) -0:228 log (global 3-component vector of float) +0:228 log (temp 3-component vector of float) 0:228 'inF0' (in 3-component vector of float) 0:229 Sequence 0:229 move second child to first child (temp 3-component vector of float) @@ -998,35 +998,35 @@ gl_FragCoord origin is upper left 0:230 Sequence 0:230 move second child to first child (temp 3-component vector of float) 0:230 'r046' (temp 3-component vector of float) -0:230 log2 (global 3-component vector of float) +0:230 log2 (temp 3-component vector of float) 0:230 'inF0' (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 'r047' (temp 3-component vector of float) -0:231 max (global 3-component vector of float) +0:231 max (temp 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 'r048' (temp 3-component vector of float) -0:232 min (global 3-component vector of float) +0:232 min (temp 3-component vector of float) 0:232 'inF0' (in 3-component vector of float) 0:232 'inF1' (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 'r049' (temp 3-component vector of float) -0:233 normalize (global 3-component vector of float) +0:233 normalize (temp 3-component vector of float) 0:233 'inF0' (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 'r050' (temp 3-component vector of float) -0:234 pow (global 3-component vector of float) +0:234 pow (temp 3-component vector of float) 0:234 'inF0' (in 3-component vector of float) 0:234 'inF1' (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 'r051' (temp 3-component vector of float) -0:235 radians (global 3-component vector of float) +0:235 radians (temp 3-component vector of float) 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) @@ -1038,13 +1038,13 @@ gl_FragCoord origin is upper left 0:237 Sequence 0:237 move second child to first child (temp 3-component vector of float) 0:237 'r053' (temp 3-component vector of float) -0:237 reflect (global 3-component vector of float) +0:237 reflect (temp 3-component vector of float) 0:237 'inF0' (in 3-component vector of float) 0:237 'inF1' (in 3-component vector of float) 0:238 Sequence 0:238 move second child to first child (temp 3-component vector of float) 0:238 'r054' (temp 3-component vector of float) -0:238 refract (global 3-component vector of float) +0:238 refract (temp 3-component vector of float) 0:238 'inF0' (in 3-component vector of float) 0:238 'inF1' (in 3-component vector of float) 0:238 Constant: @@ -1052,7 +1052,7 @@ gl_FragCoord origin is upper left 0:239 Sequence 0:239 move second child to first child (temp 3-component vector of uint) 0:239 'r055' (temp 3-component vector of uint) -0:? bitFieldReverse (global 3-component vector of uint) +0:? bitFieldReverse (temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) @@ -1060,12 +1060,12 @@ gl_FragCoord origin is upper left 0:240 Sequence 0:240 move second child to first child (temp 3-component vector of float) 0:240 'r056' (temp 3-component vector of float) -0:240 roundEven (global 3-component vector of float) +0:240 roundEven (temp 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 'r057' (temp 3-component vector of float) -0:241 inverse sqrt (global 3-component vector of float) +0:241 inverse sqrt (temp 3-component vector of float) 0:241 'inF0' (in 3-component vector of float) 0:242 Sequence 0:242 move second child to first child (temp 3-component vector of float) @@ -1079,12 +1079,12 @@ gl_FragCoord origin is upper left 0:243 Sequence 0:243 move second child to first child (temp 3-component vector of float) 0:243 'r059' (temp 3-component vector of float) -0:243 Sign (global 3-component vector of float) +0:243 Sign (temp 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 'r060' (temp 3-component vector of float) -0:244 sine (global 3-component vector of float) +0:244 sine (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) @@ -1098,40 +1098,40 @@ gl_FragCoord origin is upper left 0:246 Sequence 0:246 move second child to first child (temp 3-component vector of float) 0:246 'r061' (temp 3-component vector of float) -0:246 hyp. sine (global 3-component vector of float) +0:246 hyp. sine (temp 3-component vector of float) 0:246 'inF0' (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 'r062' (temp 3-component vector of float) -0:247 smoothstep (global 3-component vector of float) +0:247 smoothstep (temp 3-component vector of float) 0:247 'inF0' (in 3-component vector of float) 0:247 'inF1' (in 3-component vector of float) 0:247 'inF2' (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 'r063' (temp 3-component vector of float) -0:248 sqrt (global 3-component vector of float) +0:248 sqrt (temp 3-component vector of float) 0:248 'inF0' (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 'r064' (temp 3-component vector of float) -0:249 step (global 3-component vector of float) +0:249 step (temp 3-component vector of float) 0:249 'inF0' (in 3-component vector of float) 0:249 'inF1' (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 'r065' (temp 3-component vector of float) -0:250 tangent (global 3-component vector of float) +0:250 tangent (temp 3-component vector of float) 0:250 'inF0' (in 3-component vector of float) 0:251 Sequence 0:251 move second child to first child (temp 3-component vector of float) 0:251 'r066' (temp 3-component vector of float) -0:251 hyp. tangent (global 3-component vector of float) +0:251 hyp. tangent (temp 3-component vector of float) 0:251 'inF0' (in 3-component vector of float) 0:253 Sequence 0:253 move second child to first child (temp 3-component vector of float) 0:253 'r067' (temp 3-component vector of float) -0:253 trunc (global 3-component vector of float) +0:253 trunc (temp 3-component vector of float) 0:253 'inF0' (in 3-component vector of float) 0:256 Branch: Return with expression 0:? Constant: @@ -1149,63 +1149,63 @@ gl_FragCoord origin is upper left 0:263 Sequence 0:263 move second child to first child (temp bool) 0:263 'r000' (temp bool) -0:263 all (global bool) +0:263 all (temp bool) 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 'r001' (temp 4-component vector of float) -0:264 Absolute value (global 4-component vector of float) +0:264 Absolute value (temp 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 4-component vector of float) 0:265 'r002' (temp 4-component vector of float) -0:265 arc cosine (global 4-component vector of float) +0:265 arc cosine (temp 4-component vector of float) 0:265 'inF0' (in 4-component vector of float) 0:266 Sequence 0:266 move second child to first child (temp bool) 0:266 'r003' (temp bool) -0:266 any (global bool) +0:266 any (temp bool) 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 float) 0:267 'r004' (temp 4-component vector of float) -0:267 arc sine (global 4-component vector of float) +0:267 arc sine (temp 4-component vector of float) 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 int) 0:268 'r005' (temp 4-component vector of int) -0:268 floatBitsToInt (global 4-component vector of int) +0:268 floatBitsToInt (temp 4-component vector of int) 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 uint) 0:269 'r006' (temp 4-component vector of uint) -0:269 floatBitsToUint (global 4-component vector of uint) +0:269 floatBitsToUint (temp 4-component vector of uint) 0:269 'inF0' (in 4-component vector of float) 0:270 Sequence 0:270 move second child to first child (temp 4-component vector of float) 0:270 'r007' (temp 4-component vector of float) -0:270 intBitsToFloat (global 4-component vector of float) +0:270 intBitsToFloat (temp 4-component vector of float) 0:270 'inU0' (in 4-component vector of uint) 0:272 Sequence 0:272 move second child to first child (temp 4-component vector of float) 0:272 'r009' (temp 4-component vector of float) -0:272 arc tangent (global 4-component vector of float) +0:272 arc tangent (temp 4-component vector of float) 0:272 'inF0' (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 'r010' (temp 4-component vector of float) -0:273 arc tangent (global 4-component vector of float) +0:273 arc tangent (temp 4-component vector of float) 0:273 'inF0' (in 4-component vector of float) 0:273 'inF1' (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 'r011' (temp 4-component vector of float) -0:274 Ceiling (global 4-component vector of float) +0:274 Ceiling (temp 4-component vector of float) 0:274 'inF0' (in 4-component vector of float) 0:275 Sequence 0:275 move second child to first child (temp 4-component vector of float) 0:275 'r012' (temp 4-component vector of float) -0:275 clamp (global 4-component vector of float) +0:275 clamp (temp 4-component vector of float) 0:275 'inF0' (in 4-component vector of float) 0:275 'inF1' (in 4-component vector of float) 0:275 'inF2' (in 4-component vector of float) @@ -1224,17 +1224,17 @@ gl_FragCoord origin is upper left 0:277 Sequence 0:277 move second child to first child (temp 4-component vector of float) 0:277 'r013' (temp 4-component vector of float) -0:277 cosine (global 4-component vector of float) +0:277 cosine (temp 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 float) 0:278 'r014' (temp 4-component vector of float) -0:278 hyp. cosine (global 4-component vector of float) +0:278 hyp. cosine (temp 4-component vector of float) 0:278 'inF0' (in 4-component vector of float) 0:279 Sequence 0:279 move second child to first child (temp 4-component vector of uint) 0:279 'r015' (temp 4-component vector of uint) -0:? bitCount (global 4-component vector of uint) +0:? bitCount (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) @@ -1243,48 +1243,48 @@ gl_FragCoord origin is upper left 0:280 Sequence 0:280 move second child to first child (temp 4-component vector of float) 0:280 'r016' (temp 4-component vector of float) -0:280 dPdx (global 4-component vector of float) +0:280 dPdx (temp 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 'r017' (temp 4-component vector of float) -0:281 dPdxCoarse (global 4-component vector of float) +0:281 dPdxCoarse (temp 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 'r018' (temp 4-component vector of float) -0:282 dPdxFine (global 4-component vector of float) +0:282 dPdxFine (temp 4-component vector of float) 0:282 '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 'r019' (temp 4-component vector of float) -0:283 dPdy (global 4-component vector of float) +0:283 dPdy (temp 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 'r020' (temp 4-component vector of float) -0:284 dPdyCoarse (global 4-component vector of float) +0:284 dPdyCoarse (temp 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 'r021' (temp 4-component vector of float) -0:285 dPdyFine (global 4-component vector of float) +0:285 dPdyFine (temp 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 4-component vector of float) 0:286 'r022' (temp 4-component vector of float) -0:286 degrees (global 4-component vector of float) +0:286 degrees (temp 4-component vector of float) 0:286 'inF0' (in 4-component vector of float) 0:287 Sequence 0:287 move second child to first child (temp float) 0:287 'r023' (temp float) -0:287 distance (global float) +0:287 distance (temp 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 float) 0:288 'r024' (temp float) -0:288 dot-product (global float) +0:288 dot-product (temp float) 0:288 'inF0' (in 4-component vector of float) 0:288 'inF1' (in 4-component vector of float) 0:289 Sequence @@ -1313,24 +1313,24 @@ gl_FragCoord origin is upper left 0:293 Sequence 0:293 move second child to first child (temp 4-component vector of float) 0:293 'r029' (temp 4-component vector of float) -0:293 exp (global 4-component vector of float) +0:293 exp (temp 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 'r030' (temp 4-component vector of float) -0:294 exp2 (global 4-component vector of float) +0:294 exp2 (temp 4-component vector of float) 0:294 'inF0' (in 4-component vector of float) 0:295 Sequence 0:295 move second child to first child (temp 4-component vector of float) 0:295 'r031' (temp 4-component vector of float) -0:295 face-forward (global 4-component vector of float) +0:295 face-forward (temp 4-component vector of float) 0:295 'inF0' (in 4-component vector of float) 0:295 'inF1' (in 4-component vector of float) 0:295 'inF2' (in 4-component vector of float) 0:296 Sequence 0:296 move second child to first child (temp 4-component vector of uint) 0:296 'r032' (temp 4-component vector of uint) -0:? findMSB (global 4-component vector of uint) +0:? findMSB (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) @@ -1339,7 +1339,7 @@ gl_FragCoord origin is upper left 0:297 Sequence 0:297 move second child to first child (temp 4-component vector of uint) 0:297 'r033' (temp 4-component vector of uint) -0:? findLSB (global 4-component vector of uint) +0:? findLSB (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) @@ -1348,62 +1348,62 @@ gl_FragCoord origin is upper left 0:298 Sequence 0:298 move second child to first child (temp 4-component vector of float) 0:298 'r034' (temp 4-component vector of float) -0:298 Floor (global 4-component vector of float) +0:298 Floor (temp 4-component vector of float) 0:298 'inF0' (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 'r036' (temp 4-component vector of float) -0:300 mod (global 4-component vector of float) +0:300 mod (temp 4-component vector of float) 0:300 'inF0' (in 4-component vector of float) 0:300 'inF1' (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 'r037' (temp 4-component vector of float) -0:301 Fraction (global 4-component vector of float) +0:301 Fraction (temp 4-component vector of float) 0:301 'inF0' (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 'r038' (temp 4-component vector of float) -0:302 frexp (global 4-component vector of float) +0:302 frexp (temp 4-component vector of float) 0:302 'inF0' (in 4-component vector of float) 0:302 'inF1' (in 4-component vector of float) 0:303 Sequence 0:303 move second child to first child (temp 4-component vector of float) 0:303 'r039' (temp 4-component vector of float) -0:303 fwidth (global 4-component vector of float) +0:303 fwidth (temp 4-component vector of float) 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 'r040' (temp 4-component vector of bool) -0:304 isinf (global 4-component vector of bool) +0:304 isinf (temp 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 bool) 0:305 'r041' (temp 4-component vector of bool) -0:305 isnan (global 4-component vector of bool) +0:305 isnan (temp 4-component vector of bool) 0:305 'inF0' (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 'r042' (temp 4-component vector of float) -0:306 ldexp (global 4-component vector of float) +0:306 ldexp (temp 4-component vector of float) 0:306 'inF0' (in 4-component vector of float) 0:306 'inF1' (in 4-component vector of float) 0:307 Sequence 0:307 move second child to first child (temp 4-component vector of float) 0:307 'r039a' (temp 4-component vector of float) -0:307 mix (global 4-component vector of float) +0:307 mix (temp 4-component vector of float) 0:307 'inF0' (in 4-component vector of float) 0:307 'inF1' (in 4-component vector of float) 0:307 'inF2' (in 4-component vector of float) 0:308 Sequence 0:308 move second child to first child (temp float) 0:308 'r043' (temp float) -0:308 length (global float) +0:308 length (temp 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 'r044' (temp 4-component vector of float) -0:309 log (global 4-component vector of float) +0:309 log (temp 4-component vector of float) 0:309 'inF0' (in 4-component vector of float) 0:310 Sequence 0:310 move second child to first child (temp 4-component vector of float) @@ -1416,35 +1416,35 @@ gl_FragCoord origin is upper left 0:311 Sequence 0:311 move second child to first child (temp 4-component vector of float) 0:311 'r046' (temp 4-component vector of float) -0:311 log2 (global 4-component vector of float) +0:311 log2 (temp 4-component vector of float) 0:311 'inF0' (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 'r047' (temp 4-component vector of float) -0:312 max (global 4-component vector of float) +0:312 max (temp 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 'r048' (temp 4-component vector of float) -0:313 min (global 4-component vector of float) +0:313 min (temp 4-component vector of float) 0:313 'inF0' (in 4-component vector of float) 0:313 'inF1' (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 'r049' (temp 4-component vector of float) -0:314 normalize (global 4-component vector of float) +0:314 normalize (temp 4-component vector of float) 0:314 'inF0' (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 'r050' (temp 4-component vector of float) -0:315 pow (global 4-component vector of float) +0:315 pow (temp 4-component vector of float) 0:315 'inF0' (in 4-component vector of float) 0:315 'inF1' (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 'r051' (temp 4-component vector of float) -0:316 radians (global 4-component vector of float) +0:316 radians (temp 4-component vector of float) 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) @@ -1456,13 +1456,13 @@ gl_FragCoord origin is upper left 0:318 Sequence 0:318 move second child to first child (temp 4-component vector of float) 0:318 'r053' (temp 4-component vector of float) -0:318 reflect (global 4-component vector of float) +0:318 reflect (temp 4-component vector of float) 0:318 'inF0' (in 4-component vector of float) 0:318 'inF1' (in 4-component vector of float) 0:319 Sequence 0:319 move second child to first child (temp 4-component vector of float) 0:319 'r054' (temp 4-component vector of float) -0:319 refract (global 4-component vector of float) +0:319 refract (temp 4-component vector of float) 0:319 'inF0' (in 4-component vector of float) 0:319 'inF1' (in 4-component vector of float) 0:319 Constant: @@ -1470,7 +1470,7 @@ gl_FragCoord origin is upper left 0:320 Sequence 0:320 move second child to first child (temp 4-component vector of uint) 0:320 'r055' (temp 4-component vector of uint) -0:? bitFieldReverse (global 4-component vector of uint) +0:? bitFieldReverse (temp 4-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) @@ -1479,12 +1479,12 @@ gl_FragCoord origin is upper left 0:321 Sequence 0:321 move second child to first child (temp 4-component vector of float) 0:321 'r056' (temp 4-component vector of float) -0:321 roundEven (global 4-component vector of float) +0:321 roundEven (temp 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 'r057' (temp 4-component vector of float) -0:322 inverse sqrt (global 4-component vector of float) +0:322 inverse sqrt (temp 4-component vector of float) 0:322 'inF0' (in 4-component vector of float) 0:323 Sequence 0:323 move second child to first child (temp 4-component vector of float) @@ -1498,12 +1498,12 @@ gl_FragCoord origin is upper left 0:324 Sequence 0:324 move second child to first child (temp 4-component vector of float) 0:324 'r059' (temp 4-component vector of float) -0:324 Sign (global 4-component vector of float) +0:324 Sign (temp 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 'r060' (temp 4-component vector of float) -0:325 sine (global 4-component vector of float) +0:325 sine (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) @@ -1517,40 +1517,40 @@ gl_FragCoord origin is upper left 0:327 Sequence 0:327 move second child to first child (temp 4-component vector of float) 0:327 'r061' (temp 4-component vector of float) -0:327 hyp. sine (global 4-component vector of float) +0:327 hyp. sine (temp 4-component vector of float) 0:327 'inF0' (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 'r062' (temp 4-component vector of float) -0:328 smoothstep (global 4-component vector of float) +0:328 smoothstep (temp 4-component vector of float) 0:328 'inF0' (in 4-component vector of float) 0:328 'inF1' (in 4-component vector of float) 0:328 'inF2' (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 'r063' (temp 4-component vector of float) -0:329 sqrt (global 4-component vector of float) +0:329 sqrt (temp 4-component vector of float) 0:329 'inF0' (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 'r064' (temp 4-component vector of float) -0:330 step (global 4-component vector of float) +0:330 step (temp 4-component vector of float) 0:330 'inF0' (in 4-component vector of float) 0:330 'inF1' (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 'r065' (temp 4-component vector of float) -0:331 tangent (global 4-component vector of float) +0:331 tangent (temp 4-component vector of float) 0:331 'inF0' (in 4-component vector of float) 0:332 Sequence 0:332 move second child to first child (temp 4-component vector of float) 0:332 'r066' (temp 4-component vector of float) -0:332 hyp. tangent (global 4-component vector of float) +0:332 hyp. tangent (temp 4-component vector of float) 0:332 'inF0' (in 4-component vector of float) 0:334 Sequence 0:334 move second child to first child (temp 4-component vector of float) 0:334 'r067' (temp 4-component vector of float) -0:334 trunc (global 4-component vector of float) +0:334 trunc (temp 4-component vector of float) 0:334 'inF0' (in 4-component vector of float) 0:337 Branch: Return with expression 0:? Constant: @@ -1567,40 +1567,40 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp bool) 0:403 'r000' (temp bool) -0:403 all (global bool) +0:403 all (temp bool) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r001' (temp 2X2 matrix of float) -0:403 Absolute value (global 2X2 matrix of float) +0:403 Absolute value (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) -0:403 arc cosine (global 2X2 matrix of float) +0:403 arc cosine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp bool) 0:403 'r003' (temp bool) -0:403 any (global bool) +0:403 any (temp bool) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r004' (temp 2X2 matrix of float) -0:403 arc sine (global 2X2 matrix of float) +0:403 arc sine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r005' (temp 2X2 matrix of float) -0:403 arc tangent (global 2X2 matrix of float) +0:403 arc tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r006' (temp 2X2 matrix of float) -0:403 arc tangent (global 2X2 matrix of float) +0:403 arc tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r007' (temp 2X2 matrix of float) -0:403 Ceiling (global 2X2 matrix of float) +0:403 Ceiling (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Test condition and select (temp void) 0:403 Condition @@ -1617,114 +1617,114 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r008' (temp 2X2 matrix of float) -0:403 clamp (global 2X2 matrix of float) +0:403 clamp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 'inF2' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r009' (temp 2X2 matrix of float) -0:403 cosine (global 2X2 matrix of float) +0:403 cosine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r010' (temp 2X2 matrix of float) -0:403 hyp. cosine (global 2X2 matrix of float) +0:403 hyp. cosine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r011' (temp 2X2 matrix of float) -0:403 dPdx (global 2X2 matrix of float) +0:403 dPdx (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r012' (temp 2X2 matrix of float) -0:403 dPdxCoarse (global 2X2 matrix of float) +0:403 dPdxCoarse (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r013' (temp 2X2 matrix of float) -0:403 dPdxFine (global 2X2 matrix of float) +0:403 dPdxFine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r014' (temp 2X2 matrix of float) -0:403 dPdy (global 2X2 matrix of float) +0:403 dPdy (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r015' (temp 2X2 matrix of float) -0:403 dPdyCoarse (global 2X2 matrix of float) +0:403 dPdyCoarse (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r016' (temp 2X2 matrix of float) -0:403 dPdyFine (global 2X2 matrix of float) +0:403 dPdyFine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r017' (temp 2X2 matrix of float) -0:403 degrees (global 2X2 matrix of float) +0:403 degrees (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp float) 0:403 'r018' (temp float) -0:403 determinant (global float) +0:403 determinant (temp float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r019' (temp 2X2 matrix of float) -0:403 exp (global 2X2 matrix of float) +0:403 exp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'R020' (temp 2X2 matrix of float) -0:403 exp2 (global 2X2 matrix of float) +0:403 exp2 (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r021' (temp 2X2 matrix of float) -0:403 Floor (global 2X2 matrix of float) +0:403 Floor (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r022' (temp 2X2 matrix of float) -0:403 mod (global 2X2 matrix of float) +0:403 mod (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r023' (temp 2X2 matrix of float) -0:403 Fraction (global 2X2 matrix of float) +0:403 Fraction (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r024' (temp 2X2 matrix of float) -0:403 frexp (global 2X2 matrix of float) +0:403 frexp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r025' (temp 2X2 matrix of float) -0:403 fwidth (global 2X2 matrix of float) +0:403 fwidth (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r026' (temp 2X2 matrix of float) -0:403 ldexp (global 2X2 matrix of float) +0:403 ldexp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r026a' (temp 2X2 matrix of float) -0:403 mix (global 2X2 matrix of float) +0:403 mix (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 'inF2' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r027' (temp 2X2 matrix of float) -0:403 log (global 2X2 matrix of float) +0:403 log (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) @@ -1737,40 +1737,40 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r029' (temp 2X2 matrix of float) -0:403 log2 (global 2X2 matrix of float) +0:403 log2 (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r030' (temp 2X2 matrix of float) -0:403 max (global 2X2 matrix of float) +0:403 max (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r031' (temp 2X2 matrix of float) -0:403 min (global 2X2 matrix of float) +0:403 min (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r032' (temp 2X2 matrix of float) -0:403 pow (global 2X2 matrix of float) +0:403 pow (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r033' (temp 2X2 matrix of float) -0:403 radians (global 2X2 matrix of float) +0:403 radians (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r034' (temp 2X2 matrix of float) -0:403 roundEven (global 2X2 matrix of float) +0:403 roundEven (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r035' (temp 2X2 matrix of float) -0:403 inverse sqrt (global 2X2 matrix of float) +0:403 inverse sqrt (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) @@ -1784,12 +1784,12 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r037' (temp 2X2 matrix of float) -0:403 Sign (global 2X2 matrix of float) +0:403 Sign (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r038' (temp 2X2 matrix of float) -0:403 sine (global 2X2 matrix of float) +0:403 sine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) @@ -1803,42 +1803,42 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r039' (temp 2X2 matrix of float) -0:403 hyp. sine (global 2X2 matrix of float) +0:403 hyp. sine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r049' (temp 2X2 matrix of float) -0:403 smoothstep (global 2X2 matrix of float) +0:403 smoothstep (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 'inF2' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r041' (temp 2X2 matrix of float) -0:403 sqrt (global 2X2 matrix of float) +0:403 sqrt (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r042' (temp 2X2 matrix of float) -0:403 step (global 2X2 matrix of float) +0:403 step (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r043' (temp 2X2 matrix of float) -0:403 tangent (global 2X2 matrix of float) +0:403 tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r044' (temp 2X2 matrix of float) -0:403 hyp. tangent (global 2X2 matrix of float) +0:403 hyp. tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) -0:403 transpose (global 2X2 matrix of float) +0:403 transpose (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r046' (temp 2X2 matrix of float) -0:403 trunc (global 2X2 matrix of float) +0:403 trunc (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:406 Branch: Return with expression 0:? Constant: @@ -1855,40 +1855,40 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp bool) 0:412 'r000' (temp bool) -0:412 all (global bool) +0:412 all (temp bool) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r001' (temp 3X3 matrix of float) -0:412 Absolute value (global 3X3 matrix of float) +0:412 Absolute value (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) -0:412 arc cosine (global 3X3 matrix of float) +0:412 arc cosine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp bool) 0:412 'r003' (temp bool) -0:412 any (global bool) +0:412 any (temp bool) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r004' (temp 3X3 matrix of float) -0:412 arc sine (global 3X3 matrix of float) +0:412 arc sine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r005' (temp 3X3 matrix of float) -0:412 arc tangent (global 3X3 matrix of float) +0:412 arc tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r006' (temp 3X3 matrix of float) -0:412 arc tangent (global 3X3 matrix of float) +0:412 arc tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r007' (temp 3X3 matrix of float) -0:412 Ceiling (global 3X3 matrix of float) +0:412 Ceiling (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Test condition and select (temp void) 0:412 Condition @@ -1910,114 +1910,114 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r008' (temp 3X3 matrix of float) -0:412 clamp (global 3X3 matrix of float) +0:412 clamp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 'inF2' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r009' (temp 3X3 matrix of float) -0:412 cosine (global 3X3 matrix of float) +0:412 cosine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r010' (temp 3X3 matrix of float) -0:412 hyp. cosine (global 3X3 matrix of float) +0:412 hyp. cosine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r011' (temp 3X3 matrix of float) -0:412 dPdx (global 3X3 matrix of float) +0:412 dPdx (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r012' (temp 3X3 matrix of float) -0:412 dPdxCoarse (global 3X3 matrix of float) +0:412 dPdxCoarse (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r013' (temp 3X3 matrix of float) -0:412 dPdxFine (global 3X3 matrix of float) +0:412 dPdxFine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r014' (temp 3X3 matrix of float) -0:412 dPdy (global 3X3 matrix of float) +0:412 dPdy (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r015' (temp 3X3 matrix of float) -0:412 dPdyCoarse (global 3X3 matrix of float) +0:412 dPdyCoarse (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r016' (temp 3X3 matrix of float) -0:412 dPdyFine (global 3X3 matrix of float) +0:412 dPdyFine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r017' (temp 3X3 matrix of float) -0:412 degrees (global 3X3 matrix of float) +0:412 degrees (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp float) 0:412 'r018' (temp float) -0:412 determinant (global float) +0:412 determinant (temp float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r019' (temp 3X3 matrix of float) -0:412 exp (global 3X3 matrix of float) +0:412 exp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'R020' (temp 3X3 matrix of float) -0:412 exp2 (global 3X3 matrix of float) +0:412 exp2 (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r021' (temp 3X3 matrix of float) -0:412 Floor (global 3X3 matrix of float) +0:412 Floor (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r022' (temp 3X3 matrix of float) -0:412 mod (global 3X3 matrix of float) +0:412 mod (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r023' (temp 3X3 matrix of float) -0:412 Fraction (global 3X3 matrix of float) +0:412 Fraction (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r024' (temp 3X3 matrix of float) -0:412 frexp (global 3X3 matrix of float) +0:412 frexp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r025' (temp 3X3 matrix of float) -0:412 fwidth (global 3X3 matrix of float) +0:412 fwidth (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r026' (temp 3X3 matrix of float) -0:412 ldexp (global 3X3 matrix of float) +0:412 ldexp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r026a' (temp 3X3 matrix of float) -0:412 mix (global 3X3 matrix of float) +0:412 mix (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 'inF2' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r027' (temp 3X3 matrix of float) -0:412 log (global 3X3 matrix of float) +0:412 log (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) @@ -2030,40 +2030,40 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r029' (temp 3X3 matrix of float) -0:412 log2 (global 3X3 matrix of float) +0:412 log2 (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r030' (temp 3X3 matrix of float) -0:412 max (global 3X3 matrix of float) +0:412 max (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r031' (temp 3X3 matrix of float) -0:412 min (global 3X3 matrix of float) +0:412 min (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r032' (temp 3X3 matrix of float) -0:412 pow (global 3X3 matrix of float) +0:412 pow (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r033' (temp 3X3 matrix of float) -0:412 radians (global 3X3 matrix of float) +0:412 radians (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r034' (temp 3X3 matrix of float) -0:412 roundEven (global 3X3 matrix of float) +0:412 roundEven (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r035' (temp 3X3 matrix of float) -0:412 inverse sqrt (global 3X3 matrix of float) +0:412 inverse sqrt (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) @@ -2077,12 +2077,12 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r037' (temp 3X3 matrix of float) -0:412 Sign (global 3X3 matrix of float) +0:412 Sign (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r038' (temp 3X3 matrix of float) -0:412 sine (global 3X3 matrix of float) +0:412 sine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) @@ -2096,42 +2096,42 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r039' (temp 3X3 matrix of float) -0:412 hyp. sine (global 3X3 matrix of float) +0:412 hyp. sine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r049' (temp 3X3 matrix of float) -0:412 smoothstep (global 3X3 matrix of float) +0:412 smoothstep (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 'inF2' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r041' (temp 3X3 matrix of float) -0:412 sqrt (global 3X3 matrix of float) +0:412 sqrt (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r042' (temp 3X3 matrix of float) -0:412 step (global 3X3 matrix of float) +0:412 step (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r043' (temp 3X3 matrix of float) -0:412 tangent (global 3X3 matrix of float) +0:412 tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r044' (temp 3X3 matrix of float) -0:412 hyp. tangent (global 3X3 matrix of float) +0:412 hyp. tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) -0:412 transpose (global 3X3 matrix of float) +0:412 transpose (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r046' (temp 3X3 matrix of float) -0:412 trunc (global 3X3 matrix of float) +0:412 trunc (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:415 Branch: Return with expression 0:? Constant: @@ -2153,40 +2153,40 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp bool) 0:421 'r000' (temp bool) -0:421 all (global bool) +0:421 all (temp bool) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r001' (temp 4X4 matrix of float) -0:421 Absolute value (global 4X4 matrix of float) +0:421 Absolute value (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) -0:421 arc cosine (global 4X4 matrix of float) +0:421 arc cosine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp bool) 0:421 'r003' (temp bool) -0:421 any (global bool) +0:421 any (temp bool) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r004' (temp 4X4 matrix of float) -0:421 arc sine (global 4X4 matrix of float) +0:421 arc sine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r005' (temp 4X4 matrix of float) -0:421 arc tangent (global 4X4 matrix of float) +0:421 arc tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r006' (temp 4X4 matrix of float) -0:421 arc tangent (global 4X4 matrix of float) +0:421 arc tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r007' (temp 4X4 matrix of float) -0:421 Ceiling (global 4X4 matrix of float) +0:421 Ceiling (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Test condition and select (temp void) 0:421 Condition @@ -2215,114 +2215,114 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r008' (temp 4X4 matrix of float) -0:421 clamp (global 4X4 matrix of float) +0:421 clamp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 'inF2' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r009' (temp 4X4 matrix of float) -0:421 cosine (global 4X4 matrix of float) +0:421 cosine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r010' (temp 4X4 matrix of float) -0:421 hyp. cosine (global 4X4 matrix of float) +0:421 hyp. cosine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r011' (temp 4X4 matrix of float) -0:421 dPdx (global 4X4 matrix of float) +0:421 dPdx (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r012' (temp 4X4 matrix of float) -0:421 dPdxCoarse (global 4X4 matrix of float) +0:421 dPdxCoarse (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r013' (temp 4X4 matrix of float) -0:421 dPdxFine (global 4X4 matrix of float) +0:421 dPdxFine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r014' (temp 4X4 matrix of float) -0:421 dPdy (global 4X4 matrix of float) +0:421 dPdy (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r015' (temp 4X4 matrix of float) -0:421 dPdyCoarse (global 4X4 matrix of float) +0:421 dPdyCoarse (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r016' (temp 4X4 matrix of float) -0:421 dPdyFine (global 4X4 matrix of float) +0:421 dPdyFine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r017' (temp 4X4 matrix of float) -0:421 degrees (global 4X4 matrix of float) +0:421 degrees (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp float) 0:421 'r018' (temp float) -0:421 determinant (global float) +0:421 determinant (temp float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r019' (temp 4X4 matrix of float) -0:421 exp (global 4X4 matrix of float) +0:421 exp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'R020' (temp 4X4 matrix of float) -0:421 exp2 (global 4X4 matrix of float) +0:421 exp2 (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r021' (temp 4X4 matrix of float) -0:421 Floor (global 4X4 matrix of float) +0:421 Floor (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r022' (temp 4X4 matrix of float) -0:421 mod (global 4X4 matrix of float) +0:421 mod (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r023' (temp 4X4 matrix of float) -0:421 Fraction (global 4X4 matrix of float) +0:421 Fraction (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r024' (temp 4X4 matrix of float) -0:421 frexp (global 4X4 matrix of float) +0:421 frexp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r025' (temp 4X4 matrix of float) -0:421 fwidth (global 4X4 matrix of float) +0:421 fwidth (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r026' (temp 4X4 matrix of float) -0:421 ldexp (global 4X4 matrix of float) +0:421 ldexp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r026a' (temp 4X4 matrix of float) -0:421 mix (global 4X4 matrix of float) +0:421 mix (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 'inF2' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r027' (temp 4X4 matrix of float) -0:421 log (global 4X4 matrix of float) +0:421 log (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) @@ -2335,40 +2335,40 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r029' (temp 4X4 matrix of float) -0:421 log2 (global 4X4 matrix of float) +0:421 log2 (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r030' (temp 4X4 matrix of float) -0:421 max (global 4X4 matrix of float) +0:421 max (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r031' (temp 4X4 matrix of float) -0:421 min (global 4X4 matrix of float) +0:421 min (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r032' (temp 4X4 matrix of float) -0:421 pow (global 4X4 matrix of float) +0:421 pow (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r033' (temp 4X4 matrix of float) -0:421 radians (global 4X4 matrix of float) +0:421 radians (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r034' (temp 4X4 matrix of float) -0:421 roundEven (global 4X4 matrix of float) +0:421 roundEven (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r035' (temp 4X4 matrix of float) -0:421 inverse sqrt (global 4X4 matrix of float) +0:421 inverse sqrt (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) @@ -2382,12 +2382,12 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r037' (temp 4X4 matrix of float) -0:421 Sign (global 4X4 matrix of float) +0:421 Sign (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r038' (temp 4X4 matrix of float) -0:421 sine (global 4X4 matrix of float) +0:421 sine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) @@ -2401,42 +2401,42 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r039' (temp 4X4 matrix of float) -0:421 hyp. sine (global 4X4 matrix of float) +0:421 hyp. sine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r049' (temp 4X4 matrix of float) -0:421 smoothstep (global 4X4 matrix of float) +0:421 smoothstep (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 'inF2' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r041' (temp 4X4 matrix of float) -0:421 sqrt (global 4X4 matrix of float) +0:421 sqrt (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r042' (temp 4X4 matrix of float) -0:421 step (global 4X4 matrix of float) +0:421 step (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r043' (temp 4X4 matrix of float) -0:421 tangent (global 4X4 matrix of float) +0:421 tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r044' (temp 4X4 matrix of float) -0:421 hyp. tangent (global 4X4 matrix of float) +0:421 hyp. tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) -0:421 transpose (global 4X4 matrix of float) +0:421 transpose (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r046' (temp 4X4 matrix of float) -0:421 trunc (global 4X4 matrix of float) +0:421 trunc (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:424 Branch: Return with expression 0:? Constant: @@ -2486,7 +2486,7 @@ gl_FragCoord origin is upper left 0:443 Sequence 0:443 move second child to first child (temp float) 0:443 'r3' (temp float) -0:443 dot-product (global float) +0:443 dot-product (temp float) 0:443 'inFV0' (in 2-component vector of float) 0:443 'inFV1' (in 2-component vector of float) 0:443 Sequence @@ -2549,7 +2549,7 @@ gl_FragCoord origin is upper left 0:450 Sequence 0:450 move second child to first child (temp float) 0:450 'r3' (temp float) -0:450 dot-product (global float) +0:450 dot-product (temp float) 0:450 'inFV0' (in 3-component vector of float) 0:450 'inFV1' (in 3-component vector of float) 0:450 Sequence @@ -2612,7 +2612,7 @@ gl_FragCoord origin is upper left 0:457 Sequence 0:457 move second child to first child (temp float) 0:457 'r3' (temp float) -0:457 dot-product (global float) +0:457 dot-product (temp float) 0:457 'inFV0' (in 4-component vector of float) 0:457 'inFV1' (in 4-component vector of float) 0:457 Sequence @@ -2690,13 +2690,13 @@ gl_FragCoord origin is upper left 0:472 Sequence 0:472 move second child to first child (temp float) 0:472 'r05' (temp float) -0:472 dot-product (global float) +0:472 dot-product (temp float) 0:472 'inFV2' (in 2-component vector of float) 0:472 'inFV2' (in 2-component vector of float) 0:473 Sequence 0:473 move second child to first child (temp float) 0:473 'r06' (temp float) -0:473 dot-product (global float) +0:473 dot-product (temp float) 0:473 'inFV3' (in 3-component vector of float) 0:473 'inFV3' (in 3-component vector of float) 0:474 Sequence @@ -2782,6 +2782,7 @@ gl_FragCoord origin is upper left 0:492 0 (const int) 0:492 Branch: Return 0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -2794,7 +2795,6 @@ gl_FragCoord origin is upper left 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) -0:? 'color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -2814,63 +2814,63 @@ gl_FragCoord origin is upper left 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 all (temp 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 Absolute value (temp 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 arc cosine (temp 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 any (temp 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 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 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 arc tangent (temp 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 Ceiling (temp 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 clamp (temp float) 0:32 'inF0' (in float) 0:32 'inF1' (in float) 0:32 'inF2' (in float) @@ -2885,132 +2885,132 @@ gl_FragCoord origin is upper left 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 cosine (temp 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 hyp. cosine (temp 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 bitCount (temp 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 dPdx (temp 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 dPdxCoarse (temp 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 dPdxFine (temp 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 dPdy (temp 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 dPdyCoarse (temp 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 dPdyFine (temp 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 degrees (temp 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 exp (temp 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 exp2 (temp 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 findMSB (temp 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 findLSB (temp 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 Floor (temp 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 mod (temp 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 Fraction (temp 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 frexp (temp 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 fwidth (temp 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 isinf (temp 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 isnan (temp 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 ldexp (temp 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 mix (temp 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 log (temp float) 0:61 'inF0' (in float) 0:62 Sequence 0:62 move second child to first child (temp float) @@ -3023,30 +3023,30 @@ gl_FragCoord origin is upper left 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 log2 (temp 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 max (temp 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 min (temp 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 pow (temp 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 radians (temp float) 0:67 'inF0' (in float) 0:68 Sequence 0:68 move second child to first child (temp float) @@ -3058,18 +3058,18 @@ gl_FragCoord origin is upper left 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 bitFieldReverse (temp 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 roundEven (temp 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 inverse sqrt (temp float) 0:71 'inF0' (in float) 0:72 Sequence 0:72 move second child to first child (temp float) @@ -3083,12 +3083,12 @@ gl_FragCoord origin is upper left 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 Sign (temp float) 0:73 'inF0' (in float) 0:74 Sequence 0:74 move second child to first child (temp float) 0:74 'r053' (temp float) -0:74 sine (global float) +0:74 sine (temp float) 0:74 'inF0' (in float) 0:75 Sequence 0:75 move second child to first child (temp float) @@ -3102,40 +3102,40 @@ gl_FragCoord origin is upper left 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 hyp. sine (temp 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 smoothstep (temp 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 sqrt (temp 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 step (temp 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 tangent (temp 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 hyp. tangent (temp 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 trunc (temp float) 0:83 'inF0' (in float) 0:85 Branch: Return with expression 0:85 Constant: @@ -3160,63 +3160,63 @@ gl_FragCoord origin is upper left 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 all (temp 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 Absolute value (temp 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 arc cosine (temp 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 any (temp 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 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 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 arc tangent (temp 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 Ceiling (temp 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 clamp (temp 2-component vector of float) 0:110 '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) @@ -3233,157 +3233,157 @@ gl_FragCoord origin is upper left 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 cosine (temp 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 hyp. cosine (temp 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:? bitCount (temp 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 dPdx (temp 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 dPdxCoarse (temp 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 dPdxFine (temp 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 dPdy (temp 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 dPdyCoarse (temp 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 dPdyFine (temp 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 degrees (temp 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 distance (temp 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 dot-product (temp 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 exp (temp 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 exp2 (temp 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 face-forward (temp 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:? findMSB (temp 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:? findLSB (temp 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 Floor (temp 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 mod (temp 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 Fraction (temp 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 frexp (temp 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 fwidth (temp 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 isinf (temp 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 isnan (temp 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 ldexp (temp 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 mix (temp 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 length (temp 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 log (temp 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) @@ -3396,35 +3396,35 @@ gl_FragCoord origin is upper left 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 log2 (temp 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 max (temp 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 min (temp 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 normalize (temp 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 pow (temp 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 radians (temp 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) @@ -3436,13 +3436,13 @@ gl_FragCoord origin is upper left 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 reflect (temp 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 refract (temp 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: @@ -3450,19 +3450,19 @@ gl_FragCoord origin is upper left 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:? bitFieldReverse (temp 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 'r055' (temp 2-component vector of float) -0:158 roundEven (global 2-component vector of float) +0:158 roundEven (temp 2-component vector of float) 0:158 'inF0' (in 2-component vector of float) 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 inverse sqrt (temp 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) @@ -3476,12 +3476,12 @@ gl_FragCoord origin is upper left 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 Sign (temp 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 sine (temp 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) @@ -3495,40 +3495,40 @@ gl_FragCoord origin is upper left 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 hyp. sine (temp 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 smoothstep (temp 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 sqrt (temp 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 step (temp 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 tangent (temp 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 hyp. tangent (temp 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 trunc (temp 2-component vector of float) 0:171 'inF0' (in 2-component vector of float) 0:174 Branch: Return with expression 0:? Constant: @@ -3545,63 +3545,63 @@ gl_FragCoord origin is upper left 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 all (temp 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 Absolute value (temp 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 arc cosine (temp 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 any (temp 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 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 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 arc tangent (temp 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 Ceiling (temp 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 clamp (temp 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) @@ -3619,17 +3619,17 @@ gl_FragCoord origin is upper left 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 cosine (temp 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 hyp. cosine (temp 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:? bitCount (temp 3-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) @@ -3637,77 +3637,77 @@ gl_FragCoord origin is upper left 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 cross-product (temp 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 dPdx (temp 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 dPdxCoarse (temp 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 dPdxFine (temp 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 dPdy (temp 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 dPdyCoarse (temp 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 dPdyFine (temp 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 degrees (temp 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 distance (temp 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 dot-product (temp 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 exp (temp 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 exp2 (temp 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 face-forward (temp 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:? findMSB (temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) @@ -3715,7 +3715,7 @@ gl_FragCoord origin is upper left 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:? findLSB (temp 3-component vector of uint) 0:? Constant: 0:? 2 (const uint) 0:? 3 (const uint) @@ -3723,57 +3723,57 @@ gl_FragCoord origin is upper left 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 Floor (temp 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 mod (temp 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 Fraction (temp 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 frexp (temp 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 fwidth (temp 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 isinf (temp 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 isnan (temp 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 ldexp (temp 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 mix (temp 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 3-component vector of float) 0:226 'r039b' (temp 3-component vector of float) -0:226 mix (global 3-component vector of float) +0:226 mix (temp 3-component vector of float) 0:226 'inF0' (in 3-component vector of float) 0:226 'inF1' (in 3-component vector of float) 0:226 Constant: @@ -3781,12 +3781,12 @@ gl_FragCoord origin is upper left 0:227 Sequence 0:227 move second child to first child (temp float) 0:227 'r043' (temp float) -0:227 length (global float) +0:227 length (temp 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 'r044' (temp 3-component vector of float) -0:228 log (global 3-component vector of float) +0:228 log (temp 3-component vector of float) 0:228 'inF0' (in 3-component vector of float) 0:229 Sequence 0:229 move second child to first child (temp 3-component vector of float) @@ -3799,35 +3799,35 @@ gl_FragCoord origin is upper left 0:230 Sequence 0:230 move second child to first child (temp 3-component vector of float) 0:230 'r046' (temp 3-component vector of float) -0:230 log2 (global 3-component vector of float) +0:230 log2 (temp 3-component vector of float) 0:230 'inF0' (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 'r047' (temp 3-component vector of float) -0:231 max (global 3-component vector of float) +0:231 max (temp 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 'r048' (temp 3-component vector of float) -0:232 min (global 3-component vector of float) +0:232 min (temp 3-component vector of float) 0:232 'inF0' (in 3-component vector of float) 0:232 'inF1' (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 'r049' (temp 3-component vector of float) -0:233 normalize (global 3-component vector of float) +0:233 normalize (temp 3-component vector of float) 0:233 'inF0' (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 'r050' (temp 3-component vector of float) -0:234 pow (global 3-component vector of float) +0:234 pow (temp 3-component vector of float) 0:234 'inF0' (in 3-component vector of float) 0:234 'inF1' (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 'r051' (temp 3-component vector of float) -0:235 radians (global 3-component vector of float) +0:235 radians (temp 3-component vector of float) 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) @@ -3839,13 +3839,13 @@ gl_FragCoord origin is upper left 0:237 Sequence 0:237 move second child to first child (temp 3-component vector of float) 0:237 'r053' (temp 3-component vector of float) -0:237 reflect (global 3-component vector of float) +0:237 reflect (temp 3-component vector of float) 0:237 'inF0' (in 3-component vector of float) 0:237 'inF1' (in 3-component vector of float) 0:238 Sequence 0:238 move second child to first child (temp 3-component vector of float) 0:238 'r054' (temp 3-component vector of float) -0:238 refract (global 3-component vector of float) +0:238 refract (temp 3-component vector of float) 0:238 'inF0' (in 3-component vector of float) 0:238 'inF1' (in 3-component vector of float) 0:238 Constant: @@ -3853,7 +3853,7 @@ gl_FragCoord origin is upper left 0:239 Sequence 0:239 move second child to first child (temp 3-component vector of uint) 0:239 'r055' (temp 3-component vector of uint) -0:? bitFieldReverse (global 3-component vector of uint) +0:? bitFieldReverse (temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) @@ -3861,12 +3861,12 @@ gl_FragCoord origin is upper left 0:240 Sequence 0:240 move second child to first child (temp 3-component vector of float) 0:240 'r056' (temp 3-component vector of float) -0:240 roundEven (global 3-component vector of float) +0:240 roundEven (temp 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 'r057' (temp 3-component vector of float) -0:241 inverse sqrt (global 3-component vector of float) +0:241 inverse sqrt (temp 3-component vector of float) 0:241 'inF0' (in 3-component vector of float) 0:242 Sequence 0:242 move second child to first child (temp 3-component vector of float) @@ -3880,12 +3880,12 @@ gl_FragCoord origin is upper left 0:243 Sequence 0:243 move second child to first child (temp 3-component vector of float) 0:243 'r059' (temp 3-component vector of float) -0:243 Sign (global 3-component vector of float) +0:243 Sign (temp 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 'r060' (temp 3-component vector of float) -0:244 sine (global 3-component vector of float) +0:244 sine (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) @@ -3899,40 +3899,40 @@ gl_FragCoord origin is upper left 0:246 Sequence 0:246 move second child to first child (temp 3-component vector of float) 0:246 'r061' (temp 3-component vector of float) -0:246 hyp. sine (global 3-component vector of float) +0:246 hyp. sine (temp 3-component vector of float) 0:246 'inF0' (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 'r062' (temp 3-component vector of float) -0:247 smoothstep (global 3-component vector of float) +0:247 smoothstep (temp 3-component vector of float) 0:247 'inF0' (in 3-component vector of float) 0:247 'inF1' (in 3-component vector of float) 0:247 'inF2' (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 'r063' (temp 3-component vector of float) -0:248 sqrt (global 3-component vector of float) +0:248 sqrt (temp 3-component vector of float) 0:248 'inF0' (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 'r064' (temp 3-component vector of float) -0:249 step (global 3-component vector of float) +0:249 step (temp 3-component vector of float) 0:249 'inF0' (in 3-component vector of float) 0:249 'inF1' (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 'r065' (temp 3-component vector of float) -0:250 tangent (global 3-component vector of float) +0:250 tangent (temp 3-component vector of float) 0:250 'inF0' (in 3-component vector of float) 0:251 Sequence 0:251 move second child to first child (temp 3-component vector of float) 0:251 'r066' (temp 3-component vector of float) -0:251 hyp. tangent (global 3-component vector of float) +0:251 hyp. tangent (temp 3-component vector of float) 0:251 'inF0' (in 3-component vector of float) 0:253 Sequence 0:253 move second child to first child (temp 3-component vector of float) 0:253 'r067' (temp 3-component vector of float) -0:253 trunc (global 3-component vector of float) +0:253 trunc (temp 3-component vector of float) 0:253 'inF0' (in 3-component vector of float) 0:256 Branch: Return with expression 0:? Constant: @@ -3950,63 +3950,63 @@ gl_FragCoord origin is upper left 0:263 Sequence 0:263 move second child to first child (temp bool) 0:263 'r000' (temp bool) -0:263 all (global bool) +0:263 all (temp bool) 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 'r001' (temp 4-component vector of float) -0:264 Absolute value (global 4-component vector of float) +0:264 Absolute value (temp 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 4-component vector of float) 0:265 'r002' (temp 4-component vector of float) -0:265 arc cosine (global 4-component vector of float) +0:265 arc cosine (temp 4-component vector of float) 0:265 'inF0' (in 4-component vector of float) 0:266 Sequence 0:266 move second child to first child (temp bool) 0:266 'r003' (temp bool) -0:266 any (global bool) +0:266 any (temp bool) 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 float) 0:267 'r004' (temp 4-component vector of float) -0:267 arc sine (global 4-component vector of float) +0:267 arc sine (temp 4-component vector of float) 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 int) 0:268 'r005' (temp 4-component vector of int) -0:268 floatBitsToInt (global 4-component vector of int) +0:268 floatBitsToInt (temp 4-component vector of int) 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 uint) 0:269 'r006' (temp 4-component vector of uint) -0:269 floatBitsToUint (global 4-component vector of uint) +0:269 floatBitsToUint (temp 4-component vector of uint) 0:269 'inF0' (in 4-component vector of float) 0:270 Sequence 0:270 move second child to first child (temp 4-component vector of float) 0:270 'r007' (temp 4-component vector of float) -0:270 intBitsToFloat (global 4-component vector of float) +0:270 intBitsToFloat (temp 4-component vector of float) 0:270 'inU0' (in 4-component vector of uint) 0:272 Sequence 0:272 move second child to first child (temp 4-component vector of float) 0:272 'r009' (temp 4-component vector of float) -0:272 arc tangent (global 4-component vector of float) +0:272 arc tangent (temp 4-component vector of float) 0:272 'inF0' (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 'r010' (temp 4-component vector of float) -0:273 arc tangent (global 4-component vector of float) +0:273 arc tangent (temp 4-component vector of float) 0:273 'inF0' (in 4-component vector of float) 0:273 'inF1' (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 'r011' (temp 4-component vector of float) -0:274 Ceiling (global 4-component vector of float) +0:274 Ceiling (temp 4-component vector of float) 0:274 'inF0' (in 4-component vector of float) 0:275 Sequence 0:275 move second child to first child (temp 4-component vector of float) 0:275 'r012' (temp 4-component vector of float) -0:275 clamp (global 4-component vector of float) +0:275 clamp (temp 4-component vector of float) 0:275 'inF0' (in 4-component vector of float) 0:275 'inF1' (in 4-component vector of float) 0:275 'inF2' (in 4-component vector of float) @@ -4025,17 +4025,17 @@ gl_FragCoord origin is upper left 0:277 Sequence 0:277 move second child to first child (temp 4-component vector of float) 0:277 'r013' (temp 4-component vector of float) -0:277 cosine (global 4-component vector of float) +0:277 cosine (temp 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 float) 0:278 'r014' (temp 4-component vector of float) -0:278 hyp. cosine (global 4-component vector of float) +0:278 hyp. cosine (temp 4-component vector of float) 0:278 'inF0' (in 4-component vector of float) 0:279 Sequence 0:279 move second child to first child (temp 4-component vector of uint) 0:279 'r015' (temp 4-component vector of uint) -0:? bitCount (global 4-component vector of uint) +0:? bitCount (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) @@ -4044,48 +4044,48 @@ gl_FragCoord origin is upper left 0:280 Sequence 0:280 move second child to first child (temp 4-component vector of float) 0:280 'r016' (temp 4-component vector of float) -0:280 dPdx (global 4-component vector of float) +0:280 dPdx (temp 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 'r017' (temp 4-component vector of float) -0:281 dPdxCoarse (global 4-component vector of float) +0:281 dPdxCoarse (temp 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 'r018' (temp 4-component vector of float) -0:282 dPdxFine (global 4-component vector of float) +0:282 dPdxFine (temp 4-component vector of float) 0:282 '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 'r019' (temp 4-component vector of float) -0:283 dPdy (global 4-component vector of float) +0:283 dPdy (temp 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 'r020' (temp 4-component vector of float) -0:284 dPdyCoarse (global 4-component vector of float) +0:284 dPdyCoarse (temp 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 'r021' (temp 4-component vector of float) -0:285 dPdyFine (global 4-component vector of float) +0:285 dPdyFine (temp 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 4-component vector of float) 0:286 'r022' (temp 4-component vector of float) -0:286 degrees (global 4-component vector of float) +0:286 degrees (temp 4-component vector of float) 0:286 'inF0' (in 4-component vector of float) 0:287 Sequence 0:287 move second child to first child (temp float) 0:287 'r023' (temp float) -0:287 distance (global float) +0:287 distance (temp 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 float) 0:288 'r024' (temp float) -0:288 dot-product (global float) +0:288 dot-product (temp float) 0:288 'inF0' (in 4-component vector of float) 0:288 'inF1' (in 4-component vector of float) 0:289 Sequence @@ -4114,24 +4114,24 @@ gl_FragCoord origin is upper left 0:293 Sequence 0:293 move second child to first child (temp 4-component vector of float) 0:293 'r029' (temp 4-component vector of float) -0:293 exp (global 4-component vector of float) +0:293 exp (temp 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 'r030' (temp 4-component vector of float) -0:294 exp2 (global 4-component vector of float) +0:294 exp2 (temp 4-component vector of float) 0:294 'inF0' (in 4-component vector of float) 0:295 Sequence 0:295 move second child to first child (temp 4-component vector of float) 0:295 'r031' (temp 4-component vector of float) -0:295 face-forward (global 4-component vector of float) +0:295 face-forward (temp 4-component vector of float) 0:295 'inF0' (in 4-component vector of float) 0:295 'inF1' (in 4-component vector of float) 0:295 'inF2' (in 4-component vector of float) 0:296 Sequence 0:296 move second child to first child (temp 4-component vector of uint) 0:296 'r032' (temp 4-component vector of uint) -0:? findMSB (global 4-component vector of uint) +0:? findMSB (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) @@ -4140,7 +4140,7 @@ gl_FragCoord origin is upper left 0:297 Sequence 0:297 move second child to first child (temp 4-component vector of uint) 0:297 'r033' (temp 4-component vector of uint) -0:? findLSB (global 4-component vector of uint) +0:? findLSB (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 8 (const uint) @@ -4149,62 +4149,62 @@ gl_FragCoord origin is upper left 0:298 Sequence 0:298 move second child to first child (temp 4-component vector of float) 0:298 'r034' (temp 4-component vector of float) -0:298 Floor (global 4-component vector of float) +0:298 Floor (temp 4-component vector of float) 0:298 'inF0' (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 'r036' (temp 4-component vector of float) -0:300 mod (global 4-component vector of float) +0:300 mod (temp 4-component vector of float) 0:300 'inF0' (in 4-component vector of float) 0:300 'inF1' (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 'r037' (temp 4-component vector of float) -0:301 Fraction (global 4-component vector of float) +0:301 Fraction (temp 4-component vector of float) 0:301 'inF0' (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 'r038' (temp 4-component vector of float) -0:302 frexp (global 4-component vector of float) +0:302 frexp (temp 4-component vector of float) 0:302 'inF0' (in 4-component vector of float) 0:302 'inF1' (in 4-component vector of float) 0:303 Sequence 0:303 move second child to first child (temp 4-component vector of float) 0:303 'r039' (temp 4-component vector of float) -0:303 fwidth (global 4-component vector of float) +0:303 fwidth (temp 4-component vector of float) 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 'r040' (temp 4-component vector of bool) -0:304 isinf (global 4-component vector of bool) +0:304 isinf (temp 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 bool) 0:305 'r041' (temp 4-component vector of bool) -0:305 isnan (global 4-component vector of bool) +0:305 isnan (temp 4-component vector of bool) 0:305 'inF0' (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 'r042' (temp 4-component vector of float) -0:306 ldexp (global 4-component vector of float) +0:306 ldexp (temp 4-component vector of float) 0:306 'inF0' (in 4-component vector of float) 0:306 'inF1' (in 4-component vector of float) 0:307 Sequence 0:307 move second child to first child (temp 4-component vector of float) 0:307 'r039a' (temp 4-component vector of float) -0:307 mix (global 4-component vector of float) +0:307 mix (temp 4-component vector of float) 0:307 'inF0' (in 4-component vector of float) 0:307 'inF1' (in 4-component vector of float) 0:307 'inF2' (in 4-component vector of float) 0:308 Sequence 0:308 move second child to first child (temp float) 0:308 'r043' (temp float) -0:308 length (global float) +0:308 length (temp 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 'r044' (temp 4-component vector of float) -0:309 log (global 4-component vector of float) +0:309 log (temp 4-component vector of float) 0:309 'inF0' (in 4-component vector of float) 0:310 Sequence 0:310 move second child to first child (temp 4-component vector of float) @@ -4217,35 +4217,35 @@ gl_FragCoord origin is upper left 0:311 Sequence 0:311 move second child to first child (temp 4-component vector of float) 0:311 'r046' (temp 4-component vector of float) -0:311 log2 (global 4-component vector of float) +0:311 log2 (temp 4-component vector of float) 0:311 'inF0' (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 'r047' (temp 4-component vector of float) -0:312 max (global 4-component vector of float) +0:312 max (temp 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 'r048' (temp 4-component vector of float) -0:313 min (global 4-component vector of float) +0:313 min (temp 4-component vector of float) 0:313 'inF0' (in 4-component vector of float) 0:313 'inF1' (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 'r049' (temp 4-component vector of float) -0:314 normalize (global 4-component vector of float) +0:314 normalize (temp 4-component vector of float) 0:314 'inF0' (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 'r050' (temp 4-component vector of float) -0:315 pow (global 4-component vector of float) +0:315 pow (temp 4-component vector of float) 0:315 'inF0' (in 4-component vector of float) 0:315 'inF1' (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 'r051' (temp 4-component vector of float) -0:316 radians (global 4-component vector of float) +0:316 radians (temp 4-component vector of float) 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) @@ -4257,13 +4257,13 @@ gl_FragCoord origin is upper left 0:318 Sequence 0:318 move second child to first child (temp 4-component vector of float) 0:318 'r053' (temp 4-component vector of float) -0:318 reflect (global 4-component vector of float) +0:318 reflect (temp 4-component vector of float) 0:318 'inF0' (in 4-component vector of float) 0:318 'inF1' (in 4-component vector of float) 0:319 Sequence 0:319 move second child to first child (temp 4-component vector of float) 0:319 'r054' (temp 4-component vector of float) -0:319 refract (global 4-component vector of float) +0:319 refract (temp 4-component vector of float) 0:319 'inF0' (in 4-component vector of float) 0:319 'inF1' (in 4-component vector of float) 0:319 Constant: @@ -4271,7 +4271,7 @@ gl_FragCoord origin is upper left 0:320 Sequence 0:320 move second child to first child (temp 4-component vector of uint) 0:320 'r055' (temp 4-component vector of uint) -0:? bitFieldReverse (global 4-component vector of uint) +0:? bitFieldReverse (temp 4-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) @@ -4280,12 +4280,12 @@ gl_FragCoord origin is upper left 0:321 Sequence 0:321 move second child to first child (temp 4-component vector of float) 0:321 'r056' (temp 4-component vector of float) -0:321 roundEven (global 4-component vector of float) +0:321 roundEven (temp 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 'r057' (temp 4-component vector of float) -0:322 inverse sqrt (global 4-component vector of float) +0:322 inverse sqrt (temp 4-component vector of float) 0:322 'inF0' (in 4-component vector of float) 0:323 Sequence 0:323 move second child to first child (temp 4-component vector of float) @@ -4299,12 +4299,12 @@ gl_FragCoord origin is upper left 0:324 Sequence 0:324 move second child to first child (temp 4-component vector of float) 0:324 'r059' (temp 4-component vector of float) -0:324 Sign (global 4-component vector of float) +0:324 Sign (temp 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 'r060' (temp 4-component vector of float) -0:325 sine (global 4-component vector of float) +0:325 sine (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) @@ -4318,40 +4318,40 @@ gl_FragCoord origin is upper left 0:327 Sequence 0:327 move second child to first child (temp 4-component vector of float) 0:327 'r061' (temp 4-component vector of float) -0:327 hyp. sine (global 4-component vector of float) +0:327 hyp. sine (temp 4-component vector of float) 0:327 'inF0' (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 'r062' (temp 4-component vector of float) -0:328 smoothstep (global 4-component vector of float) +0:328 smoothstep (temp 4-component vector of float) 0:328 'inF0' (in 4-component vector of float) 0:328 'inF1' (in 4-component vector of float) 0:328 'inF2' (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 'r063' (temp 4-component vector of float) -0:329 sqrt (global 4-component vector of float) +0:329 sqrt (temp 4-component vector of float) 0:329 'inF0' (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 'r064' (temp 4-component vector of float) -0:330 step (global 4-component vector of float) +0:330 step (temp 4-component vector of float) 0:330 'inF0' (in 4-component vector of float) 0:330 'inF1' (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 'r065' (temp 4-component vector of float) -0:331 tangent (global 4-component vector of float) +0:331 tangent (temp 4-component vector of float) 0:331 'inF0' (in 4-component vector of float) 0:332 Sequence 0:332 move second child to first child (temp 4-component vector of float) 0:332 'r066' (temp 4-component vector of float) -0:332 hyp. tangent (global 4-component vector of float) +0:332 hyp. tangent (temp 4-component vector of float) 0:332 'inF0' (in 4-component vector of float) 0:334 Sequence 0:334 move second child to first child (temp 4-component vector of float) 0:334 'r067' (temp 4-component vector of float) -0:334 trunc (global 4-component vector of float) +0:334 trunc (temp 4-component vector of float) 0:334 'inF0' (in 4-component vector of float) 0:337 Branch: Return with expression 0:? Constant: @@ -4368,40 +4368,40 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp bool) 0:403 'r000' (temp bool) -0:403 all (global bool) +0:403 all (temp bool) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r001' (temp 2X2 matrix of float) -0:403 Absolute value (global 2X2 matrix of float) +0:403 Absolute value (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) -0:403 arc cosine (global 2X2 matrix of float) +0:403 arc cosine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp bool) 0:403 'r003' (temp bool) -0:403 any (global bool) +0:403 any (temp bool) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r004' (temp 2X2 matrix of float) -0:403 arc sine (global 2X2 matrix of float) +0:403 arc sine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r005' (temp 2X2 matrix of float) -0:403 arc tangent (global 2X2 matrix of float) +0:403 arc tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r006' (temp 2X2 matrix of float) -0:403 arc tangent (global 2X2 matrix of float) +0:403 arc tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r007' (temp 2X2 matrix of float) -0:403 Ceiling (global 2X2 matrix of float) +0:403 Ceiling (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Test condition and select (temp void) 0:403 Condition @@ -4418,114 +4418,114 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r008' (temp 2X2 matrix of float) -0:403 clamp (global 2X2 matrix of float) +0:403 clamp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 'inF2' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r009' (temp 2X2 matrix of float) -0:403 cosine (global 2X2 matrix of float) +0:403 cosine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r010' (temp 2X2 matrix of float) -0:403 hyp. cosine (global 2X2 matrix of float) +0:403 hyp. cosine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r011' (temp 2X2 matrix of float) -0:403 dPdx (global 2X2 matrix of float) +0:403 dPdx (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r012' (temp 2X2 matrix of float) -0:403 dPdxCoarse (global 2X2 matrix of float) +0:403 dPdxCoarse (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r013' (temp 2X2 matrix of float) -0:403 dPdxFine (global 2X2 matrix of float) +0:403 dPdxFine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r014' (temp 2X2 matrix of float) -0:403 dPdy (global 2X2 matrix of float) +0:403 dPdy (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r015' (temp 2X2 matrix of float) -0:403 dPdyCoarse (global 2X2 matrix of float) +0:403 dPdyCoarse (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r016' (temp 2X2 matrix of float) -0:403 dPdyFine (global 2X2 matrix of float) +0:403 dPdyFine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r017' (temp 2X2 matrix of float) -0:403 degrees (global 2X2 matrix of float) +0:403 degrees (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp float) 0:403 'r018' (temp float) -0:403 determinant (global float) +0:403 determinant (temp float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r019' (temp 2X2 matrix of float) -0:403 exp (global 2X2 matrix of float) +0:403 exp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'R020' (temp 2X2 matrix of float) -0:403 exp2 (global 2X2 matrix of float) +0:403 exp2 (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r021' (temp 2X2 matrix of float) -0:403 Floor (global 2X2 matrix of float) +0:403 Floor (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r022' (temp 2X2 matrix of float) -0:403 mod (global 2X2 matrix of float) +0:403 mod (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r023' (temp 2X2 matrix of float) -0:403 Fraction (global 2X2 matrix of float) +0:403 Fraction (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r024' (temp 2X2 matrix of float) -0:403 frexp (global 2X2 matrix of float) +0:403 frexp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r025' (temp 2X2 matrix of float) -0:403 fwidth (global 2X2 matrix of float) +0:403 fwidth (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r026' (temp 2X2 matrix of float) -0:403 ldexp (global 2X2 matrix of float) +0:403 ldexp (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r026a' (temp 2X2 matrix of float) -0:403 mix (global 2X2 matrix of float) +0:403 mix (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 'inF2' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r027' (temp 2X2 matrix of float) -0:403 log (global 2X2 matrix of float) +0:403 log (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) @@ -4538,40 +4538,40 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r029' (temp 2X2 matrix of float) -0:403 log2 (global 2X2 matrix of float) +0:403 log2 (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r030' (temp 2X2 matrix of float) -0:403 max (global 2X2 matrix of float) +0:403 max (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r031' (temp 2X2 matrix of float) -0:403 min (global 2X2 matrix of float) +0:403 min (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r032' (temp 2X2 matrix of float) -0:403 pow (global 2X2 matrix of float) +0:403 pow (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r033' (temp 2X2 matrix of float) -0:403 radians (global 2X2 matrix of float) +0:403 radians (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r034' (temp 2X2 matrix of float) -0:403 roundEven (global 2X2 matrix of float) +0:403 roundEven (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r035' (temp 2X2 matrix of float) -0:403 inverse sqrt (global 2X2 matrix of float) +0:403 inverse sqrt (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) @@ -4585,12 +4585,12 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r037' (temp 2X2 matrix of float) -0:403 Sign (global 2X2 matrix of float) +0:403 Sign (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r038' (temp 2X2 matrix of float) -0:403 sine (global 2X2 matrix of float) +0:403 sine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) @@ -4604,42 +4604,42 @@ gl_FragCoord origin is upper left 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r039' (temp 2X2 matrix of float) -0:403 hyp. sine (global 2X2 matrix of float) +0:403 hyp. sine (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r049' (temp 2X2 matrix of float) -0:403 smoothstep (global 2X2 matrix of float) +0:403 smoothstep (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 'inF2' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r041' (temp 2X2 matrix of float) -0:403 sqrt (global 2X2 matrix of float) +0:403 sqrt (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r042' (temp 2X2 matrix of float) -0:403 step (global 2X2 matrix of float) +0:403 step (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 'inF1' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r043' (temp 2X2 matrix of float) -0:403 tangent (global 2X2 matrix of float) +0:403 tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r044' (temp 2X2 matrix of float) -0:403 hyp. tangent (global 2X2 matrix of float) +0:403 hyp. tangent (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) -0:403 transpose (global 2X2 matrix of float) +0:403 transpose (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:403 Sequence 0:403 move second child to first child (temp 2X2 matrix of float) 0:403 'r046' (temp 2X2 matrix of float) -0:403 trunc (global 2X2 matrix of float) +0:403 trunc (temp 2X2 matrix of float) 0:403 'inF0' (in 2X2 matrix of float) 0:406 Branch: Return with expression 0:? Constant: @@ -4656,40 +4656,40 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp bool) 0:412 'r000' (temp bool) -0:412 all (global bool) +0:412 all (temp bool) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r001' (temp 3X3 matrix of float) -0:412 Absolute value (global 3X3 matrix of float) +0:412 Absolute value (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) -0:412 arc cosine (global 3X3 matrix of float) +0:412 arc cosine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp bool) 0:412 'r003' (temp bool) -0:412 any (global bool) +0:412 any (temp bool) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r004' (temp 3X3 matrix of float) -0:412 arc sine (global 3X3 matrix of float) +0:412 arc sine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r005' (temp 3X3 matrix of float) -0:412 arc tangent (global 3X3 matrix of float) +0:412 arc tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r006' (temp 3X3 matrix of float) -0:412 arc tangent (global 3X3 matrix of float) +0:412 arc tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r007' (temp 3X3 matrix of float) -0:412 Ceiling (global 3X3 matrix of float) +0:412 Ceiling (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Test condition and select (temp void) 0:412 Condition @@ -4711,114 +4711,114 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r008' (temp 3X3 matrix of float) -0:412 clamp (global 3X3 matrix of float) +0:412 clamp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 'inF2' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r009' (temp 3X3 matrix of float) -0:412 cosine (global 3X3 matrix of float) +0:412 cosine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r010' (temp 3X3 matrix of float) -0:412 hyp. cosine (global 3X3 matrix of float) +0:412 hyp. cosine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r011' (temp 3X3 matrix of float) -0:412 dPdx (global 3X3 matrix of float) +0:412 dPdx (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r012' (temp 3X3 matrix of float) -0:412 dPdxCoarse (global 3X3 matrix of float) +0:412 dPdxCoarse (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r013' (temp 3X3 matrix of float) -0:412 dPdxFine (global 3X3 matrix of float) +0:412 dPdxFine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r014' (temp 3X3 matrix of float) -0:412 dPdy (global 3X3 matrix of float) +0:412 dPdy (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r015' (temp 3X3 matrix of float) -0:412 dPdyCoarse (global 3X3 matrix of float) +0:412 dPdyCoarse (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r016' (temp 3X3 matrix of float) -0:412 dPdyFine (global 3X3 matrix of float) +0:412 dPdyFine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r017' (temp 3X3 matrix of float) -0:412 degrees (global 3X3 matrix of float) +0:412 degrees (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp float) 0:412 'r018' (temp float) -0:412 determinant (global float) +0:412 determinant (temp float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r019' (temp 3X3 matrix of float) -0:412 exp (global 3X3 matrix of float) +0:412 exp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'R020' (temp 3X3 matrix of float) -0:412 exp2 (global 3X3 matrix of float) +0:412 exp2 (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r021' (temp 3X3 matrix of float) -0:412 Floor (global 3X3 matrix of float) +0:412 Floor (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r022' (temp 3X3 matrix of float) -0:412 mod (global 3X3 matrix of float) +0:412 mod (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r023' (temp 3X3 matrix of float) -0:412 Fraction (global 3X3 matrix of float) +0:412 Fraction (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r024' (temp 3X3 matrix of float) -0:412 frexp (global 3X3 matrix of float) +0:412 frexp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r025' (temp 3X3 matrix of float) -0:412 fwidth (global 3X3 matrix of float) +0:412 fwidth (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r026' (temp 3X3 matrix of float) -0:412 ldexp (global 3X3 matrix of float) +0:412 ldexp (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r026a' (temp 3X3 matrix of float) -0:412 mix (global 3X3 matrix of float) +0:412 mix (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 'inF2' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r027' (temp 3X3 matrix of float) -0:412 log (global 3X3 matrix of float) +0:412 log (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) @@ -4831,40 +4831,40 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r029' (temp 3X3 matrix of float) -0:412 log2 (global 3X3 matrix of float) +0:412 log2 (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r030' (temp 3X3 matrix of float) -0:412 max (global 3X3 matrix of float) +0:412 max (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r031' (temp 3X3 matrix of float) -0:412 min (global 3X3 matrix of float) +0:412 min (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r032' (temp 3X3 matrix of float) -0:412 pow (global 3X3 matrix of float) +0:412 pow (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r033' (temp 3X3 matrix of float) -0:412 radians (global 3X3 matrix of float) +0:412 radians (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r034' (temp 3X3 matrix of float) -0:412 roundEven (global 3X3 matrix of float) +0:412 roundEven (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r035' (temp 3X3 matrix of float) -0:412 inverse sqrt (global 3X3 matrix of float) +0:412 inverse sqrt (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) @@ -4878,12 +4878,12 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r037' (temp 3X3 matrix of float) -0:412 Sign (global 3X3 matrix of float) +0:412 Sign (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r038' (temp 3X3 matrix of float) -0:412 sine (global 3X3 matrix of float) +0:412 sine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) @@ -4897,42 +4897,42 @@ gl_FragCoord origin is upper left 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r039' (temp 3X3 matrix of float) -0:412 hyp. sine (global 3X3 matrix of float) +0:412 hyp. sine (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r049' (temp 3X3 matrix of float) -0:412 smoothstep (global 3X3 matrix of float) +0:412 smoothstep (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 'inF2' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r041' (temp 3X3 matrix of float) -0:412 sqrt (global 3X3 matrix of float) +0:412 sqrt (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r042' (temp 3X3 matrix of float) -0:412 step (global 3X3 matrix of float) +0:412 step (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 'inF1' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r043' (temp 3X3 matrix of float) -0:412 tangent (global 3X3 matrix of float) +0:412 tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r044' (temp 3X3 matrix of float) -0:412 hyp. tangent (global 3X3 matrix of float) +0:412 hyp. tangent (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) -0:412 transpose (global 3X3 matrix of float) +0:412 transpose (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:412 Sequence 0:412 move second child to first child (temp 3X3 matrix of float) 0:412 'r046' (temp 3X3 matrix of float) -0:412 trunc (global 3X3 matrix of float) +0:412 trunc (temp 3X3 matrix of float) 0:412 'inF0' (in 3X3 matrix of float) 0:415 Branch: Return with expression 0:? Constant: @@ -4954,40 +4954,40 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp bool) 0:421 'r000' (temp bool) -0:421 all (global bool) +0:421 all (temp bool) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r001' (temp 4X4 matrix of float) -0:421 Absolute value (global 4X4 matrix of float) +0:421 Absolute value (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) -0:421 arc cosine (global 4X4 matrix of float) +0:421 arc cosine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp bool) 0:421 'r003' (temp bool) -0:421 any (global bool) +0:421 any (temp bool) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r004' (temp 4X4 matrix of float) -0:421 arc sine (global 4X4 matrix of float) +0:421 arc sine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r005' (temp 4X4 matrix of float) -0:421 arc tangent (global 4X4 matrix of float) +0:421 arc tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r006' (temp 4X4 matrix of float) -0:421 arc tangent (global 4X4 matrix of float) +0:421 arc tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r007' (temp 4X4 matrix of float) -0:421 Ceiling (global 4X4 matrix of float) +0:421 Ceiling (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Test condition and select (temp void) 0:421 Condition @@ -5016,114 +5016,114 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r008' (temp 4X4 matrix of float) -0:421 clamp (global 4X4 matrix of float) +0:421 clamp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 'inF2' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r009' (temp 4X4 matrix of float) -0:421 cosine (global 4X4 matrix of float) +0:421 cosine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r010' (temp 4X4 matrix of float) -0:421 hyp. cosine (global 4X4 matrix of float) +0:421 hyp. cosine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r011' (temp 4X4 matrix of float) -0:421 dPdx (global 4X4 matrix of float) +0:421 dPdx (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r012' (temp 4X4 matrix of float) -0:421 dPdxCoarse (global 4X4 matrix of float) +0:421 dPdxCoarse (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r013' (temp 4X4 matrix of float) -0:421 dPdxFine (global 4X4 matrix of float) +0:421 dPdxFine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r014' (temp 4X4 matrix of float) -0:421 dPdy (global 4X4 matrix of float) +0:421 dPdy (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r015' (temp 4X4 matrix of float) -0:421 dPdyCoarse (global 4X4 matrix of float) +0:421 dPdyCoarse (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r016' (temp 4X4 matrix of float) -0:421 dPdyFine (global 4X4 matrix of float) +0:421 dPdyFine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r017' (temp 4X4 matrix of float) -0:421 degrees (global 4X4 matrix of float) +0:421 degrees (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp float) 0:421 'r018' (temp float) -0:421 determinant (global float) +0:421 determinant (temp float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r019' (temp 4X4 matrix of float) -0:421 exp (global 4X4 matrix of float) +0:421 exp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'R020' (temp 4X4 matrix of float) -0:421 exp2 (global 4X4 matrix of float) +0:421 exp2 (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r021' (temp 4X4 matrix of float) -0:421 Floor (global 4X4 matrix of float) +0:421 Floor (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r022' (temp 4X4 matrix of float) -0:421 mod (global 4X4 matrix of float) +0:421 mod (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r023' (temp 4X4 matrix of float) -0:421 Fraction (global 4X4 matrix of float) +0:421 Fraction (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r024' (temp 4X4 matrix of float) -0:421 frexp (global 4X4 matrix of float) +0:421 frexp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r025' (temp 4X4 matrix of float) -0:421 fwidth (global 4X4 matrix of float) +0:421 fwidth (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r026' (temp 4X4 matrix of float) -0:421 ldexp (global 4X4 matrix of float) +0:421 ldexp (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r026a' (temp 4X4 matrix of float) -0:421 mix (global 4X4 matrix of float) +0:421 mix (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 'inF2' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r027' (temp 4X4 matrix of float) -0:421 log (global 4X4 matrix of float) +0:421 log (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) @@ -5136,40 +5136,40 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r029' (temp 4X4 matrix of float) -0:421 log2 (global 4X4 matrix of float) +0:421 log2 (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r030' (temp 4X4 matrix of float) -0:421 max (global 4X4 matrix of float) +0:421 max (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r031' (temp 4X4 matrix of float) -0:421 min (global 4X4 matrix of float) +0:421 min (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r032' (temp 4X4 matrix of float) -0:421 pow (global 4X4 matrix of float) +0:421 pow (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r033' (temp 4X4 matrix of float) -0:421 radians (global 4X4 matrix of float) +0:421 radians (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r034' (temp 4X4 matrix of float) -0:421 roundEven (global 4X4 matrix of float) +0:421 roundEven (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r035' (temp 4X4 matrix of float) -0:421 inverse sqrt (global 4X4 matrix of float) +0:421 inverse sqrt (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) @@ -5183,12 +5183,12 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r037' (temp 4X4 matrix of float) -0:421 Sign (global 4X4 matrix of float) +0:421 Sign (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r038' (temp 4X4 matrix of float) -0:421 sine (global 4X4 matrix of float) +0:421 sine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) @@ -5202,42 +5202,42 @@ gl_FragCoord origin is upper left 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r039' (temp 4X4 matrix of float) -0:421 hyp. sine (global 4X4 matrix of float) +0:421 hyp. sine (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r049' (temp 4X4 matrix of float) -0:421 smoothstep (global 4X4 matrix of float) +0:421 smoothstep (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 'inF2' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r041' (temp 4X4 matrix of float) -0:421 sqrt (global 4X4 matrix of float) +0:421 sqrt (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r042' (temp 4X4 matrix of float) -0:421 step (global 4X4 matrix of float) +0:421 step (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 'inF1' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r043' (temp 4X4 matrix of float) -0:421 tangent (global 4X4 matrix of float) +0:421 tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r044' (temp 4X4 matrix of float) -0:421 hyp. tangent (global 4X4 matrix of float) +0:421 hyp. tangent (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) -0:421 transpose (global 4X4 matrix of float) +0:421 transpose (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:421 Sequence 0:421 move second child to first child (temp 4X4 matrix of float) 0:421 'r046' (temp 4X4 matrix of float) -0:421 trunc (global 4X4 matrix of float) +0:421 trunc (temp 4X4 matrix of float) 0:421 'inF0' (in 4X4 matrix of float) 0:424 Branch: Return with expression 0:? Constant: @@ -5287,7 +5287,7 @@ gl_FragCoord origin is upper left 0:443 Sequence 0:443 move second child to first child (temp float) 0:443 'r3' (temp float) -0:443 dot-product (global float) +0:443 dot-product (temp float) 0:443 'inFV0' (in 2-component vector of float) 0:443 'inFV1' (in 2-component vector of float) 0:443 Sequence @@ -5350,7 +5350,7 @@ gl_FragCoord origin is upper left 0:450 Sequence 0:450 move second child to first child (temp float) 0:450 'r3' (temp float) -0:450 dot-product (global float) +0:450 dot-product (temp float) 0:450 'inFV0' (in 3-component vector of float) 0:450 'inFV1' (in 3-component vector of float) 0:450 Sequence @@ -5413,7 +5413,7 @@ gl_FragCoord origin is upper left 0:457 Sequence 0:457 move second child to first child (temp float) 0:457 'r3' (temp float) -0:457 dot-product (global float) +0:457 dot-product (temp float) 0:457 'inFV0' (in 4-component vector of float) 0:457 'inFV1' (in 4-component vector of float) 0:457 Sequence @@ -5491,13 +5491,13 @@ gl_FragCoord origin is upper left 0:472 Sequence 0:472 move second child to first child (temp float) 0:472 'r05' (temp float) -0:472 dot-product (global float) +0:472 dot-product (temp float) 0:472 'inFV2' (in 2-component vector of float) 0:472 'inFV2' (in 2-component vector of float) 0:473 Sequence 0:473 move second child to first child (temp float) 0:473 'r06' (temp float) -0:473 dot-product (global float) +0:473 dot-product (temp float) 0:473 'inFV3' (in 3-component vector of float) 0:473 'inFV3' (in 3-component vector of float) 0:474 Sequence @@ -5583,6 +5583,7 @@ gl_FragCoord origin is upper left 0:492 0 (const int) 0:492 Branch: Return 0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'gs_ua' (shared uint) 0:? 'gs_ub' (shared uint) 0:? 'gs_uc' (shared uint) @@ -5595,7 +5596,6 @@ gl_FragCoord origin is upper left 0:? 'gs_ua4' (shared 4-component vector of uint) 0:? 'gs_ub4' (shared 4-component vector of uint) 0:? 'gs_uc4' (shared 4-component vector of uint) -0:? 'color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.intrinsics.negative.frag.out b/Test/baseResults/hlsl.intrinsics.negative.frag.out index 29ee0095..e2750543 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.frag.out +++ b/Test/baseResults/hlsl.intrinsics.negative.frag.out @@ -78,36 +78,36 @@ ERROR: node is still EOpNull! 0:5 'inF0' (in float) 0:5 Convert float to uint (temp uint) 0:5 'inF1' (in float) -0:6 Function Call: CheckAccessFullyMapped(u1; (global bool) +0:6 Function Call: CheckAccessFullyMapped(u1; (temp bool) 0:6 Constant: 0:6 3 (const uint) -0:7 bitCount (global uint) +0:7 bitCount (temp uint) 0:7 Convert float to uint (temp uint) 0:7 'inF0' (in float) -0:8 cross-product (global 3-component vector of float) +0:8 cross-product (temp 3-component vector of float) 0:8 Construct vec3 (in 3-component vector of float) 0:8 'inF0' (in float) 0:8 Construct vec3 (in 3-component vector of float) 0:8 'inF1' (in float) -0:9 Function Call: D3DCOLORtoUBYTE4(vf4; (global 4-component vector of int) +0:9 Function Call: D3DCOLORtoUBYTE4(vf4; (temp 4-component vector of int) 0:9 Construct vec4 (in 4-component vector of float) 0:9 'inF0' (in float) 0:10 Constant: 0:10 0.000000 0:12 ERROR: Bad unary op - (global float) + (temp float) 0:12 Convert float to uint (temp uint) 0:12 'inF0' (in float) -0:13 findMSB (global uint) +0:13 findMSB (temp uint) 0:13 Convert float to uint (temp uint) 0:13 'inF0' (in float) -0:14 findLSB (global uint) +0:14 findLSB (temp uint) 0:14 Convert float to uint (temp uint) 0:14 'inF0' (in float) -0:23 length (global float) +0:23 length (temp float) 0:23 Construct vec2 (in 2-component vector of float) 0:23 'inF0' (in float) -0:24 Function Call: msad4(u1;vu2;vu4; (global 4-component vector of uint) +0:24 Function Call: msad4(u1;vu2;vu4; (temp 4-component vector of uint) 0:24 Convert float to uint (temp uint) 0:24 'inF0' (in float) 0:24 Constant: @@ -118,15 +118,15 @@ ERROR: node is still EOpNull! 0:24 0 (const uint) 0:24 0 (const uint) 0:24 0 (const uint) -0:25 normalize (global 2-component vector of float) +0:25 normalize (temp 2-component vector of float) 0:25 Construct vec2 (in 2-component vector of float) 0:25 'inF0' (in float) -0:26 reflect (global 2-component vector of float) +0:26 reflect (temp 2-component vector of float) 0:26 Construct vec2 (in 2-component vector of float) 0:26 'inF0' (in float) 0:26 Construct vec2 (in 2-component vector of float) 0:26 'inF1' (in float) -0:27 refract (global 2-component vector of float) +0:27 refract (temp 2-component vector of float) 0:27 Construct vec2 (in 2-component vector of float) 0:27 'inF0' (in float) 0:27 Construct vec2 (in 2-component vector of float) @@ -134,7 +134,7 @@ ERROR: node is still EOpNull! 0:27 'inF2' (in float) 0:28 Constant: 0:28 0.000000 -0:29 bitFieldReverse (global uint) +0:29 bitFieldReverse (temp uint) 0:29 Convert float to uint (temp uint) 0:29 'inF0' (in float) 0:30 Constant: @@ -162,14 +162,14 @@ ERROR: node is still EOpNull! 0:45 'inI0' (in 2-component vector of int) 0:? Sequence 0:46 ERROR: Bad aggregation op - (global 2-component vector of double) + (temp 2-component vector of double) 0:46 Convert float to uint (temp 2-component vector of uint) 0:46 'inF0' (in 2-component vector of float) 0:46 Convert float to uint (temp 2-component vector of uint) 0:46 'inF1' (in 2-component vector of float) 0:47 Constant: 0:47 0.000000 -0:48 bitCount (global 2-component vector of uint) +0:48 bitCount (temp 2-component vector of uint) 0:48 Convert float to uint (temp 2-component vector of uint) 0:48 'inF0' (in 2-component vector of float) 0:49 Constant: @@ -179,16 +179,16 @@ ERROR: node is still EOpNull! 0:51 Constant: 0:51 0.000000 0:52 ERROR: Bad unary op - (global 2-component vector of float) + (temp 2-component vector of float) 0:52 Convert float to uint (temp 2-component vector of uint) 0:52 'inF0' (in 2-component vector of float) -0:53 findMSB (global 2-component vector of uint) +0:53 findMSB (temp 2-component vector of uint) 0:53 Convert float to uint (temp 2-component vector of uint) 0:53 'inF0' (in 2-component vector of float) -0:54 findLSB (global 2-component vector of uint) +0:54 findLSB (temp 2-component vector of uint) 0:54 Convert float to uint (temp 2-component vector of uint) 0:54 'inF0' (in 2-component vector of float) -0:56 bitFieldReverse (global 2-component vector of uint) +0:56 bitFieldReverse (temp 2-component vector of uint) 0:56 Convert float to uint (temp 2-component vector of uint) 0:56 'inF0' (in 2-component vector of float) 0:57 Constant: @@ -206,7 +206,7 @@ ERROR: node is still EOpNull! 0:? Sequence 0:64 Constant: 0:64 0.000000 -0:65 bitCount (global 3-component vector of uint) +0:65 bitCount (temp 3-component vector of uint) 0:65 Convert float to uint (temp 3-component vector of uint) 0:65 'inF0' (in 3-component vector of float) 0:66 Constant: @@ -214,16 +214,16 @@ ERROR: node is still EOpNull! 0:67 Constant: 0:67 0.000000 0:68 ERROR: Bad unary op - (global 3-component vector of float) + (temp 3-component vector of float) 0:68 Convert float to uint (temp 3-component vector of uint) 0:68 'inF0' (in 3-component vector of float) -0:69 findMSB (global 3-component vector of uint) +0:69 findMSB (temp 3-component vector of uint) 0:69 Convert float to uint (temp 3-component vector of uint) 0:69 'inF0' (in 3-component vector of float) -0:70 findLSB (global 3-component vector of uint) +0:70 findLSB (temp 3-component vector of uint) 0:70 Convert float to uint (temp 3-component vector of uint) 0:70 'inF0' (in 3-component vector of float) -0:72 bitFieldReverse (global 3-component vector of uint) +0:72 bitFieldReverse (temp 3-component vector of uint) 0:72 Convert float to uint (temp 3-component vector of uint) 0:72 'inF0' (in 3-component vector of float) 0:73 Constant: @@ -242,10 +242,10 @@ ERROR: node is still EOpNull! 0:? Sequence 0:81 Constant: 0:81 0.000000 -0:82 bitCount (global 4-component vector of uint) +0:82 bitCount (temp 4-component vector of uint) 0:82 Convert float to uint (temp 4-component vector of uint) 0:82 'inF0' (layout(location=0 ) in 4-component vector of float) -0:83 cross-product (global 3-component vector of float) +0:83 cross-product (temp 3-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) 0:83 'inF0' (layout(location=0 ) in 4-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) @@ -253,16 +253,16 @@ ERROR: node is still EOpNull! 0:84 Constant: 0:84 0.000000 0:85 ERROR: Bad unary op - (global 4-component vector of float) + (temp 4-component vector of float) 0:85 Convert float to uint (temp 4-component vector of uint) 0:85 'inF0' (layout(location=0 ) in 4-component vector of float) -0:86 findMSB (global 4-component vector of uint) +0:86 findMSB (temp 4-component vector of uint) 0:86 Convert float to uint (temp 4-component vector of uint) 0:86 'inF0' (layout(location=0 ) in 4-component vector of float) -0:87 findLSB (global 4-component vector of uint) +0:87 findLSB (temp 4-component vector of uint) 0:87 Convert float to uint (temp 4-component vector of uint) 0:87 'inF0' (layout(location=0 ) in 4-component vector of float) -0:89 bitFieldReverse (global 4-component vector of uint) +0:89 bitFieldReverse (temp 4-component vector of uint) 0:89 Convert float to uint (temp 4-component vector of uint) 0:89 'inF0' (layout(location=0 ) in 4-component vector of float) 0:90 Constant: @@ -434,36 +434,36 @@ ERROR: node is still EOpNull! 0:5 'inF0' (in float) 0:5 Convert float to uint (temp uint) 0:5 'inF1' (in float) -0:6 Function Call: CheckAccessFullyMapped(u1; (global bool) +0:6 Function Call: CheckAccessFullyMapped(u1; (temp bool) 0:6 Constant: 0:6 3 (const uint) -0:7 bitCount (global uint) +0:7 bitCount (temp uint) 0:7 Convert float to uint (temp uint) 0:7 'inF0' (in float) -0:8 cross-product (global 3-component vector of float) +0:8 cross-product (temp 3-component vector of float) 0:8 Construct vec3 (in 3-component vector of float) 0:8 'inF0' (in float) 0:8 Construct vec3 (in 3-component vector of float) 0:8 'inF1' (in float) -0:9 Function Call: D3DCOLORtoUBYTE4(vf4; (global 4-component vector of int) +0:9 Function Call: D3DCOLORtoUBYTE4(vf4; (temp 4-component vector of int) 0:9 Construct vec4 (in 4-component vector of float) 0:9 'inF0' (in float) 0:10 Constant: 0:10 0.000000 0:12 ERROR: Bad unary op - (global float) + (temp float) 0:12 Convert float to uint (temp uint) 0:12 'inF0' (in float) -0:13 findMSB (global uint) +0:13 findMSB (temp uint) 0:13 Convert float to uint (temp uint) 0:13 'inF0' (in float) -0:14 findLSB (global uint) +0:14 findLSB (temp uint) 0:14 Convert float to uint (temp uint) 0:14 'inF0' (in float) -0:23 length (global float) +0:23 length (temp float) 0:23 Construct vec2 (in 2-component vector of float) 0:23 'inF0' (in float) -0:24 Function Call: msad4(u1;vu2;vu4; (global 4-component vector of uint) +0:24 Function Call: msad4(u1;vu2;vu4; (temp 4-component vector of uint) 0:24 Convert float to uint (temp uint) 0:24 'inF0' (in float) 0:24 Constant: @@ -474,15 +474,15 @@ ERROR: node is still EOpNull! 0:24 0 (const uint) 0:24 0 (const uint) 0:24 0 (const uint) -0:25 normalize (global 2-component vector of float) +0:25 normalize (temp 2-component vector of float) 0:25 Construct vec2 (in 2-component vector of float) 0:25 'inF0' (in float) -0:26 reflect (global 2-component vector of float) +0:26 reflect (temp 2-component vector of float) 0:26 Construct vec2 (in 2-component vector of float) 0:26 'inF0' (in float) 0:26 Construct vec2 (in 2-component vector of float) 0:26 'inF1' (in float) -0:27 refract (global 2-component vector of float) +0:27 refract (temp 2-component vector of float) 0:27 Construct vec2 (in 2-component vector of float) 0:27 'inF0' (in float) 0:27 Construct vec2 (in 2-component vector of float) @@ -490,7 +490,7 @@ ERROR: node is still EOpNull! 0:27 'inF2' (in float) 0:28 Constant: 0:28 0.000000 -0:29 bitFieldReverse (global uint) +0:29 bitFieldReverse (temp uint) 0:29 Convert float to uint (temp uint) 0:29 'inF0' (in float) 0:30 Constant: @@ -518,14 +518,14 @@ ERROR: node is still EOpNull! 0:45 'inI0' (in 2-component vector of int) 0:? Sequence 0:46 ERROR: Bad aggregation op - (global 2-component vector of double) + (temp 2-component vector of double) 0:46 Convert float to uint (temp 2-component vector of uint) 0:46 'inF0' (in 2-component vector of float) 0:46 Convert float to uint (temp 2-component vector of uint) 0:46 'inF1' (in 2-component vector of float) 0:47 Constant: 0:47 0.000000 -0:48 bitCount (global 2-component vector of uint) +0:48 bitCount (temp 2-component vector of uint) 0:48 Convert float to uint (temp 2-component vector of uint) 0:48 'inF0' (in 2-component vector of float) 0:49 Constant: @@ -535,16 +535,16 @@ ERROR: node is still EOpNull! 0:51 Constant: 0:51 0.000000 0:52 ERROR: Bad unary op - (global 2-component vector of float) + (temp 2-component vector of float) 0:52 Convert float to uint (temp 2-component vector of uint) 0:52 'inF0' (in 2-component vector of float) -0:53 findMSB (global 2-component vector of uint) +0:53 findMSB (temp 2-component vector of uint) 0:53 Convert float to uint (temp 2-component vector of uint) 0:53 'inF0' (in 2-component vector of float) -0:54 findLSB (global 2-component vector of uint) +0:54 findLSB (temp 2-component vector of uint) 0:54 Convert float to uint (temp 2-component vector of uint) 0:54 'inF0' (in 2-component vector of float) -0:56 bitFieldReverse (global 2-component vector of uint) +0:56 bitFieldReverse (temp 2-component vector of uint) 0:56 Convert float to uint (temp 2-component vector of uint) 0:56 'inF0' (in 2-component vector of float) 0:57 Constant: @@ -562,7 +562,7 @@ ERROR: node is still EOpNull! 0:? Sequence 0:64 Constant: 0:64 0.000000 -0:65 bitCount (global 3-component vector of uint) +0:65 bitCount (temp 3-component vector of uint) 0:65 Convert float to uint (temp 3-component vector of uint) 0:65 'inF0' (in 3-component vector of float) 0:66 Constant: @@ -570,16 +570,16 @@ ERROR: node is still EOpNull! 0:67 Constant: 0:67 0.000000 0:68 ERROR: Bad unary op - (global 3-component vector of float) + (temp 3-component vector of float) 0:68 Convert float to uint (temp 3-component vector of uint) 0:68 'inF0' (in 3-component vector of float) -0:69 findMSB (global 3-component vector of uint) +0:69 findMSB (temp 3-component vector of uint) 0:69 Convert float to uint (temp 3-component vector of uint) 0:69 'inF0' (in 3-component vector of float) -0:70 findLSB (global 3-component vector of uint) +0:70 findLSB (temp 3-component vector of uint) 0:70 Convert float to uint (temp 3-component vector of uint) 0:70 'inF0' (in 3-component vector of float) -0:72 bitFieldReverse (global 3-component vector of uint) +0:72 bitFieldReverse (temp 3-component vector of uint) 0:72 Convert float to uint (temp 3-component vector of uint) 0:72 'inF0' (in 3-component vector of float) 0:73 Constant: @@ -598,10 +598,10 @@ ERROR: node is still EOpNull! 0:? Sequence 0:81 Constant: 0:81 0.000000 -0:82 bitCount (global 4-component vector of uint) +0:82 bitCount (temp 4-component vector of uint) 0:82 Convert float to uint (temp 4-component vector of uint) 0:82 'inF0' (layout(location=0 ) in 4-component vector of float) -0:83 cross-product (global 3-component vector of float) +0:83 cross-product (temp 3-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) 0:83 'inF0' (layout(location=0 ) in 4-component vector of float) 0:83 Construct vec3 (in 3-component vector of float) @@ -609,16 +609,16 @@ ERROR: node is still EOpNull! 0:84 Constant: 0:84 0.000000 0:85 ERROR: Bad unary op - (global 4-component vector of float) + (temp 4-component vector of float) 0:85 Convert float to uint (temp 4-component vector of uint) 0:85 'inF0' (layout(location=0 ) in 4-component vector of float) -0:86 findMSB (global 4-component vector of uint) +0:86 findMSB (temp 4-component vector of uint) 0:86 Convert float to uint (temp 4-component vector of uint) 0:86 'inF0' (layout(location=0 ) in 4-component vector of float) -0:87 findLSB (global 4-component vector of uint) +0:87 findLSB (temp 4-component vector of uint) 0:87 Convert float to uint (temp 4-component vector of uint) 0:87 'inF0' (layout(location=0 ) in 4-component vector of float) -0:89 bitFieldReverse (global 4-component vector of uint) +0:89 bitFieldReverse (temp 4-component vector of uint) 0:89 Convert float to uint (temp 4-component vector of uint) 0:89 'inF0' (layout(location=0 ) in 4-component vector of float) 0:90 Constant: diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out index 72b6fbcc..b57a5a9a 100644 --- a/Test/baseResults/hlsl.intrinsics.negative.vert.out +++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out @@ -114,6 +114,11 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) 0:? 'gs_uc' (global uint) @@ -126,11 +131,6 @@ Shader version: 450 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) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) Linked vertex stage: @@ -251,6 +251,11 @@ Shader version: 450 0:? 4.000000 0:? 4.000000 0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? 'inF0' (layout(location=0 ) in 4-component vector of float) +0:? 'inF1' (layout(location=1 ) in 4-component vector of float) +0:? 'inF2' (layout(location=2 ) in 4-component vector of float) +0:? 'inI0' (layout(location=3 ) in 4-component vector of int) 0:? 'gs_ua' (global uint) 0:? 'gs_ub' (global uint) 0:? 'gs_uc' (global uint) @@ -263,11 +268,6 @@ Shader version: 450 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) -0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'inF0' (layout(location=0 ) in 4-component vector of float) -0:? 'inF1' (layout(location=1 ) in 4-component vector of float) -0:? 'inF2' (layout(location=2 ) in 4-component vector of float) -0:? 'inI0' (layout(location=3 ) in 4-component vector of int) // Module Version 10000 // Generated by (magic number): 80001 @@ -276,7 +276,7 @@ Shader version: 450 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "VertexShaderFunction" 85 122 123 124 127 + EntryPoint Vertex 4 "VertexShaderFunction" 85 102 103 104 107 Name 4 "VertexShaderFunction" Name 15 "VertexShaderFunctionS(f1;f1;f1;i1;" Name 11 "inF0" @@ -311,27 +311,27 @@ Shader version: 450 Name 66 "inF1" Name 67 "inF2" Name 85 "@entryPointOutput" - Name 103 "gs_ua" - Name 104 "gs_ub" - Name 105 "gs_uc" - Name 108 "gs_ua2" - Name 109 "gs_ub2" - Name 110 "gs_uc2" - Name 113 "gs_ua3" - Name 114 "gs_ub3" - Name 115 "gs_uc3" - Name 118 "gs_ua4" - Name 119 "gs_ub4" - Name 120 "gs_uc4" - Name 122 "inF0" - Name 123 "inF1" - Name 124 "inF2" - Name 127 "inI0" + Name 102 "inF0" + Name 103 "inF1" + Name 104 "inF2" + Name 107 "inI0" + Name 110 "gs_ua" + Name 111 "gs_ub" + Name 112 "gs_uc" + Name 115 "gs_ua2" + Name 116 "gs_ub2" + Name 117 "gs_uc2" + Name 120 "gs_ua3" + Name 121 "gs_ub3" + Name 122 "gs_uc3" + Name 125 "gs_ua4" + Name 126 "gs_ub4" + Name 127 "gs_uc4" Decorate 85(@entryPointOutput) Location 0 - Decorate 122(inF0) Location 0 - Decorate 123(inF1) Location 1 - Decorate 124(inF2) Location 2 - Decorate 127(inI0) Location 3 + Decorate 102(inF0) Location 0 + Decorate 103(inF1) Location 1 + Decorate 104(inF2) Location 2 + Decorate 107(inI0) Location 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -375,33 +375,33 @@ Shader version: 450 94: 53 ConstantComposite 93 93 93 97: 61(fvec4) ConstantComposite 86 86 86 86 98: 62 ConstantComposite 97 97 97 97 - 101: TypeInt 32 0 - 102: TypePointer Private 101(int) - 103(gs_ua): 102(ptr) Variable Private - 104(gs_ub): 102(ptr) Variable Private - 105(gs_uc): 102(ptr) Variable Private - 106: TypeVector 101(int) 2 - 107: TypePointer Private 106(ivec2) - 108(gs_ua2): 107(ptr) Variable Private - 109(gs_ub2): 107(ptr) Variable Private - 110(gs_uc2): 107(ptr) Variable Private - 111: TypeVector 101(int) 3 - 112: TypePointer Private 111(ivec3) - 113(gs_ua3): 112(ptr) Variable Private - 114(gs_ub3): 112(ptr) Variable Private - 115(gs_uc3): 112(ptr) Variable Private - 116: TypeVector 101(int) 4 - 117: TypePointer Private 116(ivec4) - 118(gs_ua4): 117(ptr) Variable Private - 119(gs_ub4): 117(ptr) Variable Private - 120(gs_uc4): 117(ptr) Variable Private - 121: TypePointer Input 61(fvec4) - 122(inF0): 121(ptr) Variable Input - 123(inF1): 121(ptr) Variable Input - 124(inF2): 121(ptr) Variable Input - 125: TypeVector 8(int) 4 - 126: TypePointer Input 125(ivec4) - 127(inI0): 126(ptr) Variable Input + 101: TypePointer Input 61(fvec4) + 102(inF0): 101(ptr) Variable Input + 103(inF1): 101(ptr) Variable Input + 104(inF2): 101(ptr) Variable Input + 105: TypeVector 8(int) 4 + 106: TypePointer Input 105(ivec4) + 107(inI0): 106(ptr) Variable Input + 108: TypeInt 32 0 + 109: TypePointer Private 108(int) + 110(gs_ua): 109(ptr) Variable Private + 111(gs_ub): 109(ptr) Variable Private + 112(gs_uc): 109(ptr) Variable Private + 113: TypeVector 108(int) 2 + 114: TypePointer Private 113(ivec2) + 115(gs_ua2): 114(ptr) Variable Private + 116(gs_ub2): 114(ptr) Variable Private + 117(gs_uc2): 114(ptr) Variable Private + 118: TypeVector 108(int) 3 + 119: TypePointer Private 118(ivec3) + 120(gs_ua3): 119(ptr) Variable Private + 121(gs_ub3): 119(ptr) Variable Private + 122(gs_uc3): 119(ptr) Variable Private + 123: TypeVector 108(int) 4 + 124: TypePointer Private 123(ivec4) + 125(gs_ua4): 124(ptr) Variable Private + 126(gs_ub4): 124(ptr) Variable Private + 127(gs_uc4): 124(ptr) Variable Private 4(VertexShaderFunction): 2 Function None 3 5: Label Store 85(@entryPointOutput) 87 diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out index 811a752d..bcf911bc 100644 --- a/Test/baseResults/hlsl.intrinsics.vert.out +++ b/Test/baseResults/hlsl.intrinsics.vert.out @@ -9,99 +9,99 @@ Shader version: 450 0:2 'inU0' (in uint) 0:2 'inU1' (in uint) 0:? Sequence -0:3 all (global bool) +0:3 all (temp bool) 0:3 'inF0' (in float) -0:4 Absolute value (global float) +0:4 Absolute value (temp float) 0:4 'inF0' (in float) -0:5 arc cosine (global float) +0:5 arc cosine (temp float) 0:5 'inF0' (in float) -0:6 any (global bool) +0:6 any (temp bool) 0:6 'inF0' (in float) -0:7 arc sine (global float) +0:7 arc sine (temp float) 0:7 'inF0' (in float) -0:8 floatBitsToInt (global int) +0:8 floatBitsToInt (temp int) 0:8 'inF0' (in float) -0:9 floatBitsToUint (global uint) +0:9 floatBitsToUint (temp uint) 0:9 'inF0' (in float) -0:10 intBitsToFloat (global float) +0:10 intBitsToFloat (temp float) 0:10 'inU0' (in uint) -0:12 arc tangent (global float) +0:12 arc tangent (temp float) 0:12 'inF0' (in float) -0:13 arc tangent (global float) +0:13 arc tangent (temp float) 0:13 'inF0' (in float) 0:13 'inF1' (in float) -0:14 Ceiling (global float) +0:14 Ceiling (temp float) 0:14 'inF0' (in float) -0:15 clamp (global float) +0:15 clamp (temp float) 0:15 'inF0' (in float) 0:15 'inF1' (in float) 0:15 'inF2' (in float) -0:16 cosine (global float) +0:16 cosine (temp float) 0:16 'inF0' (in float) -0:17 hyp. cosine (global float) +0:17 hyp. cosine (temp float) 0:17 'inF0' (in float) -0:18 bitCount (global uint) +0:18 bitCount (temp uint) 0:18 Constant: 0:18 7 (const uint) -0:19 degrees (global float) +0:19 degrees (temp float) 0:19 'inF0' (in float) -0:23 exp (global float) +0:23 exp (temp float) 0:23 'inF0' (in float) -0:24 exp2 (global float) +0:24 exp2 (temp float) 0:24 'inF0' (in float) -0:25 findMSB (global int) +0:25 findMSB (temp int) 0:25 Constant: 0:25 7 (const int) -0:26 findLSB (global int) +0:26 findLSB (temp int) 0:26 Constant: 0:26 7 (const int) -0:27 Floor (global float) +0:27 Floor (temp float) 0:27 'inF0' (in float) -0:29 mod (global float) +0:29 mod (temp float) 0:29 'inF0' (in float) 0:29 'inF1' (in float) -0:30 Fraction (global float) +0:30 Fraction (temp float) 0:30 'inF0' (in float) -0:31 frexp (global float) +0:31 frexp (temp float) 0:31 'inF0' (in float) 0:31 'inF1' (in float) -0:32 isinf (global bool) +0:32 isinf (temp bool) 0:32 'inF0' (in float) -0:33 isnan (global bool) +0:33 isnan (temp bool) 0:33 'inF0' (in float) -0:34 ldexp (global float) +0:34 ldexp (temp float) 0:34 'inF0' (in float) 0:34 'inF1' (in float) -0:35 mix (global float) +0:35 mix (temp float) 0:35 'inF0' (in float) 0:35 'inF1' (in float) 0:35 'inF2' (in float) -0:36 log (global float) +0:36 log (temp 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 log2 (temp float) 0:38 'inF0' (in float) -0:39 max (global float) +0:39 max (temp float) 0:39 'inF0' (in float) 0:39 'inF1' (in float) -0:40 min (global float) +0:40 min (temp float) 0:40 'inF0' (in float) 0:40 'inF1' (in float) -0:42 pow (global float) +0:42 pow (temp float) 0:42 'inF0' (in float) 0:42 'inF1' (in float) -0:43 radians (global float) +0:43 radians (temp float) 0:43 'inF0' (in float) -0:44 bitFieldReverse (global uint) +0:44 bitFieldReverse (temp uint) 0:44 Constant: 0:44 2 (const uint) -0:45 roundEven (global float) +0:45 roundEven (temp float) 0:45 'inF0' (in float) -0:46 inverse sqrt (global float) +0:46 inverse sqrt (temp float) 0:46 'inF0' (in float) 0:47 clamp (temp float) 0:47 'inF0' (in float) @@ -109,9 +109,9 @@ Shader version: 450 0:47 0.000000 0:47 Constant: 0:47 1.000000 -0:48 Sign (global float) +0:48 Sign (temp float) 0:48 'inF0' (in float) -0:49 sine (global float) +0:49 sine (temp float) 0:49 'inF0' (in float) 0:50 Sequence 0:50 move second child to first child (temp float) @@ -122,22 +122,22 @@ Shader version: 450 0:50 'inF2' (in float) 0:50 cosine (temp float) 0:50 'inF0' (in float) -0:51 hyp. sine (global float) +0:51 hyp. sine (temp float) 0:51 'inF0' (in float) -0:52 smoothstep (global float) +0:52 smoothstep (temp float) 0:52 'inF0' (in float) 0:52 'inF1' (in float) 0:52 'inF2' (in float) -0:53 sqrt (global float) +0:53 sqrt (temp float) 0:53 'inF0' (in float) -0:54 step (global float) +0:54 step (temp float) 0:54 'inF0' (in float) 0:54 'inF1' (in float) -0:55 tangent (global float) +0:55 tangent (temp float) 0:55 'inF0' (in float) -0:56 hyp. tangent (global float) +0:56 hyp. tangent (temp float) 0:56 'inF0' (in float) -0:58 trunc (global float) +0:58 trunc (temp float) 0:58 'inF0' (in float) 0:60 Branch: Return with expression 0:60 Constant: @@ -159,123 +159,123 @@ Shader version: 450 0:70 'inU0' (in 2-component vector of uint) 0:70 'inU1' (in 2-component vector of uint) 0:? Sequence -0:71 all (global bool) +0:71 all (temp bool) 0:71 'inF0' (in 2-component vector of float) -0:72 Absolute value (global 2-component vector of float) +0:72 Absolute value (temp 2-component vector of float) 0:72 'inF0' (in 2-component vector of float) -0:73 arc cosine (global 2-component vector of float) +0:73 arc cosine (temp 2-component vector of float) 0:73 'inF0' (in 2-component vector of float) -0:74 any (global bool) +0:74 any (temp bool) 0:74 'inF0' (in 2-component vector of float) -0:75 arc sine (global 2-component vector of float) +0:75 arc sine (temp 2-component vector of float) 0:75 'inF0' (in 2-component vector of float) -0:76 floatBitsToInt (global 2-component vector of int) +0:76 floatBitsToInt (temp 2-component vector of int) 0:76 'inF0' (in 2-component vector of float) -0:77 floatBitsToUint (global 2-component vector of uint) +0:77 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 2-component vector of float) 0:80 'inF0' (in 2-component vector of float) -0:81 arc tangent (global 2-component vector of float) +0:81 arc tangent (temp 2-component vector of float) 0:81 'inF0' (in 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 Ceiling (temp 2-component vector of float) 0:82 'inF0' (in 2-component vector of float) -0:83 clamp (global 2-component vector of float) +0:83 clamp (temp 2-component vector of float) 0:83 'inF0' (in 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 cosine (temp 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 hyp. cosine (temp 2-component vector of float) 0:85 'inF0' (in 2-component vector of float) -0:? bitCount (global 2-component vector of uint) +0:? bitCount (temp 2-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) -0:87 degrees (global 2-component vector of float) +0:87 degrees (temp 2-component vector of float) 0:87 'inF0' (in 2-component vector of float) -0:88 distance (global float) +0:88 distance (temp float) 0:88 'inF0' (in 2-component vector of float) 0:88 'inF1' (in 2-component vector of float) -0:89 dot-product (global float) +0:89 dot-product (temp 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 exp (temp 2-component vector of float) 0:93 'inF0' (in 2-component vector of float) -0:94 exp2 (global 2-component vector of float) +0:94 exp2 (temp 2-component vector of float) 0:94 'inF0' (in 2-component vector of float) -0:95 face-forward (global 2-component vector of float) +0:95 face-forward (temp 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 findMSB (temp int) 0:96 Constant: 0:96 7 (const int) -0:97 findLSB (global int) +0:97 findLSB (temp int) 0:97 Constant: 0:97 7 (const int) -0:98 Floor (global 2-component vector of float) +0:98 Floor (temp 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 mod (temp 2-component vector of float) 0:100 'inF0' (in 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 Fraction (temp 2-component vector of float) 0:101 'inF0' (in 2-component vector of float) -0:102 frexp (global 2-component vector of float) +0:102 frexp (temp 2-component vector of float) 0:102 'inF0' (in 2-component vector of float) 0:102 'inF1' (in 2-component vector of float) -0:103 isinf (global 2-component vector of bool) +0:103 isinf (temp 2-component vector of bool) 0:103 'inF0' (in 2-component vector of float) -0:104 isnan (global 2-component vector of bool) +0:104 isnan (temp 2-component vector of bool) 0:104 'inF0' (in 2-component vector of float) -0:105 ldexp (global 2-component vector of float) +0:105 ldexp (temp 2-component vector of float) 0:105 'inF0' (in 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 mix (temp 2-component vector of float) 0:106 'inF0' (in 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 length (temp float) 0:107 'inF0' (in 2-component vector of float) -0:108 log (global 2-component vector of float) +0:108 log (temp 2-component vector of float) 0:108 'inF0' (in 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 log2 (temp 2-component vector of float) 0:110 'inF0' (in 2-component vector of float) -0:111 max (global 2-component vector of float) +0:111 max (temp 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 min (temp 2-component vector of float) 0:112 'inF0' (in 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 normalize (temp 2-component vector of float) 0:114 'inF0' (in 2-component vector of float) -0:115 pow (global 2-component vector of float) +0:115 pow (temp 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 radians (global 2-component vector of float) +0:116 radians (temp 2-component vector of float) 0:116 'inF0' (in 2-component vector of float) -0:117 reflect (global 2-component vector of float) +0:117 reflect (temp 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 refract (temp 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:? bitFieldReverse (temp 2-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) -0:120 roundEven (global 2-component vector of float) +0:120 roundEven (temp 2-component vector of float) 0:120 'inF0' (in 2-component vector of float) -0:121 inverse sqrt (global 2-component vector of float) +0:121 inverse sqrt (temp 2-component vector of float) 0:121 'inF0' (in 2-component vector of float) 0:122 clamp (temp 2-component vector of float) 0:122 'inF0' (in 2-component vector of float) @@ -283,9 +283,9 @@ Shader version: 450 0:122 0.000000 0:122 Constant: 0:122 1.000000 -0:123 Sign (global 2-component vector of float) +0:123 Sign (temp 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 sine (temp 2-component vector of float) 0:124 'inF0' (in 2-component vector of float) 0:125 Sequence 0:125 move second child to first child (temp 2-component vector of float) @@ -296,22 +296,22 @@ Shader version: 450 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 hyp. sine (temp 2-component vector of float) 0:126 'inF0' (in 2-component vector of float) -0:127 smoothstep (global 2-component vector of float) +0:127 smoothstep (temp 2-component vector of float) 0:127 'inF0' (in 2-component vector of float) 0:127 'inF1' (in 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 sqrt (temp 2-component vector of float) 0:128 'inF0' (in 2-component vector of float) -0:129 step (global 2-component vector of float) +0:129 step (temp 2-component vector of float) 0:129 'inF0' (in 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 tangent (temp 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 hyp. tangent (temp 2-component vector of float) 0:131 'inF0' (in 2-component vector of float) -0:133 trunc (global 2-component vector of float) +0:133 trunc (temp 2-component vector of float) 0:133 'inF0' (in 2-component vector of float) 0:136 Branch: Return with expression 0:? Constant: @@ -325,128 +325,128 @@ Shader version: 450 0:140 'inU0' (in 3-component vector of uint) 0:140 'inU1' (in 3-component vector of uint) 0:? Sequence -0:141 all (global bool) +0:141 all (temp bool) 0:141 'inF0' (in 3-component vector of float) -0:142 Absolute value (global 3-component vector of float) +0:142 Absolute value (temp 3-component vector of float) 0:142 'inF0' (in 3-component vector of float) -0:143 arc cosine (global 3-component vector of float) +0:143 arc cosine (temp 3-component vector of float) 0:143 'inF0' (in 3-component vector of float) -0:144 any (global bool) +0:144 any (temp bool) 0:144 'inF0' (in 3-component vector of float) -0:145 arc sine (global 3-component vector of float) +0:145 arc sine (temp 3-component vector of float) 0:145 'inF0' (in 3-component vector of float) -0:146 floatBitsToInt (global 3-component vector of int) +0:146 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 3-component vector of float) 0:150 'inF0' (in 3-component vector of float) -0:151 arc tangent (global 3-component vector of float) +0:151 arc tangent (temp 3-component vector of float) 0:151 'inF0' (in 3-component vector of float) 0:151 'inF1' (in 3-component vector of float) -0:152 Ceiling (global 3-component vector of float) +0:152 Ceiling (temp 3-component vector of float) 0:152 'inF0' (in 3-component vector of float) -0:153 clamp (global 3-component vector of float) +0:153 clamp (temp 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 cosine (temp 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 hyp. cosine (temp 3-component vector of float) 0:155 'inF0' (in 3-component vector of float) -0:? bitCount (global 3-component vector of uint) +0:? bitCount (temp 3-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) -0:157 cross-product (global 3-component vector of float) +0:157 cross-product (temp 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 degrees (global 3-component vector of float) +0:158 degrees (temp 3-component vector of float) 0:158 'inF0' (in 3-component vector of float) -0:159 distance (global float) +0:159 distance (temp 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 dot-product (temp 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 exp (temp 3-component vector of float) 0:164 'inF0' (in 3-component vector of float) -0:165 exp2 (global 3-component vector of float) +0:165 exp2 (temp 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 face-forward (temp 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 findMSB (temp int) 0:167 Constant: 0:167 7 (const int) -0:168 findLSB (global int) +0:168 findLSB (temp int) 0:168 Constant: 0:168 7 (const int) -0:169 Floor (global 3-component vector of float) +0:169 Floor (temp 3-component vector of float) 0:169 'inF0' (in 3-component vector of float) -0:171 mod (global 3-component vector of float) +0:171 mod (temp 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 Fraction (global 3-component vector of float) +0:172 Fraction (temp 3-component vector of float) 0:172 'inF0' (in 3-component vector of float) -0:173 frexp (global 3-component vector of float) +0:173 frexp (temp 3-component vector of float) 0:173 'inF0' (in 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 isinf (temp 3-component vector of bool) 0:174 'inF0' (in 3-component vector of float) -0:175 isnan (global 3-component vector of bool) +0:175 isnan (temp 3-component vector of bool) 0:175 'inF0' (in 3-component vector of float) -0:176 ldexp (global 3-component vector of float) +0:176 ldexp (temp 3-component vector of float) 0:176 'inF0' (in 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 mix (temp 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 length (temp float) 0:178 'inF0' (in 3-component vector of float) -0:179 log (global 3-component vector of float) +0:179 log (temp 3-component vector of float) 0:179 'inF0' (in 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 log2 (temp 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 max (temp 3-component vector of float) 0:182 'inF0' (in 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 min (temp 3-component vector of float) 0:183 'inF0' (in 3-component vector of float) 0:183 'inF1' (in 3-component vector of float) -0:185 normalize (global 3-component vector of float) +0:185 normalize (temp 3-component vector of float) 0:185 'inF0' (in 3-component vector of float) -0:186 pow (global 3-component vector of float) +0:186 pow (temp 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 radians (global 3-component vector of float) +0:187 radians (temp 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 reflect (temp 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 refract (temp 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:? bitFieldReverse (temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) -0:191 roundEven (global 3-component vector of float) +0:191 roundEven (temp 3-component vector of float) 0:191 'inF0' (in 3-component vector of float) -0:192 inverse sqrt (global 3-component vector of float) +0:192 inverse sqrt (temp 3-component vector of float) 0:192 'inF0' (in 3-component vector of float) 0:193 clamp (temp 3-component vector of float) 0:193 'inF0' (in 3-component vector of float) @@ -454,9 +454,9 @@ Shader version: 450 0:193 0.000000 0:193 Constant: 0:193 1.000000 -0:194 Sign (global 3-component vector of float) +0:194 Sign (temp 3-component vector of float) 0:194 'inF0' (in 3-component vector of float) -0:195 sine (global 3-component vector of float) +0:195 sine (temp 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) @@ -467,22 +467,22 @@ Shader version: 450 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 hyp. sine (temp 3-component vector of float) 0:197 'inF0' (in 3-component vector of float) -0:198 smoothstep (global 3-component vector of float) +0:198 smoothstep (temp 3-component vector of float) 0:198 'inF0' (in 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 sqrt (temp 3-component vector of float) 0:199 'inF0' (in 3-component vector of float) -0:200 step (global 3-component vector of float) +0:200 step (temp 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 tangent (temp 3-component vector of float) 0:201 'inF0' (in 3-component vector of float) -0:202 hyp. tangent (global 3-component vector of float) +0:202 hyp. tangent (temp 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 trunc (temp 3-component vector of float) 0:204 'inF0' (in 3-component vector of float) 0:207 Branch: Return with expression 0:? Constant: @@ -497,49 +497,49 @@ Shader version: 450 0:211 'inU0' (in 4-component vector of uint) 0:211 'inU1' (in 4-component vector of uint) 0:? Sequence -0:212 all (global bool) +0:212 all (temp bool) 0:212 'inF0' (in 4-component vector of float) -0:213 Absolute value (global 4-component vector of float) +0:213 Absolute value (temp 4-component vector of float) 0:213 'inF0' (in 4-component vector of float) -0:214 arc cosine (global 4-component vector of float) +0:214 arc cosine (temp 4-component vector of float) 0:214 'inF0' (in 4-component vector of float) -0:215 any (global bool) +0:215 any (temp bool) 0:215 'inF0' (in 4-component vector of float) -0:216 arc sine (global 4-component vector of float) +0:216 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 4-component vector of uint) 0:218 'inF0' (in 4-component vector of float) -0:219 intBitsToFloat (global 4-component vector of float) +0:219 intBitsToFloat (temp 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 arc tangent (temp 4-component vector of float) 0:221 'inF0' (in 4-component vector of float) -0:222 arc tangent (global 4-component vector of float) +0:222 arc tangent (temp 4-component vector of float) 0:222 'inF0' (in 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 Ceiling (temp 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 clamp (temp 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 cosine (temp 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 hyp. cosine (temp 4-component vector of float) 0:226 'inF0' (in 4-component vector of float) -0:? bitCount (global 4-component vector of uint) +0:? bitCount (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) 0:? 2 (const uint) -0:228 degrees (global 4-component vector of float) +0:228 degrees (temp 4-component vector of float) 0:228 'inF0' (in 4-component vector of float) -0:229 distance (global float) +0:229 distance (temp 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 dot-product (temp 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) @@ -562,82 +562,82 @@ Shader version: 450 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 exp (temp 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 exp2 (temp 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 face-forward (temp 4-component vector of float) 0:237 'inF0' (in 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 findMSB (temp int) 0:238 Constant: 0:238 7 (const int) -0:239 findLSB (global int) +0:239 findLSB (temp int) 0:239 Constant: 0:239 7 (const int) -0:240 Floor (global 4-component vector of float) +0:240 Floor (temp 4-component vector of float) 0:240 'inF0' (in 4-component vector of float) -0:242 mod (global 4-component vector of float) +0:242 mod (temp 4-component vector of float) 0:242 'inF0' (in 4-component vector of float) 0:242 'inF1' (in 4-component vector of float) -0:243 Fraction (global 4-component vector of float) +0:243 Fraction (temp 4-component vector of float) 0:243 'inF0' (in 4-component vector of float) -0:244 frexp (global 4-component vector of float) +0:244 frexp (temp 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 isinf (global 4-component vector of bool) +0:245 isinf (temp 4-component vector of bool) 0:245 'inF0' (in 4-component vector of float) -0:246 isnan (global 4-component vector of bool) +0:246 isnan (temp 4-component vector of bool) 0:246 'inF0' (in 4-component vector of float) -0:247 ldexp (global 4-component vector of float) +0:247 ldexp (temp 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 mix (temp 4-component vector of float) 0:248 'inF0' (in 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 length (temp float) 0:249 'inF0' (in 4-component vector of float) -0:250 log (global 4-component vector of float) +0:250 log (temp 4-component vector of float) 0:250 'inF0' (in 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 log2 (temp 4-component vector of float) 0:252 'inF0' (in 4-component vector of float) -0:253 max (global 4-component vector of float) +0:253 max (temp 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 min (global 4-component vector of float) +0:254 min (temp 4-component vector of float) 0:254 'inF0' (in 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 normalize (temp 4-component vector of float) 0:256 'inF0' (in 4-component vector of float) -0:257 pow (global 4-component vector of float) +0:257 pow (temp 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 radians (temp 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 reflect (temp 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 refract (temp 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:? bitFieldReverse (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:262 roundEven (global 4-component vector of float) +0:262 roundEven (temp 4-component vector of float) 0:262 'inF0' (in 4-component vector of float) -0:263 inverse sqrt (global 4-component vector of float) +0:263 inverse sqrt (temp 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) @@ -645,9 +645,9 @@ Shader version: 450 0:264 0.000000 0:264 Constant: 0:264 1.000000 -0:265 Sign (global 4-component vector of float) +0:265 Sign (temp 4-component vector of float) 0:265 'inF0' (in 4-component vector of float) -0:266 sine (global 4-component vector of float) +0:266 sine (temp 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 float) @@ -658,22 +658,22 @@ Shader version: 450 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 hyp. sine (temp 4-component vector of float) 0:268 'inF0' (in 4-component vector of float) -0:269 smoothstep (global 4-component vector of float) +0:269 smoothstep (temp 4-component vector of float) 0:269 'inF0' (in 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 sqrt (temp 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 step (temp 4-component vector of float) 0:271 'inF0' (in 4-component vector of float) 0:271 'inF1' (in 4-component vector of float) -0:272 tangent (global 4-component vector of float) +0:272 tangent (temp 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 hyp. tangent (temp 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 trunc (temp 4-component vector of float) 0:275 'inF0' (in 4-component vector of float) 0:278 Branch: Return with expression 0:? Constant: @@ -687,85 +687,85 @@ Shader version: 450 0:336 'inF1' (in 2X2 matrix of float) 0:336 'inF2' (in 2X2 matrix of float) 0:? Sequence -0:338 all (global bool) +0:338 all (temp bool) 0:338 'inF0' (in 2X2 matrix of float) -0:338 Absolute value (global 2X2 matrix of float) +0:338 Absolute value (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc cosine (global 2X2 matrix of float) +0:338 arc cosine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 any (global bool) +0:338 any (temp bool) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc sine (global 2X2 matrix of float) +0:338 arc sine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (global 2X2 matrix of float) +0:338 arc tangent (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (global 2X2 matrix of float) +0:338 arc tangent (temp 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 Ceiling (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 clamp (global 2X2 matrix of float) +0:338 clamp (temp 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 cosine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. cosine (global 2X2 matrix of float) +0:338 hyp. cosine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 degrees (global 2X2 matrix of float) +0:338 degrees (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 determinant (global float) +0:338 determinant (temp float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 exp (global 2X2 matrix of float) +0:338 exp (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 exp2 (global 2X2 matrix of float) +0:338 exp2 (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 findMSB (global int) +0:338 findMSB (temp int) 0:338 Constant: 0:338 7 (const int) -0:338 findLSB (global int) +0:338 findLSB (temp int) 0:338 Constant: 0:338 7 (const int) -0:338 Floor (global 2X2 matrix of float) +0:338 Floor (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 mod (global 2X2 matrix of float) +0:338 mod (temp 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 Fraction (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 frexp (global 2X2 matrix of float) +0:338 frexp (temp 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 ldexp (temp 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 mix (temp 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 log (temp 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 log2 (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 max (global 2X2 matrix of float) +0:338 max (temp 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 min (temp 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 pow (temp 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 radians (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 roundEven (global 2X2 matrix of float) +0:338 roundEven (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 inverse sqrt (global 2X2 matrix of float) +0:338 inverse sqrt (temp 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) @@ -773,9 +773,9 @@ Shader version: 450 0:338 0.000000 0:338 Constant: 0:338 1.000000 -0:338 Sign (global 2X2 matrix of float) +0:338 Sign (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 sine (global 2X2 matrix of float) +0:338 sine (temp 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) @@ -786,24 +786,24 @@ Shader version: 450 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 hyp. sine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 smoothstep (global 2X2 matrix of float) +0:338 smoothstep (temp 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 sqrt (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 step (global 2X2 matrix of float) +0:338 step (temp 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 tangent (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. tangent (global 2X2 matrix of float) +0:338 hyp. tangent (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 transpose (global 2X2 matrix of float) +0:338 transpose (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 trunc (global 2X2 matrix of float) +0:338 trunc (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) 0:341 Branch: Return with expression 0:? Constant: @@ -817,85 +817,85 @@ Shader version: 450 0:345 'inF1' (in 3X3 matrix of float) 0:345 'inF2' (in 3X3 matrix of float) 0:? Sequence -0:347 all (global bool) +0:347 all (temp bool) 0:347 'inF0' (in 3X3 matrix of float) -0:347 Absolute value (global 3X3 matrix of float) +0:347 Absolute value (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc cosine (global 3X3 matrix of float) +0:347 arc cosine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 any (global bool) +0:347 any (temp bool) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc sine (global 3X3 matrix of float) +0:347 arc sine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (global 3X3 matrix of float) +0:347 arc tangent (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (global 3X3 matrix of float) +0:347 arc tangent (temp 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 Ceiling (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 clamp (global 3X3 matrix of float) +0:347 clamp (temp 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 cosine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. cosine (global 3X3 matrix of float) +0:347 hyp. cosine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 degrees (global 3X3 matrix of float) +0:347 degrees (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 determinant (global float) +0:347 determinant (temp float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 exp (global 3X3 matrix of float) +0:347 exp (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 exp2 (global 3X3 matrix of float) +0:347 exp2 (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 findMSB (global int) +0:347 findMSB (temp int) 0:347 Constant: 0:347 7 (const int) -0:347 findLSB (global int) +0:347 findLSB (temp int) 0:347 Constant: 0:347 7 (const int) -0:347 Floor (global 3X3 matrix of float) +0:347 Floor (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 mod (global 3X3 matrix of float) +0:347 mod (temp 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 Fraction (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 frexp (global 3X3 matrix of float) +0:347 frexp (temp 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 ldexp (temp 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 mix (temp 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 log (temp 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 log2 (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 max (global 3X3 matrix of float) +0:347 max (temp 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 min (temp 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 pow (temp 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 radians (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 roundEven (global 3X3 matrix of float) +0:347 roundEven (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 inverse sqrt (global 3X3 matrix of float) +0:347 inverse sqrt (temp 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) @@ -903,9 +903,9 @@ Shader version: 450 0:347 0.000000 0:347 Constant: 0:347 1.000000 -0:347 Sign (global 3X3 matrix of float) +0:347 Sign (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 sine (global 3X3 matrix of float) +0:347 sine (temp 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) @@ -916,24 +916,24 @@ Shader version: 450 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 hyp. sine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 smoothstep (global 3X3 matrix of float) +0:347 smoothstep (temp 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 sqrt (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 step (global 3X3 matrix of float) +0:347 step (temp 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 tangent (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. tangent (global 3X3 matrix of float) +0:347 hyp. tangent (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 transpose (global 3X3 matrix of float) +0:347 transpose (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 trunc (global 3X3 matrix of float) +0:347 trunc (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) 0:350 Branch: Return with expression 0:? Constant: @@ -952,85 +952,85 @@ Shader version: 450 0:354 'inF1' (in 4X4 matrix of float) 0:354 'inF2' (in 4X4 matrix of float) 0:? Sequence -0:356 all (global bool) +0:356 all (temp bool) 0:356 'inF0' (in 4X4 matrix of float) -0:356 Absolute value (global 4X4 matrix of float) +0:356 Absolute value (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc cosine (global 4X4 matrix of float) +0:356 arc cosine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 any (global bool) +0:356 any (temp bool) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc sine (global 4X4 matrix of float) +0:356 arc sine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (global 4X4 matrix of float) +0:356 arc tangent (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (global 4X4 matrix of float) +0:356 arc tangent (temp 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 Ceiling (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 clamp (global 4X4 matrix of float) +0:356 clamp (temp 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 cosine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. cosine (global 4X4 matrix of float) +0:356 hyp. cosine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 degrees (global 4X4 matrix of float) +0:356 degrees (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 determinant (global float) +0:356 determinant (temp float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 exp (global 4X4 matrix of float) +0:356 exp (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 exp2 (global 4X4 matrix of float) +0:356 exp2 (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 findMSB (global int) +0:356 findMSB (temp int) 0:356 Constant: 0:356 7 (const int) -0:356 findLSB (global int) +0:356 findLSB (temp int) 0:356 Constant: 0:356 7 (const int) -0:356 Floor (global 4X4 matrix of float) +0:356 Floor (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 mod (global 4X4 matrix of float) +0:356 mod (temp 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 Fraction (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 frexp (global 4X4 matrix of float) +0:356 frexp (temp 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 ldexp (temp 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 mix (temp 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 log (temp 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 log2 (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 max (global 4X4 matrix of float) +0:356 max (temp 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 min (temp 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 pow (temp 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 radians (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 roundEven (global 4X4 matrix of float) +0:356 roundEven (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 inverse sqrt (global 4X4 matrix of float) +0:356 inverse sqrt (temp 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) @@ -1038,9 +1038,9 @@ Shader version: 450 0:356 0.000000 0:356 Constant: 0:356 1.000000 -0:356 Sign (global 4X4 matrix of float) +0:356 Sign (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 sine (global 4X4 matrix of float) +0:356 sine (temp 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) @@ -1051,24 +1051,24 @@ Shader version: 450 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 hyp. sine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 smoothstep (global 4X4 matrix of float) +0:356 smoothstep (temp 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 sqrt (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 step (global 4X4 matrix of float) +0:356 step (temp 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 tangent (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. tangent (global 4X4 matrix of float) +0:356 hyp. tangent (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 transpose (global 4X4 matrix of float) +0:356 transpose (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 trunc (global 4X4 matrix of float) +0:356 trunc (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) 0:359 Branch: Return with expression 0:? Constant: @@ -1118,7 +1118,7 @@ Shader version: 450 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 dot-product (temp float) 0:378 'inFV0' (in 2-component vector of float) 0:378 'inFV1' (in 2-component vector of float) 0:378 Sequence @@ -1181,7 +1181,7 @@ Shader version: 450 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 dot-product (temp float) 0:385 'inFV0' (in 3-component vector of float) 0:385 'inFV1' (in 3-component vector of float) 0:385 Sequence @@ -1244,7 +1244,7 @@ Shader version: 450 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 dot-product (temp float) 0:392 'inFV0' (in 4-component vector of float) 0:392 'inFV1' (in 4-component vector of float) 0:392 Sequence @@ -1322,13 +1322,13 @@ Shader version: 450 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 dot-product (temp 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 dot-product (temp float) 0:408 'inFV3' (in 3-component vector of float) 0:408 'inFV3' (in 3-component vector of float) 0:409 Sequence @@ -1396,6 +1396,7 @@ Shader version: 450 Linked vertex stage: +WARNING: Linking vertex stage: Entry point not found Shader version: 450 0:? Sequence @@ -1407,99 +1408,99 @@ Shader version: 450 0:2 'inU0' (in uint) 0:2 'inU1' (in uint) 0:? Sequence -0:3 all (global bool) +0:3 all (temp bool) 0:3 'inF0' (in float) -0:4 Absolute value (global float) +0:4 Absolute value (temp float) 0:4 'inF0' (in float) -0:5 arc cosine (global float) +0:5 arc cosine (temp float) 0:5 'inF0' (in float) -0:6 any (global bool) +0:6 any (temp bool) 0:6 'inF0' (in float) -0:7 arc sine (global float) +0:7 arc sine (temp float) 0:7 'inF0' (in float) -0:8 floatBitsToInt (global int) +0:8 floatBitsToInt (temp int) 0:8 'inF0' (in float) -0:9 floatBitsToUint (global uint) +0:9 floatBitsToUint (temp uint) 0:9 'inF0' (in float) -0:10 intBitsToFloat (global float) +0:10 intBitsToFloat (temp float) 0:10 'inU0' (in uint) -0:12 arc tangent (global float) +0:12 arc tangent (temp float) 0:12 'inF0' (in float) -0:13 arc tangent (global float) +0:13 arc tangent (temp float) 0:13 'inF0' (in float) 0:13 'inF1' (in float) -0:14 Ceiling (global float) +0:14 Ceiling (temp float) 0:14 'inF0' (in float) -0:15 clamp (global float) +0:15 clamp (temp float) 0:15 'inF0' (in float) 0:15 'inF1' (in float) 0:15 'inF2' (in float) -0:16 cosine (global float) +0:16 cosine (temp float) 0:16 'inF0' (in float) -0:17 hyp. cosine (global float) +0:17 hyp. cosine (temp float) 0:17 'inF0' (in float) -0:18 bitCount (global uint) +0:18 bitCount (temp uint) 0:18 Constant: 0:18 7 (const uint) -0:19 degrees (global float) +0:19 degrees (temp float) 0:19 'inF0' (in float) -0:23 exp (global float) +0:23 exp (temp float) 0:23 'inF0' (in float) -0:24 exp2 (global float) +0:24 exp2 (temp float) 0:24 'inF0' (in float) -0:25 findMSB (global int) +0:25 findMSB (temp int) 0:25 Constant: 0:25 7 (const int) -0:26 findLSB (global int) +0:26 findLSB (temp int) 0:26 Constant: 0:26 7 (const int) -0:27 Floor (global float) +0:27 Floor (temp float) 0:27 'inF0' (in float) -0:29 mod (global float) +0:29 mod (temp float) 0:29 'inF0' (in float) 0:29 'inF1' (in float) -0:30 Fraction (global float) +0:30 Fraction (temp float) 0:30 'inF0' (in float) -0:31 frexp (global float) +0:31 frexp (temp float) 0:31 'inF0' (in float) 0:31 'inF1' (in float) -0:32 isinf (global bool) +0:32 isinf (temp bool) 0:32 'inF0' (in float) -0:33 isnan (global bool) +0:33 isnan (temp bool) 0:33 'inF0' (in float) -0:34 ldexp (global float) +0:34 ldexp (temp float) 0:34 'inF0' (in float) 0:34 'inF1' (in float) -0:35 mix (global float) +0:35 mix (temp float) 0:35 'inF0' (in float) 0:35 'inF1' (in float) 0:35 'inF2' (in float) -0:36 log (global float) +0:36 log (temp 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 log2 (temp float) 0:38 'inF0' (in float) -0:39 max (global float) +0:39 max (temp float) 0:39 'inF0' (in float) 0:39 'inF1' (in float) -0:40 min (global float) +0:40 min (temp float) 0:40 'inF0' (in float) 0:40 'inF1' (in float) -0:42 pow (global float) +0:42 pow (temp float) 0:42 'inF0' (in float) 0:42 'inF1' (in float) -0:43 radians (global float) +0:43 radians (temp float) 0:43 'inF0' (in float) -0:44 bitFieldReverse (global uint) +0:44 bitFieldReverse (temp uint) 0:44 Constant: 0:44 2 (const uint) -0:45 roundEven (global float) +0:45 roundEven (temp float) 0:45 'inF0' (in float) -0:46 inverse sqrt (global float) +0:46 inverse sqrt (temp float) 0:46 'inF0' (in float) 0:47 clamp (temp float) 0:47 'inF0' (in float) @@ -1507,9 +1508,9 @@ Shader version: 450 0:47 0.000000 0:47 Constant: 0:47 1.000000 -0:48 Sign (global float) +0:48 Sign (temp float) 0:48 'inF0' (in float) -0:49 sine (global float) +0:49 sine (temp float) 0:49 'inF0' (in float) 0:50 Sequence 0:50 move second child to first child (temp float) @@ -1520,22 +1521,22 @@ Shader version: 450 0:50 'inF2' (in float) 0:50 cosine (temp float) 0:50 'inF0' (in float) -0:51 hyp. sine (global float) +0:51 hyp. sine (temp float) 0:51 'inF0' (in float) -0:52 smoothstep (global float) +0:52 smoothstep (temp float) 0:52 'inF0' (in float) 0:52 'inF1' (in float) 0:52 'inF2' (in float) -0:53 sqrt (global float) +0:53 sqrt (temp float) 0:53 'inF0' (in float) -0:54 step (global float) +0:54 step (temp float) 0:54 'inF0' (in float) 0:54 'inF1' (in float) -0:55 tangent (global float) +0:55 tangent (temp float) 0:55 'inF0' (in float) -0:56 hyp. tangent (global float) +0:56 hyp. tangent (temp float) 0:56 'inF0' (in float) -0:58 trunc (global float) +0:58 trunc (temp float) 0:58 'inF0' (in float) 0:60 Branch: Return with expression 0:60 Constant: @@ -1557,123 +1558,123 @@ Shader version: 450 0:70 'inU0' (in 2-component vector of uint) 0:70 'inU1' (in 2-component vector of uint) 0:? Sequence -0:71 all (global bool) +0:71 all (temp bool) 0:71 'inF0' (in 2-component vector of float) -0:72 Absolute value (global 2-component vector of float) +0:72 Absolute value (temp 2-component vector of float) 0:72 'inF0' (in 2-component vector of float) -0:73 arc cosine (global 2-component vector of float) +0:73 arc cosine (temp 2-component vector of float) 0:73 'inF0' (in 2-component vector of float) -0:74 any (global bool) +0:74 any (temp bool) 0:74 'inF0' (in 2-component vector of float) -0:75 arc sine (global 2-component vector of float) +0:75 arc sine (temp 2-component vector of float) 0:75 'inF0' (in 2-component vector of float) -0:76 floatBitsToInt (global 2-component vector of int) +0:76 floatBitsToInt (temp 2-component vector of int) 0:76 'inF0' (in 2-component vector of float) -0:77 floatBitsToUint (global 2-component vector of uint) +0:77 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 2-component vector of float) 0:80 'inF0' (in 2-component vector of float) -0:81 arc tangent (global 2-component vector of float) +0:81 arc tangent (temp 2-component vector of float) 0:81 'inF0' (in 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 Ceiling (temp 2-component vector of float) 0:82 'inF0' (in 2-component vector of float) -0:83 clamp (global 2-component vector of float) +0:83 clamp (temp 2-component vector of float) 0:83 'inF0' (in 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 cosine (temp 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 hyp. cosine (temp 2-component vector of float) 0:85 'inF0' (in 2-component vector of float) -0:? bitCount (global 2-component vector of uint) +0:? bitCount (temp 2-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) -0:87 degrees (global 2-component vector of float) +0:87 degrees (temp 2-component vector of float) 0:87 'inF0' (in 2-component vector of float) -0:88 distance (global float) +0:88 distance (temp float) 0:88 'inF0' (in 2-component vector of float) 0:88 'inF1' (in 2-component vector of float) -0:89 dot-product (global float) +0:89 dot-product (temp 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 exp (temp 2-component vector of float) 0:93 'inF0' (in 2-component vector of float) -0:94 exp2 (global 2-component vector of float) +0:94 exp2 (temp 2-component vector of float) 0:94 'inF0' (in 2-component vector of float) -0:95 face-forward (global 2-component vector of float) +0:95 face-forward (temp 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 findMSB (temp int) 0:96 Constant: 0:96 7 (const int) -0:97 findLSB (global int) +0:97 findLSB (temp int) 0:97 Constant: 0:97 7 (const int) -0:98 Floor (global 2-component vector of float) +0:98 Floor (temp 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 mod (temp 2-component vector of float) 0:100 'inF0' (in 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 Fraction (temp 2-component vector of float) 0:101 'inF0' (in 2-component vector of float) -0:102 frexp (global 2-component vector of float) +0:102 frexp (temp 2-component vector of float) 0:102 'inF0' (in 2-component vector of float) 0:102 'inF1' (in 2-component vector of float) -0:103 isinf (global 2-component vector of bool) +0:103 isinf (temp 2-component vector of bool) 0:103 'inF0' (in 2-component vector of float) -0:104 isnan (global 2-component vector of bool) +0:104 isnan (temp 2-component vector of bool) 0:104 'inF0' (in 2-component vector of float) -0:105 ldexp (global 2-component vector of float) +0:105 ldexp (temp 2-component vector of float) 0:105 'inF0' (in 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 mix (temp 2-component vector of float) 0:106 'inF0' (in 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 length (temp float) 0:107 'inF0' (in 2-component vector of float) -0:108 log (global 2-component vector of float) +0:108 log (temp 2-component vector of float) 0:108 'inF0' (in 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 log2 (temp 2-component vector of float) 0:110 'inF0' (in 2-component vector of float) -0:111 max (global 2-component vector of float) +0:111 max (temp 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 min (temp 2-component vector of float) 0:112 'inF0' (in 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 normalize (temp 2-component vector of float) 0:114 'inF0' (in 2-component vector of float) -0:115 pow (global 2-component vector of float) +0:115 pow (temp 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 radians (global 2-component vector of float) +0:116 radians (temp 2-component vector of float) 0:116 'inF0' (in 2-component vector of float) -0:117 reflect (global 2-component vector of float) +0:117 reflect (temp 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 refract (temp 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:? bitFieldReverse (temp 2-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) -0:120 roundEven (global 2-component vector of float) +0:120 roundEven (temp 2-component vector of float) 0:120 'inF0' (in 2-component vector of float) -0:121 inverse sqrt (global 2-component vector of float) +0:121 inverse sqrt (temp 2-component vector of float) 0:121 'inF0' (in 2-component vector of float) 0:122 clamp (temp 2-component vector of float) 0:122 'inF0' (in 2-component vector of float) @@ -1681,9 +1682,9 @@ Shader version: 450 0:122 0.000000 0:122 Constant: 0:122 1.000000 -0:123 Sign (global 2-component vector of float) +0:123 Sign (temp 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 sine (temp 2-component vector of float) 0:124 'inF0' (in 2-component vector of float) 0:125 Sequence 0:125 move second child to first child (temp 2-component vector of float) @@ -1694,22 +1695,22 @@ Shader version: 450 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 hyp. sine (temp 2-component vector of float) 0:126 'inF0' (in 2-component vector of float) -0:127 smoothstep (global 2-component vector of float) +0:127 smoothstep (temp 2-component vector of float) 0:127 'inF0' (in 2-component vector of float) 0:127 'inF1' (in 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 sqrt (temp 2-component vector of float) 0:128 'inF0' (in 2-component vector of float) -0:129 step (global 2-component vector of float) +0:129 step (temp 2-component vector of float) 0:129 'inF0' (in 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 tangent (temp 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 hyp. tangent (temp 2-component vector of float) 0:131 'inF0' (in 2-component vector of float) -0:133 trunc (global 2-component vector of float) +0:133 trunc (temp 2-component vector of float) 0:133 'inF0' (in 2-component vector of float) 0:136 Branch: Return with expression 0:? Constant: @@ -1723,128 +1724,128 @@ Shader version: 450 0:140 'inU0' (in 3-component vector of uint) 0:140 'inU1' (in 3-component vector of uint) 0:? Sequence -0:141 all (global bool) +0:141 all (temp bool) 0:141 'inF0' (in 3-component vector of float) -0:142 Absolute value (global 3-component vector of float) +0:142 Absolute value (temp 3-component vector of float) 0:142 'inF0' (in 3-component vector of float) -0:143 arc cosine (global 3-component vector of float) +0:143 arc cosine (temp 3-component vector of float) 0:143 'inF0' (in 3-component vector of float) -0:144 any (global bool) +0:144 any (temp bool) 0:144 'inF0' (in 3-component vector of float) -0:145 arc sine (global 3-component vector of float) +0:145 arc sine (temp 3-component vector of float) 0:145 'inF0' (in 3-component vector of float) -0:146 floatBitsToInt (global 3-component vector of int) +0:146 floatBitsToInt (temp 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 floatBitsToUint (temp 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 intBitsToFloat (temp 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 arc tangent (temp 3-component vector of float) 0:150 'inF0' (in 3-component vector of float) -0:151 arc tangent (global 3-component vector of float) +0:151 arc tangent (temp 3-component vector of float) 0:151 'inF0' (in 3-component vector of float) 0:151 'inF1' (in 3-component vector of float) -0:152 Ceiling (global 3-component vector of float) +0:152 Ceiling (temp 3-component vector of float) 0:152 'inF0' (in 3-component vector of float) -0:153 clamp (global 3-component vector of float) +0:153 clamp (temp 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 cosine (temp 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 hyp. cosine (temp 3-component vector of float) 0:155 'inF0' (in 3-component vector of float) -0:? bitCount (global 3-component vector of uint) +0:? bitCount (temp 3-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) -0:157 cross-product (global 3-component vector of float) +0:157 cross-product (temp 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 degrees (global 3-component vector of float) +0:158 degrees (temp 3-component vector of float) 0:158 'inF0' (in 3-component vector of float) -0:159 distance (global float) +0:159 distance (temp 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 dot-product (temp 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 exp (temp 3-component vector of float) 0:164 'inF0' (in 3-component vector of float) -0:165 exp2 (global 3-component vector of float) +0:165 exp2 (temp 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 face-forward (temp 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 findMSB (temp int) 0:167 Constant: 0:167 7 (const int) -0:168 findLSB (global int) +0:168 findLSB (temp int) 0:168 Constant: 0:168 7 (const int) -0:169 Floor (global 3-component vector of float) +0:169 Floor (temp 3-component vector of float) 0:169 'inF0' (in 3-component vector of float) -0:171 mod (global 3-component vector of float) +0:171 mod (temp 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 Fraction (global 3-component vector of float) +0:172 Fraction (temp 3-component vector of float) 0:172 'inF0' (in 3-component vector of float) -0:173 frexp (global 3-component vector of float) +0:173 frexp (temp 3-component vector of float) 0:173 'inF0' (in 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 isinf (temp 3-component vector of bool) 0:174 'inF0' (in 3-component vector of float) -0:175 isnan (global 3-component vector of bool) +0:175 isnan (temp 3-component vector of bool) 0:175 'inF0' (in 3-component vector of float) -0:176 ldexp (global 3-component vector of float) +0:176 ldexp (temp 3-component vector of float) 0:176 'inF0' (in 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 mix (temp 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 length (temp float) 0:178 'inF0' (in 3-component vector of float) -0:179 log (global 3-component vector of float) +0:179 log (temp 3-component vector of float) 0:179 'inF0' (in 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 log2 (temp 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 max (temp 3-component vector of float) 0:182 'inF0' (in 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 min (temp 3-component vector of float) 0:183 'inF0' (in 3-component vector of float) 0:183 'inF1' (in 3-component vector of float) -0:185 normalize (global 3-component vector of float) +0:185 normalize (temp 3-component vector of float) 0:185 'inF0' (in 3-component vector of float) -0:186 pow (global 3-component vector of float) +0:186 pow (temp 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 radians (global 3-component vector of float) +0:187 radians (temp 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 reflect (temp 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 refract (temp 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:? bitFieldReverse (temp 3-component vector of uint) 0:? Constant: 0:? 1 (const uint) 0:? 2 (const uint) 0:? 3 (const uint) -0:191 roundEven (global 3-component vector of float) +0:191 roundEven (temp 3-component vector of float) 0:191 'inF0' (in 3-component vector of float) -0:192 inverse sqrt (global 3-component vector of float) +0:192 inverse sqrt (temp 3-component vector of float) 0:192 'inF0' (in 3-component vector of float) 0:193 clamp (temp 3-component vector of float) 0:193 'inF0' (in 3-component vector of float) @@ -1852,9 +1853,9 @@ Shader version: 450 0:193 0.000000 0:193 Constant: 0:193 1.000000 -0:194 Sign (global 3-component vector of float) +0:194 Sign (temp 3-component vector of float) 0:194 'inF0' (in 3-component vector of float) -0:195 sine (global 3-component vector of float) +0:195 sine (temp 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) @@ -1865,22 +1866,22 @@ Shader version: 450 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 hyp. sine (temp 3-component vector of float) 0:197 'inF0' (in 3-component vector of float) -0:198 smoothstep (global 3-component vector of float) +0:198 smoothstep (temp 3-component vector of float) 0:198 'inF0' (in 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 sqrt (temp 3-component vector of float) 0:199 'inF0' (in 3-component vector of float) -0:200 step (global 3-component vector of float) +0:200 step (temp 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 tangent (temp 3-component vector of float) 0:201 'inF0' (in 3-component vector of float) -0:202 hyp. tangent (global 3-component vector of float) +0:202 hyp. tangent (temp 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 trunc (temp 3-component vector of float) 0:204 'inF0' (in 3-component vector of float) 0:207 Branch: Return with expression 0:? Constant: @@ -1895,49 +1896,49 @@ Shader version: 450 0:211 'inU0' (in 4-component vector of uint) 0:211 'inU1' (in 4-component vector of uint) 0:? Sequence -0:212 all (global bool) +0:212 all (temp bool) 0:212 'inF0' (in 4-component vector of float) -0:213 Absolute value (global 4-component vector of float) +0:213 Absolute value (temp 4-component vector of float) 0:213 'inF0' (in 4-component vector of float) -0:214 arc cosine (global 4-component vector of float) +0:214 arc cosine (temp 4-component vector of float) 0:214 'inF0' (in 4-component vector of float) -0:215 any (global bool) +0:215 any (temp bool) 0:215 'inF0' (in 4-component vector of float) -0:216 arc sine (global 4-component vector of float) +0:216 arc sine (temp 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 floatBitsToInt (temp 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 floatBitsToUint (temp 4-component vector of uint) 0:218 'inF0' (in 4-component vector of float) -0:219 intBitsToFloat (global 4-component vector of float) +0:219 intBitsToFloat (temp 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 arc tangent (temp 4-component vector of float) 0:221 'inF0' (in 4-component vector of float) -0:222 arc tangent (global 4-component vector of float) +0:222 arc tangent (temp 4-component vector of float) 0:222 'inF0' (in 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 Ceiling (temp 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 clamp (temp 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 cosine (temp 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 hyp. cosine (temp 4-component vector of float) 0:226 'inF0' (in 4-component vector of float) -0:? bitCount (global 4-component vector of uint) +0:? bitCount (temp 4-component vector of uint) 0:? Constant: 0:? 7 (const uint) 0:? 3 (const uint) 0:? 5 (const uint) 0:? 2 (const uint) -0:228 degrees (global 4-component vector of float) +0:228 degrees (temp 4-component vector of float) 0:228 'inF0' (in 4-component vector of float) -0:229 distance (global float) +0:229 distance (temp 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 dot-product (temp 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) @@ -1960,82 +1961,82 @@ Shader version: 450 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 exp (temp 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 exp2 (temp 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 face-forward (temp 4-component vector of float) 0:237 'inF0' (in 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 findMSB (temp int) 0:238 Constant: 0:238 7 (const int) -0:239 findLSB (global int) +0:239 findLSB (temp int) 0:239 Constant: 0:239 7 (const int) -0:240 Floor (global 4-component vector of float) +0:240 Floor (temp 4-component vector of float) 0:240 'inF0' (in 4-component vector of float) -0:242 mod (global 4-component vector of float) +0:242 mod (temp 4-component vector of float) 0:242 'inF0' (in 4-component vector of float) 0:242 'inF1' (in 4-component vector of float) -0:243 Fraction (global 4-component vector of float) +0:243 Fraction (temp 4-component vector of float) 0:243 'inF0' (in 4-component vector of float) -0:244 frexp (global 4-component vector of float) +0:244 frexp (temp 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 isinf (global 4-component vector of bool) +0:245 isinf (temp 4-component vector of bool) 0:245 'inF0' (in 4-component vector of float) -0:246 isnan (global 4-component vector of bool) +0:246 isnan (temp 4-component vector of bool) 0:246 'inF0' (in 4-component vector of float) -0:247 ldexp (global 4-component vector of float) +0:247 ldexp (temp 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 mix (temp 4-component vector of float) 0:248 'inF0' (in 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 length (temp float) 0:249 'inF0' (in 4-component vector of float) -0:250 log (global 4-component vector of float) +0:250 log (temp 4-component vector of float) 0:250 'inF0' (in 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 log2 (temp 4-component vector of float) 0:252 'inF0' (in 4-component vector of float) -0:253 max (global 4-component vector of float) +0:253 max (temp 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 min (global 4-component vector of float) +0:254 min (temp 4-component vector of float) 0:254 'inF0' (in 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 normalize (temp 4-component vector of float) 0:256 'inF0' (in 4-component vector of float) -0:257 pow (global 4-component vector of float) +0:257 pow (temp 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 radians (temp 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 reflect (temp 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 refract (temp 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:? bitFieldReverse (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:262 roundEven (global 4-component vector of float) +0:262 roundEven (temp 4-component vector of float) 0:262 'inF0' (in 4-component vector of float) -0:263 inverse sqrt (global 4-component vector of float) +0:263 inverse sqrt (temp 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) @@ -2043,9 +2044,9 @@ Shader version: 450 0:264 0.000000 0:264 Constant: 0:264 1.000000 -0:265 Sign (global 4-component vector of float) +0:265 Sign (temp 4-component vector of float) 0:265 'inF0' (in 4-component vector of float) -0:266 sine (global 4-component vector of float) +0:266 sine (temp 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 float) @@ -2056,22 +2057,22 @@ Shader version: 450 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 hyp. sine (temp 4-component vector of float) 0:268 'inF0' (in 4-component vector of float) -0:269 smoothstep (global 4-component vector of float) +0:269 smoothstep (temp 4-component vector of float) 0:269 'inF0' (in 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 sqrt (temp 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 step (temp 4-component vector of float) 0:271 'inF0' (in 4-component vector of float) 0:271 'inF1' (in 4-component vector of float) -0:272 tangent (global 4-component vector of float) +0:272 tangent (temp 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 hyp. tangent (temp 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 trunc (temp 4-component vector of float) 0:275 'inF0' (in 4-component vector of float) 0:278 Branch: Return with expression 0:? Constant: @@ -2085,85 +2086,85 @@ Shader version: 450 0:336 'inF1' (in 2X2 matrix of float) 0:336 'inF2' (in 2X2 matrix of float) 0:? Sequence -0:338 all (global bool) +0:338 all (temp bool) 0:338 'inF0' (in 2X2 matrix of float) -0:338 Absolute value (global 2X2 matrix of float) +0:338 Absolute value (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc cosine (global 2X2 matrix of float) +0:338 arc cosine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 any (global bool) +0:338 any (temp bool) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc sine (global 2X2 matrix of float) +0:338 arc sine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (global 2X2 matrix of float) +0:338 arc tangent (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 arc tangent (global 2X2 matrix of float) +0:338 arc tangent (temp 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 Ceiling (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 clamp (global 2X2 matrix of float) +0:338 clamp (temp 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 cosine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. cosine (global 2X2 matrix of float) +0:338 hyp. cosine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 degrees (global 2X2 matrix of float) +0:338 degrees (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 determinant (global float) +0:338 determinant (temp float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 exp (global 2X2 matrix of float) +0:338 exp (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 exp2 (global 2X2 matrix of float) +0:338 exp2 (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 findMSB (global int) +0:338 findMSB (temp int) 0:338 Constant: 0:338 7 (const int) -0:338 findLSB (global int) +0:338 findLSB (temp int) 0:338 Constant: 0:338 7 (const int) -0:338 Floor (global 2X2 matrix of float) +0:338 Floor (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 mod (global 2X2 matrix of float) +0:338 mod (temp 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 Fraction (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 frexp (global 2X2 matrix of float) +0:338 frexp (temp 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 ldexp (temp 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 mix (temp 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 log (temp 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 log2 (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 max (global 2X2 matrix of float) +0:338 max (temp 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 min (temp 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 pow (temp 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 radians (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 roundEven (global 2X2 matrix of float) +0:338 roundEven (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 inverse sqrt (global 2X2 matrix of float) +0:338 inverse sqrt (temp 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) @@ -2171,9 +2172,9 @@ Shader version: 450 0:338 0.000000 0:338 Constant: 0:338 1.000000 -0:338 Sign (global 2X2 matrix of float) +0:338 Sign (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 sine (global 2X2 matrix of float) +0:338 sine (temp 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) @@ -2184,24 +2185,24 @@ Shader version: 450 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 hyp. sine (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 smoothstep (global 2X2 matrix of float) +0:338 smoothstep (temp 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 sqrt (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 step (global 2X2 matrix of float) +0:338 step (temp 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 tangent (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 hyp. tangent (global 2X2 matrix of float) +0:338 hyp. tangent (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 transpose (global 2X2 matrix of float) +0:338 transpose (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) -0:338 trunc (global 2X2 matrix of float) +0:338 trunc (temp 2X2 matrix of float) 0:338 'inF0' (in 2X2 matrix of float) 0:341 Branch: Return with expression 0:? Constant: @@ -2215,85 +2216,85 @@ Shader version: 450 0:345 'inF1' (in 3X3 matrix of float) 0:345 'inF2' (in 3X3 matrix of float) 0:? Sequence -0:347 all (global bool) +0:347 all (temp bool) 0:347 'inF0' (in 3X3 matrix of float) -0:347 Absolute value (global 3X3 matrix of float) +0:347 Absolute value (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc cosine (global 3X3 matrix of float) +0:347 arc cosine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 any (global bool) +0:347 any (temp bool) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc sine (global 3X3 matrix of float) +0:347 arc sine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (global 3X3 matrix of float) +0:347 arc tangent (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 arc tangent (global 3X3 matrix of float) +0:347 arc tangent (temp 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 Ceiling (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 clamp (global 3X3 matrix of float) +0:347 clamp (temp 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 cosine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. cosine (global 3X3 matrix of float) +0:347 hyp. cosine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 degrees (global 3X3 matrix of float) +0:347 degrees (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 determinant (global float) +0:347 determinant (temp float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 exp (global 3X3 matrix of float) +0:347 exp (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 exp2 (global 3X3 matrix of float) +0:347 exp2 (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 findMSB (global int) +0:347 findMSB (temp int) 0:347 Constant: 0:347 7 (const int) -0:347 findLSB (global int) +0:347 findLSB (temp int) 0:347 Constant: 0:347 7 (const int) -0:347 Floor (global 3X3 matrix of float) +0:347 Floor (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 mod (global 3X3 matrix of float) +0:347 mod (temp 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 Fraction (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 frexp (global 3X3 matrix of float) +0:347 frexp (temp 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 ldexp (temp 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 mix (temp 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 log (temp 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 log2 (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 max (global 3X3 matrix of float) +0:347 max (temp 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 min (temp 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 pow (temp 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 radians (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 roundEven (global 3X3 matrix of float) +0:347 roundEven (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 inverse sqrt (global 3X3 matrix of float) +0:347 inverse sqrt (temp 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) @@ -2301,9 +2302,9 @@ Shader version: 450 0:347 0.000000 0:347 Constant: 0:347 1.000000 -0:347 Sign (global 3X3 matrix of float) +0:347 Sign (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 sine (global 3X3 matrix of float) +0:347 sine (temp 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) @@ -2314,24 +2315,24 @@ Shader version: 450 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 hyp. sine (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 smoothstep (global 3X3 matrix of float) +0:347 smoothstep (temp 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 sqrt (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 step (global 3X3 matrix of float) +0:347 step (temp 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 tangent (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 hyp. tangent (global 3X3 matrix of float) +0:347 hyp. tangent (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 transpose (global 3X3 matrix of float) +0:347 transpose (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) -0:347 trunc (global 3X3 matrix of float) +0:347 trunc (temp 3X3 matrix of float) 0:347 'inF0' (in 3X3 matrix of float) 0:350 Branch: Return with expression 0:? Constant: @@ -2350,85 +2351,85 @@ Shader version: 450 0:354 'inF1' (in 4X4 matrix of float) 0:354 'inF2' (in 4X4 matrix of float) 0:? Sequence -0:356 all (global bool) +0:356 all (temp bool) 0:356 'inF0' (in 4X4 matrix of float) -0:356 Absolute value (global 4X4 matrix of float) +0:356 Absolute value (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc cosine (global 4X4 matrix of float) +0:356 arc cosine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 any (global bool) +0:356 any (temp bool) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc sine (global 4X4 matrix of float) +0:356 arc sine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (global 4X4 matrix of float) +0:356 arc tangent (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 arc tangent (global 4X4 matrix of float) +0:356 arc tangent (temp 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 Ceiling (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 clamp (global 4X4 matrix of float) +0:356 clamp (temp 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 cosine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. cosine (global 4X4 matrix of float) +0:356 hyp. cosine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 degrees (global 4X4 matrix of float) +0:356 degrees (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 determinant (global float) +0:356 determinant (temp float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 exp (global 4X4 matrix of float) +0:356 exp (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 exp2 (global 4X4 matrix of float) +0:356 exp2 (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 findMSB (global int) +0:356 findMSB (temp int) 0:356 Constant: 0:356 7 (const int) -0:356 findLSB (global int) +0:356 findLSB (temp int) 0:356 Constant: 0:356 7 (const int) -0:356 Floor (global 4X4 matrix of float) +0:356 Floor (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 mod (global 4X4 matrix of float) +0:356 mod (temp 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 Fraction (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 frexp (global 4X4 matrix of float) +0:356 frexp (temp 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 ldexp (temp 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 mix (temp 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 log (temp 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 log2 (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 max (global 4X4 matrix of float) +0:356 max (temp 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 min (temp 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 pow (temp 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 radians (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 roundEven (global 4X4 matrix of float) +0:356 roundEven (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 inverse sqrt (global 4X4 matrix of float) +0:356 inverse sqrt (temp 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) @@ -2436,9 +2437,9 @@ Shader version: 450 0:356 0.000000 0:356 Constant: 0:356 1.000000 -0:356 Sign (global 4X4 matrix of float) +0:356 Sign (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 sine (global 4X4 matrix of float) +0:356 sine (temp 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) @@ -2449,24 +2450,24 @@ Shader version: 450 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 hyp. sine (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 smoothstep (global 4X4 matrix of float) +0:356 smoothstep (temp 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 sqrt (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 step (global 4X4 matrix of float) +0:356 step (temp 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 tangent (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 hyp. tangent (global 4X4 matrix of float) +0:356 hyp. tangent (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 transpose (global 4X4 matrix of float) +0:356 transpose (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) -0:356 trunc (global 4X4 matrix of float) +0:356 trunc (temp 4X4 matrix of float) 0:356 'inF0' (in 4X4 matrix of float) 0:359 Branch: Return with expression 0:? Constant: @@ -2516,7 +2517,7 @@ Shader version: 450 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 dot-product (temp float) 0:378 'inFV0' (in 2-component vector of float) 0:378 'inFV1' (in 2-component vector of float) 0:378 Sequence @@ -2579,7 +2580,7 @@ Shader version: 450 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 dot-product (temp float) 0:385 'inFV0' (in 3-component vector of float) 0:385 'inFV1' (in 3-component vector of float) 0:385 Sequence @@ -2642,7 +2643,7 @@ Shader version: 450 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 dot-product (temp float) 0:392 'inFV0' (in 4-component vector of float) 0:392 'inFV1' (in 4-component vector of float) 0:392 Sequence @@ -2720,13 +2721,13 @@ Shader version: 450 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 dot-product (temp 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 dot-product (temp float) 0:408 'inFV3' (in 3-component vector of float) 0:408 'inFV3' (in 3-component vector of float) 0:409 Sequence @@ -3011,6 +3012,7 @@ Shader version: 450 1059: 76 ConstantComposite 1058 1058 1058 1058 4(VertexShaderFunction): 2 Function None 3 5: Label + Return FunctionEnd 16(VertexShaderFunctionS(f1;f1;f1;u1;u1;): 6(float) Function None 10 11(inF0): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out index e8fab995..0c12435a 100755 --- a/Test/baseResults/hlsl.layout.frag.out +++ b/Test/baseResults/hlsl.layout.frag.out @@ -33,6 +33,7 @@ gl_FragCoord origin is upper left Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -119,6 +120,7 @@ gl_FragCoord origin is upper left 38: 17(int) SpecConstant 10 4(main): 2 Function None 3 5: Label + Return FunctionEnd 11(PixelShaderFunction(vf4;): 7(fvec4) Function None 9 10(input): 8(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 9c1b4ad9..288a0f3f 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -158,6 +158,8 @@ gl_FragCoord origin is upper left 0:54 1 (const int) 0:54 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsi4' (uniform itexture2DMS) @@ -165,9 +167,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -332,6 +332,8 @@ gl_FragCoord origin is upper left 0:54 1 (const int) 0:54 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex2dmsf4' (uniform texture2DMS) 0:? 'g_tTex2dmsi4' (uniform itexture2DMS) @@ -339,9 +341,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray) 0:? 'g_tTex2dmsi4a' (uniform itexture2DMSArray) 0:? 'g_tTex2dmsu4a' (uniform utexture2DMSArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index ed2951f7..8c4f7c8d 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -158,6 +158,8 @@ gl_FragCoord origin is upper left 0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -180,9 +182,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -347,6 +347,8 @@ gl_FragCoord origin is upper left 0:70 1 (const int) 0:70 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -369,9 +371,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index 3a4b3fca..c8e8eb63 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -209,6 +209,8 @@ gl_FragCoord origin is upper left 0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -231,9 +233,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -449,6 +449,8 @@ gl_FragCoord origin is upper left 0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -471,9 +473,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out index 9495c602..a86f0aea 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -195,6 +195,7 @@ Shader version: 450 0:69 0 (const int) 0:69 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -217,8 +218,7 @@ Shader version: 450 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Pos' (out 4-component vector of float Position) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked vertex stage: @@ -420,6 +420,7 @@ Shader version: 450 0:69 0 (const int) 0:69 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -442,8 +443,7 @@ Shader version: 450 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Pos' (out 4-component vector of float Position) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index 560d8f5d..c80ddcfe 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -65,13 +65,13 @@ gl_FragCoord origin is upper left 0:37 1 (const int) 0:37 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) 0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -143,13 +143,13 @@ gl_FragCoord origin is upper left 0:37 1 (const int) 0:37 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer) 0:? 'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer) 0:? 'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out index 6d64b94c..c0cd1528 100644 --- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out @@ -68,13 +68,13 @@ gl_FragCoord origin is upper left 0:37 1 (const int) 0:37 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) 0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -149,13 +149,13 @@ gl_FragCoord origin is upper left 0:37 1 (const int) 0:37 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer) 0:? 'g_tTexbfs' (layout(r32f ) uniform samplerBuffer) 0:? 'g_tTexbis' (layout(r32i ) uniform isamplerBuffer) 0:? 'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index 069e05d0..9a14b658 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -245,6 +245,8 @@ gl_FragCoord origin is upper left 0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -267,9 +269,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -521,6 +521,8 @@ gl_FragCoord origin is upper left 0:75 1 (const int) 0:75 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -543,9 +545,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index ed89ee8d..fb58eff3 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -182,6 +182,8 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -204,9 +206,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -395,6 +395,8 @@ gl_FragCoord origin is upper left 0:68 1 (const int) 0:68 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -417,9 +419,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out index 7b263727..e9cc3940 100644 --- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out @@ -43,11 +43,11 @@ gl_FragCoord origin is upper left 0:31 0 (const int) 0:31 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -97,11 +97,11 @@ gl_FragCoord origin is upper left 0:31 0 (const int) 0:31 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tBuffF' (layout(rgba32f ) uniform imageBuffer) 0:? 'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer) 0:? 'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out index 8ac94d08..a81ddf57 100644 --- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out @@ -74,6 +74,8 @@ gl_FragCoord origin is upper left 0:56 1 (const int) 0:56 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -90,9 +92,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -173,6 +173,8 @@ gl_FragCoord origin is upper left 0:56 1 (const int) 0:56 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -189,9 +191,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out index ca590157..b5435bac 100644 --- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out @@ -92,6 +92,8 @@ gl_FragCoord origin is upper left 0:61 1 (const int) 0:61 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -108,9 +110,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -209,6 +209,8 @@ gl_FragCoord origin is upper left 0:61 1 (const int) 0:61 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -225,9 +227,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out new file mode 100644 index 00000000..d9ae7d5b --- /dev/null +++ b/Test/baseResults/hlsl.logical.binary.frag.out @@ -0,0 +1,220 @@ +hlsl.logical.binary.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Parameters: +0:? Sequence +0:13 Test condition and select (temp void) +0:13 Condition +0:13 logical-and (temp bool) +0:13 Convert int to bool (temp bool) +0:13 ival: direct index for structure (layout(offset=0 ) uniform int) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Constant: +0:13 0 (const uint) +0:13 Convert int to bool (temp bool) +0:13 Convert float to int (temp int) +0:13 fval: direct index for structure (layout(offset=32 ) uniform float) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Constant: +0:13 2 (const uint) +0:13 true case is null +0:14 Test condition and select (temp void) +0:14 Condition +0:14 logical-or (temp bool) +0:14 Convert int to bool (temp bool) +0:14 ival: direct index for structure (layout(offset=0 ) uniform int) +0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Constant: +0:14 0 (const uint) +0:14 Convert int to bool (temp bool) +0:14 Convert float to int (temp int) +0:14 fval: direct index for structure (layout(offset=32 ) uniform float) +0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Constant: +0:14 2 (const uint) +0:14 true case is null +0:17 move second child to first child (temp 4-component vector of float) +0:17 Color: direct index for structure (temp 4-component vector of float) +0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:17 Constant: +0:17 0 (const int) +0:17 Constant: +0:17 1.000000 +0:17 1.000000 +0:17 1.000000 +0:17 1.000000 +0:18 Sequence +0:18 Sequence +0:18 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:18 Color: direct index for structure (temp 4-component vector of float) +0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:18 Constant: +0:18 0 (const int) +0:18 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Parameters: +0:? Sequence +0:13 Test condition and select (temp void) +0:13 Condition +0:13 logical-and (temp bool) +0:13 Convert int to bool (temp bool) +0:13 ival: direct index for structure (layout(offset=0 ) uniform int) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Constant: +0:13 0 (const uint) +0:13 Convert int to bool (temp bool) +0:13 Convert float to int (temp int) +0:13 fval: direct index for structure (layout(offset=32 ) uniform float) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Constant: +0:13 2 (const uint) +0:13 true case is null +0:14 Test condition and select (temp void) +0:14 Condition +0:14 logical-or (temp bool) +0:14 Convert int to bool (temp bool) +0:14 ival: direct index for structure (layout(offset=0 ) uniform int) +0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Constant: +0:14 0 (const uint) +0:14 Convert int to bool (temp bool) +0:14 Convert float to int (temp int) +0:14 fval: direct index for structure (layout(offset=32 ) uniform float) +0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Constant: +0:14 2 (const uint) +0:14 true case is null +0:17 move second child to first child (temp 4-component vector of float) +0:17 Color: direct index for structure (temp 4-component vector of float) +0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:17 Constant: +0:17 0 (const int) +0:17 Constant: +0:17 1.000000 +0:17 1.000000 +0:17 1.000000 +0:17 1.000000 +0:18 Sequence +0:18 Sequence +0:18 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:18 Color: direct index for structure (temp 4-component vector of float) +0:18 'psout' (temp structure{temp 4-component vector of float Color}) +0:18 Constant: +0:18 0 (const int) +0:18 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 57 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 53 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 11 "$Global" + MemberName 11($Global) 0 "ival" + MemberName 11($Global) 1 "ival4" + MemberName 11($Global) 2 "fval" + MemberName 11($Global) 3 "fval4" + Name 13 "" + Name 45 "PS_OUTPUT" + MemberName 45(PS_OUTPUT) 0 "Color" + Name 47 "psout" + Name 53 "Color" + MemberDecorate 11($Global) 0 Offset 0 + MemberDecorate 11($Global) 1 Offset 16 + MemberDecorate 11($Global) 2 Offset 32 + MemberDecorate 11($Global) 3 Offset 48 + Decorate 11($Global) Block + Decorate 13 DescriptorSet 0 + Decorate 53(Color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeBool + 7: TypeInt 32 1 + 8: TypeVector 7(int) 4 + 9: TypeFloat 32 + 10: TypeVector 9(float) 4 + 11($Global): TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4) + 12: TypePointer Uniform 11($Global) + 13: 12(ptr) Variable Uniform + 14: 7(int) Constant 0 + 15: TypePointer Uniform 7(int) + 18: TypeInt 32 0 + 19: 18(int) Constant 0 + 23: 7(int) Constant 2 + 24: TypePointer Uniform 9(float) + 45(PS_OUTPUT): TypeStruct 10(fvec4) + 46: TypePointer Function 45(PS_OUTPUT) + 48: 9(float) Constant 1065353216 + 49: 10(fvec4) ConstantComposite 48 48 48 48 + 50: TypePointer Function 10(fvec4) + 52: TypePointer Output 10(fvec4) + 53(Color): 52(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 47(psout): 46(ptr) Variable Function + 16: 15(ptr) AccessChain 13 14 + 17: 7(int) Load 16 + 20: 6(bool) INotEqual 17 19 + SelectionMerge 22 None + BranchConditional 20 21 22 + 21: Label + 25: 24(ptr) AccessChain 13 23 + 26: 9(float) Load 25 + 27: 7(int) ConvertFToS 26 + 28: 6(bool) INotEqual 27 19 + Branch 22 + 22: Label + 29: 6(bool) Phi 20 5 28 21 + SelectionMerge 31 None + BranchConditional 29 30 31 + 30: Label + Branch 31 + 31: Label + 32: 15(ptr) AccessChain 13 14 + 33: 7(int) Load 32 + 34: 6(bool) INotEqual 33 19 + 35: 6(bool) LogicalNot 34 + SelectionMerge 37 None + BranchConditional 35 36 37 + 36: Label + 38: 24(ptr) AccessChain 13 23 + 39: 9(float) Load 38 + 40: 7(int) ConvertFToS 39 + 41: 6(bool) INotEqual 40 19 + Branch 37 + 37: Label + 42: 6(bool) Phi 34 31 41 36 + SelectionMerge 44 None + BranchConditional 42 43 44 + 43: Label + Branch 44 + 44: Label + 51: 50(ptr) AccessChain 47(psout) 14 + Store 51 49 + 54: 50(ptr) AccessChain 47(psout) 14 + 55: 10(fvec4) Load 54 + Store 53(Color) 55 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out new file mode 100644 index 00000000..32b5a385 --- /dev/null +++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out @@ -0,0 +1,412 @@ +hlsl.logical.binary.vec.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of bool) +0:11 'r00' (temp 4-component vector of bool) +0:11 Negate conditional (temp 4-component vector of bool) +0:11 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:11 Constant: +0:11 0 (const uint) +0:12 Sequence +0:12 move second child to first child (temp 4-component vector of bool) +0:12 'r01' (temp 4-component vector of bool) +0:12 logical-and (temp 4-component vector of bool) +0:12 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 Constant: +0:12 0 (const uint) +0:12 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 Constant: +0:12 1 (const uint) +0:13 Sequence +0:13 move second child to first child (temp 4-component vector of bool) +0:13 'r02' (temp 4-component vector of bool) +0:13 logical-or (temp 4-component vector of bool) +0:13 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 Constant: +0:13 0 (const uint) +0:13 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 Constant: +0:13 1 (const uint) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of bool) +0:15 'r10' (temp 4-component vector of bool) +0:15 logical-and (temp 4-component vector of bool) +0:15 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) +0:15 b1a: direct index for structure (layout(offset=32 ) uniform bool) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 Constant: +0:15 2 (const uint) +0:15 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 Constant: +0:15 1 (const uint) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of bool) +0:16 'r11' (temp 4-component vector of bool) +0:16 logical-or (temp 4-component vector of bool) +0:16 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) +0:16 b1a: direct index for structure (layout(offset=32 ) uniform bool) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 Constant: +0:16 2 (const uint) +0:16 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 Constant: +0:16 1 (const uint) +0:18 Sequence +0:18 move second child to first child (temp 4-component vector of bool) +0:18 'r20' (temp 4-component vector of bool) +0:18 logical-and (temp 4-component vector of bool) +0:18 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 Constant: +0:18 0 (const uint) +0:18 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) +0:18 b1b: direct index for structure (layout(offset=36 ) uniform bool) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 Constant: +0:18 3 (const uint) +0:19 Sequence +0:19 move second child to first child (temp 4-component vector of bool) +0:19 'r21' (temp 4-component vector of bool) +0:19 logical-or (temp 4-component vector of bool) +0:19 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 Constant: +0:19 0 (const uint) +0:19 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) +0:19 b1b: direct index for structure (layout(offset=36 ) uniform bool) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 Constant: +0:19 3 (const uint) +0:22 move second child to first child (temp 4-component vector of float) +0:22 Color: direct index for structure (temp 4-component vector of float) +0:22 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 Constant: +0:22 0 (const int) +0:22 Convert bool to float (temp 4-component vector of float) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 'r00' (temp 4-component vector of bool) +0:22 'r01' (temp 4-component vector of bool) +0:22 'r02' (temp 4-component vector of bool) +0:22 'r10' (temp 4-component vector of bool) +0:22 'r11' (temp 4-component vector of bool) +0:22 'r20' (temp 4-component vector of bool) +0:22 'r21' (temp 4-component vector of bool) +0:23 Sequence +0:23 Sequence +0:23 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:23 Color: direct index for structure (temp 4-component vector of float) +0:23 'psout' (temp structure{temp 4-component vector of float Color}) +0:23 Constant: +0:23 0 (const int) +0:23 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:10 Function Parameters: +0:? Sequence +0:11 Sequence +0:11 move second child to first child (temp 4-component vector of bool) +0:11 'r00' (temp 4-component vector of bool) +0:11 Negate conditional (temp 4-component vector of bool) +0:11 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:11 Constant: +0:11 0 (const uint) +0:12 Sequence +0:12 move second child to first child (temp 4-component vector of bool) +0:12 'r01' (temp 4-component vector of bool) +0:12 logical-and (temp 4-component vector of bool) +0:12 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 Constant: +0:12 0 (const uint) +0:12 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:12 Constant: +0:12 1 (const uint) +0:13 Sequence +0:13 move second child to first child (temp 4-component vector of bool) +0:13 'r02' (temp 4-component vector of bool) +0:13 logical-or (temp 4-component vector of bool) +0:13 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 Constant: +0:13 0 (const uint) +0:13 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:13 Constant: +0:13 1 (const uint) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of bool) +0:15 'r10' (temp 4-component vector of bool) +0:15 logical-and (temp 4-component vector of bool) +0:15 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) +0:15 b1a: direct index for structure (layout(offset=32 ) uniform bool) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 Constant: +0:15 2 (const uint) +0:15 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:15 Constant: +0:15 1 (const uint) +0:16 Sequence +0:16 move second child to first child (temp 4-component vector of bool) +0:16 'r11' (temp 4-component vector of bool) +0:16 logical-or (temp 4-component vector of bool) +0:16 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool) +0:16 b1a: direct index for structure (layout(offset=32 ) uniform bool) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 Constant: +0:16 2 (const uint) +0:16 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:16 Constant: +0:16 1 (const uint) +0:18 Sequence +0:18 move second child to first child (temp 4-component vector of bool) +0:18 'r20' (temp 4-component vector of bool) +0:18 logical-and (temp 4-component vector of bool) +0:18 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 Constant: +0:18 0 (const uint) +0:18 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) +0:18 b1b: direct index for structure (layout(offset=36 ) uniform bool) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:18 Constant: +0:18 3 (const uint) +0:19 Sequence +0:19 move second child to first child (temp 4-component vector of bool) +0:19 'r21' (temp 4-component vector of bool) +0:19 logical-or (temp 4-component vector of bool) +0:19 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 Constant: +0:19 0 (const uint) +0:19 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool) +0:19 b1b: direct index for structure (layout(offset=36 ) uniform bool) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) +0:19 Constant: +0:19 3 (const uint) +0:22 move second child to first child (temp 4-component vector of float) +0:22 Color: direct index for structure (temp 4-component vector of float) +0:22 'psout' (temp structure{temp 4-component vector of float Color}) +0:22 Constant: +0:22 0 (const int) +0:22 Convert bool to float (temp 4-component vector of float) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 logical-or (temp 4-component vector of bool) +0:22 'r00' (temp 4-component vector of bool) +0:22 'r01' (temp 4-component vector of bool) +0:22 'r02' (temp 4-component vector of bool) +0:22 'r10' (temp 4-component vector of bool) +0:22 'r11' (temp 4-component vector of bool) +0:22 'r20' (temp 4-component vector of bool) +0:22 'r21' (temp 4-component vector of bool) +0:23 Sequence +0:23 Sequence +0:23 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:23 Color: direct index for structure (temp 4-component vector of float) +0:23 'psout' (temp structure{temp 4-component vector of float Color}) +0:23 Constant: +0:23 0 (const int) +0:23 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 115 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 111 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 9 "r00" + Name 12 "$Global" + MemberName 12($Global) 0 "b4a" + MemberName 12($Global) 1 "b4b" + MemberName 12($Global) 2 "b1a" + MemberName 12($Global) 3 "b1b" + Name 14 "" + Name 24 "r01" + Name 33 "r02" + Name 41 "r10" + Name 52 "r11" + Name 61 "r20" + Name 73 "r21" + Name 87 "PS_OUTPUT" + MemberName 87(PS_OUTPUT) 0 "Color" + Name 89 "psout" + Name 111 "Color" + MemberDecorate 12($Global) 0 Offset 0 + MemberDecorate 12($Global) 1 Offset 16 + MemberDecorate 12($Global) 2 Offset 32 + MemberDecorate 12($Global) 3 Offset 36 + Decorate 12($Global) Block + Decorate 14 DescriptorSet 0 + Decorate 111(Color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeBool + 7: TypeVector 6(bool) 4 + 8: TypePointer Function 7(bvec4) + 10: TypeInt 32 0 + 11: TypeVector 10(int) 4 + 12($Global): TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int) + 13: TypePointer Uniform 12($Global) + 14: 13(ptr) Variable Uniform + 15: TypeInt 32 1 + 16: 15(int) Constant 0 + 17: TypePointer Uniform 11(ivec4) + 20: 10(int) Constant 0 + 21: 11(ivec4) ConstantComposite 20 20 20 20 + 28: 15(int) Constant 1 + 42: 15(int) Constant 2 + 43: TypePointer Uniform 10(int) + 67: 15(int) Constant 3 + 85: TypeFloat 32 + 86: TypeVector 85(float) 4 + 87(PS_OUTPUT): TypeStruct 86(fvec4) + 88: TypePointer Function 87(PS_OUTPUT) + 103: 85(float) Constant 0 + 104: 85(float) Constant 1065353216 + 105: 86(fvec4) ConstantComposite 103 103 103 103 + 106: 86(fvec4) ConstantComposite 104 104 104 104 + 108: TypePointer Function 86(fvec4) + 110: TypePointer Output 86(fvec4) + 111(Color): 110(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 9(r00): 8(ptr) Variable Function + 24(r01): 8(ptr) Variable Function + 33(r02): 8(ptr) Variable Function + 41(r10): 8(ptr) Variable Function + 52(r11): 8(ptr) Variable Function + 61(r20): 8(ptr) Variable Function + 73(r21): 8(ptr) Variable Function + 89(psout): 88(ptr) Variable Function + 18: 17(ptr) AccessChain 14 16 + 19: 11(ivec4) Load 18 + 22: 7(bvec4) INotEqual 19 21 + 23: 7(bvec4) LogicalNot 22 + Store 9(r00) 23 + 25: 17(ptr) AccessChain 14 16 + 26: 11(ivec4) Load 25 + 27: 7(bvec4) INotEqual 26 21 + 29: 17(ptr) AccessChain 14 28 + 30: 11(ivec4) Load 29 + 31: 7(bvec4) INotEqual 30 21 + 32: 7(bvec4) LogicalAnd 27 31 + Store 24(r01) 32 + 34: 17(ptr) AccessChain 14 16 + 35: 11(ivec4) Load 34 + 36: 7(bvec4) INotEqual 35 21 + 37: 17(ptr) AccessChain 14 28 + 38: 11(ivec4) Load 37 + 39: 7(bvec4) INotEqual 38 21 + 40: 7(bvec4) LogicalOr 36 39 + Store 33(r02) 40 + 44: 43(ptr) AccessChain 14 42 + 45: 10(int) Load 44 + 46: 6(bool) INotEqual 45 20 + 47: 7(bvec4) CompositeConstruct 46 46 46 46 + 48: 17(ptr) AccessChain 14 28 + 49: 11(ivec4) Load 48 + 50: 7(bvec4) INotEqual 49 21 + 51: 7(bvec4) LogicalAnd 47 50 + Store 41(r10) 51 + 53: 43(ptr) AccessChain 14 42 + 54: 10(int) Load 53 + 55: 6(bool) INotEqual 54 20 + 56: 7(bvec4) CompositeConstruct 55 55 55 55 + 57: 17(ptr) AccessChain 14 28 + 58: 11(ivec4) Load 57 + 59: 7(bvec4) INotEqual 58 21 + 60: 7(bvec4) LogicalOr 56 59 + Store 52(r11) 60 + 62: 17(ptr) AccessChain 14 16 + 63: 11(ivec4) Load 62 + 64: 7(bvec4) INotEqual 63 21 + SelectionMerge 66 None + BranchConditional 64 65 66 + 65: Label + 68: 43(ptr) AccessChain 14 67 + 69: 10(int) Load 68 + 70: 6(bool) INotEqual 69 20 + 71: 7(bvec4) CompositeConstruct 70 70 70 70 + Branch 66 + 66: Label + 72: 6(bool) Phi 64 5 71 65 + Store 61(r20) 72 + 74: 17(ptr) AccessChain 14 16 + 75: 11(ivec4) Load 74 + 76: 7(bvec4) INotEqual 75 21 + 77: 6(bool) LogicalNot 76 + SelectionMerge 79 None + BranchConditional 77 78 79 + 78: Label + 80: 43(ptr) AccessChain 14 67 + 81: 10(int) Load 80 + 82: 6(bool) INotEqual 81 20 + 83: 7(bvec4) CompositeConstruct 82 82 82 82 + Branch 79 + 79: Label + 84: 6(bool) Phi 76 66 83 78 + Store 73(r21) 84 + 90: 7(bvec4) Load 9(r00) + 91: 7(bvec4) Load 24(r01) + 92: 7(bvec4) LogicalOr 90 91 + 93: 7(bvec4) Load 33(r02) + 94: 7(bvec4) LogicalOr 92 93 + 95: 7(bvec4) Load 41(r10) + 96: 7(bvec4) LogicalOr 94 95 + 97: 7(bvec4) Load 52(r11) + 98: 7(bvec4) LogicalOr 96 97 + 99: 7(bvec4) Load 61(r20) + 100: 7(bvec4) LogicalOr 98 99 + 101: 7(bvec4) Load 73(r21) + 102: 7(bvec4) LogicalOr 100 101 + 107: 86(fvec4) Select 102 106 105 + 109: 108(ptr) AccessChain 89(psout) 16 + Store 109 107 + 112: 108(ptr) AccessChain 89(psout) 16 + 113: 86(fvec4) Load 112 + Store 111(Color) 113 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out new file mode 100644 index 00000000..1aaa69a2 --- /dev/null +++ b/Test/baseResults/hlsl.logical.unary.frag.out @@ -0,0 +1,292 @@ +hlsl.logical.unary.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Parameters: +0:? Sequence +0:13 Negate conditional (temp bool) +0:13 Convert int to bool (temp bool) +0:13 ival: direct index for structure (layout(offset=0 ) uniform int) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Constant: +0:13 0 (const uint) +0:14 Negate conditional (temp 4-component vector of bool) +0:14 Convert int to bool (temp 4-component vector of bool) +0:14 ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int) +0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Constant: +0:14 1 (const uint) +0:16 Negate conditional (temp bool) +0:16 Convert float to bool (temp bool) +0:16 fval: direct index for structure (layout(offset=32 ) uniform float) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:16 Constant: +0:16 2 (const uint) +0:17 Negate conditional (temp 4-component vector of bool) +0:17 Convert float to bool (temp 4-component vector of bool) +0:17 fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float) +0:17 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:17 Constant: +0:17 3 (const uint) +0:19 Test condition and select (temp void) +0:19 Condition +0:19 ival: direct index for structure (layout(offset=0 ) uniform int) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:19 Constant: +0:19 0 (const uint) +0:19 true case is null +0:20 Test condition and select (temp void) +0:20 Condition +0:20 fval: direct index for structure (layout(offset=32 ) uniform float) +0:20 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:20 Constant: +0:20 2 (const uint) +0:20 true case is null +0:21 Test condition and select (temp void) +0:21 Condition +0:21 Negate conditional (temp bool) +0:21 Convert int to bool (temp bool) +0:21 ival: direct index for structure (layout(offset=0 ) uniform int) +0:21 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:21 Constant: +0:21 0 (const uint) +0:21 true case is null +0:22 Test condition and select (temp void) +0:22 Condition +0:22 Negate conditional (temp bool) +0:22 Convert float to bool (temp bool) +0:22 fval: direct index for structure (layout(offset=32 ) uniform float) +0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:22 Constant: +0:22 2 (const uint) +0:22 true case is null +0:25 move second child to first child (temp 4-component vector of float) +0:25 Color: direct index for structure (temp 4-component vector of float) +0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 1.000000 +0:25 1.000000 +0:25 1.000000 +0:25 1.000000 +0:26 Sequence +0:26 Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:26 Color: direct index for structure (temp 4-component vector of float) +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:26 Constant: +0:26 0 (const int) +0:26 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:12 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:12 Function Parameters: +0:? Sequence +0:13 Negate conditional (temp bool) +0:13 Convert int to bool (temp bool) +0:13 ival: direct index for structure (layout(offset=0 ) uniform int) +0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:13 Constant: +0:13 0 (const uint) +0:14 Negate conditional (temp 4-component vector of bool) +0:14 Convert int to bool (temp 4-component vector of bool) +0:14 ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int) +0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:14 Constant: +0:14 1 (const uint) +0:16 Negate conditional (temp bool) +0:16 Convert float to bool (temp bool) +0:16 fval: direct index for structure (layout(offset=32 ) uniform float) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:16 Constant: +0:16 2 (const uint) +0:17 Negate conditional (temp 4-component vector of bool) +0:17 Convert float to bool (temp 4-component vector of bool) +0:17 fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float) +0:17 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:17 Constant: +0:17 3 (const uint) +0:19 Test condition and select (temp void) +0:19 Condition +0:19 ival: direct index for structure (layout(offset=0 ) uniform int) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:19 Constant: +0:19 0 (const uint) +0:19 true case is null +0:20 Test condition and select (temp void) +0:20 Condition +0:20 fval: direct index for structure (layout(offset=32 ) uniform float) +0:20 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:20 Constant: +0:20 2 (const uint) +0:20 true case is null +0:21 Test condition and select (temp void) +0:21 Condition +0:21 Negate conditional (temp bool) +0:21 Convert int to bool (temp bool) +0:21 ival: direct index for structure (layout(offset=0 ) uniform int) +0:21 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:21 Constant: +0:21 0 (const uint) +0:21 true case is null +0:22 Test condition and select (temp void) +0:22 Condition +0:22 Negate conditional (temp bool) +0:22 Convert float to bool (temp bool) +0:22 fval: direct index for structure (layout(offset=32 ) uniform float) +0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) +0:22 Constant: +0:22 2 (const uint) +0:22 true case is null +0:25 move second child to first child (temp 4-component vector of float) +0:25 Color: direct index for structure (temp 4-component vector of float) +0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 1.000000 +0:25 1.000000 +0:25 1.000000 +0:25 1.000000 +0:26 Sequence +0:26 Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:26 Color: direct index for structure (temp 4-component vector of float) +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:26 Constant: +0:26 0 (const int) +0:26 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 77 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 73 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 10 "$Global" + MemberName 10($Global) 0 "ival" + MemberName 10($Global) 1 "ival4" + MemberName 10($Global) 2 "fval" + MemberName 10($Global) 3 "fval4" + Name 12 "" + Name 65 "PS_OUTPUT" + MemberName 65(PS_OUTPUT) 0 "Color" + Name 67 "psout" + Name 73 "Color" + MemberDecorate 10($Global) 0 Offset 0 + MemberDecorate 10($Global) 1 Offset 16 + MemberDecorate 10($Global) 2 Offset 32 + MemberDecorate 10($Global) 3 Offset 48 + Decorate 10($Global) Block + Decorate 12 DescriptorSet 0 + Decorate 73(Color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypeVector 6(int) 4 + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 10($Global): TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4) + 11: TypePointer Uniform 10($Global) + 12: 11(ptr) Variable Uniform + 13: 6(int) Constant 0 + 14: TypePointer Uniform 6(int) + 17: TypeBool + 18: TypeInt 32 0 + 19: 18(int) Constant 0 + 22: 6(int) Constant 1 + 23: TypePointer Uniform 7(ivec4) + 26: TypeVector 17(bool) 4 + 27: TypeVector 18(int) 4 + 28: 27(ivec4) ConstantComposite 19 19 19 19 + 31: 6(int) Constant 2 + 32: TypePointer Uniform 8(float) + 35: 8(float) Constant 0 + 38: 6(int) Constant 3 + 39: TypePointer Uniform 9(fvec4) + 42: 9(fvec4) ConstantComposite 35 35 35 35 + 65(PS_OUTPUT): TypeStruct 9(fvec4) + 66: TypePointer Function 65(PS_OUTPUT) + 68: 8(float) Constant 1065353216 + 69: 9(fvec4) ConstantComposite 68 68 68 68 + 70: TypePointer Function 9(fvec4) + 72: TypePointer Output 9(fvec4) + 73(Color): 72(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 67(psout): 66(ptr) Variable Function + 15: 14(ptr) AccessChain 12 13 + 16: 6(int) Load 15 + 20: 17(bool) INotEqual 16 19 + 21: 17(bool) LogicalNot 20 + 24: 23(ptr) AccessChain 12 22 + 25: 7(ivec4) Load 24 + 29: 26(bvec4) INotEqual 25 28 + 30: 26(bvec4) LogicalNot 29 + 33: 32(ptr) AccessChain 12 31 + 34: 8(float) Load 33 + 36: 17(bool) FOrdNotEqual 34 35 + 37: 17(bool) LogicalNot 36 + 40: 39(ptr) AccessChain 12 38 + 41: 9(fvec4) Load 40 + 43: 26(bvec4) FOrdNotEqual 41 42 + 44: 26(bvec4) LogicalNot 43 + 45: 14(ptr) AccessChain 12 13 + 46: 6(int) Load 45 + SelectionMerge 48 None + BranchConditional 46 47 48 + 47: Label + Branch 48 + 48: Label + 49: 32(ptr) AccessChain 12 31 + 50: 8(float) Load 49 + SelectionMerge 52 None + BranchConditional 50 51 52 + 51: Label + Branch 52 + 52: Label + 53: 14(ptr) AccessChain 12 13 + 54: 6(int) Load 53 + 55: 17(bool) INotEqual 54 19 + 56: 17(bool) LogicalNot 55 + SelectionMerge 58 None + BranchConditional 56 57 58 + 57: Label + Branch 58 + 58: Label + 59: 32(ptr) AccessChain 12 31 + 60: 8(float) Load 59 + 61: 17(bool) FOrdNotEqual 60 35 + 62: 17(bool) LogicalNot 61 + SelectionMerge 64 None + BranchConditional 62 63 64 + 63: Label + Branch 64 + 64: Label + 71: 70(ptr) AccessChain 67(psout) 13 + Store 71 69 + 74: 70(ptr) AccessChain 67(psout) 13 + 75: 9(fvec4) Load 74 + Store 73(Color) 75 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.matNx1.frag.out b/Test/baseResults/hlsl.matNx1.frag.out new file mode 100644 index 00000000..f9dd65f9 --- /dev/null +++ b/Test/baseResults/hlsl.matNx1.frag.out @@ -0,0 +1,261 @@ +hlsl.matNx1.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: TestMatNx1( (temp void) +0:3 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp 1X1 matrix of float) +0:13 'r00' (temp 1X1 matrix of float) +0:13 transpose (temp 1X1 matrix of float) +0:13 'f1x1' (temp 1X1 matrix of float) +0:14 Sequence +0:14 move second child to first child (temp 1X2 matrix of float) +0:14 'r01' (temp 1X2 matrix of float) +0:14 transpose (temp 1X2 matrix of float) +0:14 'f2x1' (temp 2X1 matrix of float) +0:15 Sequence +0:15 move second child to first child (temp 1X3 matrix of float) +0:15 'r02' (temp 1X3 matrix of float) +0:15 transpose (temp 1X3 matrix of float) +0:15 'f3x1' (temp 3X1 matrix of float) +0:16 Sequence +0:16 move second child to first child (temp 1X4 matrix of float) +0:16 'r03' (temp 1X4 matrix of float) +0:16 transpose (temp 1X4 matrix of float) +0:16 'f4x1' (temp 4X1 matrix of float) +0:18 Sequence +0:18 move second child to first child (temp 1X1 matrix of float) +0:18 'r10' (temp 1X1 matrix of float) +0:18 transpose (temp 1X1 matrix of float) +0:18 'f1x1' (temp 1X1 matrix of float) +0:19 Sequence +0:19 move second child to first child (temp 2X1 matrix of float) +0:19 'r11' (temp 2X1 matrix of float) +0:19 transpose (temp 2X1 matrix of float) +0:19 'f1x2' (temp 1X2 matrix of float) +0:20 Sequence +0:20 move second child to first child (temp 3X1 matrix of float) +0:20 'r12' (temp 3X1 matrix of float) +0:20 transpose (temp 3X1 matrix of float) +0:20 'f1x3' (temp 1X3 matrix of float) +0:21 Sequence +0:21 move second child to first child (temp 4X1 matrix of float) +0:21 'r13' (temp 4X1 matrix of float) +0:21 transpose (temp 4X1 matrix of float) +0:21 'f1x4' (temp 1X4 matrix of float) +0:27 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:27 Function Parameters: +0:? Sequence +0:29 move second child to first child (temp 4-component vector of float) +0:29 color: direct index for structure (temp 4-component vector of float) +0:29 'ps_output' (temp structure{temp 4-component vector of float color}) +0:29 Constant: +0:29 0 (const int) +0:29 Constant: +0:29 1.000000 +0:29 1.000000 +0:29 1.000000 +0:29 1.000000 +0:30 Sequence +0:30 Sequence +0:30 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:30 color: direct index for structure (temp 4-component vector of float) +0:30 'ps_output' (temp structure{temp 4-component vector of float color}) +0:30 Constant: +0:30 0 (const int) +0:30 Branch: Return +0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: TestMatNx1( (temp void) +0:3 Function Parameters: +0:? Sequence +0:13 Sequence +0:13 move second child to first child (temp 1X1 matrix of float) +0:13 'r00' (temp 1X1 matrix of float) +0:13 transpose (temp 1X1 matrix of float) +0:13 'f1x1' (temp 1X1 matrix of float) +0:14 Sequence +0:14 move second child to first child (temp 1X2 matrix of float) +0:14 'r01' (temp 1X2 matrix of float) +0:14 transpose (temp 1X2 matrix of float) +0:14 'f2x1' (temp 2X1 matrix of float) +0:15 Sequence +0:15 move second child to first child (temp 1X3 matrix of float) +0:15 'r02' (temp 1X3 matrix of float) +0:15 transpose (temp 1X3 matrix of float) +0:15 'f3x1' (temp 3X1 matrix of float) +0:16 Sequence +0:16 move second child to first child (temp 1X4 matrix of float) +0:16 'r03' (temp 1X4 matrix of float) +0:16 transpose (temp 1X4 matrix of float) +0:16 'f4x1' (temp 4X1 matrix of float) +0:18 Sequence +0:18 move second child to first child (temp 1X1 matrix of float) +0:18 'r10' (temp 1X1 matrix of float) +0:18 transpose (temp 1X1 matrix of float) +0:18 'f1x1' (temp 1X1 matrix of float) +0:19 Sequence +0:19 move second child to first child (temp 2X1 matrix of float) +0:19 'r11' (temp 2X1 matrix of float) +0:19 transpose (temp 2X1 matrix of float) +0:19 'f1x2' (temp 1X2 matrix of float) +0:20 Sequence +0:20 move second child to first child (temp 3X1 matrix of float) +0:20 'r12' (temp 3X1 matrix of float) +0:20 transpose (temp 3X1 matrix of float) +0:20 'f1x3' (temp 1X3 matrix of float) +0:21 Sequence +0:21 move second child to first child (temp 4X1 matrix of float) +0:21 'r13' (temp 4X1 matrix of float) +0:21 transpose (temp 4X1 matrix of float) +0:21 'f1x4' (temp 1X4 matrix of float) +0:27 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:27 Function Parameters: +0:? Sequence +0:29 move second child to first child (temp 4-component vector of float) +0:29 color: direct index for structure (temp 4-component vector of float) +0:29 'ps_output' (temp structure{temp 4-component vector of float color}) +0:29 Constant: +0:29 0 (const int) +0:29 Constant: +0:29 1.000000 +0:29 1.000000 +0:29 1.000000 +0:29 1.000000 +0:30 Sequence +0:30 Sequence +0:30 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:30 color: direct index for structure (temp 4-component vector of float) +0:30 'ps_output' (temp structure{temp 4-component vector of float color}) +0:30 Constant: +0:30 0 (const int) +0:30 Branch: Return +0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 72 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 68 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 6 "TestMatNx1(" + Name 12 "r00" + Name 13 "f1x1" + Name 19 "r01" + Name 22 "f2x1" + Name 28 "r02" + Name 31 "f3x1" + Name 37 "r03" + Name 40 "f4x1" + Name 43 "r10" + Name 46 "r11" + Name 47 "f1x2" + Name 50 "r12" + Name 51 "f1x3" + Name 54 "r13" + Name 55 "f1x4" + Name 58 "PS_OUTPUT" + MemberName 58(PS_OUTPUT) 0 "color" + Name 60 "ps_output" + Name 68 "color" + Decorate 68(color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 8: TypeFloat 32 + 9: TypeVector 8(float) 1 + 10: TypeMatrix 9(fvec) 1 + 11: TypePointer Function 10 + 16: TypeVector 8(float) 2 + 17: TypeMatrix 16(fvec2) 1 + 18: TypePointer Function 17 + 20: TypeMatrix 9(fvec) 2 + 21: TypePointer Function 20 + 25: TypeVector 8(float) 3 + 26: TypeMatrix 25(fvec3) 1 + 27: TypePointer Function 26 + 29: TypeMatrix 9(fvec) 3 + 30: TypePointer Function 29 + 34: TypeVector 8(float) 4 + 35: TypeMatrix 34(fvec4) 1 + 36: TypePointer Function 35 + 38: TypeMatrix 9(fvec) 4 + 39: TypePointer Function 38 + 58(PS_OUTPUT): TypeStruct 34(fvec4) + 59: TypePointer Function 58(PS_OUTPUT) + 61: TypeInt 32 1 + 62: 61(int) Constant 0 + 63: 8(float) Constant 1065353216 + 64: 34(fvec4) ConstantComposite 63 63 63 63 + 65: TypePointer Function 34(fvec4) + 67: TypePointer Output 34(fvec4) + 68(color): 67(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 60(ps_output): 59(ptr) Variable Function + 66: 65(ptr) AccessChain 60(ps_output) 62 + Store 66 64 + 69: 65(ptr) AccessChain 60(ps_output) 62 + 70: 34(fvec4) Load 69 + Store 68(color) 70 + Return + FunctionEnd + 6(TestMatNx1(): 2 Function None 3 + 7: Label + 12(r00): 11(ptr) Variable Function + 13(f1x1): 11(ptr) Variable Function + 19(r01): 18(ptr) Variable Function + 22(f2x1): 21(ptr) Variable Function + 28(r02): 27(ptr) Variable Function + 31(f3x1): 30(ptr) Variable Function + 37(r03): 36(ptr) Variable Function + 40(f4x1): 39(ptr) Variable Function + 43(r10): 11(ptr) Variable Function + 46(r11): 21(ptr) Variable Function + 47(f1x2): 18(ptr) Variable Function + 50(r12): 30(ptr) Variable Function + 51(f1x3): 27(ptr) Variable Function + 54(r13): 39(ptr) Variable Function + 55(f1x4): 36(ptr) Variable Function + 14: 10 Load 13(f1x1) + 15: 10 Transpose 14 + Store 12(r00) 15 + 23: 20 Load 22(f2x1) + 24: 17 Transpose 23 + Store 19(r01) 24 + 32: 29 Load 31(f3x1) + 33: 26 Transpose 32 + Store 28(r02) 33 + 41: 38 Load 40(f4x1) + 42: 35 Transpose 41 + Store 37(r03) 42 + 44: 10 Load 13(f1x1) + 45: 10 Transpose 44 + Store 43(r10) 45 + 48: 17 Load 47(f1x2) + 49: 20 Transpose 48 + Store 46(r11) 49 + 52: 26 Load 51(f1x3) + 53: 29 Transpose 52 + Store 50(r12) 53 + 56: 35 Load 55(f1x4) + 57: 38 Transpose 56 + Store 54(r13) 57 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out new file mode 100644 index 00000000..e24c8784 --- /dev/null +++ b/Test/baseResults/hlsl.matType.bool.frag.out @@ -0,0 +1,419 @@ +hlsl.matType.bool.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: TestBoolMatTypes( (temp void) +0:3 Function Parameters: +0:? Sequence +0:25 Sequence +0:25 move second child to first child (temp 1X1 matrix of bool) +0:25 'r00' (temp 1X1 matrix of bool) +0:25 transpose (temp 1X1 matrix of bool) +0:25 'b1x1' (temp 1X1 matrix of bool) +0:26 Sequence +0:26 move second child to first child (temp 1X2 matrix of bool) +0:26 'r01' (temp 1X2 matrix of bool) +0:26 transpose (temp 1X2 matrix of bool) +0:26 'b2x1' (temp 2X1 matrix of bool) +0:27 Sequence +0:27 move second child to first child (temp 1X3 matrix of bool) +0:27 'r02' (temp 1X3 matrix of bool) +0:27 transpose (temp 1X3 matrix of bool) +0:27 'b3x1' (temp 3X1 matrix of bool) +0:28 Sequence +0:28 move second child to first child (temp 1X4 matrix of bool) +0:28 'r03' (temp 1X4 matrix of bool) +0:28 transpose (temp 1X4 matrix of bool) +0:28 'b4x1' (temp 4X1 matrix of bool) +0:30 Sequence +0:30 move second child to first child (temp 2X1 matrix of bool) +0:30 'r10' (temp 2X1 matrix of bool) +0:30 transpose (temp 2X1 matrix of bool) +0:30 'b1x2' (temp 1X2 matrix of bool) +0:31 Sequence +0:31 move second child to first child (temp 2X2 matrix of bool) +0:31 'r11' (temp 2X2 matrix of bool) +0:31 transpose (temp 2X2 matrix of bool) +0:31 'b2x2' (temp 2X2 matrix of bool) +0:32 Sequence +0:32 move second child to first child (temp 2X3 matrix of bool) +0:32 'r12' (temp 2X3 matrix of bool) +0:32 transpose (temp 2X3 matrix of bool) +0:32 'b3x2' (temp 3X2 matrix of bool) +0:33 Sequence +0:33 move second child to first child (temp 2X4 matrix of bool) +0:33 'r13' (temp 2X4 matrix of bool) +0:33 transpose (temp 2X4 matrix of bool) +0:33 'b4x2' (temp 4X2 matrix of bool) +0:35 Sequence +0:35 move second child to first child (temp 3X1 matrix of bool) +0:35 'r20' (temp 3X1 matrix of bool) +0:35 transpose (temp 3X1 matrix of bool) +0:35 'b1x3' (temp 1X3 matrix of bool) +0:36 Sequence +0:36 move second child to first child (temp 3X2 matrix of bool) +0:36 'r21' (temp 3X2 matrix of bool) +0:36 transpose (temp 3X2 matrix of bool) +0:36 'b2x3' (temp 2X3 matrix of bool) +0:37 Sequence +0:37 move second child to first child (temp 3X3 matrix of bool) +0:37 'r22' (temp 3X3 matrix of bool) +0:37 transpose (temp 3X3 matrix of bool) +0:37 'b3x3' (temp 3X3 matrix of bool) +0:38 Sequence +0:38 move second child to first child (temp 3X4 matrix of bool) +0:38 'r23' (temp 3X4 matrix of bool) +0:38 transpose (temp 3X4 matrix of bool) +0:38 'b4x3' (temp 4X3 matrix of bool) +0:40 Sequence +0:40 move second child to first child (temp 4X1 matrix of bool) +0:40 'r30' (temp 4X1 matrix of bool) +0:40 transpose (temp 4X1 matrix of bool) +0:40 'b1x4' (temp 1X4 matrix of bool) +0:41 Sequence +0:41 move second child to first child (temp 4X2 matrix of bool) +0:41 'r31' (temp 4X2 matrix of bool) +0:41 transpose (temp 4X2 matrix of bool) +0:41 'b2x4' (temp 2X4 matrix of bool) +0:42 Sequence +0:42 move second child to first child (temp 4X3 matrix of bool) +0:42 'r32' (temp 4X3 matrix of bool) +0:42 transpose (temp 4X3 matrix of bool) +0:42 'b3x4' (temp 3X4 matrix of bool) +0:43 Sequence +0:43 move second child to first child (temp 4X4 matrix of bool) +0:43 'r33' (temp 4X4 matrix of bool) +0:43 transpose (temp 4X4 matrix of bool) +0:43 'b4x4' (temp 4X4 matrix of bool) +0:49 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:49 Function Parameters: +0:? Sequence +0:51 move second child to first child (temp 4-component vector of float) +0:51 color: direct index for structure (temp 4-component vector of float) +0:51 'ps_output' (temp structure{temp 4-component vector of float color}) +0:51 Constant: +0:51 0 (const int) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:52 Sequence +0:52 Sequence +0:52 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:52 color: direct index for structure (temp 4-component vector of float) +0:52 'ps_output' (temp structure{temp 4-component vector of float color}) +0:52 Constant: +0:52 0 (const int) +0:52 Branch: Return +0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: TestBoolMatTypes( (temp void) +0:3 Function Parameters: +0:? Sequence +0:25 Sequence +0:25 move second child to first child (temp 1X1 matrix of bool) +0:25 'r00' (temp 1X1 matrix of bool) +0:25 transpose (temp 1X1 matrix of bool) +0:25 'b1x1' (temp 1X1 matrix of bool) +0:26 Sequence +0:26 move second child to first child (temp 1X2 matrix of bool) +0:26 'r01' (temp 1X2 matrix of bool) +0:26 transpose (temp 1X2 matrix of bool) +0:26 'b2x1' (temp 2X1 matrix of bool) +0:27 Sequence +0:27 move second child to first child (temp 1X3 matrix of bool) +0:27 'r02' (temp 1X3 matrix of bool) +0:27 transpose (temp 1X3 matrix of bool) +0:27 'b3x1' (temp 3X1 matrix of bool) +0:28 Sequence +0:28 move second child to first child (temp 1X4 matrix of bool) +0:28 'r03' (temp 1X4 matrix of bool) +0:28 transpose (temp 1X4 matrix of bool) +0:28 'b4x1' (temp 4X1 matrix of bool) +0:30 Sequence +0:30 move second child to first child (temp 2X1 matrix of bool) +0:30 'r10' (temp 2X1 matrix of bool) +0:30 transpose (temp 2X1 matrix of bool) +0:30 'b1x2' (temp 1X2 matrix of bool) +0:31 Sequence +0:31 move second child to first child (temp 2X2 matrix of bool) +0:31 'r11' (temp 2X2 matrix of bool) +0:31 transpose (temp 2X2 matrix of bool) +0:31 'b2x2' (temp 2X2 matrix of bool) +0:32 Sequence +0:32 move second child to first child (temp 2X3 matrix of bool) +0:32 'r12' (temp 2X3 matrix of bool) +0:32 transpose (temp 2X3 matrix of bool) +0:32 'b3x2' (temp 3X2 matrix of bool) +0:33 Sequence +0:33 move second child to first child (temp 2X4 matrix of bool) +0:33 'r13' (temp 2X4 matrix of bool) +0:33 transpose (temp 2X4 matrix of bool) +0:33 'b4x2' (temp 4X2 matrix of bool) +0:35 Sequence +0:35 move second child to first child (temp 3X1 matrix of bool) +0:35 'r20' (temp 3X1 matrix of bool) +0:35 transpose (temp 3X1 matrix of bool) +0:35 'b1x3' (temp 1X3 matrix of bool) +0:36 Sequence +0:36 move second child to first child (temp 3X2 matrix of bool) +0:36 'r21' (temp 3X2 matrix of bool) +0:36 transpose (temp 3X2 matrix of bool) +0:36 'b2x3' (temp 2X3 matrix of bool) +0:37 Sequence +0:37 move second child to first child (temp 3X3 matrix of bool) +0:37 'r22' (temp 3X3 matrix of bool) +0:37 transpose (temp 3X3 matrix of bool) +0:37 'b3x3' (temp 3X3 matrix of bool) +0:38 Sequence +0:38 move second child to first child (temp 3X4 matrix of bool) +0:38 'r23' (temp 3X4 matrix of bool) +0:38 transpose (temp 3X4 matrix of bool) +0:38 'b4x3' (temp 4X3 matrix of bool) +0:40 Sequence +0:40 move second child to first child (temp 4X1 matrix of bool) +0:40 'r30' (temp 4X1 matrix of bool) +0:40 transpose (temp 4X1 matrix of bool) +0:40 'b1x4' (temp 1X4 matrix of bool) +0:41 Sequence +0:41 move second child to first child (temp 4X2 matrix of bool) +0:41 'r31' (temp 4X2 matrix of bool) +0:41 transpose (temp 4X2 matrix of bool) +0:41 'b2x4' (temp 2X4 matrix of bool) +0:42 Sequence +0:42 move second child to first child (temp 4X3 matrix of bool) +0:42 'r32' (temp 4X3 matrix of bool) +0:42 transpose (temp 4X3 matrix of bool) +0:42 'b3x4' (temp 3X4 matrix of bool) +0:43 Sequence +0:43 move second child to first child (temp 4X4 matrix of bool) +0:43 'r33' (temp 4X4 matrix of bool) +0:43 transpose (temp 4X4 matrix of bool) +0:43 'b4x4' (temp 4X4 matrix of bool) +0:49 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:49 Function Parameters: +0:? Sequence +0:51 move second child to first child (temp 4-component vector of float) +0:51 color: direct index for structure (temp 4-component vector of float) +0:51 'ps_output' (temp structure{temp 4-component vector of float color}) +0:51 Constant: +0:51 0 (const int) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:52 Sequence +0:52 Sequence +0:52 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:52 color: direct index for structure (temp 4-component vector of float) +0:52 'ps_output' (temp structure{temp 4-component vector of float color}) +0:52 Constant: +0:52 0 (const int) +0:52 Branch: Return +0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 125 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 121 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 6 "TestBoolMatTypes(" + Name 12 "r00" + Name 13 "b1x1" + Name 19 "r01" + Name 22 "b2x1" + Name 28 "r02" + Name 31 "b3x1" + Name 37 "r03" + Name 40 "b4x1" + Name 43 "r10" + Name 44 "b1x2" + Name 49 "r11" + Name 50 "b2x2" + Name 55 "r12" + Name 58 "b3x2" + Name 63 "r13" + Name 66 "b4x2" + Name 69 "r20" + Name 70 "b1x3" + Name 73 "r21" + Name 74 "b2x3" + Name 79 "r22" + Name 80 "b3x3" + Name 85 "r23" + Name 88 "b4x3" + Name 91 "r30" + Name 92 "b1x4" + Name 95 "r31" + Name 96 "b2x4" + Name 99 "r32" + Name 100 "b3x4" + Name 105 "r33" + Name 106 "b4x4" + Name 111 "PS_OUTPUT" + MemberName 111(PS_OUTPUT) 0 "color" + Name 113 "ps_output" + Name 121 "color" + Decorate 121(color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 8: TypeBool + 9: TypeVector 8(bool) 1 + 10: TypeMatrix 9(bvec) 1 + 11: TypePointer Function 10 + 16: TypeVector 8(bool) 2 + 17: TypeMatrix 16(bvec2) 1 + 18: TypePointer Function 17 + 20: TypeMatrix 9(bvec) 2 + 21: TypePointer Function 20 + 25: TypeVector 8(bool) 3 + 26: TypeMatrix 25(bvec3) 1 + 27: TypePointer Function 26 + 29: TypeMatrix 9(bvec) 3 + 30: TypePointer Function 29 + 34: TypeVector 8(bool) 4 + 35: TypeMatrix 34(bvec4) 1 + 36: TypePointer Function 35 + 38: TypeMatrix 9(bvec) 4 + 39: TypePointer Function 38 + 47: TypeMatrix 16(bvec2) 2 + 48: TypePointer Function 47 + 53: TypeMatrix 25(bvec3) 2 + 54: TypePointer Function 53 + 56: TypeMatrix 16(bvec2) 3 + 57: TypePointer Function 56 + 61: TypeMatrix 34(bvec4) 2 + 62: TypePointer Function 61 + 64: TypeMatrix 16(bvec2) 4 + 65: TypePointer Function 64 + 77: TypeMatrix 25(bvec3) 3 + 78: TypePointer Function 77 + 83: TypeMatrix 34(bvec4) 3 + 84: TypePointer Function 83 + 86: TypeMatrix 25(bvec3) 4 + 87: TypePointer Function 86 + 103: TypeMatrix 34(bvec4) 4 + 104: TypePointer Function 103 + 109: TypeFloat 32 + 110: TypeVector 109(float) 4 + 111(PS_OUTPUT): TypeStruct 110(fvec4) + 112: TypePointer Function 111(PS_OUTPUT) + 114: TypeInt 32 1 + 115: 114(int) Constant 0 + 116: 109(float) Constant 0 + 117: 110(fvec4) ConstantComposite 116 116 116 116 + 118: TypePointer Function 110(fvec4) + 120: TypePointer Output 110(fvec4) + 121(color): 120(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 113(ps_output): 112(ptr) Variable Function + 119: 118(ptr) AccessChain 113(ps_output) 115 + Store 119 117 + 122: 118(ptr) AccessChain 113(ps_output) 115 + 123: 110(fvec4) Load 122 + Store 121(color) 123 + Return + FunctionEnd +6(TestBoolMatTypes(): 2 Function None 3 + 7: Label + 12(r00): 11(ptr) Variable Function + 13(b1x1): 11(ptr) Variable Function + 19(r01): 18(ptr) Variable Function + 22(b2x1): 21(ptr) Variable Function + 28(r02): 27(ptr) Variable Function + 31(b3x1): 30(ptr) Variable Function + 37(r03): 36(ptr) Variable Function + 40(b4x1): 39(ptr) Variable Function + 43(r10): 21(ptr) Variable Function + 44(b1x2): 18(ptr) Variable Function + 49(r11): 48(ptr) Variable Function + 50(b2x2): 48(ptr) Variable Function + 55(r12): 54(ptr) Variable Function + 58(b3x2): 57(ptr) Variable Function + 63(r13): 62(ptr) Variable Function + 66(b4x2): 65(ptr) Variable Function + 69(r20): 30(ptr) Variable Function + 70(b1x3): 27(ptr) Variable Function + 73(r21): 57(ptr) Variable Function + 74(b2x3): 54(ptr) Variable Function + 79(r22): 78(ptr) Variable Function + 80(b3x3): 78(ptr) Variable Function + 85(r23): 84(ptr) Variable Function + 88(b4x3): 87(ptr) Variable Function + 91(r30): 39(ptr) Variable Function + 92(b1x4): 36(ptr) Variable Function + 95(r31): 65(ptr) Variable Function + 96(b2x4): 62(ptr) Variable Function + 99(r32): 87(ptr) Variable Function + 100(b3x4): 84(ptr) Variable Function + 105(r33): 104(ptr) Variable Function + 106(b4x4): 104(ptr) Variable Function + 14: 10 Load 13(b1x1) + 15: 10 Transpose 14 + Store 12(r00) 15 + 23: 20 Load 22(b2x1) + 24: 17 Transpose 23 + Store 19(r01) 24 + 32: 29 Load 31(b3x1) + 33: 26 Transpose 32 + Store 28(r02) 33 + 41: 38 Load 40(b4x1) + 42: 35 Transpose 41 + Store 37(r03) 42 + 45: 17 Load 44(b1x2) + 46: 20 Transpose 45 + Store 43(r10) 46 + 51: 47 Load 50(b2x2) + 52: 47 Transpose 51 + Store 49(r11) 52 + 59: 56 Load 58(b3x2) + 60: 53 Transpose 59 + Store 55(r12) 60 + 67: 64 Load 66(b4x2) + 68: 61 Transpose 67 + Store 63(r13) 68 + 71: 26 Load 70(b1x3) + 72: 29 Transpose 71 + Store 69(r20) 72 + 75: 53 Load 74(b2x3) + 76: 56 Transpose 75 + Store 73(r21) 76 + 81: 77 Load 80(b3x3) + 82: 77 Transpose 81 + Store 79(r22) 82 + 89: 86 Load 88(b4x3) + 90: 83 Transpose 89 + Store 85(r23) 90 + 93: 35 Load 92(b1x4) + 94: 38 Transpose 93 + Store 91(r30) 94 + 97: 61 Load 96(b2x4) + 98: 64 Transpose 97 + Store 95(r31) 98 + 101: 83 Load 100(b3x4) + 102: 86 Transpose 101 + Store 99(r32) 102 + 107: 103 Load 106(b4x4) + 108: 103 Transpose 107 + Store 105(r33) 108 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out index 0066a1de..038ca738 100755 --- a/Test/baseResults/hlsl.matType.frag.out +++ b/Test/baseResults/hlsl.matType.frag.out @@ -10,11 +10,12 @@ gl_FragCoord origin is upper left 0:10 Branch: Return with expression 0:10 'inFloat1' (in 1-component vector of float) 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44}) Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -27,7 +28,7 @@ gl_FragCoord origin is upper left 0:10 Branch: Return with expression 0:10 'inFloat1' (in 1-component vector of float) 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44}) // Module Version 10000 // Generated by (magic number): 80001 @@ -51,6 +52,22 @@ gl_FragCoord origin is upper left MemberName 27($Global) 4 "dmat23" MemberName 27($Global) 5 "int44" Name 29 "" + MemberDecorate 27($Global) 0 Offset 0 + MemberDecorate 27($Global) 1 RowMajor + MemberDecorate 27($Global) 1 Offset 16 + MemberDecorate 27($Global) 1 MatrixStride 16 + MemberDecorate 27($Global) 2 RowMajor + MemberDecorate 27($Global) 2 Offset 32 + MemberDecorate 27($Global) 2 MatrixStride 16 + MemberDecorate 27($Global) 3 RowMajor + MemberDecorate 27($Global) 3 Offset 48 + MemberDecorate 27($Global) 3 MatrixStride 16 + MemberDecorate 27($Global) 4 RowMajor + MemberDecorate 27($Global) 4 Offset 80 + MemberDecorate 27($Global) 4 MatrixStride 16 + MemberDecorate 27($Global) 5 RowMajor + MemberDecorate 27($Global) 5 Offset 128 + MemberDecorate 27($Global) 5 MatrixStride 16 Decorate 27($Global) Block Decorate 29 DescriptorSet 0 2: TypeVoid @@ -74,6 +91,7 @@ gl_FragCoord origin is upper left 29: 28(ptr) Variable Uniform 4(PixelShaderFunction): 2 Function None 3 5: Label + Return FunctionEnd 11(ShaderFunction(vf1;f1;): 6(float) Function None 8 9(inFloat1): 7(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out new file mode 100644 index 00000000..d7ffb0f7 --- /dev/null +++ b/Test/baseResults/hlsl.matType.int.frag.out @@ -0,0 +1,738 @@ +hlsl.matType.int.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: TestIntMatTypes( (temp void) +0:3 Function Parameters: +0:? Sequence +0:25 Sequence +0:25 move second child to first child (temp 1X1 matrix of int) +0:25 'r00' (temp 1X1 matrix of int) +0:25 transpose (temp 1X1 matrix of int) +0:25 'i1x1' (temp 1X1 matrix of int) +0:26 Sequence +0:26 move second child to first child (temp 1X2 matrix of int) +0:26 'r01' (temp 1X2 matrix of int) +0:26 transpose (temp 1X2 matrix of int) +0:26 'i2x1' (temp 2X1 matrix of int) +0:27 Sequence +0:27 move second child to first child (temp 1X3 matrix of int) +0:27 'r02' (temp 1X3 matrix of int) +0:27 transpose (temp 1X3 matrix of int) +0:27 'i3x1' (temp 3X1 matrix of int) +0:28 Sequence +0:28 move second child to first child (temp 1X4 matrix of int) +0:28 'r03' (temp 1X4 matrix of int) +0:28 transpose (temp 1X4 matrix of int) +0:28 'i4x1' (temp 4X1 matrix of int) +0:30 Sequence +0:30 move second child to first child (temp 2X1 matrix of int) +0:30 'r10' (temp 2X1 matrix of int) +0:30 transpose (temp 2X1 matrix of int) +0:30 'i1x2' (temp 1X2 matrix of int) +0:31 Sequence +0:31 move second child to first child (temp 2X2 matrix of int) +0:31 'r11' (temp 2X2 matrix of int) +0:31 transpose (temp 2X2 matrix of int) +0:31 'i2x2' (temp 2X2 matrix of int) +0:32 Sequence +0:32 move second child to first child (temp 2X3 matrix of int) +0:32 'r12' (temp 2X3 matrix of int) +0:32 transpose (temp 2X3 matrix of int) +0:32 'i3x2' (temp 3X2 matrix of int) +0:33 Sequence +0:33 move second child to first child (temp 2X4 matrix of int) +0:33 'r13' (temp 2X4 matrix of int) +0:33 transpose (temp 2X4 matrix of int) +0:33 'i4x2' (temp 4X2 matrix of int) +0:35 Sequence +0:35 move second child to first child (temp 3X1 matrix of int) +0:35 'r20' (temp 3X1 matrix of int) +0:35 transpose (temp 3X1 matrix of int) +0:35 'i1x3' (temp 1X3 matrix of int) +0:36 Sequence +0:36 move second child to first child (temp 3X2 matrix of int) +0:36 'r21' (temp 3X2 matrix of int) +0:36 transpose (temp 3X2 matrix of int) +0:36 'i2x3' (temp 2X3 matrix of int) +0:37 Sequence +0:37 move second child to first child (temp 3X3 matrix of int) +0:37 'r22' (temp 3X3 matrix of int) +0:37 transpose (temp 3X3 matrix of int) +0:37 'i3x3' (temp 3X3 matrix of int) +0:38 Sequence +0:38 move second child to first child (temp 3X4 matrix of int) +0:38 'r23' (temp 3X4 matrix of int) +0:38 transpose (temp 3X4 matrix of int) +0:38 'i4x3' (temp 4X3 matrix of int) +0:40 Sequence +0:40 move second child to first child (temp 4X1 matrix of int) +0:40 'r30' (temp 4X1 matrix of int) +0:40 transpose (temp 4X1 matrix of int) +0:40 'i1x4' (temp 1X4 matrix of int) +0:41 Sequence +0:41 move second child to first child (temp 4X2 matrix of int) +0:41 'r31' (temp 4X2 matrix of int) +0:41 transpose (temp 4X2 matrix of int) +0:41 'i2x4' (temp 2X4 matrix of int) +0:42 Sequence +0:42 move second child to first child (temp 4X3 matrix of int) +0:42 'r32' (temp 4X3 matrix of int) +0:42 transpose (temp 4X3 matrix of int) +0:42 'i3x4' (temp 3X4 matrix of int) +0:43 Sequence +0:43 move second child to first child (temp 4X4 matrix of int) +0:43 'r33' (temp 4X4 matrix of int) +0:43 transpose (temp 4X4 matrix of int) +0:43 'i4x4' (temp 4X4 matrix of int) +0:47 Function Definition: TestUintMatTypes( (temp void) +0:47 Function Parameters: +0:? Sequence +0:69 Sequence +0:69 move second child to first child (temp 1X1 matrix of uint) +0:69 'r00' (temp 1X1 matrix of uint) +0:69 transpose (temp 1X1 matrix of uint) +0:69 'u1x1' (temp 1X1 matrix of uint) +0:70 Sequence +0:70 move second child to first child (temp 1X2 matrix of uint) +0:70 'r01' (temp 1X2 matrix of uint) +0:70 transpose (temp 1X2 matrix of uint) +0:70 'u2x1' (temp 2X1 matrix of uint) +0:71 Sequence +0:71 move second child to first child (temp 1X3 matrix of uint) +0:71 'r02' (temp 1X3 matrix of uint) +0:71 transpose (temp 1X3 matrix of uint) +0:71 'u3x1' (temp 3X1 matrix of uint) +0:72 Sequence +0:72 move second child to first child (temp 1X4 matrix of uint) +0:72 'r03' (temp 1X4 matrix of uint) +0:72 transpose (temp 1X4 matrix of uint) +0:72 'u4x1' (temp 4X1 matrix of uint) +0:74 Sequence +0:74 move second child to first child (temp 2X1 matrix of uint) +0:74 'r10' (temp 2X1 matrix of uint) +0:74 transpose (temp 2X1 matrix of uint) +0:74 'u1x2' (temp 1X2 matrix of uint) +0:75 Sequence +0:75 move second child to first child (temp 2X2 matrix of uint) +0:75 'r11' (temp 2X2 matrix of uint) +0:75 transpose (temp 2X2 matrix of uint) +0:75 'u2x2' (temp 2X2 matrix of uint) +0:76 Sequence +0:76 move second child to first child (temp 2X3 matrix of uint) +0:76 'r12' (temp 2X3 matrix of uint) +0:76 transpose (temp 2X3 matrix of uint) +0:76 'u3x2' (temp 3X2 matrix of uint) +0:77 Sequence +0:77 move second child to first child (temp 2X4 matrix of uint) +0:77 'r13' (temp 2X4 matrix of uint) +0:77 transpose (temp 2X4 matrix of uint) +0:77 'u4x2' (temp 4X2 matrix of uint) +0:79 Sequence +0:79 move second child to first child (temp 3X1 matrix of uint) +0:79 'r20' (temp 3X1 matrix of uint) +0:79 transpose (temp 3X1 matrix of uint) +0:79 'u1x3' (temp 1X3 matrix of uint) +0:80 Sequence +0:80 move second child to first child (temp 3X2 matrix of uint) +0:80 'r21' (temp 3X2 matrix of uint) +0:80 transpose (temp 3X2 matrix of uint) +0:80 'u2x3' (temp 2X3 matrix of uint) +0:81 Sequence +0:81 move second child to first child (temp 3X3 matrix of uint) +0:81 'r22' (temp 3X3 matrix of uint) +0:81 transpose (temp 3X3 matrix of uint) +0:81 'u3x3' (temp 3X3 matrix of uint) +0:82 Sequence +0:82 move second child to first child (temp 3X4 matrix of uint) +0:82 'r23' (temp 3X4 matrix of uint) +0:82 transpose (temp 3X4 matrix of uint) +0:82 'u4x3' (temp 4X3 matrix of uint) +0:84 Sequence +0:84 move second child to first child (temp 4X1 matrix of uint) +0:84 'r30' (temp 4X1 matrix of uint) +0:84 transpose (temp 4X1 matrix of uint) +0:84 'u1x4' (temp 1X4 matrix of uint) +0:85 Sequence +0:85 move second child to first child (temp 4X2 matrix of uint) +0:85 'r31' (temp 4X2 matrix of uint) +0:85 transpose (temp 4X2 matrix of uint) +0:85 'u2x4' (temp 2X4 matrix of uint) +0:86 Sequence +0:86 move second child to first child (temp 4X3 matrix of uint) +0:86 'r32' (temp 4X3 matrix of uint) +0:86 transpose (temp 4X3 matrix of uint) +0:86 'u3x4' (temp 3X4 matrix of uint) +0:87 Sequence +0:87 move second child to first child (temp 4X4 matrix of uint) +0:87 'r33' (temp 4X4 matrix of uint) +0:87 transpose (temp 4X4 matrix of uint) +0:87 'u4x4' (temp 4X4 matrix of uint) +0:93 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:93 Function Parameters: +0:? Sequence +0:95 move second child to first child (temp 4-component vector of float) +0:95 color: direct index for structure (temp 4-component vector of float) +0:95 'ps_output' (temp structure{temp 4-component vector of float color}) +0:95 Constant: +0:95 0 (const int) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:96 Sequence +0:96 Sequence +0:96 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:96 color: direct index for structure (temp 4-component vector of float) +0:96 'ps_output' (temp structure{temp 4-component vector of float color}) +0:96 Constant: +0:96 0 (const int) +0:96 Branch: Return +0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: TestIntMatTypes( (temp void) +0:3 Function Parameters: +0:? Sequence +0:25 Sequence +0:25 move second child to first child (temp 1X1 matrix of int) +0:25 'r00' (temp 1X1 matrix of int) +0:25 transpose (temp 1X1 matrix of int) +0:25 'i1x1' (temp 1X1 matrix of int) +0:26 Sequence +0:26 move second child to first child (temp 1X2 matrix of int) +0:26 'r01' (temp 1X2 matrix of int) +0:26 transpose (temp 1X2 matrix of int) +0:26 'i2x1' (temp 2X1 matrix of int) +0:27 Sequence +0:27 move second child to first child (temp 1X3 matrix of int) +0:27 'r02' (temp 1X3 matrix of int) +0:27 transpose (temp 1X3 matrix of int) +0:27 'i3x1' (temp 3X1 matrix of int) +0:28 Sequence +0:28 move second child to first child (temp 1X4 matrix of int) +0:28 'r03' (temp 1X4 matrix of int) +0:28 transpose (temp 1X4 matrix of int) +0:28 'i4x1' (temp 4X1 matrix of int) +0:30 Sequence +0:30 move second child to first child (temp 2X1 matrix of int) +0:30 'r10' (temp 2X1 matrix of int) +0:30 transpose (temp 2X1 matrix of int) +0:30 'i1x2' (temp 1X2 matrix of int) +0:31 Sequence +0:31 move second child to first child (temp 2X2 matrix of int) +0:31 'r11' (temp 2X2 matrix of int) +0:31 transpose (temp 2X2 matrix of int) +0:31 'i2x2' (temp 2X2 matrix of int) +0:32 Sequence +0:32 move second child to first child (temp 2X3 matrix of int) +0:32 'r12' (temp 2X3 matrix of int) +0:32 transpose (temp 2X3 matrix of int) +0:32 'i3x2' (temp 3X2 matrix of int) +0:33 Sequence +0:33 move second child to first child (temp 2X4 matrix of int) +0:33 'r13' (temp 2X4 matrix of int) +0:33 transpose (temp 2X4 matrix of int) +0:33 'i4x2' (temp 4X2 matrix of int) +0:35 Sequence +0:35 move second child to first child (temp 3X1 matrix of int) +0:35 'r20' (temp 3X1 matrix of int) +0:35 transpose (temp 3X1 matrix of int) +0:35 'i1x3' (temp 1X3 matrix of int) +0:36 Sequence +0:36 move second child to first child (temp 3X2 matrix of int) +0:36 'r21' (temp 3X2 matrix of int) +0:36 transpose (temp 3X2 matrix of int) +0:36 'i2x3' (temp 2X3 matrix of int) +0:37 Sequence +0:37 move second child to first child (temp 3X3 matrix of int) +0:37 'r22' (temp 3X3 matrix of int) +0:37 transpose (temp 3X3 matrix of int) +0:37 'i3x3' (temp 3X3 matrix of int) +0:38 Sequence +0:38 move second child to first child (temp 3X4 matrix of int) +0:38 'r23' (temp 3X4 matrix of int) +0:38 transpose (temp 3X4 matrix of int) +0:38 'i4x3' (temp 4X3 matrix of int) +0:40 Sequence +0:40 move second child to first child (temp 4X1 matrix of int) +0:40 'r30' (temp 4X1 matrix of int) +0:40 transpose (temp 4X1 matrix of int) +0:40 'i1x4' (temp 1X4 matrix of int) +0:41 Sequence +0:41 move second child to first child (temp 4X2 matrix of int) +0:41 'r31' (temp 4X2 matrix of int) +0:41 transpose (temp 4X2 matrix of int) +0:41 'i2x4' (temp 2X4 matrix of int) +0:42 Sequence +0:42 move second child to first child (temp 4X3 matrix of int) +0:42 'r32' (temp 4X3 matrix of int) +0:42 transpose (temp 4X3 matrix of int) +0:42 'i3x4' (temp 3X4 matrix of int) +0:43 Sequence +0:43 move second child to first child (temp 4X4 matrix of int) +0:43 'r33' (temp 4X4 matrix of int) +0:43 transpose (temp 4X4 matrix of int) +0:43 'i4x4' (temp 4X4 matrix of int) +0:47 Function Definition: TestUintMatTypes( (temp void) +0:47 Function Parameters: +0:? Sequence +0:69 Sequence +0:69 move second child to first child (temp 1X1 matrix of uint) +0:69 'r00' (temp 1X1 matrix of uint) +0:69 transpose (temp 1X1 matrix of uint) +0:69 'u1x1' (temp 1X1 matrix of uint) +0:70 Sequence +0:70 move second child to first child (temp 1X2 matrix of uint) +0:70 'r01' (temp 1X2 matrix of uint) +0:70 transpose (temp 1X2 matrix of uint) +0:70 'u2x1' (temp 2X1 matrix of uint) +0:71 Sequence +0:71 move second child to first child (temp 1X3 matrix of uint) +0:71 'r02' (temp 1X3 matrix of uint) +0:71 transpose (temp 1X3 matrix of uint) +0:71 'u3x1' (temp 3X1 matrix of uint) +0:72 Sequence +0:72 move second child to first child (temp 1X4 matrix of uint) +0:72 'r03' (temp 1X4 matrix of uint) +0:72 transpose (temp 1X4 matrix of uint) +0:72 'u4x1' (temp 4X1 matrix of uint) +0:74 Sequence +0:74 move second child to first child (temp 2X1 matrix of uint) +0:74 'r10' (temp 2X1 matrix of uint) +0:74 transpose (temp 2X1 matrix of uint) +0:74 'u1x2' (temp 1X2 matrix of uint) +0:75 Sequence +0:75 move second child to first child (temp 2X2 matrix of uint) +0:75 'r11' (temp 2X2 matrix of uint) +0:75 transpose (temp 2X2 matrix of uint) +0:75 'u2x2' (temp 2X2 matrix of uint) +0:76 Sequence +0:76 move second child to first child (temp 2X3 matrix of uint) +0:76 'r12' (temp 2X3 matrix of uint) +0:76 transpose (temp 2X3 matrix of uint) +0:76 'u3x2' (temp 3X2 matrix of uint) +0:77 Sequence +0:77 move second child to first child (temp 2X4 matrix of uint) +0:77 'r13' (temp 2X4 matrix of uint) +0:77 transpose (temp 2X4 matrix of uint) +0:77 'u4x2' (temp 4X2 matrix of uint) +0:79 Sequence +0:79 move second child to first child (temp 3X1 matrix of uint) +0:79 'r20' (temp 3X1 matrix of uint) +0:79 transpose (temp 3X1 matrix of uint) +0:79 'u1x3' (temp 1X3 matrix of uint) +0:80 Sequence +0:80 move second child to first child (temp 3X2 matrix of uint) +0:80 'r21' (temp 3X2 matrix of uint) +0:80 transpose (temp 3X2 matrix of uint) +0:80 'u2x3' (temp 2X3 matrix of uint) +0:81 Sequence +0:81 move second child to first child (temp 3X3 matrix of uint) +0:81 'r22' (temp 3X3 matrix of uint) +0:81 transpose (temp 3X3 matrix of uint) +0:81 'u3x3' (temp 3X3 matrix of uint) +0:82 Sequence +0:82 move second child to first child (temp 3X4 matrix of uint) +0:82 'r23' (temp 3X4 matrix of uint) +0:82 transpose (temp 3X4 matrix of uint) +0:82 'u4x3' (temp 4X3 matrix of uint) +0:84 Sequence +0:84 move second child to first child (temp 4X1 matrix of uint) +0:84 'r30' (temp 4X1 matrix of uint) +0:84 transpose (temp 4X1 matrix of uint) +0:84 'u1x4' (temp 1X4 matrix of uint) +0:85 Sequence +0:85 move second child to first child (temp 4X2 matrix of uint) +0:85 'r31' (temp 4X2 matrix of uint) +0:85 transpose (temp 4X2 matrix of uint) +0:85 'u2x4' (temp 2X4 matrix of uint) +0:86 Sequence +0:86 move second child to first child (temp 4X3 matrix of uint) +0:86 'r32' (temp 4X3 matrix of uint) +0:86 transpose (temp 4X3 matrix of uint) +0:86 'u3x4' (temp 3X4 matrix of uint) +0:87 Sequence +0:87 move second child to first child (temp 4X4 matrix of uint) +0:87 'r33' (temp 4X4 matrix of uint) +0:87 transpose (temp 4X4 matrix of uint) +0:87 'u4x4' (temp 4X4 matrix of uint) +0:93 Function Definition: main( (temp structure{temp 4-component vector of float color}) +0:93 Function Parameters: +0:? Sequence +0:95 move second child to first child (temp 4-component vector of float) +0:95 color: direct index for structure (temp 4-component vector of float) +0:95 'ps_output' (temp structure{temp 4-component vector of float color}) +0:95 Constant: +0:95 0 (const int) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:96 Sequence +0:96 Sequence +0:96 move second child to first child (temp 4-component vector of float) +0:? 'color' (layout(location=0 ) out 4-component vector of float) +0:96 color: direct index for structure (temp 4-component vector of float) +0:96 'ps_output' (temp structure{temp 4-component vector of float color}) +0:96 Constant: +0:96 0 (const int) +0:96 Branch: Return +0:? Linker Objects +0:? 'color' (layout(location=0 ) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 227 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 223 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 6 "TestIntMatTypes(" + Name 8 "TestUintMatTypes(" + Name 14 "r00" + Name 15 "i1x1" + Name 21 "r01" + Name 24 "i2x1" + Name 30 "r02" + Name 33 "i3x1" + Name 39 "r03" + Name 42 "i4x1" + Name 45 "r10" + Name 46 "i1x2" + Name 51 "r11" + Name 52 "i2x2" + Name 57 "r12" + Name 60 "i3x2" + Name 65 "r13" + Name 68 "i4x2" + Name 71 "r20" + Name 72 "i1x3" + Name 75 "r21" + Name 76 "i2x3" + Name 81 "r22" + Name 82 "i3x3" + Name 87 "r23" + Name 90 "i4x3" + Name 93 "r30" + Name 94 "i1x4" + Name 97 "r31" + Name 98 "i2x4" + Name 101 "r32" + Name 102 "i3x4" + Name 107 "r33" + Name 108 "i4x4" + Name 115 "r00" + Name 116 "u1x1" + Name 122 "r01" + Name 125 "u2x1" + Name 131 "r02" + Name 134 "u3x1" + Name 140 "r03" + Name 143 "u4x1" + Name 146 "r10" + Name 147 "u1x2" + Name 152 "r11" + Name 153 "u2x2" + Name 158 "r12" + Name 161 "u3x2" + Name 166 "r13" + Name 169 "u4x2" + Name 172 "r20" + Name 173 "u1x3" + Name 176 "r21" + Name 177 "u2x3" + Name 182 "r22" + Name 183 "u3x3" + Name 188 "r23" + Name 191 "u4x3" + Name 194 "r30" + Name 195 "u1x4" + Name 198 "r31" + Name 199 "u2x4" + Name 202 "r32" + Name 203 "u3x4" + Name 208 "r33" + Name 209 "u4x4" + Name 214 "PS_OUTPUT" + MemberName 214(PS_OUTPUT) 0 "color" + Name 216 "ps_output" + Name 223 "color" + Decorate 223(color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 10: TypeInt 32 1 + 11: TypeVector 10(int) 1 + 12: TypeMatrix 11(ivec) 1 + 13: TypePointer Function 12 + 18: TypeVector 10(int) 2 + 19: TypeMatrix 18(ivec2) 1 + 20: TypePointer Function 19 + 22: TypeMatrix 11(ivec) 2 + 23: TypePointer Function 22 + 27: TypeVector 10(int) 3 + 28: TypeMatrix 27(ivec3) 1 + 29: TypePointer Function 28 + 31: TypeMatrix 11(ivec) 3 + 32: TypePointer Function 31 + 36: TypeVector 10(int) 4 + 37: TypeMatrix 36(ivec4) 1 + 38: TypePointer Function 37 + 40: TypeMatrix 11(ivec) 4 + 41: TypePointer Function 40 + 49: TypeMatrix 18(ivec2) 2 + 50: TypePointer Function 49 + 55: TypeMatrix 27(ivec3) 2 + 56: TypePointer Function 55 + 58: TypeMatrix 18(ivec2) 3 + 59: TypePointer Function 58 + 63: TypeMatrix 36(ivec4) 2 + 64: TypePointer Function 63 + 66: TypeMatrix 18(ivec2) 4 + 67: TypePointer Function 66 + 79: TypeMatrix 27(ivec3) 3 + 80: TypePointer Function 79 + 85: TypeMatrix 36(ivec4) 3 + 86: TypePointer Function 85 + 88: TypeMatrix 27(ivec3) 4 + 89: TypePointer Function 88 + 105: TypeMatrix 36(ivec4) 4 + 106: TypePointer Function 105 + 111: TypeInt 32 0 + 112: TypeVector 111(int) 1 + 113: TypeMatrix 112(ivec) 1 + 114: TypePointer Function 113 + 119: TypeVector 111(int) 2 + 120: TypeMatrix 119(ivec2) 1 + 121: TypePointer Function 120 + 123: TypeMatrix 112(ivec) 2 + 124: TypePointer Function 123 + 128: TypeVector 111(int) 3 + 129: TypeMatrix 128(ivec3) 1 + 130: TypePointer Function 129 + 132: TypeMatrix 112(ivec) 3 + 133: TypePointer Function 132 + 137: TypeVector 111(int) 4 + 138: TypeMatrix 137(ivec4) 1 + 139: TypePointer Function 138 + 141: TypeMatrix 112(ivec) 4 + 142: TypePointer Function 141 + 150: TypeMatrix 119(ivec2) 2 + 151: TypePointer Function 150 + 156: TypeMatrix 128(ivec3) 2 + 157: TypePointer Function 156 + 159: TypeMatrix 119(ivec2) 3 + 160: TypePointer Function 159 + 164: TypeMatrix 137(ivec4) 2 + 165: TypePointer Function 164 + 167: TypeMatrix 119(ivec2) 4 + 168: TypePointer Function 167 + 180: TypeMatrix 128(ivec3) 3 + 181: TypePointer Function 180 + 186: TypeMatrix 137(ivec4) 3 + 187: TypePointer Function 186 + 189: TypeMatrix 128(ivec3) 4 + 190: TypePointer Function 189 + 206: TypeMatrix 137(ivec4) 4 + 207: TypePointer Function 206 + 212: TypeFloat 32 + 213: TypeVector 212(float) 4 + 214(PS_OUTPUT): TypeStruct 213(fvec4) + 215: TypePointer Function 214(PS_OUTPUT) + 217: 10(int) Constant 0 + 218: 212(float) Constant 0 + 219: 213(fvec4) ConstantComposite 218 218 218 218 + 220: TypePointer Function 213(fvec4) + 222: TypePointer Output 213(fvec4) + 223(color): 222(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 216(ps_output): 215(ptr) Variable Function + 221: 220(ptr) AccessChain 216(ps_output) 217 + Store 221 219 + 224: 220(ptr) AccessChain 216(ps_output) 217 + 225: 213(fvec4) Load 224 + Store 223(color) 225 + Return + FunctionEnd +6(TestIntMatTypes(): 2 Function None 3 + 7: Label + 14(r00): 13(ptr) Variable Function + 15(i1x1): 13(ptr) Variable Function + 21(r01): 20(ptr) Variable Function + 24(i2x1): 23(ptr) Variable Function + 30(r02): 29(ptr) Variable Function + 33(i3x1): 32(ptr) Variable Function + 39(r03): 38(ptr) Variable Function + 42(i4x1): 41(ptr) Variable Function + 45(r10): 23(ptr) Variable Function + 46(i1x2): 20(ptr) Variable Function + 51(r11): 50(ptr) Variable Function + 52(i2x2): 50(ptr) Variable Function + 57(r12): 56(ptr) Variable Function + 60(i3x2): 59(ptr) Variable Function + 65(r13): 64(ptr) Variable Function + 68(i4x2): 67(ptr) Variable Function + 71(r20): 32(ptr) Variable Function + 72(i1x3): 29(ptr) Variable Function + 75(r21): 59(ptr) Variable Function + 76(i2x3): 56(ptr) Variable Function + 81(r22): 80(ptr) Variable Function + 82(i3x3): 80(ptr) Variable Function + 87(r23): 86(ptr) Variable Function + 90(i4x3): 89(ptr) Variable Function + 93(r30): 41(ptr) Variable Function + 94(i1x4): 38(ptr) Variable Function + 97(r31): 67(ptr) Variable Function + 98(i2x4): 64(ptr) Variable Function + 101(r32): 89(ptr) Variable Function + 102(i3x4): 86(ptr) Variable Function + 107(r33): 106(ptr) Variable Function + 108(i4x4): 106(ptr) Variable Function + 16: 12 Load 15(i1x1) + 17: 12 Transpose 16 + Store 14(r00) 17 + 25: 22 Load 24(i2x1) + 26: 19 Transpose 25 + Store 21(r01) 26 + 34: 31 Load 33(i3x1) + 35: 28 Transpose 34 + Store 30(r02) 35 + 43: 40 Load 42(i4x1) + 44: 37 Transpose 43 + Store 39(r03) 44 + 47: 19 Load 46(i1x2) + 48: 22 Transpose 47 + Store 45(r10) 48 + 53: 49 Load 52(i2x2) + 54: 49 Transpose 53 + Store 51(r11) 54 + 61: 58 Load 60(i3x2) + 62: 55 Transpose 61 + Store 57(r12) 62 + 69: 66 Load 68(i4x2) + 70: 63 Transpose 69 + Store 65(r13) 70 + 73: 28 Load 72(i1x3) + 74: 31 Transpose 73 + Store 71(r20) 74 + 77: 55 Load 76(i2x3) + 78: 58 Transpose 77 + Store 75(r21) 78 + 83: 79 Load 82(i3x3) + 84: 79 Transpose 83 + Store 81(r22) 84 + 91: 88 Load 90(i4x3) + 92: 85 Transpose 91 + Store 87(r23) 92 + 95: 37 Load 94(i1x4) + 96: 40 Transpose 95 + Store 93(r30) 96 + 99: 63 Load 98(i2x4) + 100: 66 Transpose 99 + Store 97(r31) 100 + 103: 85 Load 102(i3x4) + 104: 88 Transpose 103 + Store 101(r32) 104 + 109: 105 Load 108(i4x4) + 110: 105 Transpose 109 + Store 107(r33) 110 + Return + FunctionEnd +8(TestUintMatTypes(): 2 Function None 3 + 9: Label + 115(r00): 114(ptr) Variable Function + 116(u1x1): 114(ptr) Variable Function + 122(r01): 121(ptr) Variable Function + 125(u2x1): 124(ptr) Variable Function + 131(r02): 130(ptr) Variable Function + 134(u3x1): 133(ptr) Variable Function + 140(r03): 139(ptr) Variable Function + 143(u4x1): 142(ptr) Variable Function + 146(r10): 124(ptr) Variable Function + 147(u1x2): 121(ptr) Variable Function + 152(r11): 151(ptr) Variable Function + 153(u2x2): 151(ptr) Variable Function + 158(r12): 157(ptr) Variable Function + 161(u3x2): 160(ptr) Variable Function + 166(r13): 165(ptr) Variable Function + 169(u4x2): 168(ptr) Variable Function + 172(r20): 133(ptr) Variable Function + 173(u1x3): 130(ptr) Variable Function + 176(r21): 160(ptr) Variable Function + 177(u2x3): 157(ptr) Variable Function + 182(r22): 181(ptr) Variable Function + 183(u3x3): 181(ptr) Variable Function + 188(r23): 187(ptr) Variable Function + 191(u4x3): 190(ptr) Variable Function + 194(r30): 142(ptr) Variable Function + 195(u1x4): 139(ptr) Variable Function + 198(r31): 168(ptr) Variable Function + 199(u2x4): 165(ptr) Variable Function + 202(r32): 190(ptr) Variable Function + 203(u3x4): 187(ptr) Variable Function + 208(r33): 207(ptr) Variable Function + 209(u4x4): 207(ptr) Variable Function + 117: 113 Load 116(u1x1) + 118: 113 Transpose 117 + Store 115(r00) 118 + 126: 123 Load 125(u2x1) + 127: 120 Transpose 126 + Store 122(r01) 127 + 135: 132 Load 134(u3x1) + 136: 129 Transpose 135 + Store 131(r02) 136 + 144: 141 Load 143(u4x1) + 145: 138 Transpose 144 + Store 140(r03) 145 + 148: 120 Load 147(u1x2) + 149: 123 Transpose 148 + Store 146(r10) 149 + 154: 150 Load 153(u2x2) + 155: 150 Transpose 154 + Store 152(r11) 155 + 162: 159 Load 161(u3x2) + 163: 156 Transpose 162 + Store 158(r12) 163 + 170: 167 Load 169(u4x2) + 171: 164 Transpose 170 + Store 166(r13) 171 + 174: 129 Load 173(u1x3) + 175: 132 Transpose 174 + Store 172(r20) 175 + 178: 156 Load 177(u2x3) + 179: 159 Transpose 178 + Store 176(r21) 179 + 184: 180 Load 183(u3x3) + 185: 180 Transpose 184 + Store 182(r22) 185 + 192: 189 Load 191(u4x3) + 193: 186 Transpose 192 + Store 188(r23) 193 + 196: 138 Load 195(u1x4) + 197: 141 Transpose 196 + Store 194(r30) 197 + 200: 164 Load 199(u2x4) + 201: 167 Transpose 200 + Store 198(r31) 201 + 204: 186 Load 203(u3x4) + 205: 189 Transpose 204 + Store 202(r32) 205 + 210: 206 Load 209(u4x4) + 211: 206 Transpose 210 + Store 208(r33) 211 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out index 8c637c14..420ba9f5 100644 --- a/Test/baseResults/hlsl.matrixindex.frag.out +++ b/Test/baseResults/hlsl.matrixindex.frag.out @@ -128,7 +128,7 @@ gl_FragCoord origin is upper left 0:48 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) Linked fragment stage: @@ -263,7 +263,7 @@ gl_FragCoord origin is upper left 0:48 Branch: Return 0:? Linker Objects 0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out index 53646bb1..8995af35 100755 --- a/Test/baseResults/hlsl.max.frag.out +++ b/Test/baseResults/hlsl.max.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:3 Sequence 0:3 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 max (global 4-component vector of float) +0:3 max (temp 4-component vector of float) 0:3 'input1' (layout(location=0 ) in 4-component vector of float) 0:3 'input2' (layout(location=1 ) in 4-component vector of float) 0:3 Branch: Return @@ -34,7 +34,7 @@ gl_FragCoord origin is upper left 0:3 Sequence 0:3 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 max (global 4-component vector of float) +0:3 max (temp 4-component vector of float) 0:3 'input1' (layout(location=0 ) in 4-component vector of float) 0:3 'input2' (layout(location=1 ) in 4-component vector of float) 0:3 Branch: Return diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out new file mode 100644 index 00000000..84c7a8c8 --- /dev/null +++ b/Test/baseResults/hlsl.mintypes.frag.out @@ -0,0 +1,224 @@ +hlsl.mintypes.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:9 Function Parameters: +0:? Sequence +0:40 add (temp mediump 2-component vector of float) +0:40 'mf16_2' (temp mediump 2-component vector of float) +0:40 'mf16' (temp mediump float) +0:41 add (temp mediump 2-component vector of float) +0:41 'mf10_2' (temp mediump 2-component vector of float) +0:41 'mf10' (temp mediump float) +0:42 add (temp mediump 2-component vector of int) +0:42 'mi16_2' (temp mediump 2-component vector of int) +0:42 'mi16' (temp mediump int) +0:43 add (temp mediump 2-component vector of int) +0:43 'mi12_2' (temp mediump 2-component vector of int) +0:43 'mi12' (temp mediump int) +0:44 add (temp mediump 2-component vector of uint) +0:44 'mu16_2' (temp mediump 2-component vector of uint) +0:44 'mu16' (temp mediump uint) +0:47 move second child to first child (temp 4-component vector of float) +0:47 Color: direct index for structure (temp 4-component vector of float) +0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:47 Constant: +0:47 0 (const int) +0:47 Constant: +0:47 0.000000 +0:47 0.000000 +0:47 0.000000 +0:47 0.000000 +0:48 Sequence +0:48 Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:48 Constant: +0:48 0 (const int) +0:48 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:9 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:9 Function Parameters: +0:? Sequence +0:40 add (temp mediump 2-component vector of float) +0:40 'mf16_2' (temp mediump 2-component vector of float) +0:40 'mf16' (temp mediump float) +0:41 add (temp mediump 2-component vector of float) +0:41 'mf10_2' (temp mediump 2-component vector of float) +0:41 'mf10' (temp mediump float) +0:42 add (temp mediump 2-component vector of int) +0:42 'mi16_2' (temp mediump 2-component vector of int) +0:42 'mi16' (temp mediump int) +0:43 add (temp mediump 2-component vector of int) +0:43 'mi12_2' (temp mediump 2-component vector of int) +0:43 'mi12' (temp mediump int) +0:44 add (temp mediump 2-component vector of uint) +0:44 'mu16_2' (temp mediump 2-component vector of uint) +0:44 'mu16' (temp mediump uint) +0:47 move second child to first child (temp 4-component vector of float) +0:47 Color: direct index for structure (temp 4-component vector of float) +0:47 'psout' (temp structure{temp 4-component vector of float Color}) +0:47 Constant: +0:47 0 (const int) +0:47 Constant: +0:47 0.000000 +0:47 0.000000 +0:47 0.000000 +0:47 0.000000 +0:48 Sequence +0:48 Sequence +0:48 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:48 Color: direct index for structure (temp 4-component vector of float) +0:48 'psout' (temp structure{temp 4-component vector of float Color}) +0:48 Constant: +0:48 0 (const int) +0:48 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 65 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 58 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 9 "mf16_2" + Name 12 "mf16" + Name 16 "mf10_2" + Name 18 "mf10" + Name 25 "mi16_2" + Name 28 "mi16" + Name 32 "mi12_2" + Name 34 "mi12" + Name 41 "mu16_2" + Name 44 "mu16" + Name 49 "PS_OUTPUT" + MemberName 49(PS_OUTPUT) 0 "Color" + Name 51 "psout" + Name 58 "Color" + Name 62 "$Global" + MemberName 62($Global) 0 "b1a" + MemberName 62($Global) 1 "b1b" + Name 64 "" + Decorate 9(mf16_2) RelaxedPrecision + Decorate 10 RelaxedPrecision + Decorate 12(mf16) RelaxedPrecision + Decorate 13 RelaxedPrecision + Decorate 14 RelaxedPrecision + Decorate 15 RelaxedPrecision + Decorate 16(mf10_2) RelaxedPrecision + Decorate 17 RelaxedPrecision + Decorate 18(mf10) RelaxedPrecision + Decorate 19 RelaxedPrecision + Decorate 20 RelaxedPrecision + Decorate 21 RelaxedPrecision + Decorate 25(mi16_2) RelaxedPrecision + Decorate 26 RelaxedPrecision + Decorate 28(mi16) RelaxedPrecision + Decorate 29 RelaxedPrecision + Decorate 30 RelaxedPrecision + Decorate 31 RelaxedPrecision + Decorate 32(mi12_2) RelaxedPrecision + Decorate 33 RelaxedPrecision + Decorate 34(mi12) RelaxedPrecision + Decorate 35 RelaxedPrecision + Decorate 36 RelaxedPrecision + Decorate 37 RelaxedPrecision + Decorate 41(mu16_2) RelaxedPrecision + Decorate 42 RelaxedPrecision + Decorate 44(mu16) RelaxedPrecision + Decorate 45 RelaxedPrecision + Decorate 46 RelaxedPrecision + Decorate 47 RelaxedPrecision + Decorate 58(Color) Location 0 + MemberDecorate 62($Global) 0 RelaxedPrecision + MemberDecorate 62($Global) 0 Offset 0 + MemberDecorate 62($Global) 1 RelaxedPrecision + MemberDecorate 62($Global) 1 Offset 4 + Decorate 62($Global) Block + Decorate 64 DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 2 + 8: TypePointer Function 7(fvec2) + 11: TypePointer Function 6(float) + 22: TypeInt 32 1 + 23: TypeVector 22(int) 2 + 24: TypePointer Function 23(ivec2) + 27: TypePointer Function 22(int) + 38: TypeInt 32 0 + 39: TypeVector 38(int) 2 + 40: TypePointer Function 39(ivec2) + 43: TypePointer Function 38(int) + 48: TypeVector 6(float) 4 + 49(PS_OUTPUT): TypeStruct 48(fvec4) + 50: TypePointer Function 49(PS_OUTPUT) + 52: 22(int) Constant 0 + 53: 6(float) Constant 0 + 54: 48(fvec4) ConstantComposite 53 53 53 53 + 55: TypePointer Function 48(fvec4) + 57: TypePointer Output 48(fvec4) + 58(Color): 57(ptr) Variable Output + 62($Global): TypeStruct 6(float) 6(float) + 63: TypePointer Uniform 62($Global) + 64: 63(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 9(mf16_2): 8(ptr) Variable Function + 12(mf16): 11(ptr) Variable Function + 16(mf10_2): 8(ptr) Variable Function + 18(mf10): 11(ptr) Variable Function + 25(mi16_2): 24(ptr) Variable Function + 28(mi16): 27(ptr) Variable Function + 32(mi12_2): 24(ptr) Variable Function + 34(mi12): 27(ptr) Variable Function + 41(mu16_2): 40(ptr) Variable Function + 44(mu16): 43(ptr) Variable Function + 51(psout): 50(ptr) Variable Function + 10: 7(fvec2) Load 9(mf16_2) + 13: 6(float) Load 12(mf16) + 14: 7(fvec2) CompositeConstruct 13 13 + 15: 7(fvec2) FAdd 10 14 + 17: 7(fvec2) Load 16(mf10_2) + 19: 6(float) Load 18(mf10) + 20: 7(fvec2) CompositeConstruct 19 19 + 21: 7(fvec2) FAdd 17 20 + 26: 23(ivec2) Load 25(mi16_2) + 29: 22(int) Load 28(mi16) + 30: 23(ivec2) CompositeConstruct 29 29 + 31: 23(ivec2) IAdd 26 30 + 33: 23(ivec2) Load 32(mi12_2) + 35: 22(int) Load 34(mi12) + 36: 23(ivec2) CompositeConstruct 35 35 + 37: 23(ivec2) IAdd 33 36 + 42: 39(ivec2) Load 41(mu16_2) + 45: 38(int) Load 44(mu16) + 46: 39(ivec2) CompositeConstruct 45 45 + 47: 39(ivec2) IAdd 42 46 + 56: 55(ptr) AccessChain 51(psout) 52 + Store 56 54 + 59: 55(ptr) AccessChain 51(psout) 52 + 60: 48(fvec4) Load 59 + Store 58(Color) 60 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out index 8f8c42ae..f0d05abd 100755 --- a/Test/baseResults/hlsl.multiEntry.vert.out +++ b/Test/baseResults/hlsl.multiEntry.vert.out @@ -21,9 +21,9 @@ Shader version: 450 0:10 'Index' (in uint VertexIndex) 0:10 Branch: Return 0:? Linker Objects -0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:? '@entryPointOutput' (out 4-component vector of float Position) 0:? 'Index' (in uint VertexIndex) +0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) Linked vertex stage: @@ -51,9 +51,9 @@ Shader version: 450 0:10 'Index' (in uint VertexIndex) 0:10 Branch: Return 0:? Linker Objects -0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) 0:? '@entryPointOutput' (out 4-component vector of float Position) 0:? 'Index' (in uint VertexIndex) +0:? 'Position' (layout(rgba32f ) uniform samplerBuffer) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.numthreads.comp.out b/Test/baseResults/hlsl.numthreads.comp.out new file mode 100644 index 00000000..76e95c8f --- /dev/null +++ b/Test/baseResults/hlsl.numthreads.comp.out @@ -0,0 +1,60 @@ +hlsl.numthreads.comp +Shader version: 450 +local_size = (4, 4, 2) +0:? Sequence +0:4 Function Definition: main(vu3; (temp void) +0:4 Function Parameters: +0:4 'tid' (in 3-component vector of uint) +0:9 Function Definition: main_aux1(vu3; (temp void) +0:9 Function Parameters: +0:9 'tid' (in 3-component vector of uint LocalInvocationID) +0:? Linker Objects +0:? 'tid' (in 3-component vector of uint LocalInvocationID) + + +Linked compute stage: + + +Shader version: 450 +local_size = (4, 4, 2) +0:? Sequence +0:4 Function Definition: main(vu3; (temp void) +0:4 Function Parameters: +0:4 'tid' (in 3-component vector of uint) +0:9 Function Definition: main_aux1(vu3; (temp void) +0:9 Function Parameters: +0:9 'tid' (in 3-component vector of uint LocalInvocationID) +0:? Linker Objects +0:? 'tid' (in 3-component vector of uint LocalInvocationID) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 15 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main_aux1" 14 + ExecutionMode 4 LocalSize 4 4 2 + Name 4 "main_aux1" + Name 11 "main(vu3;" + Name 10 "tid" + Name 14 "tid" + Decorate 14(tid) BuiltIn LocalInvocationId + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypeVector 6(int) 3 + 8: TypePointer Function 7(ivec3) + 9: TypeFunction 2 8(ptr) + 13: TypePointer Input 7(ivec3) + 14(tid): 13(ptr) Variable Input + 4(main_aux1): 2 Function None 3 + 5: Label + Return + FunctionEnd + 11(main(vu3;): 2 Function None 9 + 10(tid): 8(ptr) FunctionParameter + 12: Label + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.partialInit.frag.out b/Test/baseResults/hlsl.partialInit.frag.out new file mode 100755 index 00000000..5bf838a4 --- /dev/null +++ b/Test/baseResults/hlsl.partialInit.frag.out @@ -0,0 +1,418 @@ +hlsl.partialInit.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:8 'gv' (global 4-component vector of float) +0:8 Constant: +0:8 0.000000 +0:8 0.000000 +0:8 1.000000 +0:8 0.000000 +0:9 Sequence +0:9 move second child to first child (temp 3-element array of float) +0:9 'gfa' (global 3-element array of float) +0:9 Constant: +0:9 0.000000 +0:9 0.000000 +0:9 0.000000 +0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Parameters: +0:18 'input' (layout(location=0 ) in 4-component vector of float) +0:? Sequence +0:19 Sequence +0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 'o2' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 Constant: +0:19 3 (const int) +0:19 0.000000 +0:19 false (const bool) +0:19 0.000000 +0:19 0.000000 +0:19 0.000000 +0:19 0.000000 +0:21 move second child to first child (temp 4-component vector of float) +0:21 v: direct index for structure (temp 4-component vector of float) +0:21 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:21 Constant: +0:21 3 (const int) +0:21 vector-scale (temp 4-component vector of float) +0:21 'gv' (global 4-component vector of float) +0:21 direct index (temp float) +0:21 'gfa' (global 3-element array of float) +0:21 Constant: +0:21 2 (const int) +0:22 Sequence +0:22 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 Constant: +0:22 0 (const int) +0:22 0.000000 +0:22 false (const bool) +0:22 0.000000 +0:22 0.000000 +0:22 0.000000 +0:22 0.000000 +0:23 Sequence +0:23 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 'o3' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 Constant: +0:23 0 (const int) +0:23 0.000000 +0:23 false (const bool) +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:24 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 Constant: +0:24 0 (const int) +0:24 0.000000 +0:24 false (const bool) +0:24 0.000000 +0:24 0.000000 +0:24 0.000000 +0:24 0.000000 +0:25 move second child to first child (temp bool) +0:25 c: direct index for structure (temp bool) +0:25 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 Constant: +0:25 2 (const int) +0:25 c: direct index for structure (temp bool) +0:25 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 Constant: +0:25 2 (const int) +0:26 Sequence +0:26 move second child to first child (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 'nest' (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 Constant: +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0 (const int) +0:26 0.000000 +0:26 false (const bool) +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 false (const bool) +0:28 Sequence +0:28 Sequence +0:28 move second child to first child (temp int) +0:? 'a' (layout(location=0 ) out int) +0:28 a: direct index for structure (temp int) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'b' (layout(location=1 ) out float) +0:28 b: direct index for structure (temp float) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 1 (const int) +0:28 move second child to first child (temp bool) +0:? 'c' (layout(location=2 ) out bool) +0:28 c: direct index for structure (temp bool) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 2 (const int) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'v' (layout(location=3 ) out 4-component vector of float) +0:28 v: direct index for structure (temp 4-component vector of float) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 3 (const int) +0:28 Branch: Return +0:? Linker Objects +0:? 'a' (layout(location=0 ) out int) +0:? 'b' (layout(location=1 ) out float) +0:? 'c' (layout(location=2 ) out bool) +0:? 'v' (layout(location=3 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'gv' (global 4-component vector of float) +0:? 'gfa' (global 3-element array of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:8 Sequence +0:8 move second child to first child (temp 4-component vector of float) +0:8 'gv' (global 4-component vector of float) +0:8 Constant: +0:8 0.000000 +0:8 0.000000 +0:8 1.000000 +0:8 0.000000 +0:9 Sequence +0:9 move second child to first child (temp 3-element array of float) +0:9 'gfa' (global 3-element array of float) +0:9 Constant: +0:9 0.000000 +0:9 0.000000 +0:9 0.000000 +0:18 Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:18 Function Parameters: +0:18 'input' (layout(location=0 ) in 4-component vector of float) +0:? Sequence +0:19 Sequence +0:19 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 'o2' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:19 Constant: +0:19 3 (const int) +0:19 0.000000 +0:19 false (const bool) +0:19 0.000000 +0:19 0.000000 +0:19 0.000000 +0:19 0.000000 +0:21 move second child to first child (temp 4-component vector of float) +0:21 v: direct index for structure (temp 4-component vector of float) +0:21 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:21 Constant: +0:21 3 (const int) +0:21 vector-scale (temp 4-component vector of float) +0:21 'gv' (global 4-component vector of float) +0:21 direct index (temp float) +0:21 'gfa' (global 3-element array of float) +0:21 Constant: +0:21 2 (const int) +0:22 Sequence +0:22 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:22 Constant: +0:22 0 (const int) +0:22 0.000000 +0:22 false (const bool) +0:22 0.000000 +0:22 0.000000 +0:22 0.000000 +0:22 0.000000 +0:23 Sequence +0:23 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 'o3' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:23 Constant: +0:23 0 (const int) +0:23 0.000000 +0:23 false (const bool) +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:24 move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:24 Constant: +0:24 0 (const int) +0:24 0.000000 +0:24 false (const bool) +0:24 0.000000 +0:24 0.000000 +0:24 0.000000 +0:24 0.000000 +0:25 move second child to first child (temp bool) +0:25 c: direct index for structure (temp bool) +0:25 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 Constant: +0:25 2 (const int) +0:25 c: direct index for structure (temp bool) +0:25 'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:25 Constant: +0:25 2 (const int) +0:26 Sequence +0:26 move second child to first child (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 'nest' (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b}) +0:26 Constant: +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0 (const int) +0:26 0.000000 +0:26 false (const bool) +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 false (const bool) +0:28 Sequence +0:28 Sequence +0:28 move second child to first child (temp int) +0:? 'a' (layout(location=0 ) out int) +0:28 a: direct index for structure (temp int) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 0 (const int) +0:28 move second child to first child (temp float) +0:? 'b' (layout(location=1 ) out float) +0:28 b: direct index for structure (temp float) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 1 (const int) +0:28 move second child to first child (temp bool) +0:? 'c' (layout(location=2 ) out bool) +0:28 c: direct index for structure (temp bool) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 2 (const int) +0:28 move second child to first child (temp 4-component vector of float) +0:? 'v' (layout(location=3 ) out 4-component vector of float) +0:28 v: direct index for structure (temp 4-component vector of float) +0:28 'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v}) +0:28 Constant: +0:28 3 (const int) +0:28 Branch: Return +0:? Linker Objects +0:? 'a' (layout(location=0 ) out int) +0:? 'b' (layout(location=1 ) out float) +0:? 'c' (layout(location=2 ) out bool) +0:? 'v' (layout(location=3 ) out 4-component vector of float) +0:? 'input' (layout(location=0 ) in 4-component vector of float) +0:? 'gv' (global 4-component vector of float) +0:? 'gfa' (global 3-element array of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 75 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "PixelShaderFunction" 54 59 65 69 74 + ExecutionMode 4 OriginUpperLeft + Name 4 "PixelShaderFunction" + Name 9 "gv" + Name 17 "gfa" + Name 21 "outs" + MemberName 21(outs) 0 "a" + MemberName 21(outs) 1 "b" + MemberName 21(outs) 2 "c" + MemberName 21(outs) 3 "v" + Name 23 "o2" + Name 28 "o4" + Name 37 "o1" + Name 40 "o3" + Name 47 "Nest" + MemberName 47(Nest) 0 "m" + MemberName 47(Nest) 1 "os" + MemberName 47(Nest) 2 "b" + Name 49 "nest" + Name 54 "a" + Name 59 "b" + Name 65 "c" + Name 69 "v" + Name 74 "input" + Decorate 54(a) Location 0 + Decorate 59(b) Location 1 + Decorate 65(c) Location 2 + Decorate 69(v) Location 3 + Decorate 74(input) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Private 7(fvec4) + 9(gv): 8(ptr) Variable Private + 10: 6(float) Constant 0 + 11: 6(float) Constant 1065353216 + 12: 7(fvec4) ConstantComposite 10 10 11 10 + 13: TypeInt 32 0 + 14: 13(int) Constant 3 + 15: TypeArray 6(float) 14 + 16: TypePointer Private 15 + 17(gfa): 16(ptr) Variable Private + 18: 15 ConstantComposite 10 10 10 + 19: TypeInt 32 1 + 20: TypeBool + 21(outs): TypeStruct 19(int) 6(float) 20(bool) 7(fvec4) + 22: TypePointer Function 21(outs) + 24: 19(int) Constant 3 + 25: 20(bool) ConstantFalse + 26: 7(fvec4) ConstantComposite 10 10 10 10 + 27: 21(outs) ConstantComposite 24 10 25 26 + 30: 19(int) Constant 2 + 31: TypePointer Private 6(float) + 35: TypePointer Function 7(fvec4) + 38: 19(int) Constant 0 + 39: 21(outs) ConstantComposite 38 10 25 26 + 41: TypePointer Function 20(bool) + 45: TypeVector 6(float) 3 + 46: TypeMatrix 45(fvec3) 4 + 47(Nest): TypeStruct 46 21(outs) 20(bool) + 48: TypePointer Function 47(Nest) + 50: 45(fvec3) ConstantComposite 10 10 10 + 51: 46 ConstantComposite 50 50 50 50 + 52: 47(Nest) ConstantComposite 51 39 25 + 53: TypePointer Output 19(int) + 54(a): 53(ptr) Variable Output + 55: TypePointer Function 19(int) + 58: TypePointer Output 6(float) + 59(b): 58(ptr) Variable Output + 60: 19(int) Constant 1 + 61: TypePointer Function 6(float) + 64: TypePointer Output 20(bool) + 65(c): 64(ptr) Variable Output + 68: TypePointer Output 7(fvec4) + 69(v): 68(ptr) Variable Output + 73: TypePointer Input 7(fvec4) + 74(input): 73(ptr) Variable Input +4(PixelShaderFunction): 2 Function None 3 + 5: Label + 23(o2): 22(ptr) Variable Function + 28(o4): 22(ptr) Variable Function + 37(o1): 22(ptr) Variable Function + 40(o3): 22(ptr) Variable Function + 49(nest): 48(ptr) Variable Function + Store 9(gv) 12 + Store 17(gfa) 18 + Store 23(o2) 27 + 29: 7(fvec4) Load 9(gv) + 32: 31(ptr) AccessChain 17(gfa) 30 + 33: 6(float) Load 32 + 34: 7(fvec4) VectorTimesScalar 29 33 + 36: 35(ptr) AccessChain 28(o4) 24 + Store 36 34 + Store 37(o1) 39 + Store 40(o3) 39 + Store 28(o4) 39 + 42: 41(ptr) AccessChain 37(o1) 30 + 43: 20(bool) Load 42 + 44: 41(ptr) AccessChain 28(o4) 30 + Store 44 43 + Store 49(nest) 52 + 56: 55(ptr) AccessChain 28(o4) 38 + 57: 19(int) Load 56 + Store 54(a) 57 + 62: 61(ptr) AccessChain 28(o4) 60 + 63: 6(float) Load 62 + Store 59(b) 63 + 66: 41(ptr) AccessChain 28(o4) 30 + 67: 20(bool) Load 66 + Store 65(c) 67 + 70: 35(ptr) AccessChain 28(o4) 24 + 71: 7(fvec4) Load 70 + Store 69(v) 71 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out index e9205cfe..cd2af746 100644 --- a/Test/baseResults/hlsl.precise.frag.out +++ b/Test/baseResults/hlsl.precise.frag.out @@ -29,8 +29,8 @@ gl_FragCoord origin is upper left 0:12 0 (const int) 0:12 Branch: Return 0:? Linker Objects -0:? 'precisefloat' (noContraction global float) 0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) +0:? 'precisefloat' (noContraction global float) Linked fragment stage: @@ -66,8 +66,8 @@ gl_FragCoord origin is upper left 0:12 0 (const int) 0:12 Branch: Return 0:? Linker Objects -0:? 'precisefloat' (noContraction global float) 0:? 'color' (layout(location=0 ) noContraction out 4-component vector of float) +0:? 'precisefloat' (noContraction global float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out new file mode 100644 index 00000000..2c7425e1 --- /dev/null +++ b/Test/baseResults/hlsl.promote.binary.frag.out @@ -0,0 +1,280 @@ +hlsl.promote.binary.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Parameters: +0:? Sequence +0:15 mod (temp float) +0:15 Convert int to float (temp float) +0:15 ival: direct index for structure (layout(offset=32 ) uniform int) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 Constant: +0:15 2 (const uint) +0:15 fval: direct index for structure (layout(offset=64 ) uniform float) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 Constant: +0:15 4 (const uint) +0:16 mod (temp 4-component vector of float) +0:16 Convert int to float (temp 4-component vector of float) +0:16 ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 Constant: +0:16 3 (const uint) +0:16 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 Constant: +0:16 5 (const uint) +0:18 mod (temp float) +0:18 Convert bool to float (temp float) +0:18 bval: direct index for structure (layout(offset=0 ) uniform bool) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 Constant: +0:18 0 (const uint) +0:18 fval: direct index for structure (layout(offset=64 ) uniform float) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 Constant: +0:18 4 (const uint) +0:19 mod (temp 4-component vector of float) +0:19 Convert bool to float (temp 4-component vector of float) +0:19 bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 Constant: +0:19 1 (const uint) +0:19 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 Constant: +0:19 5 (const uint) +0:21 Sequence +0:21 move second child to first child (temp int) +0:21 'l_int' (temp int) +0:21 Constant: +0:21 1 (const int) +0:22 mod second child into first child (temp int) +0:22 'l_int' (temp int) +0:22 Convert float to int (temp int) +0:22 fval: direct index for structure (layout(offset=64 ) uniform float) +0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:22 Constant: +0:22 4 (const uint) +0:25 move second child to first child (temp 4-component vector of float) +0:25 Color: direct index for structure (temp 4-component vector of float) +0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 0.000000 +0:25 0.000000 +0:25 0.000000 +0:25 0.000000 +0:26 Sequence +0:26 Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:26 Color: direct index for structure (temp 4-component vector of float) +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:26 Constant: +0:26 0 (const int) +0:26 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:14 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:14 Function Parameters: +0:? Sequence +0:15 mod (temp float) +0:15 Convert int to float (temp float) +0:15 ival: direct index for structure (layout(offset=32 ) uniform int) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 Constant: +0:15 2 (const uint) +0:15 fval: direct index for structure (layout(offset=64 ) uniform float) +0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:15 Constant: +0:15 4 (const uint) +0:16 mod (temp 4-component vector of float) +0:16 Convert int to float (temp 4-component vector of float) +0:16 ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 Constant: +0:16 3 (const uint) +0:16 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) +0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:16 Constant: +0:16 5 (const uint) +0:18 mod (temp float) +0:18 Convert bool to float (temp float) +0:18 bval: direct index for structure (layout(offset=0 ) uniform bool) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 Constant: +0:18 0 (const uint) +0:18 fval: direct index for structure (layout(offset=64 ) uniform float) +0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:18 Constant: +0:18 4 (const uint) +0:19 mod (temp 4-component vector of float) +0:19 Convert bool to float (temp 4-component vector of float) +0:19 bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 Constant: +0:19 1 (const uint) +0:19 fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float) +0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:19 Constant: +0:19 5 (const uint) +0:21 Sequence +0:21 move second child to first child (temp int) +0:21 'l_int' (temp int) +0:21 Constant: +0:21 1 (const int) +0:22 mod second child into first child (temp int) +0:22 'l_int' (temp int) +0:22 Convert float to int (temp int) +0:22 fval: direct index for structure (layout(offset=64 ) uniform float) +0:22 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) +0:22 Constant: +0:22 4 (const uint) +0:25 move second child to first child (temp 4-component vector of float) +0:25 Color: direct index for structure (temp 4-component vector of float) +0:25 'psout' (temp structure{temp 4-component vector of float Color}) +0:25 Constant: +0:25 0 (const int) +0:25 Constant: +0:25 0.000000 +0:25 0.000000 +0:25 0.000000 +0:25 0.000000 +0:26 Sequence +0:26 Sequence +0:26 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:26 Color: direct index for structure (temp 4-component vector of float) +0:26 'psout' (temp structure{temp 4-component vector of float Color}) +0:26 Constant: +0:26 0 (const int) +0:26 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 78 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 74 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 12 "$Global" + MemberName 12($Global) 0 "bval" + MemberName 12($Global) 1 "bval4" + MemberName 12($Global) 2 "ival" + MemberName 12($Global) 3 "ival4" + MemberName 12($Global) 4 "fval" + MemberName 12($Global) 5 "fval4" + Name 14 "" + Name 62 "l_int" + Name 68 "PS_OUTPUT" + MemberName 68(PS_OUTPUT) 0 "Color" + Name 70 "psout" + Name 74 "Color" + MemberDecorate 12($Global) 0 Offset 0 + MemberDecorate 12($Global) 1 Offset 16 + MemberDecorate 12($Global) 2 Offset 32 + MemberDecorate 12($Global) 3 Offset 48 + MemberDecorate 12($Global) 4 Offset 64 + MemberDecorate 12($Global) 5 Offset 80 + Decorate 12($Global) Block + Decorate 14 DescriptorSet 0 + Decorate 74(Color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: TypeVector 6(int) 4 + 8: TypeInt 32 1 + 9: TypeVector 8(int) 4 + 10: TypeFloat 32 + 11: TypeVector 10(float) 4 + 12($Global): TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4) + 13: TypePointer Uniform 12($Global) + 14: 13(ptr) Variable Uniform + 15: 8(int) Constant 2 + 16: TypePointer Uniform 8(int) + 20: 8(int) Constant 4 + 21: TypePointer Uniform 10(float) + 25: 8(int) Constant 3 + 26: TypePointer Uniform 9(ivec4) + 30: 8(int) Constant 5 + 31: TypePointer Uniform 11(fvec4) + 35: 8(int) Constant 0 + 36: TypePointer Uniform 6(int) + 39: TypeBool + 40: 6(int) Constant 0 + 42: 10(float) Constant 0 + 43: 10(float) Constant 1065353216 + 48: 8(int) Constant 1 + 49: TypePointer Uniform 7(ivec4) + 52: TypeVector 39(bool) 4 + 53: 7(ivec4) ConstantComposite 40 40 40 40 + 55: 11(fvec4) ConstantComposite 42 42 42 42 + 56: 11(fvec4) ConstantComposite 43 43 43 43 + 61: TypePointer Function 8(int) + 68(PS_OUTPUT): TypeStruct 11(fvec4) + 69: TypePointer Function 68(PS_OUTPUT) + 71: TypePointer Function 11(fvec4) + 73: TypePointer Output 11(fvec4) + 74(Color): 73(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 62(l_int): 61(ptr) Variable Function + 70(psout): 69(ptr) Variable Function + 17: 16(ptr) AccessChain 14 15 + 18: 8(int) Load 17 + 19: 10(float) ConvertSToF 18 + 22: 21(ptr) AccessChain 14 20 + 23: 10(float) Load 22 + 24: 10(float) FMod 19 23 + 27: 26(ptr) AccessChain 14 25 + 28: 9(ivec4) Load 27 + 29: 11(fvec4) ConvertSToF 28 + 32: 31(ptr) AccessChain 14 30 + 33: 11(fvec4) Load 32 + 34: 11(fvec4) FMod 29 33 + 37: 36(ptr) AccessChain 14 35 + 38: 6(int) Load 37 + 41: 39(bool) INotEqual 38 40 + 44: 10(float) Select 41 43 42 + 45: 21(ptr) AccessChain 14 20 + 46: 10(float) Load 45 + 47: 10(float) FMod 44 46 + 50: 49(ptr) AccessChain 14 48 + 51: 7(ivec4) Load 50 + 54: 52(bvec4) INotEqual 51 53 + 57: 11(fvec4) Select 54 56 55 + 58: 31(ptr) AccessChain 14 30 + 59: 11(fvec4) Load 58 + 60: 11(fvec4) FMod 57 59 + Store 62(l_int) 48 + 63: 21(ptr) AccessChain 14 20 + 64: 10(float) Load 63 + 65: 8(int) ConvertFToS 64 + 66: 8(int) Load 62(l_int) + 67: 8(int) SMod 66 65 + Store 62(l_int) 67 + 72: 71(ptr) AccessChain 70(psout) 35 + Store 72 55 + 75: 71(ptr) AccessChain 70(psout) 35 + 76: 11(fvec4) Load 75 + Store 74(Color) 76 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out new file mode 100644 index 00000000..9179dbcc --- /dev/null +++ b/Test/baseResults/hlsl.promote.vec1.frag.out @@ -0,0 +1,118 @@ +hlsl.promote.vec1.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp float) +0:7 'f1a' (temp float) +0:7 Construct float (temp float) +0:7 'f1b' (temp 1-component vector of float) +0:8 move second child to first child (temp 1-component vector of float) +0:8 'f1b' (temp 1-component vector of float) +0:8 Construct float (temp 1-component vector of float) +0:8 'f1a' (temp float) +0:11 step (temp 3-component vector of float) +0:11 Constant: +0:11 0.000000 +0:11 0.000000 +0:11 0.000000 +0:11 'f3' (temp 3-component vector of float) +0:13 sine (temp float) +0:13 Construct float (in float) +0:13 'f1b' (temp 1-component vector of float) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:15 Branch: Return +0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:3 Function Definition: main( (temp 4-component vector of float) +0:3 Function Parameters: +0:? Sequence +0:7 move second child to first child (temp float) +0:7 'f1a' (temp float) +0:7 Construct float (temp float) +0:7 'f1b' (temp 1-component vector of float) +0:8 move second child to first child (temp 1-component vector of float) +0:8 'f1b' (temp 1-component vector of float) +0:8 Construct float (temp 1-component vector of float) +0:8 'f1a' (temp float) +0:11 step (temp 3-component vector of float) +0:11 Constant: +0:11 0.000000 +0:11 0.000000 +0:11 0.000000 +0:11 'f3' (temp 3-component vector of float) +0:13 sine (temp float) +0:13 Construct float (in float) +0:13 'f1b' (temp 1-component vector of float) +0:15 Sequence +0:15 move second child to first child (temp 4-component vector of float) +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) +0:? Constant: +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:15 Branch: Return +0:? Linker Objects +0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 26 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 23 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 8 "f1a" + Name 9 "f1b" + Name 16 "f3" + Name 23 "@entryPointOutput" + Decorate 23(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 12: TypeVector 6(float) 3 + 13: 6(float) Constant 0 + 14: 12(fvec3) ConstantComposite 13 13 13 + 15: TypePointer Function 12(fvec3) + 21: TypeVector 6(float) 4 + 22: TypePointer Output 21(fvec4) +23(@entryPointOutput): 22(ptr) Variable Output + 24: 21(fvec4) ConstantComposite 13 13 13 13 + 4(main): 2 Function None 3 + 5: Label + 8(f1a): 7(ptr) Variable Function + 9(f1b): 7(ptr) Variable Function + 16(f3): 15(ptr) Variable Function + 10: 6(float) Load 9(f1b) + Store 8(f1a) 10 + 11: 6(float) Load 8(f1a) + Store 9(f1b) 11 + 17: 12(fvec3) Load 16(f3) + 18: 12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17 + 19: 6(float) Load 9(f1b) + 20: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19 + Store 23(@entryPointOutput) 24 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out index e3df54ff..01ced169 100644 --- a/Test/baseResults/hlsl.promotions.frag.out +++ b/Test/baseResults/hlsl.promotions.frag.out @@ -782,8 +782,8 @@ gl_FragCoord origin is upper left 0:200 0 (const int) 0:200 Branch: Return 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) 0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) Linked fragment stage: @@ -1572,8 +1572,8 @@ gl_FragCoord origin is upper left 0:200 0 (const int) 0:200 Branch: Return 0:? Linker Objects -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) 0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out new file mode 100644 index 00000000..123bd4cb --- /dev/null +++ b/Test/baseResults/hlsl.rw.atomics.frag.out @@ -0,0 +1,5261 @@ +hlsl.rw.atomics.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Parameters: +0:? Sequence +0:50 imageAtomicAdd (temp int) +0:50 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:50 i1: direct index for structure (layout(offset=36 ) uniform int) +0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 Constant: +0:50 5 (const uint) +0:50 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 Constant: +0:50 8 (const uint) +0:51 move second child to first child (temp int) +0:51 'out_i1' (temp int) +0:51 imageAtomicAdd (temp int) +0:51 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:51 i1: direct index for structure (layout(offset=36 ) uniform int) +0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 Constant: +0:51 5 (const uint) +0:51 i1: direct index for structure (layout(offset=36 ) uniform int) +0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 Constant: +0:51 5 (const uint) +0:52 imageAtomicAnd (temp int) +0:52 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:52 i1: direct index for structure (layout(offset=36 ) uniform int) +0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 Constant: +0:52 5 (const uint) +0:52 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 Constant: +0:52 8 (const uint) +0:53 move second child to first child (temp int) +0:53 'out_i1' (temp int) +0:53 imageAtomicAnd (temp int) +0:53 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:53 i1: direct index for structure (layout(offset=36 ) uniform int) +0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 Constant: +0:53 5 (const uint) +0:53 i1: direct index for structure (layout(offset=36 ) uniform int) +0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 Constant: +0:53 5 (const uint) +0:54 move second child to first child (temp int) +0:54 'out_i1' (temp int) +0:54 imageAtomicCompSwap (temp int) +0:54 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:54 i1: direct index for structure (layout(offset=36 ) uniform int) +0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 Constant: +0:54 5 (const uint) +0:54 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 Constant: +0:54 8 (const uint) +0:54 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 Constant: +0:54 9 (const uint) +0:55 move second child to first child (temp int) +0:55 'out_i1' (temp int) +0:55 imageAtomicExchange (temp int) +0:55 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:55 i1: direct index for structure (layout(offset=36 ) uniform int) +0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 Constant: +0:55 5 (const uint) +0:55 i1: direct index for structure (layout(offset=36 ) uniform int) +0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 Constant: +0:55 5 (const uint) +0:56 imageAtomicMax (temp int) +0:56 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:56 i1: direct index for structure (layout(offset=36 ) uniform int) +0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 Constant: +0:56 5 (const uint) +0:56 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 Constant: +0:56 8 (const uint) +0:57 move second child to first child (temp int) +0:57 'out_i1' (temp int) +0:57 imageAtomicMax (temp int) +0:57 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:57 i1: direct index for structure (layout(offset=36 ) uniform int) +0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 Constant: +0:57 5 (const uint) +0:57 i1: direct index for structure (layout(offset=36 ) uniform int) +0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 Constant: +0:57 5 (const uint) +0:58 imageAtomicMin (temp int) +0:58 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:58 i1: direct index for structure (layout(offset=36 ) uniform int) +0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 Constant: +0:58 5 (const uint) +0:58 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 Constant: +0:58 8 (const uint) +0:59 move second child to first child (temp int) +0:59 'out_i1' (temp int) +0:59 imageAtomicMin (temp int) +0:59 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:59 i1: direct index for structure (layout(offset=36 ) uniform int) +0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 Constant: +0:59 5 (const uint) +0:59 i1: direct index for structure (layout(offset=36 ) uniform int) +0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 Constant: +0:59 5 (const uint) +0:60 imageAtomicOr (temp int) +0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:60 i1: direct index for structure (layout(offset=36 ) uniform int) +0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 Constant: +0:60 5 (const uint) +0:60 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 Constant: +0:60 8 (const uint) +0:61 move second child to first child (temp int) +0:61 'out_i1' (temp int) +0:61 imageAtomicOr (temp int) +0:61 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:61 i1: direct index for structure (layout(offset=36 ) uniform int) +0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 Constant: +0:61 5 (const uint) +0:61 i1: direct index for structure (layout(offset=36 ) uniform int) +0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 Constant: +0:61 5 (const uint) +0:62 imageAtomicXor (temp int) +0:62 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:62 i1: direct index for structure (layout(offset=36 ) uniform int) +0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 Constant: +0:62 5 (const uint) +0:62 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 Constant: +0:62 8 (const uint) +0:63 move second child to first child (temp int) +0:63 'out_i1' (temp int) +0:63 imageAtomicXor (temp int) +0:63 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:63 i1: direct index for structure (layout(offset=36 ) uniform int) +0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 Constant: +0:63 5 (const uint) +0:63 i1: direct index for structure (layout(offset=36 ) uniform int) +0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 Constant: +0:63 5 (const uint) +0:66 imageAtomicAdd (temp uint) +0:66 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 Constant: +0:66 0 (const uint) +0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 Constant: +0:66 0 (const uint) +0:67 move second child to first child (temp uint) +0:67 'out_u1' (temp uint) +0:67 imageAtomicAdd (temp uint) +0:67 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 Constant: +0:67 0 (const uint) +0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 Constant: +0:67 0 (const uint) +0:68 imageAtomicAnd (temp uint) +0:68 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 Constant: +0:68 0 (const uint) +0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 Constant: +0:68 0 (const uint) +0:69 move second child to first child (temp uint) +0:69 'out_u1' (temp uint) +0:69 imageAtomicAnd (temp uint) +0:69 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 Constant: +0:69 0 (const uint) +0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 Constant: +0:69 0 (const uint) +0:70 move second child to first child (temp uint) +0:70 'out_u1' (temp uint) +0:70 imageAtomicCompSwap (temp uint) +0:70 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:70 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 Constant: +0:70 0 (const uint) +0:70 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 Constant: +0:70 3 (const uint) +0:70 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 Constant: +0:70 4 (const uint) +0:71 move second child to first child (temp uint) +0:71 'out_u1' (temp uint) +0:71 imageAtomicExchange (temp uint) +0:71 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 Constant: +0:71 0 (const uint) +0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 Constant: +0:71 0 (const uint) +0:72 imageAtomicMax (temp uint) +0:72 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 Constant: +0:72 0 (const uint) +0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 Constant: +0:72 0 (const uint) +0:73 move second child to first child (temp uint) +0:73 'out_u1' (temp uint) +0:73 imageAtomicMax (temp uint) +0:73 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 Constant: +0:73 0 (const uint) +0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 Constant: +0:73 0 (const uint) +0:74 imageAtomicMin (temp uint) +0:74 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 Constant: +0:74 0 (const uint) +0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 Constant: +0:74 0 (const uint) +0:75 move second child to first child (temp uint) +0:75 'out_u1' (temp uint) +0:75 imageAtomicMin (temp uint) +0:75 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 Constant: +0:75 0 (const uint) +0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 Constant: +0:75 0 (const uint) +0:76 imageAtomicOr (temp uint) +0:76 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 Constant: +0:76 0 (const uint) +0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 Constant: +0:76 0 (const uint) +0:77 move second child to first child (temp uint) +0:77 'out_u1' (temp uint) +0:77 imageAtomicOr (temp uint) +0:77 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 Constant: +0:77 0 (const uint) +0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 Constant: +0:77 0 (const uint) +0:78 imageAtomicXor (temp uint) +0:78 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 Constant: +0:78 0 (const uint) +0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 Constant: +0:78 0 (const uint) +0:79 move second child to first child (temp uint) +0:79 'out_u1' (temp uint) +0:79 imageAtomicXor (temp uint) +0:79 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 Constant: +0:79 0 (const uint) +0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 Constant: +0:79 0 (const uint) +0:82 imageAtomicAdd (temp int) +0:82 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:82 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 Constant: +0:82 6 (const uint) +0:82 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 Constant: +0:82 8 (const uint) +0:83 move second child to first child (temp int) +0:83 'out_i1' (temp int) +0:83 imageAtomicAdd (temp int) +0:83 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:83 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 Constant: +0:83 6 (const uint) +0:83 i1: direct index for structure (layout(offset=36 ) uniform int) +0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 Constant: +0:83 5 (const uint) +0:84 imageAtomicAnd (temp int) +0:84 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:84 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 Constant: +0:84 6 (const uint) +0:84 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 Constant: +0:84 8 (const uint) +0:85 move second child to first child (temp int) +0:85 'out_i1' (temp int) +0:85 imageAtomicAnd (temp int) +0:85 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:85 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 Constant: +0:85 6 (const uint) +0:85 i1: direct index for structure (layout(offset=36 ) uniform int) +0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 Constant: +0:85 5 (const uint) +0:86 move second child to first child (temp int) +0:86 'out_i1' (temp int) +0:86 imageAtomicCompSwap (temp int) +0:86 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:86 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 Constant: +0:86 6 (const uint) +0:86 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 Constant: +0:86 8 (const uint) +0:86 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 Constant: +0:86 9 (const uint) +0:87 move second child to first child (temp int) +0:87 'out_i1' (temp int) +0:87 imageAtomicExchange (temp int) +0:87 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:87 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 Constant: +0:87 6 (const uint) +0:87 i1: direct index for structure (layout(offset=36 ) uniform int) +0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 Constant: +0:87 5 (const uint) +0:88 imageAtomicMax (temp int) +0:88 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:88 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 Constant: +0:88 6 (const uint) +0:88 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 Constant: +0:88 8 (const uint) +0:89 move second child to first child (temp int) +0:89 'out_i1' (temp int) +0:89 imageAtomicMax (temp int) +0:89 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:89 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 Constant: +0:89 6 (const uint) +0:89 i1: direct index for structure (layout(offset=36 ) uniform int) +0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 Constant: +0:89 5 (const uint) +0:90 imageAtomicMin (temp int) +0:90 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:90 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 Constant: +0:90 6 (const uint) +0:90 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 Constant: +0:90 8 (const uint) +0:91 move second child to first child (temp int) +0:91 'out_i1' (temp int) +0:91 imageAtomicMin (temp int) +0:91 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:91 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 Constant: +0:91 6 (const uint) +0:91 i1: direct index for structure (layout(offset=36 ) uniform int) +0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 Constant: +0:91 5 (const uint) +0:92 imageAtomicOr (temp int) +0:92 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:92 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 Constant: +0:92 6 (const uint) +0:92 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 Constant: +0:92 8 (const uint) +0:93 move second child to first child (temp int) +0:93 'out_i1' (temp int) +0:93 imageAtomicOr (temp int) +0:93 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:93 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 Constant: +0:93 6 (const uint) +0:93 i1: direct index for structure (layout(offset=36 ) uniform int) +0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 Constant: +0:93 5 (const uint) +0:94 imageAtomicXor (temp int) +0:94 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:94 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 Constant: +0:94 6 (const uint) +0:94 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 Constant: +0:94 8 (const uint) +0:95 move second child to first child (temp int) +0:95 'out_i1' (temp int) +0:95 imageAtomicXor (temp int) +0:95 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:95 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 Constant: +0:95 6 (const uint) +0:95 i1: direct index for structure (layout(offset=36 ) uniform int) +0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 Constant: +0:95 5 (const uint) +0:98 imageAtomicAdd (temp uint) +0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:98 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 Constant: +0:98 1 (const uint) +0:98 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 Constant: +0:98 0 (const uint) +0:99 move second child to first child (temp uint) +0:99 'out_u1' (temp uint) +0:99 imageAtomicAdd (temp uint) +0:99 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:99 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 Constant: +0:99 1 (const uint) +0:99 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 Constant: +0:99 0 (const uint) +0:100 imageAtomicAnd (temp uint) +0:100 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:100 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 Constant: +0:100 1 (const uint) +0:100 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 Constant: +0:100 0 (const uint) +0:101 move second child to first child (temp uint) +0:101 'out_u1' (temp uint) +0:101 imageAtomicAnd (temp uint) +0:101 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:101 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 Constant: +0:101 1 (const uint) +0:101 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 Constant: +0:101 0 (const uint) +0:102 move second child to first child (temp uint) +0:102 'out_u1' (temp uint) +0:102 imageAtomicCompSwap (temp uint) +0:102 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:102 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 Constant: +0:102 1 (const uint) +0:102 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 Constant: +0:102 3 (const uint) +0:102 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 Constant: +0:102 4 (const uint) +0:103 move second child to first child (temp uint) +0:103 'out_u1' (temp uint) +0:103 imageAtomicExchange (temp uint) +0:103 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:103 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 Constant: +0:103 1 (const uint) +0:103 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 Constant: +0:103 0 (const uint) +0:104 imageAtomicMax (temp uint) +0:104 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:104 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 Constant: +0:104 1 (const uint) +0:104 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 Constant: +0:104 0 (const uint) +0:105 move second child to first child (temp uint) +0:105 'out_u1' (temp uint) +0:105 imageAtomicMax (temp uint) +0:105 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:105 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 Constant: +0:105 1 (const uint) +0:105 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 Constant: +0:105 0 (const uint) +0:106 imageAtomicMin (temp uint) +0:106 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:106 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 Constant: +0:106 1 (const uint) +0:106 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 Constant: +0:106 0 (const uint) +0:107 move second child to first child (temp uint) +0:107 'out_u1' (temp uint) +0:107 imageAtomicMin (temp uint) +0:107 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:107 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 Constant: +0:107 1 (const uint) +0:107 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 Constant: +0:107 0 (const uint) +0:108 imageAtomicOr (temp uint) +0:108 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:108 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 Constant: +0:108 1 (const uint) +0:108 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 Constant: +0:108 0 (const uint) +0:109 move second child to first child (temp uint) +0:109 'out_u1' (temp uint) +0:109 imageAtomicOr (temp uint) +0:109 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:109 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 Constant: +0:109 1 (const uint) +0:109 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 Constant: +0:109 0 (const uint) +0:110 imageAtomicXor (temp uint) +0:110 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:110 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 Constant: +0:110 1 (const uint) +0:110 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 Constant: +0:110 0 (const uint) +0:111 move second child to first child (temp uint) +0:111 'out_u1' (temp uint) +0:111 imageAtomicXor (temp uint) +0:111 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:111 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 Constant: +0:111 1 (const uint) +0:111 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 Constant: +0:111 0 (const uint) +0:114 imageAtomicAdd (temp int) +0:114 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:114 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 Constant: +0:114 7 (const uint) +0:114 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 Constant: +0:114 8 (const uint) +0:115 move second child to first child (temp int) +0:115 'out_i1' (temp int) +0:115 imageAtomicAdd (temp int) +0:115 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:115 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 Constant: +0:115 7 (const uint) +0:115 i1: direct index for structure (layout(offset=36 ) uniform int) +0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 Constant: +0:115 5 (const uint) +0:116 imageAtomicAnd (temp int) +0:116 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:116 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 Constant: +0:116 7 (const uint) +0:116 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 Constant: +0:116 8 (const uint) +0:117 move second child to first child (temp int) +0:117 'out_i1' (temp int) +0:117 imageAtomicAnd (temp int) +0:117 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:117 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 Constant: +0:117 7 (const uint) +0:117 i1: direct index for structure (layout(offset=36 ) uniform int) +0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 Constant: +0:117 5 (const uint) +0:118 move second child to first child (temp int) +0:118 'out_i1' (temp int) +0:118 imageAtomicCompSwap (temp int) +0:118 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:118 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 Constant: +0:118 7 (const uint) +0:118 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 Constant: +0:118 8 (const uint) +0:118 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 Constant: +0:118 9 (const uint) +0:119 move second child to first child (temp int) +0:119 'out_i1' (temp int) +0:119 imageAtomicExchange (temp int) +0:119 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:119 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 Constant: +0:119 7 (const uint) +0:119 i1: direct index for structure (layout(offset=36 ) uniform int) +0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 Constant: +0:119 5 (const uint) +0:120 imageAtomicMax (temp int) +0:120 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:120 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 Constant: +0:120 7 (const uint) +0:120 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 Constant: +0:120 8 (const uint) +0:121 move second child to first child (temp int) +0:121 'out_i1' (temp int) +0:121 imageAtomicMax (temp int) +0:121 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:121 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 Constant: +0:121 7 (const uint) +0:121 i1: direct index for structure (layout(offset=36 ) uniform int) +0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 Constant: +0:121 5 (const uint) +0:122 imageAtomicMin (temp int) +0:122 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:122 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 Constant: +0:122 7 (const uint) +0:122 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 Constant: +0:122 8 (const uint) +0:123 move second child to first child (temp int) +0:123 'out_i1' (temp int) +0:123 imageAtomicMin (temp int) +0:123 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:123 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 Constant: +0:123 7 (const uint) +0:123 i1: direct index for structure (layout(offset=36 ) uniform int) +0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 Constant: +0:123 5 (const uint) +0:124 imageAtomicOr (temp int) +0:124 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:124 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 Constant: +0:124 7 (const uint) +0:124 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 Constant: +0:124 8 (const uint) +0:125 move second child to first child (temp int) +0:125 'out_i1' (temp int) +0:125 imageAtomicOr (temp int) +0:125 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:125 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 Constant: +0:125 7 (const uint) +0:125 i1: direct index for structure (layout(offset=36 ) uniform int) +0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 Constant: +0:125 5 (const uint) +0:126 imageAtomicXor (temp int) +0:126 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:126 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 Constant: +0:126 7 (const uint) +0:126 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 Constant: +0:126 8 (const uint) +0:127 move second child to first child (temp int) +0:127 'out_i1' (temp int) +0:127 imageAtomicXor (temp int) +0:127 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:127 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 Constant: +0:127 7 (const uint) +0:127 i1: direct index for structure (layout(offset=36 ) uniform int) +0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 Constant: +0:127 5 (const uint) +0:130 imageAtomicAdd (temp uint) +0:130 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:130 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 Constant: +0:130 2 (const uint) +0:130 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 Constant: +0:130 0 (const uint) +0:131 move second child to first child (temp uint) +0:131 'out_u1' (temp uint) +0:131 imageAtomicAdd (temp uint) +0:131 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:131 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 Constant: +0:131 2 (const uint) +0:131 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 Constant: +0:131 0 (const uint) +0:132 imageAtomicAnd (temp uint) +0:132 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:132 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 Constant: +0:132 2 (const uint) +0:132 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 Constant: +0:132 0 (const uint) +0:133 move second child to first child (temp uint) +0:133 'out_u1' (temp uint) +0:133 imageAtomicAnd (temp uint) +0:133 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:133 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 Constant: +0:133 2 (const uint) +0:133 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 Constant: +0:133 0 (const uint) +0:134 move second child to first child (temp uint) +0:134 'out_u1' (temp uint) +0:134 imageAtomicCompSwap (temp uint) +0:134 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:134 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 Constant: +0:134 2 (const uint) +0:134 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 Constant: +0:134 3 (const uint) +0:134 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 Constant: +0:134 4 (const uint) +0:135 move second child to first child (temp uint) +0:135 'out_u1' (temp uint) +0:135 imageAtomicExchange (temp uint) +0:135 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:135 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 Constant: +0:135 2 (const uint) +0:135 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 Constant: +0:135 0 (const uint) +0:136 imageAtomicMax (temp uint) +0:136 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:136 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 Constant: +0:136 2 (const uint) +0:136 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 Constant: +0:136 0 (const uint) +0:137 move second child to first child (temp uint) +0:137 'out_u1' (temp uint) +0:137 imageAtomicMax (temp uint) +0:137 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:137 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 Constant: +0:137 2 (const uint) +0:137 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 Constant: +0:137 0 (const uint) +0:138 imageAtomicMin (temp uint) +0:138 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:138 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 Constant: +0:138 2 (const uint) +0:138 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 Constant: +0:138 0 (const uint) +0:139 move second child to first child (temp uint) +0:139 'out_u1' (temp uint) +0:139 imageAtomicMin (temp uint) +0:139 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:139 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 Constant: +0:139 2 (const uint) +0:139 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 Constant: +0:139 0 (const uint) +0:140 imageAtomicOr (temp uint) +0:140 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:140 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 Constant: +0:140 2 (const uint) +0:140 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 Constant: +0:140 0 (const uint) +0:141 move second child to first child (temp uint) +0:141 'out_u1' (temp uint) +0:141 imageAtomicOr (temp uint) +0:141 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:141 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 Constant: +0:141 2 (const uint) +0:141 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 Constant: +0:141 0 (const uint) +0:142 imageAtomicXor (temp uint) +0:142 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:142 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 Constant: +0:142 2 (const uint) +0:142 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 Constant: +0:142 0 (const uint) +0:143 move second child to first child (temp uint) +0:143 'out_u1' (temp uint) +0:143 imageAtomicXor (temp uint) +0:143 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:143 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 Constant: +0:143 2 (const uint) +0:143 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 Constant: +0:143 0 (const uint) +0:146 imageAtomicAdd (temp int) +0:146 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:146 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 Constant: +0:146 6 (const uint) +0:146 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 Constant: +0:146 8 (const uint) +0:147 move second child to first child (temp int) +0:147 'out_i1' (temp int) +0:147 imageAtomicAdd (temp int) +0:147 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:147 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 Constant: +0:147 6 (const uint) +0:147 i1: direct index for structure (layout(offset=36 ) uniform int) +0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 Constant: +0:147 5 (const uint) +0:148 imageAtomicAnd (temp int) +0:148 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:148 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 Constant: +0:148 6 (const uint) +0:148 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 Constant: +0:148 8 (const uint) +0:149 move second child to first child (temp int) +0:149 'out_i1' (temp int) +0:149 imageAtomicAnd (temp int) +0:149 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:149 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 Constant: +0:149 6 (const uint) +0:149 i1: direct index for structure (layout(offset=36 ) uniform int) +0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 Constant: +0:149 5 (const uint) +0:150 move second child to first child (temp int) +0:150 'out_i1' (temp int) +0:150 imageAtomicCompSwap (temp int) +0:150 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:150 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 Constant: +0:150 6 (const uint) +0:150 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 Constant: +0:150 8 (const uint) +0:150 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 Constant: +0:150 9 (const uint) +0:151 move second child to first child (temp int) +0:151 'out_i1' (temp int) +0:151 imageAtomicExchange (temp int) +0:151 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:151 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 Constant: +0:151 6 (const uint) +0:151 i1: direct index for structure (layout(offset=36 ) uniform int) +0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 Constant: +0:151 5 (const uint) +0:152 imageAtomicMax (temp int) +0:152 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:152 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 Constant: +0:152 6 (const uint) +0:152 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 Constant: +0:152 8 (const uint) +0:153 move second child to first child (temp int) +0:153 'out_i1' (temp int) +0:153 imageAtomicMax (temp int) +0:153 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:153 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 Constant: +0:153 6 (const uint) +0:153 i1: direct index for structure (layout(offset=36 ) uniform int) +0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 Constant: +0:153 5 (const uint) +0:154 imageAtomicMin (temp int) +0:154 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:154 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 Constant: +0:154 6 (const uint) +0:154 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 Constant: +0:154 8 (const uint) +0:155 move second child to first child (temp int) +0:155 'out_i1' (temp int) +0:155 imageAtomicMin (temp int) +0:155 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:155 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 Constant: +0:155 6 (const uint) +0:155 i1: direct index for structure (layout(offset=36 ) uniform int) +0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 Constant: +0:155 5 (const uint) +0:156 imageAtomicOr (temp int) +0:156 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:156 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 Constant: +0:156 6 (const uint) +0:156 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 Constant: +0:156 8 (const uint) +0:157 move second child to first child (temp int) +0:157 'out_i1' (temp int) +0:157 imageAtomicOr (temp int) +0:157 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:157 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 Constant: +0:157 6 (const uint) +0:157 i1: direct index for structure (layout(offset=36 ) uniform int) +0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 Constant: +0:157 5 (const uint) +0:158 imageAtomicXor (temp int) +0:158 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:158 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 Constant: +0:158 6 (const uint) +0:158 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 Constant: +0:158 8 (const uint) +0:159 move second child to first child (temp int) +0:159 'out_i1' (temp int) +0:159 imageAtomicXor (temp int) +0:159 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:159 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 Constant: +0:159 6 (const uint) +0:159 i1: direct index for structure (layout(offset=36 ) uniform int) +0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 Constant: +0:159 5 (const uint) +0:162 imageAtomicAdd (temp uint) +0:162 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:162 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 Constant: +0:162 1 (const uint) +0:162 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 Constant: +0:162 0 (const uint) +0:163 move second child to first child (temp uint) +0:163 'out_u1' (temp uint) +0:163 imageAtomicAdd (temp uint) +0:163 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:163 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 Constant: +0:163 1 (const uint) +0:163 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 Constant: +0:163 0 (const uint) +0:164 imageAtomicAnd (temp uint) +0:164 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:164 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 Constant: +0:164 1 (const uint) +0:164 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 Constant: +0:164 0 (const uint) +0:165 move second child to first child (temp uint) +0:165 'out_u1' (temp uint) +0:165 imageAtomicAnd (temp uint) +0:165 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:165 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 Constant: +0:165 1 (const uint) +0:165 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 Constant: +0:165 0 (const uint) +0:166 move second child to first child (temp uint) +0:166 'out_u1' (temp uint) +0:166 imageAtomicCompSwap (temp uint) +0:166 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:166 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 Constant: +0:166 1 (const uint) +0:166 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 Constant: +0:166 3 (const uint) +0:166 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 Constant: +0:166 4 (const uint) +0:167 move second child to first child (temp uint) +0:167 'out_u1' (temp uint) +0:167 imageAtomicExchange (temp uint) +0:167 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:167 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 Constant: +0:167 1 (const uint) +0:167 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 Constant: +0:167 0 (const uint) +0:168 imageAtomicMax (temp uint) +0:168 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:168 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 Constant: +0:168 1 (const uint) +0:168 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 Constant: +0:168 0 (const uint) +0:169 move second child to first child (temp uint) +0:169 'out_u1' (temp uint) +0:169 imageAtomicMax (temp uint) +0:169 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:169 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 Constant: +0:169 1 (const uint) +0:169 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 Constant: +0:169 0 (const uint) +0:170 imageAtomicMin (temp uint) +0:170 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:170 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 Constant: +0:170 1 (const uint) +0:170 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 Constant: +0:170 0 (const uint) +0:171 move second child to first child (temp uint) +0:171 'out_u1' (temp uint) +0:171 imageAtomicMin (temp uint) +0:171 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:171 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 Constant: +0:171 1 (const uint) +0:171 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 Constant: +0:171 0 (const uint) +0:172 imageAtomicOr (temp uint) +0:172 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:172 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 Constant: +0:172 1 (const uint) +0:172 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 Constant: +0:172 0 (const uint) +0:173 move second child to first child (temp uint) +0:173 'out_u1' (temp uint) +0:173 imageAtomicOr (temp uint) +0:173 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:173 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 Constant: +0:173 1 (const uint) +0:173 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 Constant: +0:173 0 (const uint) +0:174 imageAtomicXor (temp uint) +0:174 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:174 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 Constant: +0:174 1 (const uint) +0:174 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 Constant: +0:174 0 (const uint) +0:175 move second child to first child (temp uint) +0:175 'out_u1' (temp uint) +0:175 imageAtomicXor (temp uint) +0:175 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:175 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 Constant: +0:175 1 (const uint) +0:175 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 Constant: +0:175 0 (const uint) +0:178 imageAtomicAdd (temp int) +0:178 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:178 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 Constant: +0:178 6 (const uint) +0:178 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 Constant: +0:178 8 (const uint) +0:179 move second child to first child (temp int) +0:179 'out_i1' (temp int) +0:179 imageAtomicAdd (temp int) +0:179 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:179 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 Constant: +0:179 6 (const uint) +0:179 i1: direct index for structure (layout(offset=36 ) uniform int) +0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 Constant: +0:179 5 (const uint) +0:180 imageAtomicAnd (temp int) +0:180 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:180 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 Constant: +0:180 6 (const uint) +0:180 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 Constant: +0:180 8 (const uint) +0:181 move second child to first child (temp int) +0:181 'out_i1' (temp int) +0:181 imageAtomicAnd (temp int) +0:181 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:181 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 Constant: +0:181 6 (const uint) +0:181 i1: direct index for structure (layout(offset=36 ) uniform int) +0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 Constant: +0:181 5 (const uint) +0:182 move second child to first child (temp int) +0:182 'out_i1' (temp int) +0:182 imageAtomicCompSwap (temp int) +0:182 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:182 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 Constant: +0:182 6 (const uint) +0:182 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 Constant: +0:182 8 (const uint) +0:182 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 Constant: +0:182 9 (const uint) +0:183 move second child to first child (temp int) +0:183 'out_i1' (temp int) +0:183 imageAtomicExchange (temp int) +0:183 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:183 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 Constant: +0:183 6 (const uint) +0:183 i1: direct index for structure (layout(offset=36 ) uniform int) +0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 Constant: +0:183 5 (const uint) +0:184 imageAtomicMax (temp int) +0:184 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:184 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 Constant: +0:184 6 (const uint) +0:184 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 Constant: +0:184 8 (const uint) +0:185 move second child to first child (temp int) +0:185 'out_i1' (temp int) +0:185 imageAtomicMax (temp int) +0:185 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:185 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 Constant: +0:185 6 (const uint) +0:185 i1: direct index for structure (layout(offset=36 ) uniform int) +0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 Constant: +0:185 5 (const uint) +0:186 imageAtomicMin (temp int) +0:186 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:186 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 Constant: +0:186 6 (const uint) +0:186 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 Constant: +0:186 8 (const uint) +0:187 move second child to first child (temp int) +0:187 'out_i1' (temp int) +0:187 imageAtomicMin (temp int) +0:187 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:187 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 Constant: +0:187 6 (const uint) +0:187 i1: direct index for structure (layout(offset=36 ) uniform int) +0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 Constant: +0:187 5 (const uint) +0:188 imageAtomicOr (temp int) +0:188 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:188 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 Constant: +0:188 6 (const uint) +0:188 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 Constant: +0:188 8 (const uint) +0:189 move second child to first child (temp int) +0:189 'out_i1' (temp int) +0:189 imageAtomicOr (temp int) +0:189 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:189 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 Constant: +0:189 6 (const uint) +0:189 i1: direct index for structure (layout(offset=36 ) uniform int) +0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 Constant: +0:189 5 (const uint) +0:190 imageAtomicXor (temp int) +0:190 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:190 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 Constant: +0:190 6 (const uint) +0:190 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 Constant: +0:190 8 (const uint) +0:191 move second child to first child (temp int) +0:191 'out_i1' (temp int) +0:191 imageAtomicXor (temp int) +0:191 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:191 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 Constant: +0:191 6 (const uint) +0:191 i1: direct index for structure (layout(offset=36 ) uniform int) +0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 Constant: +0:191 5 (const uint) +0:194 imageAtomicAdd (temp uint) +0:194 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:194 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 Constant: +0:194 1 (const uint) +0:194 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 Constant: +0:194 0 (const uint) +0:195 move second child to first child (temp uint) +0:195 'out_u1' (temp uint) +0:195 imageAtomicAdd (temp uint) +0:195 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:195 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 Constant: +0:195 1 (const uint) +0:195 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 Constant: +0:195 0 (const uint) +0:196 imageAtomicAnd (temp uint) +0:196 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:196 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 Constant: +0:196 1 (const uint) +0:196 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 Constant: +0:196 0 (const uint) +0:197 move second child to first child (temp uint) +0:197 'out_u1' (temp uint) +0:197 imageAtomicAnd (temp uint) +0:197 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:197 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 Constant: +0:197 1 (const uint) +0:197 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 Constant: +0:197 0 (const uint) +0:198 move second child to first child (temp uint) +0:198 'out_u1' (temp uint) +0:198 imageAtomicCompSwap (temp uint) +0:198 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:198 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 Constant: +0:198 1 (const uint) +0:198 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 Constant: +0:198 3 (const uint) +0:198 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 Constant: +0:198 4 (const uint) +0:199 move second child to first child (temp uint) +0:199 'out_u1' (temp uint) +0:199 imageAtomicExchange (temp uint) +0:199 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:199 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 Constant: +0:199 1 (const uint) +0:199 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 Constant: +0:199 0 (const uint) +0:200 imageAtomicMax (temp uint) +0:200 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:200 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 Constant: +0:200 1 (const uint) +0:200 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 Constant: +0:200 0 (const uint) +0:201 move second child to first child (temp uint) +0:201 'out_u1' (temp uint) +0:201 imageAtomicMax (temp uint) +0:201 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:201 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 Constant: +0:201 1 (const uint) +0:201 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 Constant: +0:201 0 (const uint) +0:202 imageAtomicMin (temp uint) +0:202 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:202 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 Constant: +0:202 1 (const uint) +0:202 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 Constant: +0:202 0 (const uint) +0:203 move second child to first child (temp uint) +0:203 'out_u1' (temp uint) +0:203 imageAtomicMin (temp uint) +0:203 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:203 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 Constant: +0:203 1 (const uint) +0:203 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 Constant: +0:203 0 (const uint) +0:204 imageAtomicOr (temp uint) +0:204 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:204 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 Constant: +0:204 1 (const uint) +0:204 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 Constant: +0:204 0 (const uint) +0:205 move second child to first child (temp uint) +0:205 'out_u1' (temp uint) +0:205 imageAtomicOr (temp uint) +0:205 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:205 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 Constant: +0:205 1 (const uint) +0:205 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 Constant: +0:205 0 (const uint) +0:206 imageAtomicXor (temp uint) +0:206 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:206 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 Constant: +0:206 1 (const uint) +0:206 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 Constant: +0:206 0 (const uint) +0:207 move second child to first child (temp uint) +0:207 'out_u1' (temp uint) +0:207 imageAtomicXor (temp uint) +0:207 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:207 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 Constant: +0:207 1 (const uint) +0:207 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 Constant: +0:207 0 (const uint) +0:210 imageAtomicAdd (temp int) +0:210 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:210 i1: direct index for structure (layout(offset=36 ) uniform int) +0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 Constant: +0:210 5 (const uint) +0:210 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 Constant: +0:210 8 (const uint) +0:211 move second child to first child (temp int) +0:211 'out_i1' (temp int) +0:211 imageAtomicAdd (temp int) +0:211 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:211 i1: direct index for structure (layout(offset=36 ) uniform int) +0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 Constant: +0:211 5 (const uint) +0:211 i1: direct index for structure (layout(offset=36 ) uniform int) +0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 Constant: +0:211 5 (const uint) +0:212 imageAtomicAnd (temp int) +0:212 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:212 i1: direct index for structure (layout(offset=36 ) uniform int) +0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 Constant: +0:212 5 (const uint) +0:212 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 Constant: +0:212 8 (const uint) +0:213 move second child to first child (temp int) +0:213 'out_i1' (temp int) +0:213 imageAtomicAnd (temp int) +0:213 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:213 i1: direct index for structure (layout(offset=36 ) uniform int) +0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 Constant: +0:213 5 (const uint) +0:213 i1: direct index for structure (layout(offset=36 ) uniform int) +0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 Constant: +0:213 5 (const uint) +0:214 move second child to first child (temp int) +0:214 'out_i1' (temp int) +0:214 imageAtomicCompSwap (temp int) +0:214 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:214 i1: direct index for structure (layout(offset=36 ) uniform int) +0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 Constant: +0:214 5 (const uint) +0:214 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 Constant: +0:214 8 (const uint) +0:214 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 Constant: +0:214 9 (const uint) +0:215 move second child to first child (temp int) +0:215 'out_i1' (temp int) +0:215 imageAtomicExchange (temp int) +0:215 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:215 i1: direct index for structure (layout(offset=36 ) uniform int) +0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 Constant: +0:215 5 (const uint) +0:215 i1: direct index for structure (layout(offset=36 ) uniform int) +0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 Constant: +0:215 5 (const uint) +0:216 imageAtomicMax (temp int) +0:216 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:216 i1: direct index for structure (layout(offset=36 ) uniform int) +0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 Constant: +0:216 5 (const uint) +0:216 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 Constant: +0:216 8 (const uint) +0:217 move second child to first child (temp int) +0:217 'out_i1' (temp int) +0:217 imageAtomicMax (temp int) +0:217 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:217 i1: direct index for structure (layout(offset=36 ) uniform int) +0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 Constant: +0:217 5 (const uint) +0:217 i1: direct index for structure (layout(offset=36 ) uniform int) +0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 Constant: +0:217 5 (const uint) +0:218 imageAtomicMin (temp int) +0:218 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:218 i1: direct index for structure (layout(offset=36 ) uniform int) +0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 Constant: +0:218 5 (const uint) +0:218 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 Constant: +0:218 8 (const uint) +0:219 move second child to first child (temp int) +0:219 'out_i1' (temp int) +0:219 imageAtomicMin (temp int) +0:219 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:219 i1: direct index for structure (layout(offset=36 ) uniform int) +0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 Constant: +0:219 5 (const uint) +0:219 i1: direct index for structure (layout(offset=36 ) uniform int) +0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 Constant: +0:219 5 (const uint) +0:220 imageAtomicOr (temp int) +0:220 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:220 i1: direct index for structure (layout(offset=36 ) uniform int) +0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 Constant: +0:220 5 (const uint) +0:220 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 Constant: +0:220 8 (const uint) +0:221 move second child to first child (temp int) +0:221 'out_i1' (temp int) +0:221 imageAtomicOr (temp int) +0:221 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:221 i1: direct index for structure (layout(offset=36 ) uniform int) +0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 Constant: +0:221 5 (const uint) +0:221 i1: direct index for structure (layout(offset=36 ) uniform int) +0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 Constant: +0:221 5 (const uint) +0:222 imageAtomicXor (temp int) +0:222 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:222 i1: direct index for structure (layout(offset=36 ) uniform int) +0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 Constant: +0:222 5 (const uint) +0:222 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 Constant: +0:222 8 (const uint) +0:223 move second child to first child (temp int) +0:223 'out_i1' (temp int) +0:223 imageAtomicXor (temp int) +0:223 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:223 i1: direct index for structure (layout(offset=36 ) uniform int) +0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 Constant: +0:223 5 (const uint) +0:223 i1: direct index for structure (layout(offset=36 ) uniform int) +0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 Constant: +0:223 5 (const uint) +0:226 imageAtomicAdd (temp uint) +0:226 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 Constant: +0:226 0 (const uint) +0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 Constant: +0:226 0 (const uint) +0:227 move second child to first child (temp uint) +0:227 'out_u1' (temp uint) +0:227 imageAtomicAdd (temp uint) +0:227 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 Constant: +0:227 0 (const uint) +0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 Constant: +0:227 0 (const uint) +0:228 imageAtomicAnd (temp uint) +0:228 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 Constant: +0:228 0 (const uint) +0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 Constant: +0:228 0 (const uint) +0:229 move second child to first child (temp uint) +0:229 'out_u1' (temp uint) +0:229 imageAtomicAnd (temp uint) +0:229 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 Constant: +0:229 0 (const uint) +0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 Constant: +0:229 0 (const uint) +0:230 move second child to first child (temp uint) +0:230 'out_u1' (temp uint) +0:230 imageAtomicCompSwap (temp uint) +0:230 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:230 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 Constant: +0:230 0 (const uint) +0:230 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 Constant: +0:230 3 (const uint) +0:230 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 Constant: +0:230 4 (const uint) +0:231 move second child to first child (temp uint) +0:231 'out_u1' (temp uint) +0:231 imageAtomicExchange (temp uint) +0:231 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 Constant: +0:231 0 (const uint) +0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 Constant: +0:231 0 (const uint) +0:232 imageAtomicMax (temp uint) +0:232 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 Constant: +0:232 0 (const uint) +0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 Constant: +0:232 0 (const uint) +0:233 move second child to first child (temp uint) +0:233 'out_u1' (temp uint) +0:233 imageAtomicMax (temp uint) +0:233 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 Constant: +0:233 0 (const uint) +0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 Constant: +0:233 0 (const uint) +0:234 imageAtomicMin (temp uint) +0:234 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 Constant: +0:234 0 (const uint) +0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 Constant: +0:234 0 (const uint) +0:235 move second child to first child (temp uint) +0:235 'out_u1' (temp uint) +0:235 imageAtomicMin (temp uint) +0:235 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 Constant: +0:235 0 (const uint) +0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 Constant: +0:235 0 (const uint) +0:236 imageAtomicOr (temp uint) +0:236 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 Constant: +0:236 0 (const uint) +0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 Constant: +0:236 0 (const uint) +0:237 move second child to first child (temp uint) +0:237 'out_u1' (temp uint) +0:237 imageAtomicOr (temp uint) +0:237 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 Constant: +0:237 0 (const uint) +0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 Constant: +0:237 0 (const uint) +0:238 imageAtomicXor (temp uint) +0:238 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 Constant: +0:238 0 (const uint) +0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 Constant: +0:238 0 (const uint) +0:239 move second child to first child (temp uint) +0:239 'out_u1' (temp uint) +0:239 imageAtomicXor (temp uint) +0:239 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 Constant: +0:239 0 (const uint) +0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 Constant: +0:239 0 (const uint) +0:242 move second child to first child (temp 4-component vector of float) +0:242 Color: direct index for structure (temp 4-component vector of float) +0:242 'psout' (temp structure{temp 4-component vector of float Color}) +0:242 Constant: +0:242 0 (const int) +0:242 Constant: +0:242 1.000000 +0:242 1.000000 +0:242 1.000000 +0:242 1.000000 +0:243 Sequence +0:243 Sequence +0:243 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:243 Color: direct index for structure (temp 4-component vector of float) +0:243 'psout' (temp structure{temp 4-component vector of float Color}) +0:243 Constant: +0:243 0 (const int) +0:243 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'g_sSamp' (uniform sampler) +0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) +0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:? 'g_tTex2df1' (layout(r32f ) uniform image2D) +0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:? 'g_tTex3df1' (layout(r32f ) uniform image3D) +0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray) +0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) +0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) +0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) +0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer) +0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:45 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:45 Function Parameters: +0:? Sequence +0:50 imageAtomicAdd (temp int) +0:50 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:50 i1: direct index for structure (layout(offset=36 ) uniform int) +0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 Constant: +0:50 5 (const uint) +0:50 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:50 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:50 Constant: +0:50 8 (const uint) +0:51 move second child to first child (temp int) +0:51 'out_i1' (temp int) +0:51 imageAtomicAdd (temp int) +0:51 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:51 i1: direct index for structure (layout(offset=36 ) uniform int) +0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 Constant: +0:51 5 (const uint) +0:51 i1: direct index for structure (layout(offset=36 ) uniform int) +0:51 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:51 Constant: +0:51 5 (const uint) +0:52 imageAtomicAnd (temp int) +0:52 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:52 i1: direct index for structure (layout(offset=36 ) uniform int) +0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 Constant: +0:52 5 (const uint) +0:52 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:52 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:52 Constant: +0:52 8 (const uint) +0:53 move second child to first child (temp int) +0:53 'out_i1' (temp int) +0:53 imageAtomicAnd (temp int) +0:53 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:53 i1: direct index for structure (layout(offset=36 ) uniform int) +0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 Constant: +0:53 5 (const uint) +0:53 i1: direct index for structure (layout(offset=36 ) uniform int) +0:53 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:53 Constant: +0:53 5 (const uint) +0:54 move second child to first child (temp int) +0:54 'out_i1' (temp int) +0:54 imageAtomicCompSwap (temp int) +0:54 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:54 i1: direct index for structure (layout(offset=36 ) uniform int) +0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 Constant: +0:54 5 (const uint) +0:54 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 Constant: +0:54 8 (const uint) +0:54 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:54 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:54 Constant: +0:54 9 (const uint) +0:55 move second child to first child (temp int) +0:55 'out_i1' (temp int) +0:55 imageAtomicExchange (temp int) +0:55 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:55 i1: direct index for structure (layout(offset=36 ) uniform int) +0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 Constant: +0:55 5 (const uint) +0:55 i1: direct index for structure (layout(offset=36 ) uniform int) +0:55 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:55 Constant: +0:55 5 (const uint) +0:56 imageAtomicMax (temp int) +0:56 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:56 i1: direct index for structure (layout(offset=36 ) uniform int) +0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 Constant: +0:56 5 (const uint) +0:56 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:56 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:56 Constant: +0:56 8 (const uint) +0:57 move second child to first child (temp int) +0:57 'out_i1' (temp int) +0:57 imageAtomicMax (temp int) +0:57 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:57 i1: direct index for structure (layout(offset=36 ) uniform int) +0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 Constant: +0:57 5 (const uint) +0:57 i1: direct index for structure (layout(offset=36 ) uniform int) +0:57 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:57 Constant: +0:57 5 (const uint) +0:58 imageAtomicMin (temp int) +0:58 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:58 i1: direct index for structure (layout(offset=36 ) uniform int) +0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 Constant: +0:58 5 (const uint) +0:58 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:58 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:58 Constant: +0:58 8 (const uint) +0:59 move second child to first child (temp int) +0:59 'out_i1' (temp int) +0:59 imageAtomicMin (temp int) +0:59 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:59 i1: direct index for structure (layout(offset=36 ) uniform int) +0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 Constant: +0:59 5 (const uint) +0:59 i1: direct index for structure (layout(offset=36 ) uniform int) +0:59 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:59 Constant: +0:59 5 (const uint) +0:60 imageAtomicOr (temp int) +0:60 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:60 i1: direct index for structure (layout(offset=36 ) uniform int) +0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 Constant: +0:60 5 (const uint) +0:60 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:60 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:60 Constant: +0:60 8 (const uint) +0:61 move second child to first child (temp int) +0:61 'out_i1' (temp int) +0:61 imageAtomicOr (temp int) +0:61 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:61 i1: direct index for structure (layout(offset=36 ) uniform int) +0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 Constant: +0:61 5 (const uint) +0:61 i1: direct index for structure (layout(offset=36 ) uniform int) +0:61 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:61 Constant: +0:61 5 (const uint) +0:62 imageAtomicXor (temp int) +0:62 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:62 i1: direct index for structure (layout(offset=36 ) uniform int) +0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 Constant: +0:62 5 (const uint) +0:62 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:62 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:62 Constant: +0:62 8 (const uint) +0:63 move second child to first child (temp int) +0:63 'out_i1' (temp int) +0:63 imageAtomicXor (temp int) +0:63 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:63 i1: direct index for structure (layout(offset=36 ) uniform int) +0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 Constant: +0:63 5 (const uint) +0:63 i1: direct index for structure (layout(offset=36 ) uniform int) +0:63 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:63 Constant: +0:63 5 (const uint) +0:66 imageAtomicAdd (temp uint) +0:66 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 Constant: +0:66 0 (const uint) +0:66 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:66 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:66 Constant: +0:66 0 (const uint) +0:67 move second child to first child (temp uint) +0:67 'out_u1' (temp uint) +0:67 imageAtomicAdd (temp uint) +0:67 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 Constant: +0:67 0 (const uint) +0:67 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:67 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:67 Constant: +0:67 0 (const uint) +0:68 imageAtomicAnd (temp uint) +0:68 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 Constant: +0:68 0 (const uint) +0:68 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:68 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:68 Constant: +0:68 0 (const uint) +0:69 move second child to first child (temp uint) +0:69 'out_u1' (temp uint) +0:69 imageAtomicAnd (temp uint) +0:69 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 Constant: +0:69 0 (const uint) +0:69 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:69 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:69 Constant: +0:69 0 (const uint) +0:70 move second child to first child (temp uint) +0:70 'out_u1' (temp uint) +0:70 imageAtomicCompSwap (temp uint) +0:70 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:70 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 Constant: +0:70 0 (const uint) +0:70 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 Constant: +0:70 3 (const uint) +0:70 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:70 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:70 Constant: +0:70 4 (const uint) +0:71 move second child to first child (temp uint) +0:71 'out_u1' (temp uint) +0:71 imageAtomicExchange (temp uint) +0:71 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 Constant: +0:71 0 (const uint) +0:71 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:71 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:71 Constant: +0:71 0 (const uint) +0:72 imageAtomicMax (temp uint) +0:72 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 Constant: +0:72 0 (const uint) +0:72 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:72 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:72 Constant: +0:72 0 (const uint) +0:73 move second child to first child (temp uint) +0:73 'out_u1' (temp uint) +0:73 imageAtomicMax (temp uint) +0:73 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 Constant: +0:73 0 (const uint) +0:73 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:73 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:73 Constant: +0:73 0 (const uint) +0:74 imageAtomicMin (temp uint) +0:74 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 Constant: +0:74 0 (const uint) +0:74 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:74 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:74 Constant: +0:74 0 (const uint) +0:75 move second child to first child (temp uint) +0:75 'out_u1' (temp uint) +0:75 imageAtomicMin (temp uint) +0:75 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 Constant: +0:75 0 (const uint) +0:75 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:75 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:75 Constant: +0:75 0 (const uint) +0:76 imageAtomicOr (temp uint) +0:76 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 Constant: +0:76 0 (const uint) +0:76 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:76 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:76 Constant: +0:76 0 (const uint) +0:77 move second child to first child (temp uint) +0:77 'out_u1' (temp uint) +0:77 imageAtomicOr (temp uint) +0:77 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 Constant: +0:77 0 (const uint) +0:77 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:77 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:77 Constant: +0:77 0 (const uint) +0:78 imageAtomicXor (temp uint) +0:78 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 Constant: +0:78 0 (const uint) +0:78 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:78 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:78 Constant: +0:78 0 (const uint) +0:79 move second child to first child (temp uint) +0:79 'out_u1' (temp uint) +0:79 imageAtomicXor (temp uint) +0:79 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 Constant: +0:79 0 (const uint) +0:79 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:79 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:79 Constant: +0:79 0 (const uint) +0:82 imageAtomicAdd (temp int) +0:82 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:82 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 Constant: +0:82 6 (const uint) +0:82 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:82 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:82 Constant: +0:82 8 (const uint) +0:83 move second child to first child (temp int) +0:83 'out_i1' (temp int) +0:83 imageAtomicAdd (temp int) +0:83 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:83 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 Constant: +0:83 6 (const uint) +0:83 i1: direct index for structure (layout(offset=36 ) uniform int) +0:83 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:83 Constant: +0:83 5 (const uint) +0:84 imageAtomicAnd (temp int) +0:84 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:84 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 Constant: +0:84 6 (const uint) +0:84 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:84 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:84 Constant: +0:84 8 (const uint) +0:85 move second child to first child (temp int) +0:85 'out_i1' (temp int) +0:85 imageAtomicAnd (temp int) +0:85 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:85 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 Constant: +0:85 6 (const uint) +0:85 i1: direct index for structure (layout(offset=36 ) uniform int) +0:85 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:85 Constant: +0:85 5 (const uint) +0:86 move second child to first child (temp int) +0:86 'out_i1' (temp int) +0:86 imageAtomicCompSwap (temp int) +0:86 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:86 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 Constant: +0:86 6 (const uint) +0:86 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 Constant: +0:86 8 (const uint) +0:86 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:86 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:86 Constant: +0:86 9 (const uint) +0:87 move second child to first child (temp int) +0:87 'out_i1' (temp int) +0:87 imageAtomicExchange (temp int) +0:87 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:87 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 Constant: +0:87 6 (const uint) +0:87 i1: direct index for structure (layout(offset=36 ) uniform int) +0:87 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:87 Constant: +0:87 5 (const uint) +0:88 imageAtomicMax (temp int) +0:88 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:88 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 Constant: +0:88 6 (const uint) +0:88 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:88 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:88 Constant: +0:88 8 (const uint) +0:89 move second child to first child (temp int) +0:89 'out_i1' (temp int) +0:89 imageAtomicMax (temp int) +0:89 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:89 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 Constant: +0:89 6 (const uint) +0:89 i1: direct index for structure (layout(offset=36 ) uniform int) +0:89 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:89 Constant: +0:89 5 (const uint) +0:90 imageAtomicMin (temp int) +0:90 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:90 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 Constant: +0:90 6 (const uint) +0:90 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:90 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:90 Constant: +0:90 8 (const uint) +0:91 move second child to first child (temp int) +0:91 'out_i1' (temp int) +0:91 imageAtomicMin (temp int) +0:91 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:91 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 Constant: +0:91 6 (const uint) +0:91 i1: direct index for structure (layout(offset=36 ) uniform int) +0:91 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:91 Constant: +0:91 5 (const uint) +0:92 imageAtomicOr (temp int) +0:92 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:92 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 Constant: +0:92 6 (const uint) +0:92 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:92 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:92 Constant: +0:92 8 (const uint) +0:93 move second child to first child (temp int) +0:93 'out_i1' (temp int) +0:93 imageAtomicOr (temp int) +0:93 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:93 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 Constant: +0:93 6 (const uint) +0:93 i1: direct index for structure (layout(offset=36 ) uniform int) +0:93 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:93 Constant: +0:93 5 (const uint) +0:94 imageAtomicXor (temp int) +0:94 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:94 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 Constant: +0:94 6 (const uint) +0:94 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:94 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:94 Constant: +0:94 8 (const uint) +0:95 move second child to first child (temp int) +0:95 'out_i1' (temp int) +0:95 imageAtomicXor (temp int) +0:95 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:95 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 Constant: +0:95 6 (const uint) +0:95 i1: direct index for structure (layout(offset=36 ) uniform int) +0:95 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:95 Constant: +0:95 5 (const uint) +0:98 imageAtomicAdd (temp uint) +0:98 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:98 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 Constant: +0:98 1 (const uint) +0:98 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:98 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:98 Constant: +0:98 0 (const uint) +0:99 move second child to first child (temp uint) +0:99 'out_u1' (temp uint) +0:99 imageAtomicAdd (temp uint) +0:99 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:99 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 Constant: +0:99 1 (const uint) +0:99 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:99 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:99 Constant: +0:99 0 (const uint) +0:100 imageAtomicAnd (temp uint) +0:100 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:100 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 Constant: +0:100 1 (const uint) +0:100 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:100 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:100 Constant: +0:100 0 (const uint) +0:101 move second child to first child (temp uint) +0:101 'out_u1' (temp uint) +0:101 imageAtomicAnd (temp uint) +0:101 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:101 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 Constant: +0:101 1 (const uint) +0:101 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:101 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:101 Constant: +0:101 0 (const uint) +0:102 move second child to first child (temp uint) +0:102 'out_u1' (temp uint) +0:102 imageAtomicCompSwap (temp uint) +0:102 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:102 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 Constant: +0:102 1 (const uint) +0:102 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 Constant: +0:102 3 (const uint) +0:102 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:102 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:102 Constant: +0:102 4 (const uint) +0:103 move second child to first child (temp uint) +0:103 'out_u1' (temp uint) +0:103 imageAtomicExchange (temp uint) +0:103 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:103 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 Constant: +0:103 1 (const uint) +0:103 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:103 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:103 Constant: +0:103 0 (const uint) +0:104 imageAtomicMax (temp uint) +0:104 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:104 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 Constant: +0:104 1 (const uint) +0:104 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:104 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:104 Constant: +0:104 0 (const uint) +0:105 move second child to first child (temp uint) +0:105 'out_u1' (temp uint) +0:105 imageAtomicMax (temp uint) +0:105 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:105 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 Constant: +0:105 1 (const uint) +0:105 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:105 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:105 Constant: +0:105 0 (const uint) +0:106 imageAtomicMin (temp uint) +0:106 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:106 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 Constant: +0:106 1 (const uint) +0:106 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:106 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:106 Constant: +0:106 0 (const uint) +0:107 move second child to first child (temp uint) +0:107 'out_u1' (temp uint) +0:107 imageAtomicMin (temp uint) +0:107 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:107 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 Constant: +0:107 1 (const uint) +0:107 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:107 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:107 Constant: +0:107 0 (const uint) +0:108 imageAtomicOr (temp uint) +0:108 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:108 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 Constant: +0:108 1 (const uint) +0:108 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:108 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:108 Constant: +0:108 0 (const uint) +0:109 move second child to first child (temp uint) +0:109 'out_u1' (temp uint) +0:109 imageAtomicOr (temp uint) +0:109 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:109 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 Constant: +0:109 1 (const uint) +0:109 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:109 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:109 Constant: +0:109 0 (const uint) +0:110 imageAtomicXor (temp uint) +0:110 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:110 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 Constant: +0:110 1 (const uint) +0:110 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:110 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:110 Constant: +0:110 0 (const uint) +0:111 move second child to first child (temp uint) +0:111 'out_u1' (temp uint) +0:111 imageAtomicXor (temp uint) +0:111 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:111 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 Constant: +0:111 1 (const uint) +0:111 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:111 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:111 Constant: +0:111 0 (const uint) +0:114 imageAtomicAdd (temp int) +0:114 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:114 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 Constant: +0:114 7 (const uint) +0:114 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:114 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:114 Constant: +0:114 8 (const uint) +0:115 move second child to first child (temp int) +0:115 'out_i1' (temp int) +0:115 imageAtomicAdd (temp int) +0:115 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:115 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 Constant: +0:115 7 (const uint) +0:115 i1: direct index for structure (layout(offset=36 ) uniform int) +0:115 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:115 Constant: +0:115 5 (const uint) +0:116 imageAtomicAnd (temp int) +0:116 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:116 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 Constant: +0:116 7 (const uint) +0:116 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:116 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:116 Constant: +0:116 8 (const uint) +0:117 move second child to first child (temp int) +0:117 'out_i1' (temp int) +0:117 imageAtomicAnd (temp int) +0:117 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:117 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 Constant: +0:117 7 (const uint) +0:117 i1: direct index for structure (layout(offset=36 ) uniform int) +0:117 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:117 Constant: +0:117 5 (const uint) +0:118 move second child to first child (temp int) +0:118 'out_i1' (temp int) +0:118 imageAtomicCompSwap (temp int) +0:118 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:118 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 Constant: +0:118 7 (const uint) +0:118 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 Constant: +0:118 8 (const uint) +0:118 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:118 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:118 Constant: +0:118 9 (const uint) +0:119 move second child to first child (temp int) +0:119 'out_i1' (temp int) +0:119 imageAtomicExchange (temp int) +0:119 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:119 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 Constant: +0:119 7 (const uint) +0:119 i1: direct index for structure (layout(offset=36 ) uniform int) +0:119 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:119 Constant: +0:119 5 (const uint) +0:120 imageAtomicMax (temp int) +0:120 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:120 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 Constant: +0:120 7 (const uint) +0:120 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:120 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:120 Constant: +0:120 8 (const uint) +0:121 move second child to first child (temp int) +0:121 'out_i1' (temp int) +0:121 imageAtomicMax (temp int) +0:121 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:121 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 Constant: +0:121 7 (const uint) +0:121 i1: direct index for structure (layout(offset=36 ) uniform int) +0:121 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:121 Constant: +0:121 5 (const uint) +0:122 imageAtomicMin (temp int) +0:122 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:122 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 Constant: +0:122 7 (const uint) +0:122 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:122 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:122 Constant: +0:122 8 (const uint) +0:123 move second child to first child (temp int) +0:123 'out_i1' (temp int) +0:123 imageAtomicMin (temp int) +0:123 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:123 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 Constant: +0:123 7 (const uint) +0:123 i1: direct index for structure (layout(offset=36 ) uniform int) +0:123 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:123 Constant: +0:123 5 (const uint) +0:124 imageAtomicOr (temp int) +0:124 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:124 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 Constant: +0:124 7 (const uint) +0:124 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:124 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:124 Constant: +0:124 8 (const uint) +0:125 move second child to first child (temp int) +0:125 'out_i1' (temp int) +0:125 imageAtomicOr (temp int) +0:125 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:125 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 Constant: +0:125 7 (const uint) +0:125 i1: direct index for structure (layout(offset=36 ) uniform int) +0:125 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:125 Constant: +0:125 5 (const uint) +0:126 imageAtomicXor (temp int) +0:126 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:126 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 Constant: +0:126 7 (const uint) +0:126 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:126 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:126 Constant: +0:126 8 (const uint) +0:127 move second child to first child (temp int) +0:127 'out_i1' (temp int) +0:127 imageAtomicXor (temp int) +0:127 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:127 i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int) +0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 Constant: +0:127 7 (const uint) +0:127 i1: direct index for structure (layout(offset=36 ) uniform int) +0:127 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:127 Constant: +0:127 5 (const uint) +0:130 imageAtomicAdd (temp uint) +0:130 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:130 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 Constant: +0:130 2 (const uint) +0:130 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:130 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:130 Constant: +0:130 0 (const uint) +0:131 move second child to first child (temp uint) +0:131 'out_u1' (temp uint) +0:131 imageAtomicAdd (temp uint) +0:131 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:131 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 Constant: +0:131 2 (const uint) +0:131 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:131 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:131 Constant: +0:131 0 (const uint) +0:132 imageAtomicAnd (temp uint) +0:132 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:132 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 Constant: +0:132 2 (const uint) +0:132 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:132 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:132 Constant: +0:132 0 (const uint) +0:133 move second child to first child (temp uint) +0:133 'out_u1' (temp uint) +0:133 imageAtomicAnd (temp uint) +0:133 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:133 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 Constant: +0:133 2 (const uint) +0:133 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:133 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:133 Constant: +0:133 0 (const uint) +0:134 move second child to first child (temp uint) +0:134 'out_u1' (temp uint) +0:134 imageAtomicCompSwap (temp uint) +0:134 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:134 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 Constant: +0:134 2 (const uint) +0:134 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 Constant: +0:134 3 (const uint) +0:134 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:134 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:134 Constant: +0:134 4 (const uint) +0:135 move second child to first child (temp uint) +0:135 'out_u1' (temp uint) +0:135 imageAtomicExchange (temp uint) +0:135 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:135 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 Constant: +0:135 2 (const uint) +0:135 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:135 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:135 Constant: +0:135 0 (const uint) +0:136 imageAtomicMax (temp uint) +0:136 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:136 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 Constant: +0:136 2 (const uint) +0:136 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:136 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:136 Constant: +0:136 0 (const uint) +0:137 move second child to first child (temp uint) +0:137 'out_u1' (temp uint) +0:137 imageAtomicMax (temp uint) +0:137 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:137 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 Constant: +0:137 2 (const uint) +0:137 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:137 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:137 Constant: +0:137 0 (const uint) +0:138 imageAtomicMin (temp uint) +0:138 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:138 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 Constant: +0:138 2 (const uint) +0:138 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:138 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:138 Constant: +0:138 0 (const uint) +0:139 move second child to first child (temp uint) +0:139 'out_u1' (temp uint) +0:139 imageAtomicMin (temp uint) +0:139 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:139 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 Constant: +0:139 2 (const uint) +0:139 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:139 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:139 Constant: +0:139 0 (const uint) +0:140 imageAtomicOr (temp uint) +0:140 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:140 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 Constant: +0:140 2 (const uint) +0:140 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:140 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:140 Constant: +0:140 0 (const uint) +0:141 move second child to first child (temp uint) +0:141 'out_u1' (temp uint) +0:141 imageAtomicOr (temp uint) +0:141 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:141 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 Constant: +0:141 2 (const uint) +0:141 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:141 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:141 Constant: +0:141 0 (const uint) +0:142 imageAtomicXor (temp uint) +0:142 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:142 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 Constant: +0:142 2 (const uint) +0:142 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:142 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:142 Constant: +0:142 0 (const uint) +0:143 move second child to first child (temp uint) +0:143 'out_u1' (temp uint) +0:143 imageAtomicXor (temp uint) +0:143 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:143 u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint) +0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 Constant: +0:143 2 (const uint) +0:143 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:143 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:143 Constant: +0:143 0 (const uint) +0:146 imageAtomicAdd (temp int) +0:146 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:146 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 Constant: +0:146 6 (const uint) +0:146 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:146 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:146 Constant: +0:146 8 (const uint) +0:147 move second child to first child (temp int) +0:147 'out_i1' (temp int) +0:147 imageAtomicAdd (temp int) +0:147 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:147 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 Constant: +0:147 6 (const uint) +0:147 i1: direct index for structure (layout(offset=36 ) uniform int) +0:147 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:147 Constant: +0:147 5 (const uint) +0:148 imageAtomicAnd (temp int) +0:148 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:148 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 Constant: +0:148 6 (const uint) +0:148 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:148 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:148 Constant: +0:148 8 (const uint) +0:149 move second child to first child (temp int) +0:149 'out_i1' (temp int) +0:149 imageAtomicAnd (temp int) +0:149 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:149 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 Constant: +0:149 6 (const uint) +0:149 i1: direct index for structure (layout(offset=36 ) uniform int) +0:149 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:149 Constant: +0:149 5 (const uint) +0:150 move second child to first child (temp int) +0:150 'out_i1' (temp int) +0:150 imageAtomicCompSwap (temp int) +0:150 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:150 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 Constant: +0:150 6 (const uint) +0:150 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 Constant: +0:150 8 (const uint) +0:150 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:150 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:150 Constant: +0:150 9 (const uint) +0:151 move second child to first child (temp int) +0:151 'out_i1' (temp int) +0:151 imageAtomicExchange (temp int) +0:151 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:151 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 Constant: +0:151 6 (const uint) +0:151 i1: direct index for structure (layout(offset=36 ) uniform int) +0:151 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:151 Constant: +0:151 5 (const uint) +0:152 imageAtomicMax (temp int) +0:152 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:152 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 Constant: +0:152 6 (const uint) +0:152 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:152 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:152 Constant: +0:152 8 (const uint) +0:153 move second child to first child (temp int) +0:153 'out_i1' (temp int) +0:153 imageAtomicMax (temp int) +0:153 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:153 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 Constant: +0:153 6 (const uint) +0:153 i1: direct index for structure (layout(offset=36 ) uniform int) +0:153 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:153 Constant: +0:153 5 (const uint) +0:154 imageAtomicMin (temp int) +0:154 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:154 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 Constant: +0:154 6 (const uint) +0:154 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:154 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:154 Constant: +0:154 8 (const uint) +0:155 move second child to first child (temp int) +0:155 'out_i1' (temp int) +0:155 imageAtomicMin (temp int) +0:155 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:155 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 Constant: +0:155 6 (const uint) +0:155 i1: direct index for structure (layout(offset=36 ) uniform int) +0:155 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:155 Constant: +0:155 5 (const uint) +0:156 imageAtomicOr (temp int) +0:156 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:156 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 Constant: +0:156 6 (const uint) +0:156 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:156 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:156 Constant: +0:156 8 (const uint) +0:157 move second child to first child (temp int) +0:157 'out_i1' (temp int) +0:157 imageAtomicOr (temp int) +0:157 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:157 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 Constant: +0:157 6 (const uint) +0:157 i1: direct index for structure (layout(offset=36 ) uniform int) +0:157 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:157 Constant: +0:157 5 (const uint) +0:158 imageAtomicXor (temp int) +0:158 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:158 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 Constant: +0:158 6 (const uint) +0:158 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:158 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:158 Constant: +0:158 8 (const uint) +0:159 move second child to first child (temp int) +0:159 'out_i1' (temp int) +0:159 imageAtomicXor (temp int) +0:159 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:159 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 Constant: +0:159 6 (const uint) +0:159 i1: direct index for structure (layout(offset=36 ) uniform int) +0:159 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:159 Constant: +0:159 5 (const uint) +0:162 imageAtomicAdd (temp uint) +0:162 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:162 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 Constant: +0:162 1 (const uint) +0:162 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:162 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:162 Constant: +0:162 0 (const uint) +0:163 move second child to first child (temp uint) +0:163 'out_u1' (temp uint) +0:163 imageAtomicAdd (temp uint) +0:163 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:163 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 Constant: +0:163 1 (const uint) +0:163 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:163 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:163 Constant: +0:163 0 (const uint) +0:164 imageAtomicAnd (temp uint) +0:164 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:164 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 Constant: +0:164 1 (const uint) +0:164 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:164 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:164 Constant: +0:164 0 (const uint) +0:165 move second child to first child (temp uint) +0:165 'out_u1' (temp uint) +0:165 imageAtomicAnd (temp uint) +0:165 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:165 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 Constant: +0:165 1 (const uint) +0:165 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:165 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:165 Constant: +0:165 0 (const uint) +0:166 move second child to first child (temp uint) +0:166 'out_u1' (temp uint) +0:166 imageAtomicCompSwap (temp uint) +0:166 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:166 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 Constant: +0:166 1 (const uint) +0:166 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 Constant: +0:166 3 (const uint) +0:166 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:166 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:166 Constant: +0:166 4 (const uint) +0:167 move second child to first child (temp uint) +0:167 'out_u1' (temp uint) +0:167 imageAtomicExchange (temp uint) +0:167 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:167 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 Constant: +0:167 1 (const uint) +0:167 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:167 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:167 Constant: +0:167 0 (const uint) +0:168 imageAtomicMax (temp uint) +0:168 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:168 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 Constant: +0:168 1 (const uint) +0:168 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:168 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:168 Constant: +0:168 0 (const uint) +0:169 move second child to first child (temp uint) +0:169 'out_u1' (temp uint) +0:169 imageAtomicMax (temp uint) +0:169 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:169 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 Constant: +0:169 1 (const uint) +0:169 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:169 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:169 Constant: +0:169 0 (const uint) +0:170 imageAtomicMin (temp uint) +0:170 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:170 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 Constant: +0:170 1 (const uint) +0:170 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:170 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:170 Constant: +0:170 0 (const uint) +0:171 move second child to first child (temp uint) +0:171 'out_u1' (temp uint) +0:171 imageAtomicMin (temp uint) +0:171 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:171 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 Constant: +0:171 1 (const uint) +0:171 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:171 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:171 Constant: +0:171 0 (const uint) +0:172 imageAtomicOr (temp uint) +0:172 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:172 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 Constant: +0:172 1 (const uint) +0:172 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:172 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:172 Constant: +0:172 0 (const uint) +0:173 move second child to first child (temp uint) +0:173 'out_u1' (temp uint) +0:173 imageAtomicOr (temp uint) +0:173 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:173 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 Constant: +0:173 1 (const uint) +0:173 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:173 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:173 Constant: +0:173 0 (const uint) +0:174 imageAtomicXor (temp uint) +0:174 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:174 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 Constant: +0:174 1 (const uint) +0:174 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:174 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:174 Constant: +0:174 0 (const uint) +0:175 move second child to first child (temp uint) +0:175 'out_u1' (temp uint) +0:175 imageAtomicXor (temp uint) +0:175 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:175 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 Constant: +0:175 1 (const uint) +0:175 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:175 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:175 Constant: +0:175 0 (const uint) +0:178 imageAtomicAdd (temp int) +0:178 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:178 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 Constant: +0:178 6 (const uint) +0:178 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:178 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:178 Constant: +0:178 8 (const uint) +0:179 move second child to first child (temp int) +0:179 'out_i1' (temp int) +0:179 imageAtomicAdd (temp int) +0:179 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:179 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 Constant: +0:179 6 (const uint) +0:179 i1: direct index for structure (layout(offset=36 ) uniform int) +0:179 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:179 Constant: +0:179 5 (const uint) +0:180 imageAtomicAnd (temp int) +0:180 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:180 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 Constant: +0:180 6 (const uint) +0:180 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:180 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:180 Constant: +0:180 8 (const uint) +0:181 move second child to first child (temp int) +0:181 'out_i1' (temp int) +0:181 imageAtomicAnd (temp int) +0:181 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:181 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 Constant: +0:181 6 (const uint) +0:181 i1: direct index for structure (layout(offset=36 ) uniform int) +0:181 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:181 Constant: +0:181 5 (const uint) +0:182 move second child to first child (temp int) +0:182 'out_i1' (temp int) +0:182 imageAtomicCompSwap (temp int) +0:182 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:182 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 Constant: +0:182 6 (const uint) +0:182 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 Constant: +0:182 8 (const uint) +0:182 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:182 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:182 Constant: +0:182 9 (const uint) +0:183 move second child to first child (temp int) +0:183 'out_i1' (temp int) +0:183 imageAtomicExchange (temp int) +0:183 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:183 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 Constant: +0:183 6 (const uint) +0:183 i1: direct index for structure (layout(offset=36 ) uniform int) +0:183 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:183 Constant: +0:183 5 (const uint) +0:184 imageAtomicMax (temp int) +0:184 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:184 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 Constant: +0:184 6 (const uint) +0:184 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:184 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:184 Constant: +0:184 8 (const uint) +0:185 move second child to first child (temp int) +0:185 'out_i1' (temp int) +0:185 imageAtomicMax (temp int) +0:185 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:185 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 Constant: +0:185 6 (const uint) +0:185 i1: direct index for structure (layout(offset=36 ) uniform int) +0:185 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:185 Constant: +0:185 5 (const uint) +0:186 imageAtomicMin (temp int) +0:186 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:186 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 Constant: +0:186 6 (const uint) +0:186 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:186 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:186 Constant: +0:186 8 (const uint) +0:187 move second child to first child (temp int) +0:187 'out_i1' (temp int) +0:187 imageAtomicMin (temp int) +0:187 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:187 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 Constant: +0:187 6 (const uint) +0:187 i1: direct index for structure (layout(offset=36 ) uniform int) +0:187 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:187 Constant: +0:187 5 (const uint) +0:188 imageAtomicOr (temp int) +0:188 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:188 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 Constant: +0:188 6 (const uint) +0:188 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:188 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:188 Constant: +0:188 8 (const uint) +0:189 move second child to first child (temp int) +0:189 'out_i1' (temp int) +0:189 imageAtomicOr (temp int) +0:189 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:189 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 Constant: +0:189 6 (const uint) +0:189 i1: direct index for structure (layout(offset=36 ) uniform int) +0:189 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:189 Constant: +0:189 5 (const uint) +0:190 imageAtomicXor (temp int) +0:190 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:190 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 Constant: +0:190 6 (const uint) +0:190 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:190 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:190 Constant: +0:190 8 (const uint) +0:191 move second child to first child (temp int) +0:191 'out_i1' (temp int) +0:191 imageAtomicXor (temp int) +0:191 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:191 i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int) +0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 Constant: +0:191 6 (const uint) +0:191 i1: direct index for structure (layout(offset=36 ) uniform int) +0:191 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:191 Constant: +0:191 5 (const uint) +0:194 imageAtomicAdd (temp uint) +0:194 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:194 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 Constant: +0:194 1 (const uint) +0:194 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:194 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:194 Constant: +0:194 0 (const uint) +0:195 move second child to first child (temp uint) +0:195 'out_u1' (temp uint) +0:195 imageAtomicAdd (temp uint) +0:195 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:195 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 Constant: +0:195 1 (const uint) +0:195 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:195 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:195 Constant: +0:195 0 (const uint) +0:196 imageAtomicAnd (temp uint) +0:196 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:196 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 Constant: +0:196 1 (const uint) +0:196 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:196 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:196 Constant: +0:196 0 (const uint) +0:197 move second child to first child (temp uint) +0:197 'out_u1' (temp uint) +0:197 imageAtomicAnd (temp uint) +0:197 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:197 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 Constant: +0:197 1 (const uint) +0:197 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:197 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:197 Constant: +0:197 0 (const uint) +0:198 move second child to first child (temp uint) +0:198 'out_u1' (temp uint) +0:198 imageAtomicCompSwap (temp uint) +0:198 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:198 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 Constant: +0:198 1 (const uint) +0:198 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 Constant: +0:198 3 (const uint) +0:198 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:198 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:198 Constant: +0:198 4 (const uint) +0:199 move second child to first child (temp uint) +0:199 'out_u1' (temp uint) +0:199 imageAtomicExchange (temp uint) +0:199 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:199 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 Constant: +0:199 1 (const uint) +0:199 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:199 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:199 Constant: +0:199 0 (const uint) +0:200 imageAtomicMax (temp uint) +0:200 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:200 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 Constant: +0:200 1 (const uint) +0:200 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:200 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:200 Constant: +0:200 0 (const uint) +0:201 move second child to first child (temp uint) +0:201 'out_u1' (temp uint) +0:201 imageAtomicMax (temp uint) +0:201 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:201 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 Constant: +0:201 1 (const uint) +0:201 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:201 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:201 Constant: +0:201 0 (const uint) +0:202 imageAtomicMin (temp uint) +0:202 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:202 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 Constant: +0:202 1 (const uint) +0:202 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:202 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:202 Constant: +0:202 0 (const uint) +0:203 move second child to first child (temp uint) +0:203 'out_u1' (temp uint) +0:203 imageAtomicMin (temp uint) +0:203 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:203 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 Constant: +0:203 1 (const uint) +0:203 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:203 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:203 Constant: +0:203 0 (const uint) +0:204 imageAtomicOr (temp uint) +0:204 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:204 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 Constant: +0:204 1 (const uint) +0:204 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:204 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:204 Constant: +0:204 0 (const uint) +0:205 move second child to first child (temp uint) +0:205 'out_u1' (temp uint) +0:205 imageAtomicOr (temp uint) +0:205 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:205 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 Constant: +0:205 1 (const uint) +0:205 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:205 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:205 Constant: +0:205 0 (const uint) +0:206 imageAtomicXor (temp uint) +0:206 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:206 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 Constant: +0:206 1 (const uint) +0:206 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:206 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:206 Constant: +0:206 0 (const uint) +0:207 move second child to first child (temp uint) +0:207 'out_u1' (temp uint) +0:207 imageAtomicXor (temp uint) +0:207 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:207 u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint) +0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 Constant: +0:207 1 (const uint) +0:207 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:207 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:207 Constant: +0:207 0 (const uint) +0:210 imageAtomicAdd (temp int) +0:210 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:210 i1: direct index for structure (layout(offset=36 ) uniform int) +0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 Constant: +0:210 5 (const uint) +0:210 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:210 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:210 Constant: +0:210 8 (const uint) +0:211 move second child to first child (temp int) +0:211 'out_i1' (temp int) +0:211 imageAtomicAdd (temp int) +0:211 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:211 i1: direct index for structure (layout(offset=36 ) uniform int) +0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 Constant: +0:211 5 (const uint) +0:211 i1: direct index for structure (layout(offset=36 ) uniform int) +0:211 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:211 Constant: +0:211 5 (const uint) +0:212 imageAtomicAnd (temp int) +0:212 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:212 i1: direct index for structure (layout(offset=36 ) uniform int) +0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 Constant: +0:212 5 (const uint) +0:212 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:212 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:212 Constant: +0:212 8 (const uint) +0:213 move second child to first child (temp int) +0:213 'out_i1' (temp int) +0:213 imageAtomicAnd (temp int) +0:213 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:213 i1: direct index for structure (layout(offset=36 ) uniform int) +0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 Constant: +0:213 5 (const uint) +0:213 i1: direct index for structure (layout(offset=36 ) uniform int) +0:213 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:213 Constant: +0:213 5 (const uint) +0:214 move second child to first child (temp int) +0:214 'out_i1' (temp int) +0:214 imageAtomicCompSwap (temp int) +0:214 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:214 i1: direct index for structure (layout(offset=36 ) uniform int) +0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 Constant: +0:214 5 (const uint) +0:214 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 Constant: +0:214 8 (const uint) +0:214 i1c: direct index for structure (layout(offset=64 ) uniform int) +0:214 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:214 Constant: +0:214 9 (const uint) +0:215 move second child to first child (temp int) +0:215 'out_i1' (temp int) +0:215 imageAtomicExchange (temp int) +0:215 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:215 i1: direct index for structure (layout(offset=36 ) uniform int) +0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 Constant: +0:215 5 (const uint) +0:215 i1: direct index for structure (layout(offset=36 ) uniform int) +0:215 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:215 Constant: +0:215 5 (const uint) +0:216 imageAtomicMax (temp int) +0:216 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:216 i1: direct index for structure (layout(offset=36 ) uniform int) +0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 Constant: +0:216 5 (const uint) +0:216 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:216 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:216 Constant: +0:216 8 (const uint) +0:217 move second child to first child (temp int) +0:217 'out_i1' (temp int) +0:217 imageAtomicMax (temp int) +0:217 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:217 i1: direct index for structure (layout(offset=36 ) uniform int) +0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 Constant: +0:217 5 (const uint) +0:217 i1: direct index for structure (layout(offset=36 ) uniform int) +0:217 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:217 Constant: +0:217 5 (const uint) +0:218 imageAtomicMin (temp int) +0:218 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:218 i1: direct index for structure (layout(offset=36 ) uniform int) +0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 Constant: +0:218 5 (const uint) +0:218 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:218 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:218 Constant: +0:218 8 (const uint) +0:219 move second child to first child (temp int) +0:219 'out_i1' (temp int) +0:219 imageAtomicMin (temp int) +0:219 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:219 i1: direct index for structure (layout(offset=36 ) uniform int) +0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 Constant: +0:219 5 (const uint) +0:219 i1: direct index for structure (layout(offset=36 ) uniform int) +0:219 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:219 Constant: +0:219 5 (const uint) +0:220 imageAtomicOr (temp int) +0:220 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:220 i1: direct index for structure (layout(offset=36 ) uniform int) +0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 Constant: +0:220 5 (const uint) +0:220 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:220 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:220 Constant: +0:220 8 (const uint) +0:221 move second child to first child (temp int) +0:221 'out_i1' (temp int) +0:221 imageAtomicOr (temp int) +0:221 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:221 i1: direct index for structure (layout(offset=36 ) uniform int) +0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 Constant: +0:221 5 (const uint) +0:221 i1: direct index for structure (layout(offset=36 ) uniform int) +0:221 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:221 Constant: +0:221 5 (const uint) +0:222 imageAtomicXor (temp int) +0:222 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:222 i1: direct index for structure (layout(offset=36 ) uniform int) +0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 Constant: +0:222 5 (const uint) +0:222 i1b: direct index for structure (layout(offset=60 ) uniform int) +0:222 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:222 Constant: +0:222 8 (const uint) +0:223 move second child to first child (temp int) +0:223 'out_i1' (temp int) +0:223 imageAtomicXor (temp int) +0:223 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:223 i1: direct index for structure (layout(offset=36 ) uniform int) +0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 Constant: +0:223 5 (const uint) +0:223 i1: direct index for structure (layout(offset=36 ) uniform int) +0:223 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:223 Constant: +0:223 5 (const uint) +0:226 imageAtomicAdd (temp uint) +0:226 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 Constant: +0:226 0 (const uint) +0:226 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:226 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:226 Constant: +0:226 0 (const uint) +0:227 move second child to first child (temp uint) +0:227 'out_u1' (temp uint) +0:227 imageAtomicAdd (temp uint) +0:227 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 Constant: +0:227 0 (const uint) +0:227 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:227 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:227 Constant: +0:227 0 (const uint) +0:228 imageAtomicAnd (temp uint) +0:228 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 Constant: +0:228 0 (const uint) +0:228 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:228 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:228 Constant: +0:228 0 (const uint) +0:229 move second child to first child (temp uint) +0:229 'out_u1' (temp uint) +0:229 imageAtomicAnd (temp uint) +0:229 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 Constant: +0:229 0 (const uint) +0:229 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:229 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:229 Constant: +0:229 0 (const uint) +0:230 move second child to first child (temp uint) +0:230 'out_u1' (temp uint) +0:230 imageAtomicCompSwap (temp uint) +0:230 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:230 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 Constant: +0:230 0 (const uint) +0:230 u1b: direct index for structure (layout(offset=28 ) uniform uint) +0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 Constant: +0:230 3 (const uint) +0:230 u1c: direct index for structure (layout(offset=32 ) uniform uint) +0:230 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:230 Constant: +0:230 4 (const uint) +0:231 move second child to first child (temp uint) +0:231 'out_u1' (temp uint) +0:231 imageAtomicExchange (temp uint) +0:231 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 Constant: +0:231 0 (const uint) +0:231 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:231 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:231 Constant: +0:231 0 (const uint) +0:232 imageAtomicMax (temp uint) +0:232 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 Constant: +0:232 0 (const uint) +0:232 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:232 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:232 Constant: +0:232 0 (const uint) +0:233 move second child to first child (temp uint) +0:233 'out_u1' (temp uint) +0:233 imageAtomicMax (temp uint) +0:233 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 Constant: +0:233 0 (const uint) +0:233 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:233 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:233 Constant: +0:233 0 (const uint) +0:234 imageAtomicMin (temp uint) +0:234 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 Constant: +0:234 0 (const uint) +0:234 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:234 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:234 Constant: +0:234 0 (const uint) +0:235 move second child to first child (temp uint) +0:235 'out_u1' (temp uint) +0:235 imageAtomicMin (temp uint) +0:235 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 Constant: +0:235 0 (const uint) +0:235 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:235 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:235 Constant: +0:235 0 (const uint) +0:236 imageAtomicOr (temp uint) +0:236 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 Constant: +0:236 0 (const uint) +0:236 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:236 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:236 Constant: +0:236 0 (const uint) +0:237 move second child to first child (temp uint) +0:237 'out_u1' (temp uint) +0:237 imageAtomicOr (temp uint) +0:237 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 Constant: +0:237 0 (const uint) +0:237 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:237 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:237 Constant: +0:237 0 (const uint) +0:238 imageAtomicXor (temp uint) +0:238 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 Constant: +0:238 0 (const uint) +0:238 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:238 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:238 Constant: +0:238 0 (const uint) +0:239 move second child to first child (temp uint) +0:239 'out_u1' (temp uint) +0:239 imageAtomicXor (temp uint) +0:239 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 Constant: +0:239 0 (const uint) +0:239 u1: direct index for structure (layout(offset=0 ) uniform uint) +0:239 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) +0:239 Constant: +0:239 0 (const uint) +0:242 move second child to first child (temp 4-component vector of float) +0:242 Color: direct index for structure (temp 4-component vector of float) +0:242 'psout' (temp structure{temp 4-component vector of float Color}) +0:242 Constant: +0:242 0 (const int) +0:242 Constant: +0:242 1.000000 +0:242 1.000000 +0:242 1.000000 +0:242 1.000000 +0:243 Sequence +0:243 Sequence +0:243 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:243 Color: direct index for structure (temp 4-component vector of float) +0:243 'psout' (temp structure{temp 4-component vector of float Color}) +0:243 Constant: +0:243 0 (const int) +0:243 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'g_sSamp' (uniform sampler) +0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) +0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) +0:? 'g_tTex1du1' (layout(r32ui ) uniform uimage1D) +0:? 'g_tTex2df1' (layout(r32f ) uniform image2D) +0:? 'g_tTex2di1' (layout(r32i ) uniform iimage2D) +0:? 'g_tTex2du1' (layout(r32ui ) uniform uimage2D) +0:? 'g_tTex3df1' (layout(r32f ) uniform image3D) +0:? 'g_tTex3di1' (layout(r32i ) uniform iimage3D) +0:? 'g_tTex3du1' (layout(r32ui ) uniform uimage3D) +0:? 'g_tTex1df1a' (layout(r32f ) uniform image1DArray) +0:? 'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray) +0:? 'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray) +0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) +0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) +0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) +0:? 'g_tBuffF' (layout(r32f ) uniform imageBuffer) +0:? 'g_tBuffI' (layout(r32i ) uniform iimageBuffer) +0:? 'g_tBuffU' (layout(r32ui ) uniform uimageBuffer) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c}) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 1142 + + Capability Shader + Capability Sampled1D + Capability SampledBuffer + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 1111 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 9 "g_tTex1di1" + Name 15 "$Global" + MemberName 15($Global) 0 "u1" + MemberName 15($Global) 1 "u2" + MemberName 15($Global) 2 "u3" + MemberName 15($Global) 3 "u1b" + MemberName 15($Global) 4 "u1c" + MemberName 15($Global) 5 "i1" + MemberName 15($Global) 6 "i2" + MemberName 15($Global) 7 "i3" + MemberName 15($Global) 8 "i1b" + MemberName 15($Global) 9 "i1c" + Name 17 "" + Name 31 "out_i1" + Name 115 "g_tTex1du1" + Name 126 "out_u1" + Name 211 "g_tTex2di1" + Name 302 "g_tTex2du1" + Name 393 "g_tTex3di1" + Name 484 "g_tTex3du1" + Name 575 "g_tTex1di1a" + Name 664 "g_tTex1du1a" + Name 925 "g_tBuffI" + Name 1014 "g_tBuffU" + Name 1103 "PS_OUTPUT" + MemberName 1103(PS_OUTPUT) 0 "Color" + Name 1105 "psout" + Name 1111 "Color" + Name 1117 "g_sSamp" + Name 1120 "g_tTex1df1" + Name 1123 "g_tTex2df1" + Name 1126 "g_tTex3df1" + Name 1129 "g_tTex1df1a" + Name 1132 "g_tTex2df1a" + Name 1135 "g_tTex2di1a" + Name 1138 "g_tTex2du1a" + Name 1141 "g_tBuffF" + Decorate 9(g_tTex1di1) DescriptorSet 0 + MemberDecorate 15($Global) 0 Offset 0 + MemberDecorate 15($Global) 1 Offset 8 + MemberDecorate 15($Global) 2 Offset 16 + MemberDecorate 15($Global) 3 Offset 28 + MemberDecorate 15($Global) 4 Offset 32 + MemberDecorate 15($Global) 5 Offset 36 + MemberDecorate 15($Global) 6 Offset 40 + MemberDecorate 15($Global) 7 Offset 48 + MemberDecorate 15($Global) 8 Offset 60 + MemberDecorate 15($Global) 9 Offset 64 + Decorate 15($Global) Block + Decorate 17 DescriptorSet 0 + Decorate 115(g_tTex1du1) DescriptorSet 0 + Decorate 211(g_tTex2di1) DescriptorSet 0 + Decorate 302(g_tTex2du1) DescriptorSet 0 + Decorate 393(g_tTex3di1) DescriptorSet 0 + Decorate 484(g_tTex3du1) DescriptorSet 0 + Decorate 575(g_tTex1di1a) DescriptorSet 0 + Decorate 664(g_tTex1du1a) DescriptorSet 0 + Decorate 925(g_tBuffI) DescriptorSet 0 + Decorate 1014(g_tBuffU) DescriptorSet 0 + Decorate 1111(Color) Location 0 + Decorate 1117(g_sSamp) DescriptorSet 0 + Decorate 1120(g_tTex1df1) DescriptorSet 0 + Decorate 1123(g_tTex2df1) DescriptorSet 0 + Decorate 1126(g_tTex3df1) DescriptorSet 0 + Decorate 1129(g_tTex1df1a) DescriptorSet 0 + Decorate 1132(g_tTex2df1a) DescriptorSet 0 + Decorate 1135(g_tTex2di1a) DescriptorSet 0 + Decorate 1138(g_tTex2du1a) DescriptorSet 0 + Decorate 1141(g_tBuffF) DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypeImage 6(int) 1D nonsampled format:R32i + 8: TypePointer UniformConstant 7 + 9(g_tTex1di1): 8(ptr) Variable UniformConstant + 10: TypeInt 32 0 + 11: TypeVector 10(int) 2 + 12: TypeVector 10(int) 3 + 13: TypeVector 6(int) 2 + 14: TypeVector 6(int) 3 + 15($Global): TypeStruct 10(int) 11(ivec2) 12(ivec3) 10(int) 10(int) 6(int) 13(ivec2) 14(ivec3) 6(int) 6(int) + 16: TypePointer Uniform 15($Global) + 17: 16(ptr) Variable Uniform + 18: 6(int) Constant 5 + 19: TypePointer Uniform 6(int) + 22: 6(int) Constant 8 + 25: 10(int) Constant 0 + 26: TypePointer Image 6(int) + 28: 10(int) Constant 1 + 30: TypePointer Function 6(int) + 54: 6(int) Constant 9 + 113: TypeImage 10(int) 1D nonsampled format:R32ui + 114: TypePointer UniformConstant 113 + 115(g_tTex1du1): 114(ptr) Variable UniformConstant + 116: 6(int) Constant 0 + 117: TypePointer Uniform 10(int) + 122: TypePointer Image 10(int) + 125: TypePointer Function 10(int) + 147: 6(int) Constant 3 + 150: 6(int) Constant 4 + 209: TypeImage 6(int) 2D nonsampled format:R32i + 210: TypePointer UniformConstant 209 + 211(g_tTex2di1): 210(ptr) Variable UniformConstant + 212: 6(int) Constant 6 + 213: TypePointer Uniform 13(ivec2) + 300: TypeImage 10(int) 2D nonsampled format:R32ui + 301: TypePointer UniformConstant 300 + 302(g_tTex2du1): 301(ptr) Variable UniformConstant + 303: 6(int) Constant 1 + 304: TypePointer Uniform 11(ivec2) + 391: TypeImage 6(int) 3D nonsampled format:R32i + 392: TypePointer UniformConstant 391 + 393(g_tTex3di1): 392(ptr) Variable UniformConstant + 394: 6(int) Constant 7 + 395: TypePointer Uniform 14(ivec3) + 482: TypeImage 10(int) 3D nonsampled format:R32ui + 483: TypePointer UniformConstant 482 + 484(g_tTex3du1): 483(ptr) Variable UniformConstant + 485: 6(int) Constant 2 + 486: TypePointer Uniform 12(ivec3) + 573: TypeImage 6(int) 1D array nonsampled format:R32i + 574: TypePointer UniformConstant 573 +575(g_tTex1di1a): 574(ptr) Variable UniformConstant + 662: TypeImage 10(int) 1D array nonsampled format:R32ui + 663: TypePointer UniformConstant 662 +664(g_tTex1du1a): 663(ptr) Variable UniformConstant + 923: TypeImage 6(int) Buffer nonsampled format:R32i + 924: TypePointer UniformConstant 923 + 925(g_tBuffI): 924(ptr) Variable UniformConstant + 1012: TypeImage 10(int) Buffer nonsampled format:R32ui + 1013: TypePointer UniformConstant 1012 + 1014(g_tBuffU): 1013(ptr) Variable UniformConstant + 1101: TypeFloat 32 + 1102: TypeVector 1101(float) 4 + 1103(PS_OUTPUT): TypeStruct 1102(fvec4) + 1104: TypePointer Function 1103(PS_OUTPUT) + 1106: 1101(float) Constant 1065353216 + 1107: 1102(fvec4) ConstantComposite 1106 1106 1106 1106 + 1108: TypePointer Function 1102(fvec4) + 1110: TypePointer Output 1102(fvec4) + 1111(Color): 1110(ptr) Variable Output + 1115: TypeSampler + 1116: TypePointer UniformConstant 1115 + 1117(g_sSamp): 1116(ptr) Variable UniformConstant + 1118: TypeImage 1101(float) 1D nonsampled format:R32f + 1119: TypePointer UniformConstant 1118 +1120(g_tTex1df1): 1119(ptr) Variable UniformConstant + 1121: TypeImage 1101(float) 2D nonsampled format:R32f + 1122: TypePointer UniformConstant 1121 +1123(g_tTex2df1): 1122(ptr) Variable UniformConstant + 1124: TypeImage 1101(float) 3D nonsampled format:R32f + 1125: TypePointer UniformConstant 1124 +1126(g_tTex3df1): 1125(ptr) Variable UniformConstant + 1127: TypeImage 1101(float) 1D array nonsampled format:R32f + 1128: TypePointer UniformConstant 1127 +1129(g_tTex1df1a): 1128(ptr) Variable UniformConstant + 1130: TypeImage 1101(float) 2D array nonsampled format:R32f + 1131: TypePointer UniformConstant 1130 +1132(g_tTex2df1a): 1131(ptr) Variable UniformConstant + 1133: TypeImage 6(int) 2D array nonsampled format:R32i + 1134: TypePointer UniformConstant 1133 +1135(g_tTex2di1a): 1134(ptr) Variable UniformConstant + 1136: TypeImage 10(int) 2D array nonsampled format:R32ui + 1137: TypePointer UniformConstant 1136 +1138(g_tTex2du1a): 1137(ptr) Variable UniformConstant + 1139: TypeImage 1101(float) Buffer nonsampled format:R32f + 1140: TypePointer UniformConstant 1139 + 1141(g_tBuffF): 1140(ptr) Variable UniformConstant + 4(main): 2 Function None 3 + 5: Label + 31(out_i1): 30(ptr) Variable Function + 126(out_u1): 125(ptr) Variable Function + 1105(psout): 1104(ptr) Variable Function + 20: 19(ptr) AccessChain 17 18 + 21: 6(int) Load 20 + 23: 19(ptr) AccessChain 17 22 + 24: 6(int) Load 23 + 27: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 21 25 + 29: 6(int) AtomicIAdd 27 28 25 24 + 32: 19(ptr) AccessChain 17 18 + 33: 6(int) Load 32 + 34: 19(ptr) AccessChain 17 18 + 35: 6(int) Load 34 + 36: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 33 25 + 37: 6(int) AtomicIAdd 36 28 25 35 + Store 31(out_i1) 37 + 38: 19(ptr) AccessChain 17 18 + 39: 6(int) Load 38 + 40: 19(ptr) AccessChain 17 22 + 41: 6(int) Load 40 + 42: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 39 25 + 43: 6(int) AtomicAnd 42 28 25 41 + 44: 19(ptr) AccessChain 17 18 + 45: 6(int) Load 44 + 46: 19(ptr) AccessChain 17 18 + 47: 6(int) Load 46 + 48: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 45 25 + 49: 6(int) AtomicAnd 48 28 25 47 + Store 31(out_i1) 49 + 50: 19(ptr) AccessChain 17 18 + 51: 6(int) Load 50 + 52: 19(ptr) AccessChain 17 22 + 53: 6(int) Load 52 + 55: 19(ptr) AccessChain 17 54 + 56: 6(int) Load 55 + 57: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 51 25 + 58: 6(int) AtomicCompareExchange 57 28 25 25 56 53 + Store 31(out_i1) 58 + 59: 19(ptr) AccessChain 17 18 + 60: 6(int) Load 59 + 61: 19(ptr) AccessChain 17 18 + 62: 6(int) Load 61 + 63: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 60 25 + 64: 6(int) AtomicExchange 63 28 25 62 + Store 31(out_i1) 64 + 65: 19(ptr) AccessChain 17 18 + 66: 6(int) Load 65 + 67: 19(ptr) AccessChain 17 22 + 68: 6(int) Load 67 + 69: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 66 25 + 70: 6(int) AtomicSMax 69 28 25 68 + 71: 19(ptr) AccessChain 17 18 + 72: 6(int) Load 71 + 73: 19(ptr) AccessChain 17 18 + 74: 6(int) Load 73 + 75: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 72 25 + 76: 6(int) AtomicSMax 75 28 25 74 + Store 31(out_i1) 76 + 77: 19(ptr) AccessChain 17 18 + 78: 6(int) Load 77 + 79: 19(ptr) AccessChain 17 22 + 80: 6(int) Load 79 + 81: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 78 25 + 82: 6(int) AtomicSMin 81 28 25 80 + 83: 19(ptr) AccessChain 17 18 + 84: 6(int) Load 83 + 85: 19(ptr) AccessChain 17 18 + 86: 6(int) Load 85 + 87: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 84 25 + 88: 6(int) AtomicSMin 87 28 25 86 + Store 31(out_i1) 88 + 89: 19(ptr) AccessChain 17 18 + 90: 6(int) Load 89 + 91: 19(ptr) AccessChain 17 22 + 92: 6(int) Load 91 + 93: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 90 25 + 94: 6(int) AtomicOr 93 28 25 92 + 95: 19(ptr) AccessChain 17 18 + 96: 6(int) Load 95 + 97: 19(ptr) AccessChain 17 18 + 98: 6(int) Load 97 + 99: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 96 25 + 100: 6(int) AtomicOr 99 28 25 98 + Store 31(out_i1) 100 + 101: 19(ptr) AccessChain 17 18 + 102: 6(int) Load 101 + 103: 19(ptr) AccessChain 17 22 + 104: 6(int) Load 103 + 105: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 102 25 + 106: 6(int) AtomicXor 105 28 25 104 + 107: 19(ptr) AccessChain 17 18 + 108: 6(int) Load 107 + 109: 19(ptr) AccessChain 17 18 + 110: 6(int) Load 109 + 111: 26(ptr) ImageTexelPointer 9(g_tTex1di1) 108 25 + 112: 6(int) AtomicXor 111 28 25 110 + Store 31(out_i1) 112 + 118: 117(ptr) AccessChain 17 116 + 119: 10(int) Load 118 + 120: 117(ptr) AccessChain 17 116 + 121: 10(int) Load 120 + 123: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 119 25 + 124: 10(int) AtomicIAdd 123 28 25 121 + 127: 117(ptr) AccessChain 17 116 + 128: 10(int) Load 127 + 129: 117(ptr) AccessChain 17 116 + 130: 10(int) Load 129 + 131: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 128 25 + 132: 10(int) AtomicIAdd 131 28 25 130 + Store 126(out_u1) 132 + 133: 117(ptr) AccessChain 17 116 + 134: 10(int) Load 133 + 135: 117(ptr) AccessChain 17 116 + 136: 10(int) Load 135 + 137: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 134 25 + 138: 10(int) AtomicAnd 137 28 25 136 + 139: 117(ptr) AccessChain 17 116 + 140: 10(int) Load 139 + 141: 117(ptr) AccessChain 17 116 + 142: 10(int) Load 141 + 143: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 140 25 + 144: 10(int) AtomicAnd 143 28 25 142 + Store 126(out_u1) 144 + 145: 117(ptr) AccessChain 17 116 + 146: 10(int) Load 145 + 148: 117(ptr) AccessChain 17 147 + 149: 10(int) Load 148 + 151: 117(ptr) AccessChain 17 150 + 152: 10(int) Load 151 + 153: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 146 25 + 154: 10(int) AtomicCompareExchange 153 28 25 25 152 149 + Store 126(out_u1) 154 + 155: 117(ptr) AccessChain 17 116 + 156: 10(int) Load 155 + 157: 117(ptr) AccessChain 17 116 + 158: 10(int) Load 157 + 159: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 156 25 + 160: 10(int) AtomicExchange 159 28 25 158 + Store 126(out_u1) 160 + 161: 117(ptr) AccessChain 17 116 + 162: 10(int) Load 161 + 163: 117(ptr) AccessChain 17 116 + 164: 10(int) Load 163 + 165: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 162 25 + 166: 10(int) AtomicUMax 165 28 25 164 + 167: 117(ptr) AccessChain 17 116 + 168: 10(int) Load 167 + 169: 117(ptr) AccessChain 17 116 + 170: 10(int) Load 169 + 171: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 168 25 + 172: 10(int) AtomicUMax 171 28 25 170 + Store 126(out_u1) 172 + 173: 117(ptr) AccessChain 17 116 + 174: 10(int) Load 173 + 175: 117(ptr) AccessChain 17 116 + 176: 10(int) Load 175 + 177: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 174 25 + 178: 10(int) AtomicUMin 177 28 25 176 + 179: 117(ptr) AccessChain 17 116 + 180: 10(int) Load 179 + 181: 117(ptr) AccessChain 17 116 + 182: 10(int) Load 181 + 183: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 180 25 + 184: 10(int) AtomicUMin 183 28 25 182 + Store 126(out_u1) 184 + 185: 117(ptr) AccessChain 17 116 + 186: 10(int) Load 185 + 187: 117(ptr) AccessChain 17 116 + 188: 10(int) Load 187 + 189: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 186 25 + 190: 10(int) AtomicOr 189 28 25 188 + 191: 117(ptr) AccessChain 17 116 + 192: 10(int) Load 191 + 193: 117(ptr) AccessChain 17 116 + 194: 10(int) Load 193 + 195: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 192 25 + 196: 10(int) AtomicOr 195 28 25 194 + Store 126(out_u1) 196 + 197: 117(ptr) AccessChain 17 116 + 198: 10(int) Load 197 + 199: 117(ptr) AccessChain 17 116 + 200: 10(int) Load 199 + 201: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 198 25 + 202: 10(int) AtomicXor 201 28 25 200 + 203: 117(ptr) AccessChain 17 116 + 204: 10(int) Load 203 + 205: 117(ptr) AccessChain 17 116 + 206: 10(int) Load 205 + 207: 122(ptr) ImageTexelPointer 115(g_tTex1du1) 204 25 + 208: 10(int) AtomicXor 207 28 25 206 + Store 126(out_u1) 208 + 214: 213(ptr) AccessChain 17 212 + 215: 13(ivec2) Load 214 + 216: 19(ptr) AccessChain 17 22 + 217: 6(int) Load 216 + 218: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 215 25 + 219: 6(int) AtomicIAdd 218 28 25 217 + 220: 213(ptr) AccessChain 17 212 + 221: 13(ivec2) Load 220 + 222: 19(ptr) AccessChain 17 18 + 223: 6(int) Load 222 + 224: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 221 25 + 225: 6(int) AtomicIAdd 224 28 25 223 + Store 31(out_i1) 225 + 226: 213(ptr) AccessChain 17 212 + 227: 13(ivec2) Load 226 + 228: 19(ptr) AccessChain 17 22 + 229: 6(int) Load 228 + 230: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 227 25 + 231: 6(int) AtomicAnd 230 28 25 229 + 232: 213(ptr) AccessChain 17 212 + 233: 13(ivec2) Load 232 + 234: 19(ptr) AccessChain 17 18 + 235: 6(int) Load 234 + 236: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 233 25 + 237: 6(int) AtomicAnd 236 28 25 235 + Store 31(out_i1) 237 + 238: 213(ptr) AccessChain 17 212 + 239: 13(ivec2) Load 238 + 240: 19(ptr) AccessChain 17 22 + 241: 6(int) Load 240 + 242: 19(ptr) AccessChain 17 54 + 243: 6(int) Load 242 + 244: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 239 25 + 245: 6(int) AtomicCompareExchange 244 28 25 25 243 241 + Store 31(out_i1) 245 + 246: 213(ptr) AccessChain 17 212 + 247: 13(ivec2) Load 246 + 248: 19(ptr) AccessChain 17 18 + 249: 6(int) Load 248 + 250: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 247 25 + 251: 6(int) AtomicExchange 250 28 25 249 + Store 31(out_i1) 251 + 252: 213(ptr) AccessChain 17 212 + 253: 13(ivec2) Load 252 + 254: 19(ptr) AccessChain 17 22 + 255: 6(int) Load 254 + 256: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 253 25 + 257: 6(int) AtomicSMax 256 28 25 255 + 258: 213(ptr) AccessChain 17 212 + 259: 13(ivec2) Load 258 + 260: 19(ptr) AccessChain 17 18 + 261: 6(int) Load 260 + 262: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 259 25 + 263: 6(int) AtomicSMax 262 28 25 261 + Store 31(out_i1) 263 + 264: 213(ptr) AccessChain 17 212 + 265: 13(ivec2) Load 264 + 266: 19(ptr) AccessChain 17 22 + 267: 6(int) Load 266 + 268: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 265 25 + 269: 6(int) AtomicSMin 268 28 25 267 + 270: 213(ptr) AccessChain 17 212 + 271: 13(ivec2) Load 270 + 272: 19(ptr) AccessChain 17 18 + 273: 6(int) Load 272 + 274: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 271 25 + 275: 6(int) AtomicSMin 274 28 25 273 + Store 31(out_i1) 275 + 276: 213(ptr) AccessChain 17 212 + 277: 13(ivec2) Load 276 + 278: 19(ptr) AccessChain 17 22 + 279: 6(int) Load 278 + 280: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 277 25 + 281: 6(int) AtomicOr 280 28 25 279 + 282: 213(ptr) AccessChain 17 212 + 283: 13(ivec2) Load 282 + 284: 19(ptr) AccessChain 17 18 + 285: 6(int) Load 284 + 286: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 283 25 + 287: 6(int) AtomicOr 286 28 25 285 + Store 31(out_i1) 287 + 288: 213(ptr) AccessChain 17 212 + 289: 13(ivec2) Load 288 + 290: 19(ptr) AccessChain 17 22 + 291: 6(int) Load 290 + 292: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 289 25 + 293: 6(int) AtomicXor 292 28 25 291 + 294: 213(ptr) AccessChain 17 212 + 295: 13(ivec2) Load 294 + 296: 19(ptr) AccessChain 17 18 + 297: 6(int) Load 296 + 298: 26(ptr) ImageTexelPointer 211(g_tTex2di1) 295 25 + 299: 6(int) AtomicXor 298 28 25 297 + Store 31(out_i1) 299 + 305: 304(ptr) AccessChain 17 303 + 306: 11(ivec2) Load 305 + 307: 117(ptr) AccessChain 17 116 + 308: 10(int) Load 307 + 309: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 306 25 + 310: 10(int) AtomicIAdd 309 28 25 308 + 311: 304(ptr) AccessChain 17 303 + 312: 11(ivec2) Load 311 + 313: 117(ptr) AccessChain 17 116 + 314: 10(int) Load 313 + 315: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 312 25 + 316: 10(int) AtomicIAdd 315 28 25 314 + Store 126(out_u1) 316 + 317: 304(ptr) AccessChain 17 303 + 318: 11(ivec2) Load 317 + 319: 117(ptr) AccessChain 17 116 + 320: 10(int) Load 319 + 321: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 318 25 + 322: 10(int) AtomicAnd 321 28 25 320 + 323: 304(ptr) AccessChain 17 303 + 324: 11(ivec2) Load 323 + 325: 117(ptr) AccessChain 17 116 + 326: 10(int) Load 325 + 327: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 324 25 + 328: 10(int) AtomicAnd 327 28 25 326 + Store 126(out_u1) 328 + 329: 304(ptr) AccessChain 17 303 + 330: 11(ivec2) Load 329 + 331: 117(ptr) AccessChain 17 147 + 332: 10(int) Load 331 + 333: 117(ptr) AccessChain 17 150 + 334: 10(int) Load 333 + 335: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 330 25 + 336: 10(int) AtomicCompareExchange 335 28 25 25 334 332 + Store 126(out_u1) 336 + 337: 304(ptr) AccessChain 17 303 + 338: 11(ivec2) Load 337 + 339: 117(ptr) AccessChain 17 116 + 340: 10(int) Load 339 + 341: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 338 25 + 342: 10(int) AtomicExchange 341 28 25 340 + Store 126(out_u1) 342 + 343: 304(ptr) AccessChain 17 303 + 344: 11(ivec2) Load 343 + 345: 117(ptr) AccessChain 17 116 + 346: 10(int) Load 345 + 347: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 344 25 + 348: 10(int) AtomicUMax 347 28 25 346 + 349: 304(ptr) AccessChain 17 303 + 350: 11(ivec2) Load 349 + 351: 117(ptr) AccessChain 17 116 + 352: 10(int) Load 351 + 353: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 350 25 + 354: 10(int) AtomicUMax 353 28 25 352 + Store 126(out_u1) 354 + 355: 304(ptr) AccessChain 17 303 + 356: 11(ivec2) Load 355 + 357: 117(ptr) AccessChain 17 116 + 358: 10(int) Load 357 + 359: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 356 25 + 360: 10(int) AtomicUMin 359 28 25 358 + 361: 304(ptr) AccessChain 17 303 + 362: 11(ivec2) Load 361 + 363: 117(ptr) AccessChain 17 116 + 364: 10(int) Load 363 + 365: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 362 25 + 366: 10(int) AtomicUMin 365 28 25 364 + Store 126(out_u1) 366 + 367: 304(ptr) AccessChain 17 303 + 368: 11(ivec2) Load 367 + 369: 117(ptr) AccessChain 17 116 + 370: 10(int) Load 369 + 371: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 368 25 + 372: 10(int) AtomicOr 371 28 25 370 + 373: 304(ptr) AccessChain 17 303 + 374: 11(ivec2) Load 373 + 375: 117(ptr) AccessChain 17 116 + 376: 10(int) Load 375 + 377: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 374 25 + 378: 10(int) AtomicOr 377 28 25 376 + Store 126(out_u1) 378 + 379: 304(ptr) AccessChain 17 303 + 380: 11(ivec2) Load 379 + 381: 117(ptr) AccessChain 17 116 + 382: 10(int) Load 381 + 383: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 380 25 + 384: 10(int) AtomicXor 383 28 25 382 + 385: 304(ptr) AccessChain 17 303 + 386: 11(ivec2) Load 385 + 387: 117(ptr) AccessChain 17 116 + 388: 10(int) Load 387 + 389: 122(ptr) ImageTexelPointer 302(g_tTex2du1) 386 25 + 390: 10(int) AtomicXor 389 28 25 388 + Store 126(out_u1) 390 + 396: 395(ptr) AccessChain 17 394 + 397: 14(ivec3) Load 396 + 398: 19(ptr) AccessChain 17 22 + 399: 6(int) Load 398 + 400: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 397 25 + 401: 6(int) AtomicIAdd 400 28 25 399 + 402: 395(ptr) AccessChain 17 394 + 403: 14(ivec3) Load 402 + 404: 19(ptr) AccessChain 17 18 + 405: 6(int) Load 404 + 406: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 403 25 + 407: 6(int) AtomicIAdd 406 28 25 405 + Store 31(out_i1) 407 + 408: 395(ptr) AccessChain 17 394 + 409: 14(ivec3) Load 408 + 410: 19(ptr) AccessChain 17 22 + 411: 6(int) Load 410 + 412: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 409 25 + 413: 6(int) AtomicAnd 412 28 25 411 + 414: 395(ptr) AccessChain 17 394 + 415: 14(ivec3) Load 414 + 416: 19(ptr) AccessChain 17 18 + 417: 6(int) Load 416 + 418: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 415 25 + 419: 6(int) AtomicAnd 418 28 25 417 + Store 31(out_i1) 419 + 420: 395(ptr) AccessChain 17 394 + 421: 14(ivec3) Load 420 + 422: 19(ptr) AccessChain 17 22 + 423: 6(int) Load 422 + 424: 19(ptr) AccessChain 17 54 + 425: 6(int) Load 424 + 426: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 421 25 + 427: 6(int) AtomicCompareExchange 426 28 25 25 425 423 + Store 31(out_i1) 427 + 428: 395(ptr) AccessChain 17 394 + 429: 14(ivec3) Load 428 + 430: 19(ptr) AccessChain 17 18 + 431: 6(int) Load 430 + 432: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 429 25 + 433: 6(int) AtomicExchange 432 28 25 431 + Store 31(out_i1) 433 + 434: 395(ptr) AccessChain 17 394 + 435: 14(ivec3) Load 434 + 436: 19(ptr) AccessChain 17 22 + 437: 6(int) Load 436 + 438: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 435 25 + 439: 6(int) AtomicSMax 438 28 25 437 + 440: 395(ptr) AccessChain 17 394 + 441: 14(ivec3) Load 440 + 442: 19(ptr) AccessChain 17 18 + 443: 6(int) Load 442 + 444: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 441 25 + 445: 6(int) AtomicSMax 444 28 25 443 + Store 31(out_i1) 445 + 446: 395(ptr) AccessChain 17 394 + 447: 14(ivec3) Load 446 + 448: 19(ptr) AccessChain 17 22 + 449: 6(int) Load 448 + 450: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 447 25 + 451: 6(int) AtomicSMin 450 28 25 449 + 452: 395(ptr) AccessChain 17 394 + 453: 14(ivec3) Load 452 + 454: 19(ptr) AccessChain 17 18 + 455: 6(int) Load 454 + 456: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 453 25 + 457: 6(int) AtomicSMin 456 28 25 455 + Store 31(out_i1) 457 + 458: 395(ptr) AccessChain 17 394 + 459: 14(ivec3) Load 458 + 460: 19(ptr) AccessChain 17 22 + 461: 6(int) Load 460 + 462: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 459 25 + 463: 6(int) AtomicOr 462 28 25 461 + 464: 395(ptr) AccessChain 17 394 + 465: 14(ivec3) Load 464 + 466: 19(ptr) AccessChain 17 18 + 467: 6(int) Load 466 + 468: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 465 25 + 469: 6(int) AtomicOr 468 28 25 467 + Store 31(out_i1) 469 + 470: 395(ptr) AccessChain 17 394 + 471: 14(ivec3) Load 470 + 472: 19(ptr) AccessChain 17 22 + 473: 6(int) Load 472 + 474: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 471 25 + 475: 6(int) AtomicXor 474 28 25 473 + 476: 395(ptr) AccessChain 17 394 + 477: 14(ivec3) Load 476 + 478: 19(ptr) AccessChain 17 18 + 479: 6(int) Load 478 + 480: 26(ptr) ImageTexelPointer 393(g_tTex3di1) 477 25 + 481: 6(int) AtomicXor 480 28 25 479 + Store 31(out_i1) 481 + 487: 486(ptr) AccessChain 17 485 + 488: 12(ivec3) Load 487 + 489: 117(ptr) AccessChain 17 116 + 490: 10(int) Load 489 + 491: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 488 25 + 492: 10(int) AtomicIAdd 491 28 25 490 + 493: 486(ptr) AccessChain 17 485 + 494: 12(ivec3) Load 493 + 495: 117(ptr) AccessChain 17 116 + 496: 10(int) Load 495 + 497: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 494 25 + 498: 10(int) AtomicIAdd 497 28 25 496 + Store 126(out_u1) 498 + 499: 486(ptr) AccessChain 17 485 + 500: 12(ivec3) Load 499 + 501: 117(ptr) AccessChain 17 116 + 502: 10(int) Load 501 + 503: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 500 25 + 504: 10(int) AtomicAnd 503 28 25 502 + 505: 486(ptr) AccessChain 17 485 + 506: 12(ivec3) Load 505 + 507: 117(ptr) AccessChain 17 116 + 508: 10(int) Load 507 + 509: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 506 25 + 510: 10(int) AtomicAnd 509 28 25 508 + Store 126(out_u1) 510 + 511: 486(ptr) AccessChain 17 485 + 512: 12(ivec3) Load 511 + 513: 117(ptr) AccessChain 17 147 + 514: 10(int) Load 513 + 515: 117(ptr) AccessChain 17 150 + 516: 10(int) Load 515 + 517: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 512 25 + 518: 10(int) AtomicCompareExchange 517 28 25 25 516 514 + Store 126(out_u1) 518 + 519: 486(ptr) AccessChain 17 485 + 520: 12(ivec3) Load 519 + 521: 117(ptr) AccessChain 17 116 + 522: 10(int) Load 521 + 523: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 520 25 + 524: 10(int) AtomicExchange 523 28 25 522 + Store 126(out_u1) 524 + 525: 486(ptr) AccessChain 17 485 + 526: 12(ivec3) Load 525 + 527: 117(ptr) AccessChain 17 116 + 528: 10(int) Load 527 + 529: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 526 25 + 530: 10(int) AtomicUMax 529 28 25 528 + 531: 486(ptr) AccessChain 17 485 + 532: 12(ivec3) Load 531 + 533: 117(ptr) AccessChain 17 116 + 534: 10(int) Load 533 + 535: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 532 25 + 536: 10(int) AtomicUMax 535 28 25 534 + Store 126(out_u1) 536 + 537: 486(ptr) AccessChain 17 485 + 538: 12(ivec3) Load 537 + 539: 117(ptr) AccessChain 17 116 + 540: 10(int) Load 539 + 541: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 538 25 + 542: 10(int) AtomicUMin 541 28 25 540 + 543: 486(ptr) AccessChain 17 485 + 544: 12(ivec3) Load 543 + 545: 117(ptr) AccessChain 17 116 + 546: 10(int) Load 545 + 547: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 544 25 + 548: 10(int) AtomicUMin 547 28 25 546 + Store 126(out_u1) 548 + 549: 486(ptr) AccessChain 17 485 + 550: 12(ivec3) Load 549 + 551: 117(ptr) AccessChain 17 116 + 552: 10(int) Load 551 + 553: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 550 25 + 554: 10(int) AtomicOr 553 28 25 552 + 555: 486(ptr) AccessChain 17 485 + 556: 12(ivec3) Load 555 + 557: 117(ptr) AccessChain 17 116 + 558: 10(int) Load 557 + 559: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 556 25 + 560: 10(int) AtomicOr 559 28 25 558 + Store 126(out_u1) 560 + 561: 486(ptr) AccessChain 17 485 + 562: 12(ivec3) Load 561 + 563: 117(ptr) AccessChain 17 116 + 564: 10(int) Load 563 + 565: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 562 25 + 566: 10(int) AtomicXor 565 28 25 564 + 567: 486(ptr) AccessChain 17 485 + 568: 12(ivec3) Load 567 + 569: 117(ptr) AccessChain 17 116 + 570: 10(int) Load 569 + 571: 122(ptr) ImageTexelPointer 484(g_tTex3du1) 568 25 + 572: 10(int) AtomicXor 571 28 25 570 + Store 126(out_u1) 572 + 576: 213(ptr) AccessChain 17 212 + 577: 13(ivec2) Load 576 + 578: 19(ptr) AccessChain 17 22 + 579: 6(int) Load 578 + 580: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 577 25 + 581: 6(int) AtomicIAdd 580 28 25 579 + 582: 213(ptr) AccessChain 17 212 + 583: 13(ivec2) Load 582 + 584: 19(ptr) AccessChain 17 18 + 585: 6(int) Load 584 + 586: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 583 25 + 587: 6(int) AtomicIAdd 586 28 25 585 + Store 31(out_i1) 587 + 588: 213(ptr) AccessChain 17 212 + 589: 13(ivec2) Load 588 + 590: 19(ptr) AccessChain 17 22 + 591: 6(int) Load 590 + 592: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 589 25 + 593: 6(int) AtomicAnd 592 28 25 591 + 594: 213(ptr) AccessChain 17 212 + 595: 13(ivec2) Load 594 + 596: 19(ptr) AccessChain 17 18 + 597: 6(int) Load 596 + 598: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 595 25 + 599: 6(int) AtomicAnd 598 28 25 597 + Store 31(out_i1) 599 + 600: 213(ptr) AccessChain 17 212 + 601: 13(ivec2) Load 600 + 602: 19(ptr) AccessChain 17 22 + 603: 6(int) Load 602 + 604: 19(ptr) AccessChain 17 54 + 605: 6(int) Load 604 + 606: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 601 25 + 607: 6(int) AtomicCompareExchange 606 28 25 25 605 603 + Store 31(out_i1) 607 + 608: 213(ptr) AccessChain 17 212 + 609: 13(ivec2) Load 608 + 610: 19(ptr) AccessChain 17 18 + 611: 6(int) Load 610 + 612: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 609 25 + 613: 6(int) AtomicExchange 612 28 25 611 + Store 31(out_i1) 613 + 614: 213(ptr) AccessChain 17 212 + 615: 13(ivec2) Load 614 + 616: 19(ptr) AccessChain 17 22 + 617: 6(int) Load 616 + 618: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 615 25 + 619: 6(int) AtomicSMax 618 28 25 617 + 620: 213(ptr) AccessChain 17 212 + 621: 13(ivec2) Load 620 + 622: 19(ptr) AccessChain 17 18 + 623: 6(int) Load 622 + 624: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 621 25 + 625: 6(int) AtomicSMax 624 28 25 623 + Store 31(out_i1) 625 + 626: 213(ptr) AccessChain 17 212 + 627: 13(ivec2) Load 626 + 628: 19(ptr) AccessChain 17 22 + 629: 6(int) Load 628 + 630: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 627 25 + 631: 6(int) AtomicSMin 630 28 25 629 + 632: 213(ptr) AccessChain 17 212 + 633: 13(ivec2) Load 632 + 634: 19(ptr) AccessChain 17 18 + 635: 6(int) Load 634 + 636: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 633 25 + 637: 6(int) AtomicSMin 636 28 25 635 + Store 31(out_i1) 637 + 638: 213(ptr) AccessChain 17 212 + 639: 13(ivec2) Load 638 + 640: 19(ptr) AccessChain 17 22 + 641: 6(int) Load 640 + 642: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 639 25 + 643: 6(int) AtomicOr 642 28 25 641 + 644: 213(ptr) AccessChain 17 212 + 645: 13(ivec2) Load 644 + 646: 19(ptr) AccessChain 17 18 + 647: 6(int) Load 646 + 648: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 645 25 + 649: 6(int) AtomicOr 648 28 25 647 + Store 31(out_i1) 649 + 650: 213(ptr) AccessChain 17 212 + 651: 13(ivec2) Load 650 + 652: 19(ptr) AccessChain 17 22 + 653: 6(int) Load 652 + 654: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 651 25 + 655: 6(int) AtomicXor 654 28 25 653 + 656: 213(ptr) AccessChain 17 212 + 657: 13(ivec2) Load 656 + 658: 19(ptr) AccessChain 17 18 + 659: 6(int) Load 658 + 660: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 657 25 + 661: 6(int) AtomicXor 660 28 25 659 + Store 31(out_i1) 661 + 665: 304(ptr) AccessChain 17 303 + 666: 11(ivec2) Load 665 + 667: 117(ptr) AccessChain 17 116 + 668: 10(int) Load 667 + 669: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 666 25 + 670: 10(int) AtomicIAdd 669 28 25 668 + 671: 304(ptr) AccessChain 17 303 + 672: 11(ivec2) Load 671 + 673: 117(ptr) AccessChain 17 116 + 674: 10(int) Load 673 + 675: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 672 25 + 676: 10(int) AtomicIAdd 675 28 25 674 + Store 126(out_u1) 676 + 677: 304(ptr) AccessChain 17 303 + 678: 11(ivec2) Load 677 + 679: 117(ptr) AccessChain 17 116 + 680: 10(int) Load 679 + 681: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 678 25 + 682: 10(int) AtomicAnd 681 28 25 680 + 683: 304(ptr) AccessChain 17 303 + 684: 11(ivec2) Load 683 + 685: 117(ptr) AccessChain 17 116 + 686: 10(int) Load 685 + 687: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 684 25 + 688: 10(int) AtomicAnd 687 28 25 686 + Store 126(out_u1) 688 + 689: 304(ptr) AccessChain 17 303 + 690: 11(ivec2) Load 689 + 691: 117(ptr) AccessChain 17 147 + 692: 10(int) Load 691 + 693: 117(ptr) AccessChain 17 150 + 694: 10(int) Load 693 + 695: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 690 25 + 696: 10(int) AtomicCompareExchange 695 28 25 25 694 692 + Store 126(out_u1) 696 + 697: 304(ptr) AccessChain 17 303 + 698: 11(ivec2) Load 697 + 699: 117(ptr) AccessChain 17 116 + 700: 10(int) Load 699 + 701: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 698 25 + 702: 10(int) AtomicExchange 701 28 25 700 + Store 126(out_u1) 702 + 703: 304(ptr) AccessChain 17 303 + 704: 11(ivec2) Load 703 + 705: 117(ptr) AccessChain 17 116 + 706: 10(int) Load 705 + 707: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 704 25 + 708: 10(int) AtomicUMax 707 28 25 706 + 709: 304(ptr) AccessChain 17 303 + 710: 11(ivec2) Load 709 + 711: 117(ptr) AccessChain 17 116 + 712: 10(int) Load 711 + 713: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 710 25 + 714: 10(int) AtomicUMax 713 28 25 712 + Store 126(out_u1) 714 + 715: 304(ptr) AccessChain 17 303 + 716: 11(ivec2) Load 715 + 717: 117(ptr) AccessChain 17 116 + 718: 10(int) Load 717 + 719: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 716 25 + 720: 10(int) AtomicUMin 719 28 25 718 + 721: 304(ptr) AccessChain 17 303 + 722: 11(ivec2) Load 721 + 723: 117(ptr) AccessChain 17 116 + 724: 10(int) Load 723 + 725: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 722 25 + 726: 10(int) AtomicUMin 725 28 25 724 + Store 126(out_u1) 726 + 727: 304(ptr) AccessChain 17 303 + 728: 11(ivec2) Load 727 + 729: 117(ptr) AccessChain 17 116 + 730: 10(int) Load 729 + 731: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 728 25 + 732: 10(int) AtomicOr 731 28 25 730 + 733: 304(ptr) AccessChain 17 303 + 734: 11(ivec2) Load 733 + 735: 117(ptr) AccessChain 17 116 + 736: 10(int) Load 735 + 737: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 734 25 + 738: 10(int) AtomicOr 737 28 25 736 + Store 126(out_u1) 738 + 739: 304(ptr) AccessChain 17 303 + 740: 11(ivec2) Load 739 + 741: 117(ptr) AccessChain 17 116 + 742: 10(int) Load 741 + 743: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 740 25 + 744: 10(int) AtomicXor 743 28 25 742 + 745: 304(ptr) AccessChain 17 303 + 746: 11(ivec2) Load 745 + 747: 117(ptr) AccessChain 17 116 + 748: 10(int) Load 747 + 749: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 746 25 + 750: 10(int) AtomicXor 749 28 25 748 + Store 126(out_u1) 750 + 751: 213(ptr) AccessChain 17 212 + 752: 13(ivec2) Load 751 + 753: 19(ptr) AccessChain 17 22 + 754: 6(int) Load 753 + 755: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 752 25 + 756: 6(int) AtomicIAdd 755 28 25 754 + 757: 213(ptr) AccessChain 17 212 + 758: 13(ivec2) Load 757 + 759: 19(ptr) AccessChain 17 18 + 760: 6(int) Load 759 + 761: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 758 25 + 762: 6(int) AtomicIAdd 761 28 25 760 + Store 31(out_i1) 762 + 763: 213(ptr) AccessChain 17 212 + 764: 13(ivec2) Load 763 + 765: 19(ptr) AccessChain 17 22 + 766: 6(int) Load 765 + 767: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 764 25 + 768: 6(int) AtomicAnd 767 28 25 766 + 769: 213(ptr) AccessChain 17 212 + 770: 13(ivec2) Load 769 + 771: 19(ptr) AccessChain 17 18 + 772: 6(int) Load 771 + 773: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 770 25 + 774: 6(int) AtomicAnd 773 28 25 772 + Store 31(out_i1) 774 + 775: 213(ptr) AccessChain 17 212 + 776: 13(ivec2) Load 775 + 777: 19(ptr) AccessChain 17 22 + 778: 6(int) Load 777 + 779: 19(ptr) AccessChain 17 54 + 780: 6(int) Load 779 + 781: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 776 25 + 782: 6(int) AtomicCompareExchange 781 28 25 25 780 778 + Store 31(out_i1) 782 + 783: 213(ptr) AccessChain 17 212 + 784: 13(ivec2) Load 783 + 785: 19(ptr) AccessChain 17 18 + 786: 6(int) Load 785 + 787: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 784 25 + 788: 6(int) AtomicExchange 787 28 25 786 + Store 31(out_i1) 788 + 789: 213(ptr) AccessChain 17 212 + 790: 13(ivec2) Load 789 + 791: 19(ptr) AccessChain 17 22 + 792: 6(int) Load 791 + 793: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 790 25 + 794: 6(int) AtomicSMax 793 28 25 792 + 795: 213(ptr) AccessChain 17 212 + 796: 13(ivec2) Load 795 + 797: 19(ptr) AccessChain 17 18 + 798: 6(int) Load 797 + 799: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 796 25 + 800: 6(int) AtomicSMax 799 28 25 798 + Store 31(out_i1) 800 + 801: 213(ptr) AccessChain 17 212 + 802: 13(ivec2) Load 801 + 803: 19(ptr) AccessChain 17 22 + 804: 6(int) Load 803 + 805: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 802 25 + 806: 6(int) AtomicSMin 805 28 25 804 + 807: 213(ptr) AccessChain 17 212 + 808: 13(ivec2) Load 807 + 809: 19(ptr) AccessChain 17 18 + 810: 6(int) Load 809 + 811: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 808 25 + 812: 6(int) AtomicSMin 811 28 25 810 + Store 31(out_i1) 812 + 813: 213(ptr) AccessChain 17 212 + 814: 13(ivec2) Load 813 + 815: 19(ptr) AccessChain 17 22 + 816: 6(int) Load 815 + 817: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 814 25 + 818: 6(int) AtomicOr 817 28 25 816 + 819: 213(ptr) AccessChain 17 212 + 820: 13(ivec2) Load 819 + 821: 19(ptr) AccessChain 17 18 + 822: 6(int) Load 821 + 823: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 820 25 + 824: 6(int) AtomicOr 823 28 25 822 + Store 31(out_i1) 824 + 825: 213(ptr) AccessChain 17 212 + 826: 13(ivec2) Load 825 + 827: 19(ptr) AccessChain 17 22 + 828: 6(int) Load 827 + 829: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 826 25 + 830: 6(int) AtomicXor 829 28 25 828 + 831: 213(ptr) AccessChain 17 212 + 832: 13(ivec2) Load 831 + 833: 19(ptr) AccessChain 17 18 + 834: 6(int) Load 833 + 835: 26(ptr) ImageTexelPointer 575(g_tTex1di1a) 832 25 + 836: 6(int) AtomicXor 835 28 25 834 + Store 31(out_i1) 836 + 837: 304(ptr) AccessChain 17 303 + 838: 11(ivec2) Load 837 + 839: 117(ptr) AccessChain 17 116 + 840: 10(int) Load 839 + 841: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 838 25 + 842: 10(int) AtomicIAdd 841 28 25 840 + 843: 304(ptr) AccessChain 17 303 + 844: 11(ivec2) Load 843 + 845: 117(ptr) AccessChain 17 116 + 846: 10(int) Load 845 + 847: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 844 25 + 848: 10(int) AtomicIAdd 847 28 25 846 + Store 126(out_u1) 848 + 849: 304(ptr) AccessChain 17 303 + 850: 11(ivec2) Load 849 + 851: 117(ptr) AccessChain 17 116 + 852: 10(int) Load 851 + 853: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 850 25 + 854: 10(int) AtomicAnd 853 28 25 852 + 855: 304(ptr) AccessChain 17 303 + 856: 11(ivec2) Load 855 + 857: 117(ptr) AccessChain 17 116 + 858: 10(int) Load 857 + 859: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 856 25 + 860: 10(int) AtomicAnd 859 28 25 858 + Store 126(out_u1) 860 + 861: 304(ptr) AccessChain 17 303 + 862: 11(ivec2) Load 861 + 863: 117(ptr) AccessChain 17 147 + 864: 10(int) Load 863 + 865: 117(ptr) AccessChain 17 150 + 866: 10(int) Load 865 + 867: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 862 25 + 868: 10(int) AtomicCompareExchange 867 28 25 25 866 864 + Store 126(out_u1) 868 + 869: 304(ptr) AccessChain 17 303 + 870: 11(ivec2) Load 869 + 871: 117(ptr) AccessChain 17 116 + 872: 10(int) Load 871 + 873: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 870 25 + 874: 10(int) AtomicExchange 873 28 25 872 + Store 126(out_u1) 874 + 875: 304(ptr) AccessChain 17 303 + 876: 11(ivec2) Load 875 + 877: 117(ptr) AccessChain 17 116 + 878: 10(int) Load 877 + 879: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 876 25 + 880: 10(int) AtomicUMax 879 28 25 878 + 881: 304(ptr) AccessChain 17 303 + 882: 11(ivec2) Load 881 + 883: 117(ptr) AccessChain 17 116 + 884: 10(int) Load 883 + 885: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 882 25 + 886: 10(int) AtomicUMax 885 28 25 884 + Store 126(out_u1) 886 + 887: 304(ptr) AccessChain 17 303 + 888: 11(ivec2) Load 887 + 889: 117(ptr) AccessChain 17 116 + 890: 10(int) Load 889 + 891: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 888 25 + 892: 10(int) AtomicUMin 891 28 25 890 + 893: 304(ptr) AccessChain 17 303 + 894: 11(ivec2) Load 893 + 895: 117(ptr) AccessChain 17 116 + 896: 10(int) Load 895 + 897: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 894 25 + 898: 10(int) AtomicUMin 897 28 25 896 + Store 126(out_u1) 898 + 899: 304(ptr) AccessChain 17 303 + 900: 11(ivec2) Load 899 + 901: 117(ptr) AccessChain 17 116 + 902: 10(int) Load 901 + 903: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 900 25 + 904: 10(int) AtomicOr 903 28 25 902 + 905: 304(ptr) AccessChain 17 303 + 906: 11(ivec2) Load 905 + 907: 117(ptr) AccessChain 17 116 + 908: 10(int) Load 907 + 909: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 906 25 + 910: 10(int) AtomicOr 909 28 25 908 + Store 126(out_u1) 910 + 911: 304(ptr) AccessChain 17 303 + 912: 11(ivec2) Load 911 + 913: 117(ptr) AccessChain 17 116 + 914: 10(int) Load 913 + 915: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 912 25 + 916: 10(int) AtomicXor 915 28 25 914 + 917: 304(ptr) AccessChain 17 303 + 918: 11(ivec2) Load 917 + 919: 117(ptr) AccessChain 17 116 + 920: 10(int) Load 919 + 921: 122(ptr) ImageTexelPointer 664(g_tTex1du1a) 918 25 + 922: 10(int) AtomicXor 921 28 25 920 + Store 126(out_u1) 922 + 926: 19(ptr) AccessChain 17 18 + 927: 6(int) Load 926 + 928: 19(ptr) AccessChain 17 22 + 929: 6(int) Load 928 + 930: 26(ptr) ImageTexelPointer 925(g_tBuffI) 927 25 + 931: 6(int) AtomicIAdd 930 28 25 929 + 932: 19(ptr) AccessChain 17 18 + 933: 6(int) Load 932 + 934: 19(ptr) AccessChain 17 18 + 935: 6(int) Load 934 + 936: 26(ptr) ImageTexelPointer 925(g_tBuffI) 933 25 + 937: 6(int) AtomicIAdd 936 28 25 935 + Store 31(out_i1) 937 + 938: 19(ptr) AccessChain 17 18 + 939: 6(int) Load 938 + 940: 19(ptr) AccessChain 17 22 + 941: 6(int) Load 940 + 942: 26(ptr) ImageTexelPointer 925(g_tBuffI) 939 25 + 943: 6(int) AtomicAnd 942 28 25 941 + 944: 19(ptr) AccessChain 17 18 + 945: 6(int) Load 944 + 946: 19(ptr) AccessChain 17 18 + 947: 6(int) Load 946 + 948: 26(ptr) ImageTexelPointer 925(g_tBuffI) 945 25 + 949: 6(int) AtomicAnd 948 28 25 947 + Store 31(out_i1) 949 + 950: 19(ptr) AccessChain 17 18 + 951: 6(int) Load 950 + 952: 19(ptr) AccessChain 17 22 + 953: 6(int) Load 952 + 954: 19(ptr) AccessChain 17 54 + 955: 6(int) Load 954 + 956: 26(ptr) ImageTexelPointer 925(g_tBuffI) 951 25 + 957: 6(int) AtomicCompareExchange 956 28 25 25 955 953 + Store 31(out_i1) 957 + 958: 19(ptr) AccessChain 17 18 + 959: 6(int) Load 958 + 960: 19(ptr) AccessChain 17 18 + 961: 6(int) Load 960 + 962: 26(ptr) ImageTexelPointer 925(g_tBuffI) 959 25 + 963: 6(int) AtomicExchange 962 28 25 961 + Store 31(out_i1) 963 + 964: 19(ptr) AccessChain 17 18 + 965: 6(int) Load 964 + 966: 19(ptr) AccessChain 17 22 + 967: 6(int) Load 966 + 968: 26(ptr) ImageTexelPointer 925(g_tBuffI) 965 25 + 969: 6(int) AtomicSMax 968 28 25 967 + 970: 19(ptr) AccessChain 17 18 + 971: 6(int) Load 970 + 972: 19(ptr) AccessChain 17 18 + 973: 6(int) Load 972 + 974: 26(ptr) ImageTexelPointer 925(g_tBuffI) 971 25 + 975: 6(int) AtomicSMax 974 28 25 973 + Store 31(out_i1) 975 + 976: 19(ptr) AccessChain 17 18 + 977: 6(int) Load 976 + 978: 19(ptr) AccessChain 17 22 + 979: 6(int) Load 978 + 980: 26(ptr) ImageTexelPointer 925(g_tBuffI) 977 25 + 981: 6(int) AtomicSMin 980 28 25 979 + 982: 19(ptr) AccessChain 17 18 + 983: 6(int) Load 982 + 984: 19(ptr) AccessChain 17 18 + 985: 6(int) Load 984 + 986: 26(ptr) ImageTexelPointer 925(g_tBuffI) 983 25 + 987: 6(int) AtomicSMin 986 28 25 985 + Store 31(out_i1) 987 + 988: 19(ptr) AccessChain 17 18 + 989: 6(int) Load 988 + 990: 19(ptr) AccessChain 17 22 + 991: 6(int) Load 990 + 992: 26(ptr) ImageTexelPointer 925(g_tBuffI) 989 25 + 993: 6(int) AtomicOr 992 28 25 991 + 994: 19(ptr) AccessChain 17 18 + 995: 6(int) Load 994 + 996: 19(ptr) AccessChain 17 18 + 997: 6(int) Load 996 + 998: 26(ptr) ImageTexelPointer 925(g_tBuffI) 995 25 + 999: 6(int) AtomicOr 998 28 25 997 + Store 31(out_i1) 999 + 1000: 19(ptr) AccessChain 17 18 + 1001: 6(int) Load 1000 + 1002: 19(ptr) AccessChain 17 22 + 1003: 6(int) Load 1002 + 1004: 26(ptr) ImageTexelPointer 925(g_tBuffI) 1001 25 + 1005: 6(int) AtomicXor 1004 28 25 1003 + 1006: 19(ptr) AccessChain 17 18 + 1007: 6(int) Load 1006 + 1008: 19(ptr) AccessChain 17 18 + 1009: 6(int) Load 1008 + 1010: 26(ptr) ImageTexelPointer 925(g_tBuffI) 1007 25 + 1011: 6(int) AtomicXor 1010 28 25 1009 + Store 31(out_i1) 1011 + 1015: 117(ptr) AccessChain 17 116 + 1016: 10(int) Load 1015 + 1017: 117(ptr) AccessChain 17 116 + 1018: 10(int) Load 1017 + 1019: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1016 25 + 1020: 10(int) AtomicIAdd 1019 28 25 1018 + 1021: 117(ptr) AccessChain 17 116 + 1022: 10(int) Load 1021 + 1023: 117(ptr) AccessChain 17 116 + 1024: 10(int) Load 1023 + 1025: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1022 25 + 1026: 10(int) AtomicIAdd 1025 28 25 1024 + Store 126(out_u1) 1026 + 1027: 117(ptr) AccessChain 17 116 + 1028: 10(int) Load 1027 + 1029: 117(ptr) AccessChain 17 116 + 1030: 10(int) Load 1029 + 1031: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1028 25 + 1032: 10(int) AtomicAnd 1031 28 25 1030 + 1033: 117(ptr) AccessChain 17 116 + 1034: 10(int) Load 1033 + 1035: 117(ptr) AccessChain 17 116 + 1036: 10(int) Load 1035 + 1037: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1034 25 + 1038: 10(int) AtomicAnd 1037 28 25 1036 + Store 126(out_u1) 1038 + 1039: 117(ptr) AccessChain 17 116 + 1040: 10(int) Load 1039 + 1041: 117(ptr) AccessChain 17 147 + 1042: 10(int) Load 1041 + 1043: 117(ptr) AccessChain 17 150 + 1044: 10(int) Load 1043 + 1045: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1040 25 + 1046: 10(int) AtomicCompareExchange 1045 28 25 25 1044 1042 + Store 126(out_u1) 1046 + 1047: 117(ptr) AccessChain 17 116 + 1048: 10(int) Load 1047 + 1049: 117(ptr) AccessChain 17 116 + 1050: 10(int) Load 1049 + 1051: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1048 25 + 1052: 10(int) AtomicExchange 1051 28 25 1050 + Store 126(out_u1) 1052 + 1053: 117(ptr) AccessChain 17 116 + 1054: 10(int) Load 1053 + 1055: 117(ptr) AccessChain 17 116 + 1056: 10(int) Load 1055 + 1057: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1054 25 + 1058: 10(int) AtomicUMax 1057 28 25 1056 + 1059: 117(ptr) AccessChain 17 116 + 1060: 10(int) Load 1059 + 1061: 117(ptr) AccessChain 17 116 + 1062: 10(int) Load 1061 + 1063: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1060 25 + 1064: 10(int) AtomicUMax 1063 28 25 1062 + Store 126(out_u1) 1064 + 1065: 117(ptr) AccessChain 17 116 + 1066: 10(int) Load 1065 + 1067: 117(ptr) AccessChain 17 116 + 1068: 10(int) Load 1067 + 1069: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1066 25 + 1070: 10(int) AtomicUMin 1069 28 25 1068 + 1071: 117(ptr) AccessChain 17 116 + 1072: 10(int) Load 1071 + 1073: 117(ptr) AccessChain 17 116 + 1074: 10(int) Load 1073 + 1075: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1072 25 + 1076: 10(int) AtomicUMin 1075 28 25 1074 + Store 126(out_u1) 1076 + 1077: 117(ptr) AccessChain 17 116 + 1078: 10(int) Load 1077 + 1079: 117(ptr) AccessChain 17 116 + 1080: 10(int) Load 1079 + 1081: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1078 25 + 1082: 10(int) AtomicOr 1081 28 25 1080 + 1083: 117(ptr) AccessChain 17 116 + 1084: 10(int) Load 1083 + 1085: 117(ptr) AccessChain 17 116 + 1086: 10(int) Load 1085 + 1087: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1084 25 + 1088: 10(int) AtomicOr 1087 28 25 1086 + Store 126(out_u1) 1088 + 1089: 117(ptr) AccessChain 17 116 + 1090: 10(int) Load 1089 + 1091: 117(ptr) AccessChain 17 116 + 1092: 10(int) Load 1091 + 1093: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1090 25 + 1094: 10(int) AtomicXor 1093 28 25 1092 + 1095: 117(ptr) AccessChain 17 116 + 1096: 10(int) Load 1095 + 1097: 117(ptr) AccessChain 17 116 + 1098: 10(int) Load 1097 + 1099: 122(ptr) ImageTexelPointer 1014(g_tBuffU) 1096 25 + 1100: 10(int) AtomicXor 1099 28 25 1098 + Store 126(out_u1) 1100 + 1109: 1108(ptr) AccessChain 1105(psout) 116 + Store 1109 1107 + 1112: 1108(ptr) AccessChain 1105(psout) 116 + 1113: 1102(fvec4) Load 1112 + Store 1111(Color) 1113 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out index c6e3c89e..31ed4a98 100644 --- a/Test/baseResults/hlsl.rw.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.bracket.frag.out @@ -847,6 +847,7 @@ gl_FragCoord origin is upper left 0:139 0 (const int) 0:139 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -863,8 +864,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) Linked fragment stage: @@ -1718,6 +1718,7 @@ gl_FragCoord origin is upper left 0:139 0 (const int) 0:139 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D) 0:? 'g_tTex1di4' (layout(rgba32i ) uniform iimage1D) @@ -1734,8 +1735,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray) 0:? 'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray) 0:? 'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out new file mode 100644 index 00000000..f369cac7 --- /dev/null +++ b/Test/baseResults/hlsl.rw.register.frag.out @@ -0,0 +1,158 @@ +hlsl.rw.register.frag +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:11 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child (temp float) +0:12 'r00' (temp float) +0:12 imageLoad (temp float) +0:12 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) +0:12 Constant: +0:12 0 (const int) +0:13 Sequence +0:13 move second child to first child (temp uint) +0:13 'r01' (temp uint) +0:13 imageLoad (temp uint) +0:13 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:13 Constant: +0:13 0 (const int) +0:16 move second child to first child (temp 4-component vector of float) +0:16 Color: direct index for structure (temp 4-component vector of float) +0:16 'psout' (temp structure{temp 4-component vector of float Color}) +0:16 Constant: +0:16 0 (const int) +0:16 Constant: +0:16 1.000000 +0:16 1.000000 +0:16 1.000000 +0:16 1.000000 +0:17 Sequence +0:17 Sequence +0:17 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:17 Color: direct index for structure (temp 4-component vector of float) +0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:17 Constant: +0:17 0 (const int) +0:17 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) +0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) + + +Linked fragment stage: + + +Shader version: 450 +gl_FragCoord origin is upper left +0:? Sequence +0:11 Function Definition: main( (temp structure{temp 4-component vector of float Color}) +0:11 Function Parameters: +0:? Sequence +0:12 Sequence +0:12 move second child to first child (temp float) +0:12 'r00' (temp float) +0:12 imageLoad (temp float) +0:12 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) +0:12 Constant: +0:12 0 (const int) +0:13 Sequence +0:13 move second child to first child (temp uint) +0:13 'r01' (temp uint) +0:13 imageLoad (temp uint) +0:13 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) +0:13 Constant: +0:13 0 (const int) +0:16 move second child to first child (temp 4-component vector of float) +0:16 Color: direct index for structure (temp 4-component vector of float) +0:16 'psout' (temp structure{temp 4-component vector of float Color}) +0:16 Constant: +0:16 0 (const int) +0:16 Constant: +0:16 1.000000 +0:16 1.000000 +0:16 1.000000 +0:16 1.000000 +0:17 Sequence +0:17 Sequence +0:17 move second child to first child (temp 4-component vector of float) +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:17 Color: direct index for structure (temp 4-component vector of float) +0:17 'psout' (temp structure{temp 4-component vector of float Color}) +0:17 Constant: +0:17 0 (const int) +0:17 Branch: Return +0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D) +0:? 'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer) + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 37 + + Capability Shader + Capability Sampled1D + Capability SampledBuffer + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 33 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 8 "r00" + Name 11 "g_tTex1df1" + Name 18 "r01" + Name 21 "g_tBuf1du1" + Name 25 "PS_OUTPUT" + MemberName 25(PS_OUTPUT) 0 "Color" + Name 27 "psout" + Name 33 "Color" + Decorate 11(g_tTex1df1) DescriptorSet 0 + Decorate 11(g_tTex1df1) Binding 2 + Decorate 21(g_tBuf1du1) DescriptorSet 0 + Decorate 21(g_tBuf1du1) Binding 3 + Decorate 33(Color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 9: TypeImage 6(float) 1D nonsampled format:R32f + 10: TypePointer UniformConstant 9 + 11(g_tTex1df1): 10(ptr) Variable UniformConstant + 13: TypeInt 32 1 + 14: 13(int) Constant 0 + 16: TypeInt 32 0 + 17: TypePointer Function 16(int) + 19: TypeImage 16(int) Buffer nonsampled format:R32ui + 20: TypePointer UniformConstant 19 + 21(g_tBuf1du1): 20(ptr) Variable UniformConstant + 24: TypeVector 6(float) 4 + 25(PS_OUTPUT): TypeStruct 24(fvec4) + 26: TypePointer Function 25(PS_OUTPUT) + 28: 6(float) Constant 1065353216 + 29: 24(fvec4) ConstantComposite 28 28 28 28 + 30: TypePointer Function 24(fvec4) + 32: TypePointer Output 24(fvec4) + 33(Color): 32(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 8(r00): 7(ptr) Variable Function + 18(r01): 17(ptr) Variable Function + 27(psout): 26(ptr) Variable Function + 12: 9 Load 11(g_tTex1df1) + 15: 6(float) ImageRead 12 14 + Store 8(r00) 15 + 22: 19 Load 21(g_tBuf1du1) + 23: 16(int) ImageRead 22 14 + Store 18(r01) 23 + 31: 30(ptr) AccessChain 27(psout) 14 + Store 31 29 + 34: 30(ptr) AccessChain 27(psout) 14 + 35: 24(fvec4) Load 34 + Store 33(Color) 35 + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out index 904c2dab..8e40fd2e 100644 --- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out @@ -820,6 +820,7 @@ gl_FragCoord origin is upper left 0:139 0 (const int) 0:139 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) 0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) @@ -836,8 +837,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) 0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) 0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) Linked fragment stage: @@ -1664,6 +1664,7 @@ gl_FragCoord origin is upper left 0:139 0 (const int) 0:139 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (layout(r32f ) uniform image1D) 0:? 'g_tTex1di1' (layout(r32i ) uniform iimage1D) @@ -1680,8 +1681,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df1a' (layout(r32f ) uniform image2DArray) 0:? 'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray) 0:? 'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out index b8452c36..7ca7e3e4 100644 --- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out @@ -829,6 +829,7 @@ gl_FragCoord origin is upper left 0:139 0 (const int) 0:139 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D) 0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) @@ -845,8 +846,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray) 0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray) 0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) Linked fragment stage: @@ -1682,6 +1682,7 @@ gl_FragCoord origin is upper left 0:139 0 (const int) 0:139 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df2' (layout(rg32f ) uniform image1D) 0:? 'g_tTex1di2' (layout(rg32i ) uniform iimage1D) @@ -1698,8 +1699,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df2a' (layout(rg32f ) uniform image2DArray) 0:? 'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray) 0:? 'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index 6c6f187b..f223e4bf 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -137,6 +137,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -148,8 +150,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -293,6 +293,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -304,8 +306,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index de9a4f4b..a222125a 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -247,6 +247,8 @@ gl_FragCoord origin is upper left 0:89 1 (const int) 0:89 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2D_b' (uniform sampler) @@ -263,8 +265,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -516,6 +516,8 @@ gl_FragCoord origin is upper left 0:89 1 (const int) 0:89 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_sSamp2D_b' (uniform sampler) @@ -532,8 +534,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index 67bf043f..a148a86e 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -155,6 +155,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -169,8 +171,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -332,6 +332,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -346,8 +348,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index 83a0e8b7..abdf0327 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -116,6 +116,8 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -124,8 +126,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -248,6 +248,8 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -256,8 +258,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out index 5a97ed96..bfbad5c2 100644 --- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out @@ -64,12 +64,12 @@ gl_FragCoord origin is upper left 0:23 0 (const int) 0:23 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (uniform texture1D) 0:? 'g_tTex1df2' (uniform texture1D) 0:? 'g_tTex1df3' (uniform texture1D) 0:? 'g_tTex1df4' (uniform texture1D) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) Linked fragment stage: @@ -140,12 +140,12 @@ gl_FragCoord origin is upper left 0:23 0 (const int) 0:23 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df1' (uniform texture1D) 0:? 'g_tTex1df2' (uniform texture1D) 0:? 'g_tTex1df3' (uniform texture1D) 0:? 'g_tTex1df4' (uniform texture1D) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index b2b38b65..05ac32a5 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -155,6 +155,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -166,8 +168,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -329,6 +329,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -340,8 +342,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index c7949146..1442fc3c 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -185,6 +185,8 @@ gl_FragCoord origin is upper left 0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -199,8 +201,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -392,6 +392,8 @@ gl_FragCoord origin is upper left 0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -406,8 +408,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 900eb4b0..01facb65 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -173,6 +173,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -187,8 +189,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -368,6 +368,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -382,8 +384,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index bd216222..17aef7ae 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -128,6 +128,8 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -136,8 +138,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -272,6 +272,8 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -280,8 +282,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index 05f53c70..c4f5d11c 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r10' (temp float) -0:42 texture (global float) +0:42 texture (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -21,11 +21,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r12' (temp float) -0:43 texture (global float) +0:43 texture (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -34,11 +34,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r14' (temp float) -0:44 texture (global float) +0:44 texture (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -47,11 +47,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r30' (temp float) -0:47 texture (global float) +0:47 texture (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -61,11 +61,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r32' (temp float) -0:48 texture (global float) +0:48 texture (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -75,11 +75,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r34' (temp float) -0:49 texture (global float) +0:49 texture (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -89,11 +89,11 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp float) 0:52 'r60' (temp float) -0:52 texture (global float) +0:52 texture (temp float) 0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) 0:52 'g_tTexcdf4a' (uniform textureCubeArray) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp float) +0:52 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -104,11 +104,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r62' (temp float) -0:53 texture (global float) +0:53 texture (temp float) 0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) 0:53 'g_tTexcdi4a' (uniform itextureCubeArray) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -119,11 +119,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r64' (temp float) -0:54 texture (global float) +0:54 texture (temp float) 0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) 0:54 'g_tTexcdu4a' (uniform utextureCubeArray) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -164,6 +164,8 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -186,8 +188,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -202,11 +202,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r10' (temp float) -0:42 texture (global float) +0:42 texture (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -215,11 +215,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r12' (temp float) -0:43 texture (global float) +0:43 texture (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -228,11 +228,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r14' (temp float) -0:44 texture (global float) +0:44 texture (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -241,11 +241,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r30' (temp float) -0:47 texture (global float) +0:47 texture (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -255,11 +255,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r32' (temp float) -0:48 texture (global float) +0:48 texture (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -269,11 +269,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r34' (temp float) -0:49 texture (global float) +0:49 texture (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -283,11 +283,11 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp float) 0:52 'r60' (temp float) -0:52 texture (global float) +0:52 texture (temp float) 0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) 0:52 'g_tTexcdf4a' (uniform textureCubeArray) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp float) +0:52 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -298,11 +298,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r62' (temp float) -0:53 texture (global float) +0:53 texture (temp float) 0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) 0:53 'g_tTexcdi4a' (uniform itextureCubeArray) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -313,11 +313,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r64' (temp float) -0:54 texture (global float) +0:54 texture (temp float) 0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) 0:54 'g_tTexcdu4a' (uniform utextureCubeArray) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -358,6 +358,8 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -380,84 +382,82 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 184 +// Id's are bound by 211 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 140 144 + EntryPoint Fragment 4 "main" 167 171 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r10" Name 11 "g_tTex1df4a" Name 15 "g_sSamp" - Name 28 "r12" - Name 32 "g_tTex1di4a" - Name 41 "r14" - Name 45 "g_tTex1du4a" - Name 54 "r30" - Name 57 "g_tTex2df4a" - Name 69 "r32" - Name 72 "g_tTex2di4a" - Name 81 "r34" - Name 84 "g_tTex2du4a" - Name 93 "r60" - Name 96 "g_tTexcdf4a" - Name 107 "r62" - Name 110 "g_tTexcdi4a" - Name 118 "r64" - Name 121 "g_tTexcdu4a" - Name 129 "PS_OUTPUT" - MemberName 129(PS_OUTPUT) 0 "Color" - MemberName 129(PS_OUTPUT) 1 "Depth" - Name 131 "psout" - Name 140 "Color" - Name 144 "Depth" - Name 150 "g_tTex1df4" - Name 153 "g_tTex1di4" - Name 156 "g_tTex1du4" - Name 159 "g_tTex2df4" - Name 162 "g_tTex2di4" - Name 165 "g_tTex2du4" - Name 168 "g_tTex3df4" - Name 171 "g_tTex3di4" - Name 174 "g_tTex3du4" - Name 177 "g_tTexcdf4" - Name 180 "g_tTexcdi4" - Name 183 "g_tTexcdu4" + Name 31 "r12" + Name 35 "g_tTex1di4a" + Name 46 "r14" + Name 50 "g_tTex1du4a" + Name 61 "r30" + Name 64 "g_tTex2df4a" + Name 79 "r32" + Name 82 "g_tTex2di4a" + Name 94 "r34" + Name 97 "g_tTex2du4a" + Name 109 "r60" + Name 112 "g_tTexcdf4a" + Name 126 "r62" + Name 129 "g_tTexcdi4a" + Name 141 "r64" + Name 144 "g_tTexcdu4a" + Name 156 "PS_OUTPUT" + MemberName 156(PS_OUTPUT) 0 "Color" + MemberName 156(PS_OUTPUT) 1 "Depth" + Name 158 "psout" + Name 167 "Color" + Name 171 "Depth" + Name 177 "g_tTex1df4" + Name 180 "g_tTex1di4" + Name 183 "g_tTex1du4" + Name 186 "g_tTex2df4" + Name 189 "g_tTex2di4" + Name 192 "g_tTex2du4" + Name 195 "g_tTex3df4" + Name 198 "g_tTex3di4" + Name 201 "g_tTex3du4" + Name 204 "g_tTexcdf4" + Name 207 "g_tTexcdi4" + Name 210 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 32(g_tTex1di4a) DescriptorSet 0 - Decorate 45(g_tTex1du4a) DescriptorSet 0 - Decorate 57(g_tTex2df4a) DescriptorSet 0 - Decorate 72(g_tTex2di4a) DescriptorSet 0 - Decorate 84(g_tTex2du4a) DescriptorSet 0 - Decorate 96(g_tTexcdf4a) DescriptorSet 0 - Decorate 110(g_tTexcdi4a) DescriptorSet 0 - Decorate 121(g_tTexcdu4a) DescriptorSet 0 - Decorate 140(Color) Location 0 - Decorate 144(Depth) BuiltIn FragDepth - Decorate 150(g_tTex1df4) DescriptorSet 0 - Decorate 150(g_tTex1df4) Binding 0 - Decorate 153(g_tTex1di4) DescriptorSet 0 - Decorate 156(g_tTex1du4) DescriptorSet 0 - Decorate 159(g_tTex2df4) DescriptorSet 0 - Decorate 162(g_tTex2di4) DescriptorSet 0 - Decorate 165(g_tTex2du4) DescriptorSet 0 - Decorate 168(g_tTex3df4) DescriptorSet 0 - Decorate 171(g_tTex3di4) DescriptorSet 0 - Decorate 174(g_tTex3du4) DescriptorSet 0 - Decorate 177(g_tTexcdf4) DescriptorSet 0 - Decorate 180(g_tTexcdi4) DescriptorSet 0 - Decorate 183(g_tTexcdu4) DescriptorSet 0 + Decorate 35(g_tTex1di4a) DescriptorSet 0 + Decorate 50(g_tTex1du4a) DescriptorSet 0 + Decorate 64(g_tTex2df4a) DescriptorSet 0 + Decorate 82(g_tTex2di4a) DescriptorSet 0 + Decorate 97(g_tTex2du4a) DescriptorSet 0 + Decorate 112(g_tTexcdf4a) DescriptorSet 0 + Decorate 129(g_tTexcdi4a) DescriptorSet 0 + Decorate 144(g_tTexcdu4a) DescriptorSet 0 + Decorate 167(Color) Location 0 + Decorate 171(Depth) BuiltIn FragDepth + Decorate 177(g_tTex1df4) DescriptorSet 0 + Decorate 177(g_tTex1df4) Binding 0 + Decorate 180(g_tTex1di4) DescriptorSet 0 + Decorate 183(g_tTex1du4) DescriptorSet 0 + Decorate 186(g_tTex2df4) DescriptorSet 0 + Decorate 189(g_tTex2di4) DescriptorSet 0 + Decorate 192(g_tTex2du4) DescriptorSet 0 + Decorate 195(g_tTex3df4) DescriptorSet 0 + Decorate 198(g_tTex3di4) DescriptorSet 0 + Decorate 201(g_tTex3du4) DescriptorSet 0 + Decorate 204(g_tTexcdf4) DescriptorSet 0 + Decorate 207(g_tTexcdi4) DescriptorSet 0 + Decorate 210(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -475,182 +475,209 @@ gl_FragCoord origin is upper left 22: 6(float) Constant 1045220557 23: 20(fvec2) ConstantComposite 21 22 24: 6(float) Constant 1061158912 - 29: TypeInt 32 1 - 30: TypeImage 29(int) 1D array sampled format:Unknown - 31: TypePointer UniformConstant 30 - 32(g_tTex1di4a): 31(ptr) Variable UniformConstant - 35: TypeImage 29(int) 1D depth array sampled format:Unknown - 36: TypeSampledImage 35 - 42: TypeInt 32 0 - 43: TypeImage 42(int) 1D array sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex1du4a): 44(ptr) Variable UniformConstant - 48: TypeImage 42(int) 1D depth array sampled format:Unknown - 49: TypeSampledImage 48 - 55: TypeImage 6(float) 2D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex2df4a): 56(ptr) Variable UniformConstant - 60: TypeImage 6(float) 2D depth array sampled format:Unknown - 61: TypeSampledImage 60 - 63: TypeVector 6(float) 3 - 64: 6(float) Constant 1050253722 - 65: 63(fvec3) ConstantComposite 21 22 64 - 70: TypeImage 29(int) 2D array sampled format:Unknown - 71: TypePointer UniformConstant 70 - 72(g_tTex2di4a): 71(ptr) Variable UniformConstant - 75: TypeImage 29(int) 2D depth array sampled format:Unknown - 76: TypeSampledImage 75 - 82: TypeImage 42(int) 2D array sampled format:Unknown - 83: TypePointer UniformConstant 82 - 84(g_tTex2du4a): 83(ptr) Variable UniformConstant - 87: TypeImage 42(int) 2D depth array sampled format:Unknown - 88: TypeSampledImage 87 - 94: TypeImage 6(float) Cube array sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTexcdf4a): 95(ptr) Variable UniformConstant - 99: TypeImage 6(float) Cube depth array sampled format:Unknown - 100: TypeSampledImage 99 - 102: TypeVector 6(float) 4 - 103: 6(float) Constant 1053609165 - 104: 102(fvec4) ConstantComposite 21 22 64 103 - 108: TypeImage 29(int) Cube array sampled format:Unknown - 109: TypePointer UniformConstant 108 -110(g_tTexcdi4a): 109(ptr) Variable UniformConstant - 113: TypeImage 29(int) Cube depth array sampled format:Unknown - 114: TypeSampledImage 113 - 119: TypeImage 42(int) Cube array sampled format:Unknown - 120: TypePointer UniformConstant 119 -121(g_tTexcdu4a): 120(ptr) Variable UniformConstant - 124: TypeImage 42(int) Cube depth array sampled format:Unknown - 125: TypeSampledImage 124 - 129(PS_OUTPUT): TypeStruct 102(fvec4) 6(float) - 130: TypePointer Function 129(PS_OUTPUT) - 132: 29(int) Constant 0 - 133: 6(float) Constant 1065353216 - 134: 102(fvec4) ConstantComposite 133 133 133 133 - 135: TypePointer Function 102(fvec4) - 137: 29(int) Constant 1 - 139: TypePointer Output 102(fvec4) - 140(Color): 139(ptr) Variable Output - 143: TypePointer Output 6(float) - 144(Depth): 143(ptr) Variable Output - 148: TypeImage 6(float) 1D sampled format:Unknown - 149: TypePointer UniformConstant 148 - 150(g_tTex1df4): 149(ptr) Variable UniformConstant - 151: TypeImage 29(int) 1D sampled format:Unknown - 152: TypePointer UniformConstant 151 - 153(g_tTex1di4): 152(ptr) Variable UniformConstant - 154: TypeImage 42(int) 1D sampled format:Unknown - 155: TypePointer UniformConstant 154 - 156(g_tTex1du4): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) 2D sampled format:Unknown - 158: TypePointer UniformConstant 157 - 159(g_tTex2df4): 158(ptr) Variable UniformConstant - 160: TypeImage 29(int) 2D sampled format:Unknown - 161: TypePointer UniformConstant 160 - 162(g_tTex2di4): 161(ptr) Variable UniformConstant - 163: TypeImage 42(int) 2D sampled format:Unknown - 164: TypePointer UniformConstant 163 - 165(g_tTex2du4): 164(ptr) Variable UniformConstant - 166: TypeImage 6(float) 3D sampled format:Unknown - 167: TypePointer UniformConstant 166 - 168(g_tTex3df4): 167(ptr) Variable UniformConstant - 169: TypeImage 29(int) 3D sampled format:Unknown - 170: TypePointer UniformConstant 169 - 171(g_tTex3di4): 170(ptr) Variable UniformConstant - 172: TypeImage 42(int) 3D sampled format:Unknown - 173: TypePointer UniformConstant 172 - 174(g_tTex3du4): 173(ptr) Variable UniformConstant - 175: TypeImage 6(float) Cube sampled format:Unknown + 25: TypeVector 6(float) 3 + 32: TypeInt 32 1 + 33: TypeImage 32(int) 1D array sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4a): 34(ptr) Variable UniformConstant + 38: TypeImage 32(int) 1D depth array sampled format:Unknown + 39: TypeSampledImage 38 + 47: TypeInt 32 0 + 48: TypeImage 47(int) 1D array sampled format:Unknown + 49: TypePointer UniformConstant 48 + 50(g_tTex1du4a): 49(ptr) Variable UniformConstant + 53: TypeImage 47(int) 1D depth array sampled format:Unknown + 54: TypeSampledImage 53 + 62: TypeImage 6(float) 2D array sampled format:Unknown + 63: TypePointer UniformConstant 62 + 64(g_tTex2df4a): 63(ptr) Variable UniformConstant + 67: TypeImage 6(float) 2D depth array sampled format:Unknown + 68: TypeSampledImage 67 + 70: 6(float) Constant 1050253722 + 71: 25(fvec3) ConstantComposite 21 22 70 + 72: TypeVector 6(float) 4 + 80: TypeImage 32(int) 2D array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2di4a): 81(ptr) Variable UniformConstant + 85: TypeImage 32(int) 2D depth array sampled format:Unknown + 86: TypeSampledImage 85 + 95: TypeImage 47(int) 2D array sampled format:Unknown + 96: TypePointer UniformConstant 95 + 97(g_tTex2du4a): 96(ptr) Variable UniformConstant + 100: TypeImage 47(int) 2D depth array sampled format:Unknown + 101: TypeSampledImage 100 + 110: TypeImage 6(float) Cube array sampled format:Unknown + 111: TypePointer UniformConstant 110 +112(g_tTexcdf4a): 111(ptr) Variable UniformConstant + 115: TypeImage 6(float) Cube depth array sampled format:Unknown + 116: TypeSampledImage 115 + 118: 6(float) Constant 1053609165 + 119: 72(fvec4) ConstantComposite 21 22 70 118 + 127: TypeImage 32(int) Cube array sampled format:Unknown + 128: TypePointer UniformConstant 127 +129(g_tTexcdi4a): 128(ptr) Variable UniformConstant + 132: TypeImage 32(int) Cube depth array sampled format:Unknown + 133: TypeSampledImage 132 + 142: TypeImage 47(int) Cube array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTexcdu4a): 143(ptr) Variable UniformConstant + 147: TypeImage 47(int) Cube depth array sampled format:Unknown + 148: TypeSampledImage 147 + 156(PS_OUTPUT): TypeStruct 72(fvec4) 6(float) + 157: TypePointer Function 156(PS_OUTPUT) + 159: 32(int) Constant 0 + 160: 6(float) Constant 1065353216 + 161: 72(fvec4) ConstantComposite 160 160 160 160 + 162: TypePointer Function 72(fvec4) + 164: 32(int) Constant 1 + 166: TypePointer Output 72(fvec4) + 167(Color): 166(ptr) Variable Output + 170: TypePointer Output 6(float) + 171(Depth): 170(ptr) Variable Output + 175: TypeImage 6(float) 1D sampled format:Unknown 176: TypePointer UniformConstant 175 - 177(g_tTexcdf4): 176(ptr) Variable UniformConstant - 178: TypeImage 29(int) Cube sampled format:Unknown + 177(g_tTex1df4): 176(ptr) Variable UniformConstant + 178: TypeImage 32(int) 1D sampled format:Unknown 179: TypePointer UniformConstant 178 - 180(g_tTexcdi4): 179(ptr) Variable UniformConstant - 181: TypeImage 42(int) Cube sampled format:Unknown + 180(g_tTex1di4): 179(ptr) Variable UniformConstant + 181: TypeImage 47(int) 1D sampled format:Unknown 182: TypePointer UniformConstant 181 - 183(g_tTexcdu4): 182(ptr) Variable UniformConstant + 183(g_tTex1du4): 182(ptr) Variable UniformConstant + 184: TypeImage 6(float) 2D sampled format:Unknown + 185: TypePointer UniformConstant 184 + 186(g_tTex2df4): 185(ptr) Variable UniformConstant + 187: TypeImage 32(int) 2D sampled format:Unknown + 188: TypePointer UniformConstant 187 + 189(g_tTex2di4): 188(ptr) Variable UniformConstant + 190: TypeImage 47(int) 2D sampled format:Unknown + 191: TypePointer UniformConstant 190 + 192(g_tTex2du4): 191(ptr) Variable UniformConstant + 193: TypeImage 6(float) 3D sampled format:Unknown + 194: TypePointer UniformConstant 193 + 195(g_tTex3df4): 194(ptr) Variable UniformConstant + 196: TypeImage 32(int) 3D sampled format:Unknown + 197: TypePointer UniformConstant 196 + 198(g_tTex3di4): 197(ptr) Variable UniformConstant + 199: TypeImage 47(int) 3D sampled format:Unknown + 200: TypePointer UniformConstant 199 + 201(g_tTex3du4): 200(ptr) Variable UniformConstant + 202: TypeImage 6(float) Cube sampled format:Unknown + 203: TypePointer UniformConstant 202 + 204(g_tTexcdf4): 203(ptr) Variable UniformConstant + 205: TypeImage 32(int) Cube sampled format:Unknown + 206: TypePointer UniformConstant 205 + 207(g_tTexcdi4): 206(ptr) Variable UniformConstant + 208: TypeImage 47(int) Cube sampled format:Unknown + 209: TypePointer UniformConstant 208 + 210(g_tTexcdu4): 209(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function - 28(r12): 7(ptr) Variable Function - 41(r14): 7(ptr) Variable Function - 54(r30): 7(ptr) Variable Function - 69(r32): 7(ptr) Variable Function - 81(r34): 7(ptr) Variable Function - 93(r60): 7(ptr) Variable Function - 107(r62): 7(ptr) Variable Function - 118(r64): 7(ptr) Variable Function - 131(psout): 130(ptr) Variable Function + 31(r12): 7(ptr) Variable Function + 46(r14): 7(ptr) Variable Function + 61(r30): 7(ptr) Variable Function + 79(r32): 7(ptr) Variable Function + 94(r34): 7(ptr) Variable Function + 109(r60): 7(ptr) Variable Function + 126(r62): 7(ptr) Variable Function + 141(r64): 7(ptr) Variable Function + 158(psout): 157(ptr) Variable Function 12: 9 Load 11(g_tTex1df4a) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 25: 6(float) CompositeExtract 23 0 - 26: 6(float) CompositeExtract 25 0 - 27: 6(float) ImageSampleDrefImplicitLod 19 25 26 - Store 8(r10) 27 - 33: 30 Load 32(g_tTex1di4a) - 34: 13 Load 15(g_sSamp) - 37: 36 SampledImage 33 34 - 38: 6(float) CompositeExtract 23 0 - 39: 6(float) CompositeExtract 38 0 - 40: 6(float) ImageSampleDrefImplicitLod 37 38 39 - Store 28(r12) 40 - 46: 43 Load 45(g_tTex1du4a) - 47: 13 Load 15(g_sSamp) - 50: 49 SampledImage 46 47 - 51: 6(float) CompositeExtract 23 0 - 52: 6(float) CompositeExtract 51 0 - 53: 6(float) ImageSampleDrefImplicitLod 50 51 52 - Store 41(r14) 53 - 58: 55 Load 57(g_tTex2df4a) - 59: 13 Load 15(g_sSamp) - 62: 61 SampledImage 58 59 - 66: 6(float) CompositeExtract 65 0 - 67: 6(float) CompositeExtract 66 0 - 68: 6(float) ImageSampleDrefImplicitLod 62 66 67 - Store 54(r30) 68 - 73: 70 Load 72(g_tTex2di4a) - 74: 13 Load 15(g_sSamp) - 77: 76 SampledImage 73 74 - 78: 6(float) CompositeExtract 65 0 - 79: 6(float) CompositeExtract 78 0 - 80: 6(float) ImageSampleDrefImplicitLod 77 78 79 - Store 69(r32) 80 - 85: 82 Load 84(g_tTex2du4a) - 86: 13 Load 15(g_sSamp) - 89: 88 SampledImage 85 86 - 90: 6(float) CompositeExtract 65 0 - 91: 6(float) CompositeExtract 90 0 - 92: 6(float) ImageSampleDrefImplicitLod 89 90 91 - Store 81(r34) 92 - 97: 94 Load 96(g_tTexcdf4a) - 98: 13 Load 15(g_sSamp) - 101: 100 SampledImage 97 98 - 105: 6(float) CompositeExtract 104 0 - 106: 6(float) ImageSampleDrefImplicitLod 101 105 24 - Store 93(r60) 106 - 111: 108 Load 110(g_tTexcdi4a) - 112: 13 Load 15(g_sSamp) - 115: 114 SampledImage 111 112 - 116: 6(float) CompositeExtract 104 0 - 117: 6(float) ImageSampleDrefImplicitLod 115 116 24 - Store 107(r62) 117 - 122: 119 Load 121(g_tTexcdu4a) - 123: 13 Load 15(g_sSamp) - 126: 125 SampledImage 122 123 - 127: 6(float) CompositeExtract 104 0 - 128: 6(float) ImageSampleDrefImplicitLod 126 127 24 - Store 118(r64) 128 - 136: 135(ptr) AccessChain 131(psout) 132 - Store 136 134 - 138: 7(ptr) AccessChain 131(psout) 137 - Store 138 133 - 141: 135(ptr) AccessChain 131(psout) 132 - 142: 102(fvec4) Load 141 - Store 140(Color) 142 - 145: 7(ptr) AccessChain 131(psout) 137 - 146: 6(float) Load 145 - Store 144(Depth) 146 + 26: 6(float) CompositeExtract 23 0 + 27: 6(float) CompositeExtract 23 1 + 28: 25(fvec3) CompositeConstruct 26 27 24 + 29: 6(float) CompositeExtract 28 2 + 30: 6(float) ImageSampleDrefImplicitLod 19 28 29 + Store 8(r10) 30 + 36: 33 Load 35(g_tTex1di4a) + 37: 13 Load 15(g_sSamp) + 40: 39 SampledImage 36 37 + 41: 6(float) CompositeExtract 23 0 + 42: 6(float) CompositeExtract 23 1 + 43: 25(fvec3) CompositeConstruct 41 42 24 + 44: 6(float) CompositeExtract 43 2 + 45: 6(float) ImageSampleDrefImplicitLod 40 43 44 + Store 31(r12) 45 + 51: 48 Load 50(g_tTex1du4a) + 52: 13 Load 15(g_sSamp) + 55: 54 SampledImage 51 52 + 56: 6(float) CompositeExtract 23 0 + 57: 6(float) CompositeExtract 23 1 + 58: 25(fvec3) CompositeConstruct 56 57 24 + 59: 6(float) CompositeExtract 58 2 + 60: 6(float) ImageSampleDrefImplicitLod 55 58 59 + Store 46(r14) 60 + 65: 62 Load 64(g_tTex2df4a) + 66: 13 Load 15(g_sSamp) + 69: 68 SampledImage 65 66 + 73: 6(float) CompositeExtract 71 0 + 74: 6(float) CompositeExtract 71 1 + 75: 6(float) CompositeExtract 71 2 + 76: 72(fvec4) CompositeConstruct 73 74 75 24 + 77: 6(float) CompositeExtract 76 3 + 78: 6(float) ImageSampleDrefImplicitLod 69 76 77 + Store 61(r30) 78 + 83: 80 Load 82(g_tTex2di4a) + 84: 13 Load 15(g_sSamp) + 87: 86 SampledImage 83 84 + 88: 6(float) CompositeExtract 71 0 + 89: 6(float) CompositeExtract 71 1 + 90: 6(float) CompositeExtract 71 2 + 91: 72(fvec4) CompositeConstruct 88 89 90 24 + 92: 6(float) CompositeExtract 91 3 + 93: 6(float) ImageSampleDrefImplicitLod 87 91 92 + Store 79(r32) 93 + 98: 95 Load 97(g_tTex2du4a) + 99: 13 Load 15(g_sSamp) + 102: 101 SampledImage 98 99 + 103: 6(float) CompositeExtract 71 0 + 104: 6(float) CompositeExtract 71 1 + 105: 6(float) CompositeExtract 71 2 + 106: 72(fvec4) CompositeConstruct 103 104 105 24 + 107: 6(float) CompositeExtract 106 3 + 108: 6(float) ImageSampleDrefImplicitLod 102 106 107 + Store 94(r34) 108 + 113: 110 Load 112(g_tTexcdf4a) + 114: 13 Load 15(g_sSamp) + 117: 116 SampledImage 113 114 + 120: 6(float) CompositeExtract 119 0 + 121: 6(float) CompositeExtract 119 1 + 122: 6(float) CompositeExtract 119 2 + 123: 6(float) CompositeExtract 119 3 + 124: 72(fvec4) CompositeConstruct 120 121 122 123 + 125: 6(float) ImageSampleDrefImplicitLod 117 124 24 + Store 109(r60) 125 + 130: 127 Load 129(g_tTexcdi4a) + 131: 13 Load 15(g_sSamp) + 134: 133 SampledImage 130 131 + 135: 6(float) CompositeExtract 119 0 + 136: 6(float) CompositeExtract 119 1 + 137: 6(float) CompositeExtract 119 2 + 138: 6(float) CompositeExtract 119 3 + 139: 72(fvec4) CompositeConstruct 135 136 137 138 + 140: 6(float) ImageSampleDrefImplicitLod 134 139 24 + Store 126(r62) 140 + 145: 142 Load 144(g_tTexcdu4a) + 146: 13 Load 15(g_sSamp) + 149: 148 SampledImage 145 146 + 150: 6(float) CompositeExtract 119 0 + 151: 6(float) CompositeExtract 119 1 + 152: 6(float) CompositeExtract 119 2 + 153: 6(float) CompositeExtract 119 3 + 154: 72(fvec4) CompositeConstruct 150 151 152 153 + 155: 6(float) ImageSampleDrefImplicitLod 149 154 24 + Store 141(r64) 155 + 163: 162(ptr) AccessChain 158(psout) 159 + Store 163 161 + 165: 7(ptr) AccessChain 158(psout) 164 + Store 165 160 + 168: 162(ptr) AccessChain 158(psout) 159 + 169: 72(fvec4) Load 168 + Store 167(Color) 169 + 172: 7(ptr) AccessChain 158(psout) 164 + 173: 6(float) Load 172 + Store 171(Depth) 173 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index d7a6b2f3..acd24b8b 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r00' (temp float) -0:42 texture (global float) +0:42 texture (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -20,11 +20,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r02' (temp float) -0:43 texture (global float) +0:43 texture (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -32,11 +32,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r04' (temp float) -0:44 texture (global float) +0:44 texture (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -44,11 +44,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r20' (temp float) -0:47 texture (global float) +0:47 texture (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -57,11 +57,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r22' (temp float) -0:48 texture (global float) +0:48 texture (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -70,11 +70,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r24' (temp float) -0:49 texture (global float) +0:49 texture (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -83,11 +83,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r50' (temp float) -0:53 texture (global float) +0:53 texture (temp float) 0:53 Construct combined texture-sampler (temp samplerCubeShadow) 0:53 'g_tTexcdf4' (uniform textureCube) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -97,11 +97,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r52' (temp float) -0:54 texture (global float) +0:54 texture (temp float) 0:54 Construct combined texture-sampler (temp isamplerCubeShadow) 0:54 'g_tTexcdi4' (uniform itextureCube) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -111,11 +111,11 @@ gl_FragCoord origin is upper left 0:55 Sequence 0:55 move second child to first child (temp float) 0:55 'r54' (temp float) -0:55 texture (global float) +0:55 texture (temp float) 0:55 Construct combined texture-sampler (temp usamplerCubeShadow) 0:55 'g_tTexcdu4' (uniform utextureCube) 0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp float) +0:55 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -155,6 +155,8 @@ gl_FragCoord origin is upper left 0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -177,8 +179,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -193,11 +193,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r00' (temp float) -0:42 texture (global float) +0:42 texture (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -205,11 +205,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r02' (temp float) -0:43 texture (global float) +0:43 texture (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -217,11 +217,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r04' (temp float) -0:44 texture (global float) +0:44 texture (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -229,11 +229,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r20' (temp float) -0:47 texture (global float) +0:47 texture (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -242,11 +242,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r22' (temp float) -0:48 texture (global float) +0:48 texture (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -255,11 +255,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r24' (temp float) -0:49 texture (global float) +0:49 texture (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -268,11 +268,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r50' (temp float) -0:53 texture (global float) +0:53 texture (temp float) 0:53 Construct combined texture-sampler (temp samplerCubeShadow) 0:53 'g_tTexcdf4' (uniform textureCube) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -282,11 +282,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r52' (temp float) -0:54 texture (global float) +0:54 texture (temp float) 0:54 Construct combined texture-sampler (temp isamplerCubeShadow) 0:54 'g_tTexcdi4' (uniform itextureCube) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -296,11 +296,11 @@ gl_FragCoord origin is upper left 0:55 Sequence 0:55 move second child to first child (temp float) 0:55 'r54' (temp float) -0:55 texture (global float) +0:55 texture (temp float) 0:55 Construct combined texture-sampler (temp usamplerCubeShadow) 0:55 'g_tTexcdu4' (uniform utextureCube) 0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp float) +0:55 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -340,6 +340,8 @@ gl_FragCoord origin is upper left 0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -362,84 +364,82 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 182 +// Id's are bound by 200 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 138 142 + EntryPoint Fragment 4 "main" 156 160 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" Name 11 "g_tTex1df4" Name 15 "g_sSamp" - Name 24 "r02" - Name 28 "g_tTex1di4" - Name 36 "r04" - Name 40 "g_tTex1du4" - Name 48 "r20" - Name 51 "g_tTex2df4" - Name 63 "r22" - Name 66 "g_tTex2di4" - Name 75 "r24" - Name 78 "g_tTex2du4" - Name 87 "r50" - Name 90 "g_tTexcdf4" - Name 102 "r52" - Name 105 "g_tTexcdi4" - Name 114 "r54" - Name 117 "g_tTexcdu4" - Name 127 "PS_OUTPUT" - MemberName 127(PS_OUTPUT) 0 "Color" - MemberName 127(PS_OUTPUT) 1 "Depth" - Name 129 "psout" - Name 138 "Color" - Name 142 "Depth" - Name 148 "g_tTex3df4" - Name 151 "g_tTex3di4" - Name 154 "g_tTex3du4" - Name 157 "g_tTex1df4a" - Name 160 "g_tTex1di4a" - Name 163 "g_tTex1du4a" - Name 166 "g_tTex2df4a" - Name 169 "g_tTex2di4a" - Name 172 "g_tTex2du4a" - Name 175 "g_tTexcdf4a" - Name 178 "g_tTexcdi4a" - Name 181 "g_tTexcdu4a" + Name 26 "r02" + Name 30 "g_tTex1di4" + Name 39 "r04" + Name 43 "g_tTex1du4" + Name 52 "r20" + Name 55 "g_tTex2df4" + Name 69 "r22" + Name 72 "g_tTex2di4" + Name 83 "r24" + Name 86 "g_tTex2du4" + Name 97 "r50" + Name 100 "g_tTexcdf4" + Name 115 "r52" + Name 118 "g_tTexcdi4" + Name 130 "r54" + Name 133 "g_tTexcdu4" + Name 145 "PS_OUTPUT" + MemberName 145(PS_OUTPUT) 0 "Color" + MemberName 145(PS_OUTPUT) 1 "Depth" + Name 147 "psout" + Name 156 "Color" + Name 160 "Depth" + Name 166 "g_tTex3df4" + Name 169 "g_tTex3di4" + Name 172 "g_tTex3du4" + Name 175 "g_tTex1df4a" + Name 178 "g_tTex1di4a" + Name 181 "g_tTex1du4a" + Name 184 "g_tTex2df4a" + Name 187 "g_tTex2di4a" + Name 190 "g_tTex2du4a" + Name 193 "g_tTexcdf4a" + Name 196 "g_tTexcdi4a" + Name 199 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 28(g_tTex1di4) DescriptorSet 0 - Decorate 40(g_tTex1du4) DescriptorSet 0 - Decorate 51(g_tTex2df4) DescriptorSet 0 - Decorate 66(g_tTex2di4) DescriptorSet 0 - Decorate 78(g_tTex2du4) DescriptorSet 0 - Decorate 90(g_tTexcdf4) DescriptorSet 0 - Decorate 105(g_tTexcdi4) DescriptorSet 0 - Decorate 117(g_tTexcdu4) DescriptorSet 0 - Decorate 138(Color) Location 0 - Decorate 142(Depth) BuiltIn FragDepth - Decorate 148(g_tTex3df4) DescriptorSet 0 - Decorate 151(g_tTex3di4) DescriptorSet 0 - Decorate 154(g_tTex3du4) DescriptorSet 0 - Decorate 157(g_tTex1df4a) DescriptorSet 0 - Decorate 160(g_tTex1di4a) DescriptorSet 0 - Decorate 163(g_tTex1du4a) DescriptorSet 0 - Decorate 166(g_tTex2df4a) DescriptorSet 0 - Decorate 169(g_tTex2di4a) DescriptorSet 0 - Decorate 172(g_tTex2du4a) DescriptorSet 0 - Decorate 175(g_tTexcdf4a) DescriptorSet 0 - Decorate 178(g_tTexcdi4a) DescriptorSet 0 - Decorate 181(g_tTexcdu4a) DescriptorSet 0 + Decorate 30(g_tTex1di4) DescriptorSet 0 + Decorate 43(g_tTex1du4) DescriptorSet 0 + Decorate 55(g_tTex2df4) DescriptorSet 0 + Decorate 72(g_tTex2di4) DescriptorSet 0 + Decorate 86(g_tTex2du4) DescriptorSet 0 + Decorate 100(g_tTexcdf4) DescriptorSet 0 + Decorate 118(g_tTexcdi4) DescriptorSet 0 + Decorate 133(g_tTexcdu4) DescriptorSet 0 + Decorate 156(Color) Location 0 + Decorate 160(Depth) BuiltIn FragDepth + Decorate 166(g_tTex3df4) DescriptorSet 0 + Decorate 169(g_tTex3di4) DescriptorSet 0 + Decorate 172(g_tTex3du4) DescriptorSet 0 + Decorate 175(g_tTex1df4a) DescriptorSet 0 + Decorate 178(g_tTex1di4a) DescriptorSet 0 + Decorate 181(g_tTex1du4a) DescriptorSet 0 + Decorate 184(g_tTex2df4a) DescriptorSet 0 + Decorate 187(g_tTex2di4a) DescriptorSet 0 + Decorate 190(g_tTex2du4a) DescriptorSet 0 + Decorate 193(g_tTexcdf4a) DescriptorSet 0 + Decorate 196(g_tTexcdi4a) DescriptorSet 0 + Decorate 199(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -454,183 +454,201 @@ gl_FragCoord origin is upper left 18: TypeSampledImage 17 20: 6(float) Constant 1036831949 21: 6(float) Constant 1061158912 - 25: TypeInt 32 1 - 26: TypeImage 25(int) 1D sampled format:Unknown - 27: TypePointer UniformConstant 26 - 28(g_tTex1di4): 27(ptr) Variable UniformConstant - 31: TypeImage 25(int) 1D depth sampled format:Unknown - 32: TypeSampledImage 31 - 37: TypeInt 32 0 - 38: TypeImage 37(int) 1D sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1du4): 39(ptr) Variable UniformConstant - 43: TypeImage 37(int) 1D depth sampled format:Unknown - 44: TypeSampledImage 43 - 49: TypeImage 6(float) 2D sampled format:Unknown - 50: TypePointer UniformConstant 49 - 51(g_tTex2df4): 50(ptr) Variable UniformConstant - 54: TypeImage 6(float) 2D depth sampled format:Unknown - 55: TypeSampledImage 54 - 57: TypeVector 6(float) 2 - 58: 6(float) Constant 1045220557 - 59: 57(fvec2) ConstantComposite 20 58 - 64: TypeImage 25(int) 2D sampled format:Unknown - 65: TypePointer UniformConstant 64 - 66(g_tTex2di4): 65(ptr) Variable UniformConstant - 69: TypeImage 25(int) 2D depth sampled format:Unknown - 70: TypeSampledImage 69 - 76: TypeImage 37(int) 2D sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2du4): 77(ptr) Variable UniformConstant - 81: TypeImage 37(int) 2D depth sampled format:Unknown - 82: TypeSampledImage 81 - 88: TypeImage 6(float) Cube sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTexcdf4): 89(ptr) Variable UniformConstant - 93: TypeImage 6(float) Cube depth sampled format:Unknown - 94: TypeSampledImage 93 - 96: TypeVector 6(float) 3 - 97: 6(float) Constant 1050253722 - 98: 96(fvec3) ConstantComposite 20 58 97 - 103: TypeImage 25(int) Cube sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTexcdi4): 104(ptr) Variable UniformConstant - 108: TypeImage 25(int) Cube depth sampled format:Unknown - 109: TypeSampledImage 108 - 115: TypeImage 37(int) Cube sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTexcdu4): 116(ptr) Variable UniformConstant - 120: TypeImage 37(int) Cube depth sampled format:Unknown - 121: TypeSampledImage 120 - 126: TypeVector 6(float) 4 - 127(PS_OUTPUT): TypeStruct 126(fvec4) 6(float) - 128: TypePointer Function 127(PS_OUTPUT) - 130: 25(int) Constant 0 - 131: 6(float) Constant 1065353216 - 132: 126(fvec4) ConstantComposite 131 131 131 131 - 133: TypePointer Function 126(fvec4) - 135: 25(int) Constant 1 - 137: TypePointer Output 126(fvec4) - 138(Color): 137(ptr) Variable Output - 141: TypePointer Output 6(float) - 142(Depth): 141(ptr) Variable Output - 146: TypeImage 6(float) 3D sampled format:Unknown - 147: TypePointer UniformConstant 146 - 148(g_tTex3df4): 147(ptr) Variable UniformConstant - 149: TypeImage 25(int) 3D sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTex3di4): 150(ptr) Variable UniformConstant - 152: TypeImage 37(int) 3D sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTex3du4): 153(ptr) Variable UniformConstant - 155: TypeImage 6(float) 1D array sampled format:Unknown - 156: TypePointer UniformConstant 155 -157(g_tTex1df4a): 156(ptr) Variable UniformConstant - 158: TypeImage 25(int) 1D array sampled format:Unknown - 159: TypePointer UniformConstant 158 -160(g_tTex1di4a): 159(ptr) Variable UniformConstant - 161: TypeImage 37(int) 1D array sampled format:Unknown - 162: TypePointer UniformConstant 161 -163(g_tTex1du4a): 162(ptr) Variable UniformConstant - 164: TypeImage 6(float) 2D array sampled format:Unknown + 22: TypeVector 6(float) 2 + 27: TypeInt 32 1 + 28: TypeImage 27(int) 1D sampled format:Unknown + 29: TypePointer UniformConstant 28 + 30(g_tTex1di4): 29(ptr) Variable UniformConstant + 33: TypeImage 27(int) 1D depth sampled format:Unknown + 34: TypeSampledImage 33 + 40: TypeInt 32 0 + 41: TypeImage 40(int) 1D sampled format:Unknown + 42: TypePointer UniformConstant 41 + 43(g_tTex1du4): 42(ptr) Variable UniformConstant + 46: TypeImage 40(int) 1D depth sampled format:Unknown + 47: TypeSampledImage 46 + 53: TypeImage 6(float) 2D sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex2df4): 54(ptr) Variable UniformConstant + 58: TypeImage 6(float) 2D depth sampled format:Unknown + 59: TypeSampledImage 58 + 61: 6(float) Constant 1045220557 + 62: 22(fvec2) ConstantComposite 20 61 + 63: TypeVector 6(float) 3 + 70: TypeImage 27(int) 2D sampled format:Unknown + 71: TypePointer UniformConstant 70 + 72(g_tTex2di4): 71(ptr) Variable UniformConstant + 75: TypeImage 27(int) 2D depth sampled format:Unknown + 76: TypeSampledImage 75 + 84: TypeImage 40(int) 2D sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex2du4): 85(ptr) Variable UniformConstant + 89: TypeImage 40(int) 2D depth sampled format:Unknown + 90: TypeSampledImage 89 + 98: TypeImage 6(float) Cube sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTexcdf4): 99(ptr) Variable UniformConstant + 103: TypeImage 6(float) Cube depth sampled format:Unknown + 104: TypeSampledImage 103 + 106: 6(float) Constant 1050253722 + 107: 63(fvec3) ConstantComposite 20 61 106 + 108: TypeVector 6(float) 4 + 116: TypeImage 27(int) Cube sampled format:Unknown + 117: TypePointer UniformConstant 116 + 118(g_tTexcdi4): 117(ptr) Variable UniformConstant + 121: TypeImage 27(int) Cube depth sampled format:Unknown + 122: TypeSampledImage 121 + 131: TypeImage 40(int) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdu4): 132(ptr) Variable UniformConstant + 136: TypeImage 40(int) Cube depth sampled format:Unknown + 137: TypeSampledImage 136 + 145(PS_OUTPUT): TypeStruct 108(fvec4) 6(float) + 146: TypePointer Function 145(PS_OUTPUT) + 148: 27(int) Constant 0 + 149: 6(float) Constant 1065353216 + 150: 108(fvec4) ConstantComposite 149 149 149 149 + 151: TypePointer Function 108(fvec4) + 153: 27(int) Constant 1 + 155: TypePointer Output 108(fvec4) + 156(Color): 155(ptr) Variable Output + 159: TypePointer Output 6(float) + 160(Depth): 159(ptr) Variable Output + 164: TypeImage 6(float) 3D sampled format:Unknown 165: TypePointer UniformConstant 164 -166(g_tTex2df4a): 165(ptr) Variable UniformConstant - 167: TypeImage 25(int) 2D array sampled format:Unknown + 166(g_tTex3df4): 165(ptr) Variable UniformConstant + 167: TypeImage 27(int) 3D sampled format:Unknown 168: TypePointer UniformConstant 167 -169(g_tTex2di4a): 168(ptr) Variable UniformConstant - 170: TypeImage 37(int) 2D array sampled format:Unknown + 169(g_tTex3di4): 168(ptr) Variable UniformConstant + 170: TypeImage 40(int) 3D sampled format:Unknown 171: TypePointer UniformConstant 170 -172(g_tTex2du4a): 171(ptr) Variable UniformConstant - 173: TypeImage 6(float) Cube array sampled format:Unknown + 172(g_tTex3du4): 171(ptr) Variable UniformConstant + 173: TypeImage 6(float) 1D array sampled format:Unknown 174: TypePointer UniformConstant 173 -175(g_tTexcdf4a): 174(ptr) Variable UniformConstant - 176: TypeImage 25(int) Cube array sampled format:Unknown +175(g_tTex1df4a): 174(ptr) Variable UniformConstant + 176: TypeImage 27(int) 1D array sampled format:Unknown 177: TypePointer UniformConstant 176 -178(g_tTexcdi4a): 177(ptr) Variable UniformConstant - 179: TypeImage 37(int) Cube array sampled format:Unknown +178(g_tTex1di4a): 177(ptr) Variable UniformConstant + 179: TypeImage 40(int) 1D array sampled format:Unknown 180: TypePointer UniformConstant 179 -181(g_tTexcdu4a): 180(ptr) Variable UniformConstant +181(g_tTex1du4a): 180(ptr) Variable UniformConstant + 182: TypeImage 6(float) 2D array sampled format:Unknown + 183: TypePointer UniformConstant 182 +184(g_tTex2df4a): 183(ptr) Variable UniformConstant + 185: TypeImage 27(int) 2D array sampled format:Unknown + 186: TypePointer UniformConstant 185 +187(g_tTex2di4a): 186(ptr) Variable UniformConstant + 188: TypeImage 40(int) 2D array sampled format:Unknown + 189: TypePointer UniformConstant 188 +190(g_tTex2du4a): 189(ptr) Variable UniformConstant + 191: TypeImage 6(float) Cube array sampled format:Unknown + 192: TypePointer UniformConstant 191 +193(g_tTexcdf4a): 192(ptr) Variable UniformConstant + 194: TypeImage 27(int) Cube array sampled format:Unknown + 195: TypePointer UniformConstant 194 +196(g_tTexcdi4a): 195(ptr) Variable UniformConstant + 197: TypeImage 40(int) Cube array sampled format:Unknown + 198: TypePointer UniformConstant 197 +199(g_tTexcdu4a): 198(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function - 24(r02): 7(ptr) Variable Function - 36(r04): 7(ptr) Variable Function - 48(r20): 7(ptr) Variable Function - 63(r22): 7(ptr) Variable Function - 75(r24): 7(ptr) Variable Function - 87(r50): 7(ptr) Variable Function - 102(r52): 7(ptr) Variable Function - 114(r54): 7(ptr) Variable Function - 129(psout): 128(ptr) Variable Function + 26(r02): 7(ptr) Variable Function + 39(r04): 7(ptr) Variable Function + 52(r20): 7(ptr) Variable Function + 69(r22): 7(ptr) Variable Function + 83(r24): 7(ptr) Variable Function + 97(r50): 7(ptr) Variable Function + 115(r52): 7(ptr) Variable Function + 130(r54): 7(ptr) Variable Function + 147(psout): 146(ptr) Variable Function 12: 9 Load 11(g_tTex1df4) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 22: 6(float) CompositeExtract 20 0 - 23: 6(float) ImageSampleDrefImplicitLod 19 20 22 - Store 8(r00) 23 - 29: 26 Load 28(g_tTex1di4) - 30: 13 Load 15(g_sSamp) - 33: 32 SampledImage 29 30 - 34: 6(float) CompositeExtract 20 0 - 35: 6(float) ImageSampleDrefImplicitLod 33 20 34 - Store 24(r02) 35 - 41: 38 Load 40(g_tTex1du4) - 42: 13 Load 15(g_sSamp) - 45: 44 SampledImage 41 42 - 46: 6(float) CompositeExtract 20 0 - 47: 6(float) ImageSampleDrefImplicitLod 45 20 46 - Store 36(r04) 47 - 52: 49 Load 51(g_tTex2df4) - 53: 13 Load 15(g_sSamp) - 56: 55 SampledImage 52 53 - 60: 6(float) CompositeExtract 59 0 - 61: 6(float) CompositeExtract 60 0 - 62: 6(float) ImageSampleDrefImplicitLod 56 60 61 - Store 48(r20) 62 - 67: 64 Load 66(g_tTex2di4) - 68: 13 Load 15(g_sSamp) - 71: 70 SampledImage 67 68 - 72: 6(float) CompositeExtract 59 0 - 73: 6(float) CompositeExtract 72 0 - 74: 6(float) ImageSampleDrefImplicitLod 71 72 73 - Store 63(r22) 74 - 79: 76 Load 78(g_tTex2du4) - 80: 13 Load 15(g_sSamp) - 83: 82 SampledImage 79 80 - 84: 6(float) CompositeExtract 59 0 - 85: 6(float) CompositeExtract 84 0 - 86: 6(float) ImageSampleDrefImplicitLod 83 84 85 - Store 75(r24) 86 - 91: 88 Load 90(g_tTexcdf4) - 92: 13 Load 15(g_sSamp) - 95: 94 SampledImage 91 92 - 99: 6(float) CompositeExtract 98 0 - 100: 6(float) CompositeExtract 99 0 - 101: 6(float) ImageSampleDrefImplicitLod 95 99 100 - Store 87(r50) 101 - 106: 103 Load 105(g_tTexcdi4) - 107: 13 Load 15(g_sSamp) - 110: 109 SampledImage 106 107 - 111: 6(float) CompositeExtract 98 0 - 112: 6(float) CompositeExtract 111 0 - 113: 6(float) ImageSampleDrefImplicitLod 110 111 112 - Store 102(r52) 113 - 118: 115 Load 117(g_tTexcdu4) - 119: 13 Load 15(g_sSamp) - 122: 121 SampledImage 118 119 - 123: 6(float) CompositeExtract 98 0 - 124: 6(float) CompositeExtract 123 0 - 125: 6(float) ImageSampleDrefImplicitLod 122 123 124 - Store 114(r54) 125 - 134: 133(ptr) AccessChain 129(psout) 130 - Store 134 132 - 136: 7(ptr) AccessChain 129(psout) 135 - Store 136 131 - 139: 133(ptr) AccessChain 129(psout) 130 - 140: 126(fvec4) Load 139 - Store 138(Color) 140 - 143: 7(ptr) AccessChain 129(psout) 135 - 144: 6(float) Load 143 - Store 142(Depth) 144 + 23: 22(fvec2) CompositeConstruct 20 21 + 24: 6(float) CompositeExtract 23 1 + 25: 6(float) ImageSampleDrefImplicitLod 19 23 24 + Store 8(r00) 25 + 31: 28 Load 30(g_tTex1di4) + 32: 13 Load 15(g_sSamp) + 35: 34 SampledImage 31 32 + 36: 22(fvec2) CompositeConstruct 20 21 + 37: 6(float) CompositeExtract 36 1 + 38: 6(float) ImageSampleDrefImplicitLod 35 36 37 + Store 26(r02) 38 + 44: 41 Load 43(g_tTex1du4) + 45: 13 Load 15(g_sSamp) + 48: 47 SampledImage 44 45 + 49: 22(fvec2) CompositeConstruct 20 21 + 50: 6(float) CompositeExtract 49 1 + 51: 6(float) ImageSampleDrefImplicitLod 48 49 50 + Store 39(r04) 51 + 56: 53 Load 55(g_tTex2df4) + 57: 13 Load 15(g_sSamp) + 60: 59 SampledImage 56 57 + 64: 6(float) CompositeExtract 62 0 + 65: 6(float) CompositeExtract 62 1 + 66: 63(fvec3) CompositeConstruct 64 65 21 + 67: 6(float) CompositeExtract 66 2 + 68: 6(float) ImageSampleDrefImplicitLod 60 66 67 + Store 52(r20) 68 + 73: 70 Load 72(g_tTex2di4) + 74: 13 Load 15(g_sSamp) + 77: 76 SampledImage 73 74 + 78: 6(float) CompositeExtract 62 0 + 79: 6(float) CompositeExtract 62 1 + 80: 63(fvec3) CompositeConstruct 78 79 21 + 81: 6(float) CompositeExtract 80 2 + 82: 6(float) ImageSampleDrefImplicitLod 77 80 81 + Store 69(r22) 82 + 87: 84 Load 86(g_tTex2du4) + 88: 13 Load 15(g_sSamp) + 91: 90 SampledImage 87 88 + 92: 6(float) CompositeExtract 62 0 + 93: 6(float) CompositeExtract 62 1 + 94: 63(fvec3) CompositeConstruct 92 93 21 + 95: 6(float) CompositeExtract 94 2 + 96: 6(float) ImageSampleDrefImplicitLod 91 94 95 + Store 83(r24) 96 + 101: 98 Load 100(g_tTexcdf4) + 102: 13 Load 15(g_sSamp) + 105: 104 SampledImage 101 102 + 109: 6(float) CompositeExtract 107 0 + 110: 6(float) CompositeExtract 107 1 + 111: 6(float) CompositeExtract 107 2 + 112: 108(fvec4) CompositeConstruct 109 110 111 21 + 113: 6(float) CompositeExtract 112 3 + 114: 6(float) ImageSampleDrefImplicitLod 105 112 113 + Store 97(r50) 114 + 119: 116 Load 118(g_tTexcdi4) + 120: 13 Load 15(g_sSamp) + 123: 122 SampledImage 119 120 + 124: 6(float) CompositeExtract 107 0 + 125: 6(float) CompositeExtract 107 1 + 126: 6(float) CompositeExtract 107 2 + 127: 108(fvec4) CompositeConstruct 124 125 126 21 + 128: 6(float) CompositeExtract 127 3 + 129: 6(float) ImageSampleDrefImplicitLod 123 127 128 + Store 115(r52) 129 + 134: 131 Load 133(g_tTexcdu4) + 135: 13 Load 15(g_sSamp) + 138: 137 SampledImage 134 135 + 139: 6(float) CompositeExtract 107 0 + 140: 6(float) CompositeExtract 107 1 + 141: 6(float) CompositeExtract 107 2 + 142: 108(fvec4) CompositeConstruct 139 140 141 21 + 143: 6(float) CompositeExtract 142 3 + 144: 6(float) ImageSampleDrefImplicitLod 138 142 143 + Store 130(r54) 144 + 152: 151(ptr) AccessChain 147(psout) 148 + Store 152 150 + 154: 7(ptr) AccessChain 147(psout) 153 + Store 154 149 + 157: 151(ptr) AccessChain 147(psout) 148 + 158: 108(fvec4) Load 157 + Store 156(Color) 158 + 161: 7(ptr) AccessChain 147(psout) 153 + 162: 6(float) Load 161 + Store 160(Depth) 162 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index 021e08f6..fe2c74f5 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r01' (temp float) -0:42 textureOffset (global float) +0:42 textureOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -22,11 +22,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r03' (temp float) -0:43 textureOffset (global float) +0:43 textureOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -36,11 +36,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r05' (temp float) -0:44 textureOffset (global float) +0:44 textureOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -50,11 +50,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r21' (temp float) -0:47 textureOffset (global float) +0:47 textureOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -66,11 +66,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r23' (temp float) -0:48 textureOffset (global float) +0:48 textureOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -82,11 +82,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r25' (temp float) -0:49 textureOffset (global float) +0:49 textureOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -128,6 +128,8 @@ gl_FragCoord origin is upper left 0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -150,8 +152,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -166,11 +166,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r01' (temp float) -0:42 textureOffset (global float) +0:42 textureOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -180,11 +180,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r03' (temp float) -0:43 textureOffset (global float) +0:43 textureOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -194,11 +194,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r05' (temp float) -0:44 textureOffset (global float) +0:44 textureOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -208,11 +208,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r21' (temp float) -0:47 textureOffset (global float) +0:47 textureOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -224,11 +224,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r23' (temp float) -0:48 textureOffset (global float) +0:48 textureOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -240,11 +240,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r25' (temp float) -0:49 textureOffset (global float) +0:49 textureOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -286,6 +286,8 @@ gl_FragCoord origin is upper left 0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -308,81 +310,79 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 156 +// Id's are bound by 166 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 103 107 + EntryPoint Fragment 4 "main" 113 117 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r01" Name 11 "g_tTex1df4" Name 15 "g_sSamp" - Name 26 "r03" - Name 29 "g_tTex1di4" - Name 37 "r05" - Name 41 "g_tTex1du4" - Name 49 "r21" - Name 52 "g_tTex2df4" - Name 67 "r23" - Name 70 "g_tTex2di4" - Name 79 "r25" - Name 82 "g_tTex2du4" - Name 92 "PS_OUTPUT" - MemberName 92(PS_OUTPUT) 0 "Color" - MemberName 92(PS_OUTPUT) 1 "Depth" - Name 94 "psout" - Name 103 "Color" - Name 107 "Depth" - Name 113 "g_tTex3df4" - Name 116 "g_tTex3di4" - Name 119 "g_tTex3du4" - Name 122 "g_tTexcdf4" - Name 125 "g_tTexcdi4" - Name 128 "g_tTexcdu4" - Name 131 "g_tTex1df4a" - Name 134 "g_tTex1di4a" - Name 137 "g_tTex1du4a" - Name 140 "g_tTex2df4a" - Name 143 "g_tTex2di4a" - Name 146 "g_tTex2du4a" - Name 149 "g_tTexcdf4a" - Name 152 "g_tTexcdi4a" - Name 155 "g_tTexcdu4a" + Name 28 "r03" + Name 31 "g_tTex1di4" + Name 40 "r05" + Name 44 "g_tTex1du4" + Name 53 "r21" + Name 56 "g_tTex2df4" + Name 73 "r23" + Name 76 "g_tTex2di4" + Name 87 "r25" + Name 90 "g_tTex2du4" + Name 102 "PS_OUTPUT" + MemberName 102(PS_OUTPUT) 0 "Color" + MemberName 102(PS_OUTPUT) 1 "Depth" + Name 104 "psout" + Name 113 "Color" + Name 117 "Depth" + Name 123 "g_tTex3df4" + Name 126 "g_tTex3di4" + Name 129 "g_tTex3du4" + Name 132 "g_tTexcdf4" + Name 135 "g_tTexcdi4" + Name 138 "g_tTexcdu4" + Name 141 "g_tTex1df4a" + Name 144 "g_tTex1di4a" + Name 147 "g_tTex1du4a" + Name 150 "g_tTex2df4a" + Name 153 "g_tTex2di4a" + Name 156 "g_tTex2du4a" + Name 159 "g_tTexcdf4a" + Name 162 "g_tTexcdi4a" + Name 165 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 41(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 70(g_tTex2di4) DescriptorSet 0 - Decorate 82(g_tTex2du4) DescriptorSet 0 - Decorate 103(Color) Location 0 - Decorate 107(Depth) BuiltIn FragDepth - Decorate 113(g_tTex3df4) DescriptorSet 0 - Decorate 116(g_tTex3di4) DescriptorSet 0 - Decorate 119(g_tTex3du4) DescriptorSet 0 - Decorate 122(g_tTexcdf4) DescriptorSet 0 - Decorate 125(g_tTexcdi4) DescriptorSet 0 - Decorate 128(g_tTexcdu4) DescriptorSet 0 - Decorate 131(g_tTex1df4a) DescriptorSet 0 - Decorate 134(g_tTex1di4a) DescriptorSet 0 - Decorate 137(g_tTex1du4a) DescriptorSet 0 - Decorate 140(g_tTex2df4a) DescriptorSet 0 - Decorate 143(g_tTex2di4a) DescriptorSet 0 - Decorate 146(g_tTex2du4a) DescriptorSet 0 - Decorate 149(g_tTexcdf4a) DescriptorSet 0 - Decorate 152(g_tTexcdi4a) DescriptorSet 0 - Decorate 155(g_tTexcdu4a) DescriptorSet 0 + Decorate 31(g_tTex1di4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 76(g_tTex2di4) DescriptorSet 0 + Decorate 90(g_tTex2du4) DescriptorSet 0 + Decorate 113(Color) Location 0 + Decorate 117(Depth) BuiltIn FragDepth + Decorate 123(g_tTex3df4) DescriptorSet 0 + Decorate 126(g_tTex3di4) DescriptorSet 0 + Decorate 129(g_tTex3du4) DescriptorSet 0 + Decorate 132(g_tTexcdf4) DescriptorSet 0 + Decorate 135(g_tTexcdi4) DescriptorSet 0 + Decorate 138(g_tTexcdu4) DescriptorSet 0 + Decorate 141(g_tTex1df4a) DescriptorSet 0 + Decorate 144(g_tTex1di4a) DescriptorSet 0 + Decorate 147(g_tTex1du4a) DescriptorSet 0 + Decorate 150(g_tTex2df4a) DescriptorSet 0 + Decorate 153(g_tTex2di4a) DescriptorSet 0 + Decorate 156(g_tTex2du4a) DescriptorSet 0 + Decorate 159(g_tTexcdf4a) DescriptorSet 0 + Decorate 162(g_tTexcdi4a) DescriptorSet 0 + Decorate 165(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -397,154 +397,164 @@ gl_FragCoord origin is upper left 18: TypeSampledImage 17 20: 6(float) Constant 1036831949 21: 6(float) Constant 1061158912 - 22: TypeInt 32 1 - 23: 22(int) Constant 2 - 27: TypeImage 22(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeImage 22(int) 1D depth sampled format:Unknown - 33: TypeSampledImage 32 - 38: TypeInt 32 0 - 39: TypeImage 38(int) 1D sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41(g_tTex1du4): 40(ptr) Variable UniformConstant - 44: TypeImage 38(int) 1D depth sampled format:Unknown - 45: TypeSampledImage 44 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeImage 6(float) 2D depth sampled format:Unknown - 56: TypeSampledImage 55 - 58: TypeVector 6(float) 2 - 59: 6(float) Constant 1045220557 - 60: 58(fvec2) ConstantComposite 20 59 - 62: TypeVector 22(int) 2 - 63: 22(int) Constant 3 - 64: 62(ivec2) ConstantComposite 23 63 - 68: TypeImage 22(int) 2D sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTex2di4): 69(ptr) Variable UniformConstant - 73: TypeImage 22(int) 2D depth sampled format:Unknown - 74: TypeSampledImage 73 - 80: TypeImage 38(int) 2D sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex2du4): 81(ptr) Variable UniformConstant - 85: TypeImage 38(int) 2D depth sampled format:Unknown - 86: TypeSampledImage 85 - 91: TypeVector 6(float) 4 - 92(PS_OUTPUT): TypeStruct 91(fvec4) 6(float) - 93: TypePointer Function 92(PS_OUTPUT) - 95: 22(int) Constant 0 - 96: 6(float) Constant 1065353216 - 97: 91(fvec4) ConstantComposite 96 96 96 96 - 98: TypePointer Function 91(fvec4) - 100: 22(int) Constant 1 - 102: TypePointer Output 91(fvec4) - 103(Color): 102(ptr) Variable Output - 106: TypePointer Output 6(float) - 107(Depth): 106(ptr) Variable Output - 111: TypeImage 6(float) 3D sampled format:Unknown - 112: TypePointer UniformConstant 111 - 113(g_tTex3df4): 112(ptr) Variable UniformConstant - 114: TypeImage 22(int) 3D sampled format:Unknown - 115: TypePointer UniformConstant 114 - 116(g_tTex3di4): 115(ptr) Variable UniformConstant - 117: TypeImage 38(int) 3D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex3du4): 118(ptr) Variable UniformConstant - 120: TypeImage 6(float) Cube sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTexcdf4): 121(ptr) Variable UniformConstant - 123: TypeImage 22(int) Cube sampled format:Unknown - 124: TypePointer UniformConstant 123 - 125(g_tTexcdi4): 124(ptr) Variable UniformConstant - 126: TypeImage 38(int) Cube sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTexcdu4): 127(ptr) Variable UniformConstant - 129: TypeImage 6(float) 1D array sampled format:Unknown - 130: TypePointer UniformConstant 129 -131(g_tTex1df4a): 130(ptr) Variable UniformConstant - 132: TypeImage 22(int) 1D array sampled format:Unknown - 133: TypePointer UniformConstant 132 -134(g_tTex1di4a): 133(ptr) Variable UniformConstant - 135: TypeImage 38(int) 1D array sampled format:Unknown - 136: TypePointer UniformConstant 135 -137(g_tTex1du4a): 136(ptr) Variable UniformConstant - 138: TypeImage 6(float) 2D array sampled format:Unknown - 139: TypePointer UniformConstant 138 -140(g_tTex2df4a): 139(ptr) Variable UniformConstant - 141: TypeImage 22(int) 2D array sampled format:Unknown - 142: TypePointer UniformConstant 141 -143(g_tTex2di4a): 142(ptr) Variable UniformConstant - 144: TypeImage 38(int) 2D array sampled format:Unknown - 145: TypePointer UniformConstant 144 -146(g_tTex2du4a): 145(ptr) Variable UniformConstant - 147: TypeImage 6(float) Cube array sampled format:Unknown - 148: TypePointer UniformConstant 147 -149(g_tTexcdf4a): 148(ptr) Variable UniformConstant - 150: TypeImage 22(int) Cube array sampled format:Unknown - 151: TypePointer UniformConstant 150 -152(g_tTexcdi4a): 151(ptr) Variable UniformConstant - 153: TypeImage 38(int) Cube array sampled format:Unknown - 154: TypePointer UniformConstant 153 -155(g_tTexcdu4a): 154(ptr) Variable UniformConstant + 22: TypeVector 6(float) 2 + 24: TypeInt 32 1 + 25: 24(int) Constant 2 + 29: TypeImage 24(int) 1D sampled format:Unknown + 30: TypePointer UniformConstant 29 + 31(g_tTex1di4): 30(ptr) Variable UniformConstant + 34: TypeImage 24(int) 1D depth sampled format:Unknown + 35: TypeSampledImage 34 + 41: TypeInt 32 0 + 42: TypeImage 41(int) 1D sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex1du4): 43(ptr) Variable UniformConstant + 47: TypeImage 41(int) 1D depth sampled format:Unknown + 48: TypeSampledImage 47 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeImage 6(float) 2D depth sampled format:Unknown + 60: TypeSampledImage 59 + 62: 6(float) Constant 1045220557 + 63: 22(fvec2) ConstantComposite 20 62 + 64: TypeVector 6(float) 3 + 68: TypeVector 24(int) 2 + 69: 24(int) Constant 3 + 70: 68(ivec2) ConstantComposite 25 69 + 74: TypeImage 24(int) 2D sampled format:Unknown + 75: TypePointer UniformConstant 74 + 76(g_tTex2di4): 75(ptr) Variable UniformConstant + 79: TypeImage 24(int) 2D depth sampled format:Unknown + 80: TypeSampledImage 79 + 88: TypeImage 41(int) 2D sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex2du4): 89(ptr) Variable UniformConstant + 93: TypeImage 41(int) 2D depth sampled format:Unknown + 94: TypeSampledImage 93 + 101: TypeVector 6(float) 4 + 102(PS_OUTPUT): TypeStruct 101(fvec4) 6(float) + 103: TypePointer Function 102(PS_OUTPUT) + 105: 24(int) Constant 0 + 106: 6(float) Constant 1065353216 + 107: 101(fvec4) ConstantComposite 106 106 106 106 + 108: TypePointer Function 101(fvec4) + 110: 24(int) Constant 1 + 112: TypePointer Output 101(fvec4) + 113(Color): 112(ptr) Variable Output + 116: TypePointer Output 6(float) + 117(Depth): 116(ptr) Variable Output + 121: TypeImage 6(float) 3D sampled format:Unknown + 122: TypePointer UniformConstant 121 + 123(g_tTex3df4): 122(ptr) Variable UniformConstant + 124: TypeImage 24(int) 3D sampled format:Unknown + 125: TypePointer UniformConstant 124 + 126(g_tTex3di4): 125(ptr) Variable UniformConstant + 127: TypeImage 41(int) 3D sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTex3du4): 128(ptr) Variable UniformConstant + 130: TypeImage 6(float) Cube sampled format:Unknown + 131: TypePointer UniformConstant 130 + 132(g_tTexcdf4): 131(ptr) Variable UniformConstant + 133: TypeImage 24(int) Cube sampled format:Unknown + 134: TypePointer UniformConstant 133 + 135(g_tTexcdi4): 134(ptr) Variable UniformConstant + 136: TypeImage 41(int) Cube sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTexcdu4): 137(ptr) Variable UniformConstant + 139: TypeImage 6(float) 1D array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTex1df4a): 140(ptr) Variable UniformConstant + 142: TypeImage 24(int) 1D array sampled format:Unknown + 143: TypePointer UniformConstant 142 +144(g_tTex1di4a): 143(ptr) Variable UniformConstant + 145: TypeImage 41(int) 1D array sampled format:Unknown + 146: TypePointer UniformConstant 145 +147(g_tTex1du4a): 146(ptr) Variable UniformConstant + 148: TypeImage 6(float) 2D array sampled format:Unknown + 149: TypePointer UniformConstant 148 +150(g_tTex2df4a): 149(ptr) Variable UniformConstant + 151: TypeImage 24(int) 2D array sampled format:Unknown + 152: TypePointer UniformConstant 151 +153(g_tTex2di4a): 152(ptr) Variable UniformConstant + 154: TypeImage 41(int) 2D array sampled format:Unknown + 155: TypePointer UniformConstant 154 +156(g_tTex2du4a): 155(ptr) Variable UniformConstant + 157: TypeImage 6(float) Cube array sampled format:Unknown + 158: TypePointer UniformConstant 157 +159(g_tTexcdf4a): 158(ptr) Variable UniformConstant + 160: TypeImage 24(int) Cube array sampled format:Unknown + 161: TypePointer UniformConstant 160 +162(g_tTexcdi4a): 161(ptr) Variable UniformConstant + 163: TypeImage 41(int) Cube array sampled format:Unknown + 164: TypePointer UniformConstant 163 +165(g_tTexcdu4a): 164(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function - 26(r03): 7(ptr) Variable Function - 37(r05): 7(ptr) Variable Function - 49(r21): 7(ptr) Variable Function - 67(r23): 7(ptr) Variable Function - 79(r25): 7(ptr) Variable Function - 94(psout): 93(ptr) Variable Function + 28(r03): 7(ptr) Variable Function + 40(r05): 7(ptr) Variable Function + 53(r21): 7(ptr) Variable Function + 73(r23): 7(ptr) Variable Function + 87(r25): 7(ptr) Variable Function + 104(psout): 103(ptr) Variable Function 12: 9 Load 11(g_tTex1df4) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 24: 6(float) CompositeExtract 20 0 - 25: 6(float) ImageSampleDrefImplicitLod 19 20 24 ConstOffset 23 - Store 8(r01) 25 - 30: 27 Load 29(g_tTex1di4) - 31: 13 Load 15(g_sSamp) - 34: 33 SampledImage 30 31 - 35: 6(float) CompositeExtract 20 0 - 36: 6(float) ImageSampleDrefImplicitLod 34 20 35 ConstOffset 23 - Store 26(r03) 36 - 42: 39 Load 41(g_tTex1du4) - 43: 13 Load 15(g_sSamp) - 46: 45 SampledImage 42 43 - 47: 6(float) CompositeExtract 20 0 - 48: 6(float) ImageSampleDrefImplicitLod 46 20 47 ConstOffset 23 - Store 37(r05) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 13 Load 15(g_sSamp) - 57: 56 SampledImage 53 54 - 61: 6(float) CompositeExtract 60 0 - 65: 6(float) CompositeExtract 61 0 - 66: 6(float) ImageSampleDrefImplicitLod 57 61 65 ConstOffset 64 - Store 49(r21) 66 - 71: 68 Load 70(g_tTex2di4) - 72: 13 Load 15(g_sSamp) - 75: 74 SampledImage 71 72 - 76: 6(float) CompositeExtract 60 0 - 77: 6(float) CompositeExtract 76 0 - 78: 6(float) ImageSampleDrefImplicitLod 75 76 77 ConstOffset 64 - Store 67(r23) 78 - 83: 80 Load 82(g_tTex2du4) - 84: 13 Load 15(g_sSamp) - 87: 86 SampledImage 83 84 - 88: 6(float) CompositeExtract 60 0 - 89: 6(float) CompositeExtract 88 0 - 90: 6(float) ImageSampleDrefImplicitLod 87 88 89 ConstOffset 64 - Store 79(r25) 90 - 99: 98(ptr) AccessChain 94(psout) 95 - Store 99 97 - 101: 7(ptr) AccessChain 94(psout) 100 - Store 101 96 - 104: 98(ptr) AccessChain 94(psout) 95 - 105: 91(fvec4) Load 104 - Store 103(Color) 105 - 108: 7(ptr) AccessChain 94(psout) 100 - 109: 6(float) Load 108 - Store 107(Depth) 109 + 23: 22(fvec2) CompositeConstruct 20 21 + 26: 6(float) CompositeExtract 23 1 + 27: 6(float) ImageSampleDrefImplicitLod 19 23 26 ConstOffset 25 + Store 8(r01) 27 + 32: 29 Load 31(g_tTex1di4) + 33: 13 Load 15(g_sSamp) + 36: 35 SampledImage 32 33 + 37: 22(fvec2) CompositeConstruct 20 21 + 38: 6(float) CompositeExtract 37 1 + 39: 6(float) ImageSampleDrefImplicitLod 36 37 38 ConstOffset 25 + Store 28(r03) 39 + 45: 42 Load 44(g_tTex1du4) + 46: 13 Load 15(g_sSamp) + 49: 48 SampledImage 45 46 + 50: 22(fvec2) CompositeConstruct 20 21 + 51: 6(float) CompositeExtract 50 1 + 52: 6(float) ImageSampleDrefImplicitLod 49 50 51 ConstOffset 25 + Store 40(r05) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 13 Load 15(g_sSamp) + 61: 60 SampledImage 57 58 + 65: 6(float) CompositeExtract 63 0 + 66: 6(float) CompositeExtract 63 1 + 67: 64(fvec3) CompositeConstruct 65 66 21 + 71: 6(float) CompositeExtract 67 2 + 72: 6(float) ImageSampleDrefImplicitLod 61 67 71 ConstOffset 70 + Store 53(r21) 72 + 77: 74 Load 76(g_tTex2di4) + 78: 13 Load 15(g_sSamp) + 81: 80 SampledImage 77 78 + 82: 6(float) CompositeExtract 63 0 + 83: 6(float) CompositeExtract 63 1 + 84: 64(fvec3) CompositeConstruct 82 83 21 + 85: 6(float) CompositeExtract 84 2 + 86: 6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 70 + Store 73(r23) 86 + 91: 88 Load 90(g_tTex2du4) + 92: 13 Load 15(g_sSamp) + 95: 94 SampledImage 91 92 + 96: 6(float) CompositeExtract 63 0 + 97: 6(float) CompositeExtract 63 1 + 98: 64(fvec3) CompositeConstruct 96 97 21 + 99: 6(float) CompositeExtract 98 2 + 100: 6(float) ImageSampleDrefImplicitLod 95 98 99 ConstOffset 70 + Store 87(r25) 100 + 109: 108(ptr) AccessChain 104(psout) 105 + Store 109 107 + 111: 7(ptr) AccessChain 104(psout) 110 + Store 111 106 + 114: 108(ptr) AccessChain 104(psout) 105 + 115: 101(fvec4) Load 114 + Store 113(Color) 115 + 118: 7(ptr) AccessChain 104(psout) 110 + 119: 6(float) Load 118 + Store 117(Depth) 119 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 73a2a89b..013a645c 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r11' (temp float) -0:42 textureOffset (global float) +0:42 textureOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -23,11 +23,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r13' (temp float) -0:43 textureOffset (global float) +0:43 textureOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -38,11 +38,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r15' (temp float) -0:44 textureOffset (global float) +0:44 textureOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -53,11 +53,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r31' (temp float) -0:47 textureOffset (global float) +0:47 textureOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -70,11 +70,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r33' (temp float) -0:48 textureOffset (global float) +0:48 textureOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -87,11 +87,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r35' (temp float) -0:49 textureOffset (global float) +0:49 textureOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -134,6 +134,8 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -156,8 +158,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -172,11 +172,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r11' (temp float) -0:42 textureOffset (global float) +0:42 textureOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -187,11 +187,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r13' (temp float) -0:43 textureOffset (global float) +0:43 textureOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -202,11 +202,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r15' (temp float) -0:44 textureOffset (global float) +0:44 textureOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -217,11 +217,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r31' (temp float) -0:47 textureOffset (global float) +0:47 textureOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -234,11 +234,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r33' (temp float) -0:48 textureOffset (global float) +0:48 textureOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -251,11 +251,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r35' (temp float) -0:49 textureOffset (global float) +0:49 textureOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -298,6 +298,8 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -320,81 +322,79 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 162 +// Id's are bound by 177 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 109 113 + EntryPoint Fragment 4 "main" 124 128 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r11" Name 11 "g_tTex1df4a" Name 15 "g_sSamp" - Name 30 "r13" - Name 33 "g_tTex1di4a" - Name 42 "r15" - Name 46 "g_tTex1du4a" - Name 55 "r31" - Name 58 "g_tTex2df4a" - Name 73 "r33" - Name 76 "g_tTex2di4a" - Name 85 "r35" - Name 88 "g_tTex2du4a" - Name 98 "PS_OUTPUT" - MemberName 98(PS_OUTPUT) 0 "Color" - MemberName 98(PS_OUTPUT) 1 "Depth" - Name 100 "psout" - Name 109 "Color" - Name 113 "Depth" - Name 119 "g_tTex1df4" - Name 122 "g_tTex1di4" - Name 125 "g_tTex1du4" - Name 128 "g_tTex2df4" - Name 131 "g_tTex2di4" - Name 134 "g_tTex2du4" - Name 137 "g_tTex3df4" - Name 140 "g_tTex3di4" - Name 143 "g_tTex3du4" - Name 146 "g_tTexcdf4" - Name 149 "g_tTexcdi4" - Name 152 "g_tTexcdu4" - Name 155 "g_tTexcdf4a" - Name 158 "g_tTexcdi4a" - Name 161 "g_tTexcdu4a" + Name 33 "r13" + Name 36 "g_tTex1di4a" + Name 47 "r15" + Name 51 "g_tTex1du4a" + Name 62 "r31" + Name 65 "g_tTex2df4a" + Name 83 "r33" + Name 86 "g_tTex2di4a" + Name 98 "r35" + Name 101 "g_tTex2du4a" + Name 113 "PS_OUTPUT" + MemberName 113(PS_OUTPUT) 0 "Color" + MemberName 113(PS_OUTPUT) 1 "Depth" + Name 115 "psout" + Name 124 "Color" + Name 128 "Depth" + Name 134 "g_tTex1df4" + Name 137 "g_tTex1di4" + Name 140 "g_tTex1du4" + Name 143 "g_tTex2df4" + Name 146 "g_tTex2di4" + Name 149 "g_tTex2du4" + Name 152 "g_tTex3df4" + Name 155 "g_tTex3di4" + Name 158 "g_tTex3du4" + Name 161 "g_tTexcdf4" + Name 164 "g_tTexcdi4" + Name 167 "g_tTexcdu4" + Name 170 "g_tTexcdf4a" + Name 173 "g_tTexcdi4a" + Name 176 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4a) DescriptorSet 0 - Decorate 46(g_tTex1du4a) DescriptorSet 0 - Decorate 58(g_tTex2df4a) DescriptorSet 0 - Decorate 76(g_tTex2di4a) DescriptorSet 0 - Decorate 88(g_tTex2du4a) DescriptorSet 0 - Decorate 109(Color) Location 0 - Decorate 113(Depth) BuiltIn FragDepth - Decorate 119(g_tTex1df4) DescriptorSet 0 - Decorate 119(g_tTex1df4) Binding 0 - Decorate 122(g_tTex1di4) DescriptorSet 0 - Decorate 125(g_tTex1du4) DescriptorSet 0 - Decorate 128(g_tTex2df4) DescriptorSet 0 - Decorate 131(g_tTex2di4) DescriptorSet 0 - Decorate 134(g_tTex2du4) DescriptorSet 0 - Decorate 137(g_tTex3df4) DescriptorSet 0 - Decorate 140(g_tTex3di4) DescriptorSet 0 - Decorate 143(g_tTex3du4) DescriptorSet 0 - Decorate 146(g_tTexcdf4) DescriptorSet 0 - Decorate 149(g_tTexcdi4) DescriptorSet 0 - Decorate 152(g_tTexcdu4) DescriptorSet 0 - Decorate 155(g_tTexcdf4a) DescriptorSet 0 - Decorate 158(g_tTexcdi4a) DescriptorSet 0 - Decorate 161(g_tTexcdu4a) DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 51(g_tTex1du4a) DescriptorSet 0 + Decorate 65(g_tTex2df4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 101(g_tTex2du4a) DescriptorSet 0 + Decorate 124(Color) Location 0 + Decorate 128(Depth) BuiltIn FragDepth + Decorate 134(g_tTex1df4) DescriptorSet 0 + Decorate 134(g_tTex1df4) Binding 0 + Decorate 137(g_tTex1di4) DescriptorSet 0 + Decorate 140(g_tTex1du4) DescriptorSet 0 + Decorate 143(g_tTex2df4) DescriptorSet 0 + Decorate 146(g_tTex2di4) DescriptorSet 0 + Decorate 149(g_tTex2du4) DescriptorSet 0 + Decorate 152(g_tTex3df4) DescriptorSet 0 + Decorate 155(g_tTex3di4) DescriptorSet 0 + Decorate 158(g_tTex3du4) DescriptorSet 0 + Decorate 161(g_tTexcdf4) DescriptorSet 0 + Decorate 164(g_tTexcdi4) DescriptorSet 0 + Decorate 167(g_tTexcdu4) DescriptorSet 0 + Decorate 170(g_tTexcdf4a) DescriptorSet 0 + Decorate 173(g_tTexcdi4a) DescriptorSet 0 + Decorate 176(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -412,157 +412,172 @@ gl_FragCoord origin is upper left 22: 6(float) Constant 1045220557 23: 20(fvec2) ConstantComposite 21 22 24: 6(float) Constant 1061158912 - 26: TypeInt 32 1 - 27: 26(int) Constant 2 - 31: TypeImage 26(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4a): 32(ptr) Variable UniformConstant - 36: TypeImage 26(int) 1D depth array sampled format:Unknown - 37: TypeSampledImage 36 - 43: TypeInt 32 0 - 44: TypeImage 43(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4a): 45(ptr) Variable UniformConstant - 49: TypeImage 43(int) 1D depth array sampled format:Unknown - 50: TypeSampledImage 49 - 56: TypeImage 6(float) 2D array sampled format:Unknown - 57: TypePointer UniformConstant 56 - 58(g_tTex2df4a): 57(ptr) Variable UniformConstant - 61: TypeImage 6(float) 2D depth array sampled format:Unknown - 62: TypeSampledImage 61 - 64: TypeVector 6(float) 3 - 65: 6(float) Constant 1050253722 - 66: 64(fvec3) ConstantComposite 21 22 65 - 68: TypeVector 26(int) 2 - 69: 26(int) Constant 3 - 70: 68(ivec2) ConstantComposite 27 69 - 74: TypeImage 26(int) 2D array sampled format:Unknown - 75: TypePointer UniformConstant 74 - 76(g_tTex2di4a): 75(ptr) Variable UniformConstant - 79: TypeImage 26(int) 2D depth array sampled format:Unknown - 80: TypeSampledImage 79 - 86: TypeImage 43(int) 2D array sampled format:Unknown - 87: TypePointer UniformConstant 86 - 88(g_tTex2du4a): 87(ptr) Variable UniformConstant - 91: TypeImage 43(int) 2D depth array sampled format:Unknown - 92: TypeSampledImage 91 - 97: TypeVector 6(float) 4 - 98(PS_OUTPUT): TypeStruct 97(fvec4) 6(float) - 99: TypePointer Function 98(PS_OUTPUT) - 101: 26(int) Constant 0 - 102: 6(float) Constant 1065353216 - 103: 97(fvec4) ConstantComposite 102 102 102 102 - 104: TypePointer Function 97(fvec4) - 106: 26(int) Constant 1 - 108: TypePointer Output 97(fvec4) - 109(Color): 108(ptr) Variable Output - 112: TypePointer Output 6(float) - 113(Depth): 112(ptr) Variable Output - 117: TypeImage 6(float) 1D sampled format:Unknown - 118: TypePointer UniformConstant 117 - 119(g_tTex1df4): 118(ptr) Variable UniformConstant - 120: TypeImage 26(int) 1D sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTex1di4): 121(ptr) Variable UniformConstant - 123: TypeImage 43(int) 1D sampled format:Unknown - 124: TypePointer UniformConstant 123 - 125(g_tTex1du4): 124(ptr) Variable UniformConstant - 126: TypeImage 6(float) 2D sampled format:Unknown - 127: TypePointer UniformConstant 126 - 128(g_tTex2df4): 127(ptr) Variable UniformConstant - 129: TypeImage 26(int) 2D sampled format:Unknown - 130: TypePointer UniformConstant 129 - 131(g_tTex2di4): 130(ptr) Variable UniformConstant - 132: TypeImage 43(int) 2D sampled format:Unknown + 25: TypeVector 6(float) 3 + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 34: TypeImage 29(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4a): 35(ptr) Variable UniformConstant + 39: TypeImage 29(int) 1D depth array sampled format:Unknown + 40: TypeSampledImage 39 + 48: TypeInt 32 0 + 49: TypeImage 48(int) 1D array sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex1du4a): 50(ptr) Variable UniformConstant + 54: TypeImage 48(int) 1D depth array sampled format:Unknown + 55: TypeSampledImage 54 + 63: TypeImage 6(float) 2D array sampled format:Unknown + 64: TypePointer UniformConstant 63 + 65(g_tTex2df4a): 64(ptr) Variable UniformConstant + 68: TypeImage 6(float) 2D depth array sampled format:Unknown + 69: TypeSampledImage 68 + 71: 6(float) Constant 1050253722 + 72: 25(fvec3) ConstantComposite 21 22 71 + 73: TypeVector 6(float) 4 + 78: TypeVector 29(int) 2 + 79: 29(int) Constant 3 + 80: 78(ivec2) ConstantComposite 30 79 + 84: TypeImage 29(int) 2D array sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex2di4a): 85(ptr) Variable UniformConstant + 89: TypeImage 29(int) 2D depth array sampled format:Unknown + 90: TypeSampledImage 89 + 99: TypeImage 48(int) 2D array sampled format:Unknown + 100: TypePointer UniformConstant 99 +101(g_tTex2du4a): 100(ptr) Variable UniformConstant + 104: TypeImage 48(int) 2D depth array sampled format:Unknown + 105: TypeSampledImage 104 + 113(PS_OUTPUT): TypeStruct 73(fvec4) 6(float) + 114: TypePointer Function 113(PS_OUTPUT) + 116: 29(int) Constant 0 + 117: 6(float) Constant 1065353216 + 118: 73(fvec4) ConstantComposite 117 117 117 117 + 119: TypePointer Function 73(fvec4) + 121: 29(int) Constant 1 + 123: TypePointer Output 73(fvec4) + 124(Color): 123(ptr) Variable Output + 127: TypePointer Output 6(float) + 128(Depth): 127(ptr) Variable Output + 132: TypeImage 6(float) 1D sampled format:Unknown 133: TypePointer UniformConstant 132 - 134(g_tTex2du4): 133(ptr) Variable UniformConstant - 135: TypeImage 6(float) 3D sampled format:Unknown + 134(g_tTex1df4): 133(ptr) Variable UniformConstant + 135: TypeImage 29(int) 1D sampled format:Unknown 136: TypePointer UniformConstant 135 - 137(g_tTex3df4): 136(ptr) Variable UniformConstant - 138: TypeImage 26(int) 3D sampled format:Unknown + 137(g_tTex1di4): 136(ptr) Variable UniformConstant + 138: TypeImage 48(int) 1D sampled format:Unknown 139: TypePointer UniformConstant 138 - 140(g_tTex3di4): 139(ptr) Variable UniformConstant - 141: TypeImage 43(int) 3D sampled format:Unknown + 140(g_tTex1du4): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) 2D sampled format:Unknown 142: TypePointer UniformConstant 141 - 143(g_tTex3du4): 142(ptr) Variable UniformConstant - 144: TypeImage 6(float) Cube sampled format:Unknown + 143(g_tTex2df4): 142(ptr) Variable UniformConstant + 144: TypeImage 29(int) 2D sampled format:Unknown 145: TypePointer UniformConstant 144 - 146(g_tTexcdf4): 145(ptr) Variable UniformConstant - 147: TypeImage 26(int) Cube sampled format:Unknown + 146(g_tTex2di4): 145(ptr) Variable UniformConstant + 147: TypeImage 48(int) 2D sampled format:Unknown 148: TypePointer UniformConstant 147 - 149(g_tTexcdi4): 148(ptr) Variable UniformConstant - 150: TypeImage 43(int) Cube sampled format:Unknown + 149(g_tTex2du4): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) 3D sampled format:Unknown 151: TypePointer UniformConstant 150 - 152(g_tTexcdu4): 151(ptr) Variable UniformConstant - 153: TypeImage 6(float) Cube array sampled format:Unknown + 152(g_tTex3df4): 151(ptr) Variable UniformConstant + 153: TypeImage 29(int) 3D sampled format:Unknown 154: TypePointer UniformConstant 153 -155(g_tTexcdf4a): 154(ptr) Variable UniformConstant - 156: TypeImage 26(int) Cube array sampled format:Unknown + 155(g_tTex3di4): 154(ptr) Variable UniformConstant + 156: TypeImage 48(int) 3D sampled format:Unknown 157: TypePointer UniformConstant 156 -158(g_tTexcdi4a): 157(ptr) Variable UniformConstant - 159: TypeImage 43(int) Cube array sampled format:Unknown + 158(g_tTex3du4): 157(ptr) Variable UniformConstant + 159: TypeImage 6(float) Cube sampled format:Unknown 160: TypePointer UniformConstant 159 -161(g_tTexcdu4a): 160(ptr) Variable UniformConstant + 161(g_tTexcdf4): 160(ptr) Variable UniformConstant + 162: TypeImage 29(int) Cube sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTexcdi4): 163(ptr) Variable UniformConstant + 165: TypeImage 48(int) Cube sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTexcdu4): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) Cube array sampled format:Unknown + 169: TypePointer UniformConstant 168 +170(g_tTexcdf4a): 169(ptr) Variable UniformConstant + 171: TypeImage 29(int) Cube array sampled format:Unknown + 172: TypePointer UniformConstant 171 +173(g_tTexcdi4a): 172(ptr) Variable UniformConstant + 174: TypeImage 48(int) Cube array sampled format:Unknown + 175: TypePointer UniformConstant 174 +176(g_tTexcdu4a): 175(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function - 30(r13): 7(ptr) Variable Function - 42(r15): 7(ptr) Variable Function - 55(r31): 7(ptr) Variable Function - 73(r33): 7(ptr) Variable Function - 85(r35): 7(ptr) Variable Function - 100(psout): 99(ptr) Variable Function + 33(r13): 7(ptr) Variable Function + 47(r15): 7(ptr) Variable Function + 62(r31): 7(ptr) Variable Function + 83(r33): 7(ptr) Variable Function + 98(r35): 7(ptr) Variable Function + 115(psout): 114(ptr) Variable Function 12: 9 Load 11(g_tTex1df4a) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 25: 6(float) CompositeExtract 23 0 - 28: 6(float) CompositeExtract 25 0 - 29: 6(float) ImageSampleDrefImplicitLod 19 25 28 ConstOffset 27 - Store 8(r11) 29 - 34: 31 Load 33(g_tTex1di4a) - 35: 13 Load 15(g_sSamp) - 38: 37 SampledImage 34 35 - 39: 6(float) CompositeExtract 23 0 - 40: 6(float) CompositeExtract 39 0 - 41: 6(float) ImageSampleDrefImplicitLod 38 39 40 ConstOffset 27 - Store 30(r13) 41 - 47: 44 Load 46(g_tTex1du4a) - 48: 13 Load 15(g_sSamp) - 51: 50 SampledImage 47 48 - 52: 6(float) CompositeExtract 23 0 - 53: 6(float) CompositeExtract 52 0 - 54: 6(float) ImageSampleDrefImplicitLod 51 52 53 ConstOffset 27 - Store 42(r15) 54 - 59: 56 Load 58(g_tTex2df4a) - 60: 13 Load 15(g_sSamp) - 63: 62 SampledImage 59 60 - 67: 6(float) CompositeExtract 66 0 - 71: 6(float) CompositeExtract 67 0 - 72: 6(float) ImageSampleDrefImplicitLod 63 67 71 ConstOffset 70 - Store 55(r31) 72 - 77: 74 Load 76(g_tTex2di4a) - 78: 13 Load 15(g_sSamp) - 81: 80 SampledImage 77 78 - 82: 6(float) CompositeExtract 66 0 - 83: 6(float) CompositeExtract 82 0 - 84: 6(float) ImageSampleDrefImplicitLod 81 82 83 ConstOffset 70 - Store 73(r33) 84 - 89: 86 Load 88(g_tTex2du4a) - 90: 13 Load 15(g_sSamp) - 93: 92 SampledImage 89 90 - 94: 6(float) CompositeExtract 66 0 - 95: 6(float) CompositeExtract 94 0 - 96: 6(float) ImageSampleDrefImplicitLod 93 94 95 ConstOffset 70 - Store 85(r35) 96 - 105: 104(ptr) AccessChain 100(psout) 101 - Store 105 103 - 107: 7(ptr) AccessChain 100(psout) 106 - Store 107 102 - 110: 104(ptr) AccessChain 100(psout) 101 - 111: 97(fvec4) Load 110 - Store 109(Color) 111 - 114: 7(ptr) AccessChain 100(psout) 106 - 115: 6(float) Load 114 - Store 113(Depth) 115 + 26: 6(float) CompositeExtract 23 0 + 27: 6(float) CompositeExtract 23 1 + 28: 25(fvec3) CompositeConstruct 26 27 24 + 31: 6(float) CompositeExtract 28 2 + 32: 6(float) ImageSampleDrefImplicitLod 19 28 31 ConstOffset 30 + Store 8(r11) 32 + 37: 34 Load 36(g_tTex1di4a) + 38: 13 Load 15(g_sSamp) + 41: 40 SampledImage 37 38 + 42: 6(float) CompositeExtract 23 0 + 43: 6(float) CompositeExtract 23 1 + 44: 25(fvec3) CompositeConstruct 42 43 24 + 45: 6(float) CompositeExtract 44 2 + 46: 6(float) ImageSampleDrefImplicitLod 41 44 45 ConstOffset 30 + Store 33(r13) 46 + 52: 49 Load 51(g_tTex1du4a) + 53: 13 Load 15(g_sSamp) + 56: 55 SampledImage 52 53 + 57: 6(float) CompositeExtract 23 0 + 58: 6(float) CompositeExtract 23 1 + 59: 25(fvec3) CompositeConstruct 57 58 24 + 60: 6(float) CompositeExtract 59 2 + 61: 6(float) ImageSampleDrefImplicitLod 56 59 60 ConstOffset 30 + Store 47(r15) 61 + 66: 63 Load 65(g_tTex2df4a) + 67: 13 Load 15(g_sSamp) + 70: 69 SampledImage 66 67 + 74: 6(float) CompositeExtract 72 0 + 75: 6(float) CompositeExtract 72 1 + 76: 6(float) CompositeExtract 72 2 + 77: 73(fvec4) CompositeConstruct 74 75 76 24 + 81: 6(float) CompositeExtract 77 3 + 82: 6(float) ImageSampleDrefImplicitLod 70 77 81 ConstOffset 80 + Store 62(r31) 82 + 87: 84 Load 86(g_tTex2di4a) + 88: 13 Load 15(g_sSamp) + 91: 90 SampledImage 87 88 + 92: 6(float) CompositeExtract 72 0 + 93: 6(float) CompositeExtract 72 1 + 94: 6(float) CompositeExtract 72 2 + 95: 73(fvec4) CompositeConstruct 92 93 94 24 + 96: 6(float) CompositeExtract 95 3 + 97: 6(float) ImageSampleDrefImplicitLod 91 95 96 ConstOffset 80 + Store 83(r33) 97 + 102: 99 Load 101(g_tTex2du4a) + 103: 13 Load 15(g_sSamp) + 106: 105 SampledImage 102 103 + 107: 6(float) CompositeExtract 72 0 + 108: 6(float) CompositeExtract 72 1 + 109: 6(float) CompositeExtract 72 2 + 110: 73(fvec4) CompositeConstruct 107 108 109 24 + 111: 6(float) CompositeExtract 110 3 + 112: 6(float) ImageSampleDrefImplicitLod 106 110 111 ConstOffset 80 + Store 98(r35) 112 + 120: 119(ptr) AccessChain 115(psout) 116 + Store 120 118 + 122: 7(ptr) AccessChain 115(psout) 121 + Store 122 117 + 125: 119(ptr) AccessChain 115(psout) 116 + 126: 73(fvec4) Load 125 + Store 124(Color) 126 + 129: 7(ptr) AccessChain 115(psout) 121 + 130: 6(float) Load 129 + Store 128(Depth) 130 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index c5009ff3..29e02cd9 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r10' (temp float) -0:42 textureLod (global float) +0:42 textureLod (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -23,11 +23,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r12' (temp float) -0:43 textureLod (global float) +0:43 textureLod (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -38,11 +38,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r14' (temp float) -0:44 textureLod (global float) +0:44 textureLod (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -53,11 +53,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r30' (temp float) -0:47 textureLod (global float) +0:47 textureLod (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -69,11 +69,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r32' (temp float) -0:48 textureLod (global float) +0:48 textureLod (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -85,11 +85,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r34' (temp float) -0:49 textureLod (global float) +0:49 textureLod (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -101,11 +101,11 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp float) 0:52 'r60' (temp float) -0:52 textureLod (global float) +0:52 textureLod (temp float) 0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) 0:52 'g_tTexcdf4a' (uniform textureCubeArray) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp float) +0:52 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -118,11 +118,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r62' (temp float) -0:53 textureLod (global float) +0:53 textureLod (temp float) 0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) 0:53 'g_tTexcdi4a' (uniform itextureCubeArray) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -135,11 +135,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r64' (temp float) -0:54 textureLod (global float) +0:54 textureLod (temp float) 0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) 0:54 'g_tTexcdu4a' (uniform utextureCubeArray) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -182,6 +182,8 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -204,8 +206,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -220,11 +220,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r10' (temp float) -0:42 textureLod (global float) +0:42 textureLod (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -235,11 +235,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r12' (temp float) -0:43 textureLod (global float) +0:43 textureLod (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -250,11 +250,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r14' (temp float) -0:44 textureLod (global float) +0:44 textureLod (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -265,11 +265,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r30' (temp float) -0:47 textureLod (global float) +0:47 textureLod (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -281,11 +281,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r32' (temp float) -0:48 textureLod (global float) +0:48 textureLod (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -297,11 +297,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r34' (temp float) -0:49 textureLod (global float) +0:49 textureLod (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -313,11 +313,11 @@ gl_FragCoord origin is upper left 0:52 Sequence 0:52 move second child to first child (temp float) 0:52 'r60' (temp float) -0:52 textureLod (global float) +0:52 textureLod (temp float) 0:52 Construct combined texture-sampler (temp samplerCubeArrayShadow) 0:52 'g_tTexcdf4a' (uniform textureCubeArray) 0:52 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:52 Construct vec4 (temp float) +0:52 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -330,11 +330,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r62' (temp float) -0:53 textureLod (global float) +0:53 textureLod (temp float) 0:53 Construct combined texture-sampler (temp isamplerCubeArrayShadow) 0:53 'g_tTexcdi4a' (uniform itextureCubeArray) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -347,11 +347,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r64' (temp float) -0:54 textureLod (global float) +0:54 textureLod (temp float) 0:54 Construct combined texture-sampler (temp usamplerCubeArrayShadow) 0:54 'g_tTexcdu4a' (uniform utextureCubeArray) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -394,6 +394,8 @@ gl_FragCoord origin is upper left 0:59 1 (const int) 0:59 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -416,84 +418,82 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 185 +// Id's are bound by 212 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 141 145 + EntryPoint Fragment 4 "main" 168 172 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r10" Name 11 "g_tTex1df4a" Name 15 "g_sSamp" - Name 29 "r12" - Name 33 "g_tTex1di4a" - Name 42 "r14" - Name 46 "g_tTex1du4a" - Name 55 "r30" - Name 58 "g_tTex2df4a" - Name 70 "r32" - Name 73 "g_tTex2di4a" - Name 82 "r34" - Name 85 "g_tTex2du4a" - Name 94 "r60" - Name 97 "g_tTexcdf4a" - Name 108 "r62" - Name 111 "g_tTexcdi4a" - Name 119 "r64" - Name 122 "g_tTexcdu4a" - Name 130 "PS_OUTPUT" - MemberName 130(PS_OUTPUT) 0 "Color" - MemberName 130(PS_OUTPUT) 1 "Depth" - Name 132 "psout" - Name 141 "Color" - Name 145 "Depth" - Name 151 "g_tTex1df4" - Name 154 "g_tTex1di4" - Name 157 "g_tTex1du4" - Name 160 "g_tTex2df4" - Name 163 "g_tTex2di4" - Name 166 "g_tTex2du4" - Name 169 "g_tTex3df4" - Name 172 "g_tTex3di4" - Name 175 "g_tTex3du4" - Name 178 "g_tTexcdf4" - Name 181 "g_tTexcdi4" - Name 184 "g_tTexcdu4" + Name 32 "r12" + Name 36 "g_tTex1di4a" + Name 47 "r14" + Name 51 "g_tTex1du4a" + Name 62 "r30" + Name 65 "g_tTex2df4a" + Name 80 "r32" + Name 83 "g_tTex2di4a" + Name 95 "r34" + Name 98 "g_tTex2du4a" + Name 110 "r60" + Name 113 "g_tTexcdf4a" + Name 127 "r62" + Name 130 "g_tTexcdi4a" + Name 142 "r64" + Name 145 "g_tTexcdu4a" + Name 157 "PS_OUTPUT" + MemberName 157(PS_OUTPUT) 0 "Color" + MemberName 157(PS_OUTPUT) 1 "Depth" + Name 159 "psout" + Name 168 "Color" + Name 172 "Depth" + Name 178 "g_tTex1df4" + Name 181 "g_tTex1di4" + Name 184 "g_tTex1du4" + Name 187 "g_tTex2df4" + Name 190 "g_tTex2di4" + Name 193 "g_tTex2du4" + Name 196 "g_tTex3df4" + Name 199 "g_tTex3di4" + Name 202 "g_tTex3du4" + Name 205 "g_tTexcdf4" + Name 208 "g_tTexcdi4" + Name 211 "g_tTexcdu4" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4a) DescriptorSet 0 - Decorate 46(g_tTex1du4a) DescriptorSet 0 - Decorate 58(g_tTex2df4a) DescriptorSet 0 - Decorate 73(g_tTex2di4a) DescriptorSet 0 - Decorate 85(g_tTex2du4a) DescriptorSet 0 - Decorate 97(g_tTexcdf4a) DescriptorSet 0 - Decorate 111(g_tTexcdi4a) DescriptorSet 0 - Decorate 122(g_tTexcdu4a) DescriptorSet 0 - Decorate 141(Color) Location 0 - Decorate 145(Depth) BuiltIn FragDepth - Decorate 151(g_tTex1df4) DescriptorSet 0 - Decorate 151(g_tTex1df4) Binding 0 - Decorate 154(g_tTex1di4) DescriptorSet 0 - Decorate 157(g_tTex1du4) DescriptorSet 0 - Decorate 160(g_tTex2df4) DescriptorSet 0 - Decorate 163(g_tTex2di4) DescriptorSet 0 - Decorate 166(g_tTex2du4) DescriptorSet 0 - Decorate 169(g_tTex3df4) DescriptorSet 0 - Decorate 172(g_tTex3di4) DescriptorSet 0 - Decorate 175(g_tTex3du4) DescriptorSet 0 - Decorate 178(g_tTexcdf4) DescriptorSet 0 - Decorate 181(g_tTexcdi4) DescriptorSet 0 - Decorate 184(g_tTexcdu4) DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 51(g_tTex1du4a) DescriptorSet 0 + Decorate 65(g_tTex2df4a) DescriptorSet 0 + Decorate 83(g_tTex2di4a) DescriptorSet 0 + Decorate 98(g_tTex2du4a) DescriptorSet 0 + Decorate 113(g_tTexcdf4a) DescriptorSet 0 + Decorate 130(g_tTexcdi4a) DescriptorSet 0 + Decorate 145(g_tTexcdu4a) DescriptorSet 0 + Decorate 168(Color) Location 0 + Decorate 172(Depth) BuiltIn FragDepth + Decorate 178(g_tTex1df4) DescriptorSet 0 + Decorate 178(g_tTex1df4) Binding 0 + Decorate 181(g_tTex1di4) DescriptorSet 0 + Decorate 184(g_tTex1du4) DescriptorSet 0 + Decorate 187(g_tTex2df4) DescriptorSet 0 + Decorate 190(g_tTex2di4) DescriptorSet 0 + Decorate 193(g_tTex2du4) DescriptorSet 0 + Decorate 196(g_tTex3df4) DescriptorSet 0 + Decorate 199(g_tTex3di4) DescriptorSet 0 + Decorate 202(g_tTex3du4) DescriptorSet 0 + Decorate 205(g_tTexcdf4) DescriptorSet 0 + Decorate 208(g_tTexcdi4) DescriptorSet 0 + Decorate 211(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -511,183 +511,210 @@ gl_FragCoord origin is upper left 22: 6(float) Constant 1045220557 23: 20(fvec2) ConstantComposite 21 22 24: 6(float) Constant 1061158912 - 26: 6(float) Constant 0 - 30: TypeInt 32 1 - 31: TypeImage 30(int) 1D array sampled format:Unknown - 32: TypePointer UniformConstant 31 - 33(g_tTex1di4a): 32(ptr) Variable UniformConstant - 36: TypeImage 30(int) 1D depth array sampled format:Unknown - 37: TypeSampledImage 36 - 43: TypeInt 32 0 - 44: TypeImage 43(int) 1D array sampled format:Unknown - 45: TypePointer UniformConstant 44 - 46(g_tTex1du4a): 45(ptr) Variable UniformConstant - 49: TypeImage 43(int) 1D depth array sampled format:Unknown - 50: TypeSampledImage 49 - 56: TypeImage 6(float) 2D array sampled format:Unknown - 57: TypePointer UniformConstant 56 - 58(g_tTex2df4a): 57(ptr) Variable UniformConstant - 61: TypeImage 6(float) 2D depth array sampled format:Unknown - 62: TypeSampledImage 61 - 64: TypeVector 6(float) 3 - 65: 6(float) Constant 1050253722 - 66: 64(fvec3) ConstantComposite 21 22 65 - 71: TypeImage 30(int) 2D array sampled format:Unknown - 72: TypePointer UniformConstant 71 - 73(g_tTex2di4a): 72(ptr) Variable UniformConstant - 76: TypeImage 30(int) 2D depth array sampled format:Unknown - 77: TypeSampledImage 76 - 83: TypeImage 43(int) 2D array sampled format:Unknown - 84: TypePointer UniformConstant 83 - 85(g_tTex2du4a): 84(ptr) Variable UniformConstant - 88: TypeImage 43(int) 2D depth array sampled format:Unknown - 89: TypeSampledImage 88 - 95: TypeImage 6(float) Cube array sampled format:Unknown - 96: TypePointer UniformConstant 95 - 97(g_tTexcdf4a): 96(ptr) Variable UniformConstant - 100: TypeImage 6(float) Cube depth array sampled format:Unknown - 101: TypeSampledImage 100 - 103: TypeVector 6(float) 4 - 104: 6(float) Constant 1053609165 - 105: 103(fvec4) ConstantComposite 21 22 65 104 - 109: TypeImage 30(int) Cube array sampled format:Unknown - 110: TypePointer UniformConstant 109 -111(g_tTexcdi4a): 110(ptr) Variable UniformConstant - 114: TypeImage 30(int) Cube depth array sampled format:Unknown - 115: TypeSampledImage 114 - 120: TypeImage 43(int) Cube array sampled format:Unknown - 121: TypePointer UniformConstant 120 -122(g_tTexcdu4a): 121(ptr) Variable UniformConstant - 125: TypeImage 43(int) Cube depth array sampled format:Unknown - 126: TypeSampledImage 125 - 130(PS_OUTPUT): TypeStruct 103(fvec4) 6(float) - 131: TypePointer Function 130(PS_OUTPUT) - 133: 30(int) Constant 0 - 134: 6(float) Constant 1065353216 - 135: 103(fvec4) ConstantComposite 134 134 134 134 - 136: TypePointer Function 103(fvec4) - 138: 30(int) Constant 1 - 140: TypePointer Output 103(fvec4) - 141(Color): 140(ptr) Variable Output - 144: TypePointer Output 6(float) - 145(Depth): 144(ptr) Variable Output - 149: TypeImage 6(float) 1D sampled format:Unknown - 150: TypePointer UniformConstant 149 - 151(g_tTex1df4): 150(ptr) Variable UniformConstant - 152: TypeImage 30(int) 1D sampled format:Unknown - 153: TypePointer UniformConstant 152 - 154(g_tTex1di4): 153(ptr) Variable UniformConstant - 155: TypeImage 43(int) 1D sampled format:Unknown - 156: TypePointer UniformConstant 155 - 157(g_tTex1du4): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) 2D sampled format:Unknown - 159: TypePointer UniformConstant 158 - 160(g_tTex2df4): 159(ptr) Variable UniformConstant - 161: TypeImage 30(int) 2D sampled format:Unknown - 162: TypePointer UniformConstant 161 - 163(g_tTex2di4): 162(ptr) Variable UniformConstant - 164: TypeImage 43(int) 2D sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTex2du4): 165(ptr) Variable UniformConstant - 167: TypeImage 6(float) 3D sampled format:Unknown - 168: TypePointer UniformConstant 167 - 169(g_tTex3df4): 168(ptr) Variable UniformConstant - 170: TypeImage 30(int) 3D sampled format:Unknown - 171: TypePointer UniformConstant 170 - 172(g_tTex3di4): 171(ptr) Variable UniformConstant - 173: TypeImage 43(int) 3D sampled format:Unknown - 174: TypePointer UniformConstant 173 - 175(g_tTex3du4): 174(ptr) Variable UniformConstant - 176: TypeImage 6(float) Cube sampled format:Unknown + 25: TypeVector 6(float) 3 + 29: 6(float) Constant 0 + 33: TypeInt 32 1 + 34: TypeImage 33(int) 1D array sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4a): 35(ptr) Variable UniformConstant + 39: TypeImage 33(int) 1D depth array sampled format:Unknown + 40: TypeSampledImage 39 + 48: TypeInt 32 0 + 49: TypeImage 48(int) 1D array sampled format:Unknown + 50: TypePointer UniformConstant 49 + 51(g_tTex1du4a): 50(ptr) Variable UniformConstant + 54: TypeImage 48(int) 1D depth array sampled format:Unknown + 55: TypeSampledImage 54 + 63: TypeImage 6(float) 2D array sampled format:Unknown + 64: TypePointer UniformConstant 63 + 65(g_tTex2df4a): 64(ptr) Variable UniformConstant + 68: TypeImage 6(float) 2D depth array sampled format:Unknown + 69: TypeSampledImage 68 + 71: 6(float) Constant 1050253722 + 72: 25(fvec3) ConstantComposite 21 22 71 + 73: TypeVector 6(float) 4 + 81: TypeImage 33(int) 2D array sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2di4a): 82(ptr) Variable UniformConstant + 86: TypeImage 33(int) 2D depth array sampled format:Unknown + 87: TypeSampledImage 86 + 96: TypeImage 48(int) 2D array sampled format:Unknown + 97: TypePointer UniformConstant 96 + 98(g_tTex2du4a): 97(ptr) Variable UniformConstant + 101: TypeImage 48(int) 2D depth array sampled format:Unknown + 102: TypeSampledImage 101 + 111: TypeImage 6(float) Cube array sampled format:Unknown + 112: TypePointer UniformConstant 111 +113(g_tTexcdf4a): 112(ptr) Variable UniformConstant + 116: TypeImage 6(float) Cube depth array sampled format:Unknown + 117: TypeSampledImage 116 + 119: 6(float) Constant 1053609165 + 120: 73(fvec4) ConstantComposite 21 22 71 119 + 128: TypeImage 33(int) Cube array sampled format:Unknown + 129: TypePointer UniformConstant 128 +130(g_tTexcdi4a): 129(ptr) Variable UniformConstant + 133: TypeImage 33(int) Cube depth array sampled format:Unknown + 134: TypeSampledImage 133 + 143: TypeImage 48(int) Cube array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTexcdu4a): 144(ptr) Variable UniformConstant + 148: TypeImage 48(int) Cube depth array sampled format:Unknown + 149: TypeSampledImage 148 + 157(PS_OUTPUT): TypeStruct 73(fvec4) 6(float) + 158: TypePointer Function 157(PS_OUTPUT) + 160: 33(int) Constant 0 + 161: 6(float) Constant 1065353216 + 162: 73(fvec4) ConstantComposite 161 161 161 161 + 163: TypePointer Function 73(fvec4) + 165: 33(int) Constant 1 + 167: TypePointer Output 73(fvec4) + 168(Color): 167(ptr) Variable Output + 171: TypePointer Output 6(float) + 172(Depth): 171(ptr) Variable Output + 176: TypeImage 6(float) 1D sampled format:Unknown 177: TypePointer UniformConstant 176 - 178(g_tTexcdf4): 177(ptr) Variable UniformConstant - 179: TypeImage 30(int) Cube sampled format:Unknown + 178(g_tTex1df4): 177(ptr) Variable UniformConstant + 179: TypeImage 33(int) 1D sampled format:Unknown 180: TypePointer UniformConstant 179 - 181(g_tTexcdi4): 180(ptr) Variable UniformConstant - 182: TypeImage 43(int) Cube sampled format:Unknown + 181(g_tTex1di4): 180(ptr) Variable UniformConstant + 182: TypeImage 48(int) 1D sampled format:Unknown 183: TypePointer UniformConstant 182 - 184(g_tTexcdu4): 183(ptr) Variable UniformConstant + 184(g_tTex1du4): 183(ptr) Variable UniformConstant + 185: TypeImage 6(float) 2D sampled format:Unknown + 186: TypePointer UniformConstant 185 + 187(g_tTex2df4): 186(ptr) Variable UniformConstant + 188: TypeImage 33(int) 2D sampled format:Unknown + 189: TypePointer UniformConstant 188 + 190(g_tTex2di4): 189(ptr) Variable UniformConstant + 191: TypeImage 48(int) 2D sampled format:Unknown + 192: TypePointer UniformConstant 191 + 193(g_tTex2du4): 192(ptr) Variable UniformConstant + 194: TypeImage 6(float) 3D sampled format:Unknown + 195: TypePointer UniformConstant 194 + 196(g_tTex3df4): 195(ptr) Variable UniformConstant + 197: TypeImage 33(int) 3D sampled format:Unknown + 198: TypePointer UniformConstant 197 + 199(g_tTex3di4): 198(ptr) Variable UniformConstant + 200: TypeImage 48(int) 3D sampled format:Unknown + 201: TypePointer UniformConstant 200 + 202(g_tTex3du4): 201(ptr) Variable UniformConstant + 203: TypeImage 6(float) Cube sampled format:Unknown + 204: TypePointer UniformConstant 203 + 205(g_tTexcdf4): 204(ptr) Variable UniformConstant + 206: TypeImage 33(int) Cube sampled format:Unknown + 207: TypePointer UniformConstant 206 + 208(g_tTexcdi4): 207(ptr) Variable UniformConstant + 209: TypeImage 48(int) Cube sampled format:Unknown + 210: TypePointer UniformConstant 209 + 211(g_tTexcdu4): 210(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r10): 7(ptr) Variable Function - 29(r12): 7(ptr) Variable Function - 42(r14): 7(ptr) Variable Function - 55(r30): 7(ptr) Variable Function - 70(r32): 7(ptr) Variable Function - 82(r34): 7(ptr) Variable Function - 94(r60): 7(ptr) Variable Function - 108(r62): 7(ptr) Variable Function - 119(r64): 7(ptr) Variable Function - 132(psout): 131(ptr) Variable Function + 32(r12): 7(ptr) Variable Function + 47(r14): 7(ptr) Variable Function + 62(r30): 7(ptr) Variable Function + 80(r32): 7(ptr) Variable Function + 95(r34): 7(ptr) Variable Function + 110(r60): 7(ptr) Variable Function + 127(r62): 7(ptr) Variable Function + 142(r64): 7(ptr) Variable Function + 159(psout): 158(ptr) Variable Function 12: 9 Load 11(g_tTex1df4a) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 25: 6(float) CompositeExtract 23 0 - 27: 6(float) CompositeExtract 25 0 - 28: 6(float) ImageSampleDrefExplicitLod 19 25 27 Lod 26 - Store 8(r10) 28 - 34: 31 Load 33(g_tTex1di4a) - 35: 13 Load 15(g_sSamp) - 38: 37 SampledImage 34 35 - 39: 6(float) CompositeExtract 23 0 - 40: 6(float) CompositeExtract 39 0 - 41: 6(float) ImageSampleDrefExplicitLod 38 39 40 Lod 26 - Store 29(r12) 41 - 47: 44 Load 46(g_tTex1du4a) - 48: 13 Load 15(g_sSamp) - 51: 50 SampledImage 47 48 - 52: 6(float) CompositeExtract 23 0 - 53: 6(float) CompositeExtract 52 0 - 54: 6(float) ImageSampleDrefExplicitLod 51 52 53 Lod 26 - Store 42(r14) 54 - 59: 56 Load 58(g_tTex2df4a) - 60: 13 Load 15(g_sSamp) - 63: 62 SampledImage 59 60 - 67: 6(float) CompositeExtract 66 0 - 68: 6(float) CompositeExtract 67 0 - 69: 6(float) ImageSampleDrefExplicitLod 63 67 68 Lod 26 - Store 55(r30) 69 - 74: 71 Load 73(g_tTex2di4a) - 75: 13 Load 15(g_sSamp) - 78: 77 SampledImage 74 75 - 79: 6(float) CompositeExtract 66 0 - 80: 6(float) CompositeExtract 79 0 - 81: 6(float) ImageSampleDrefExplicitLod 78 79 80 Lod 26 - Store 70(r32) 81 - 86: 83 Load 85(g_tTex2du4a) - 87: 13 Load 15(g_sSamp) - 90: 89 SampledImage 86 87 - 91: 6(float) CompositeExtract 66 0 - 92: 6(float) CompositeExtract 91 0 - 93: 6(float) ImageSampleDrefExplicitLod 90 91 92 Lod 26 - Store 82(r34) 93 - 98: 95 Load 97(g_tTexcdf4a) - 99: 13 Load 15(g_sSamp) - 102: 101 SampledImage 98 99 - 106: 6(float) CompositeExtract 105 0 - 107: 6(float) ImageSampleDrefExplicitLod 102 106 24 Lod 24 - Store 94(r60) 107 - 112: 109 Load 111(g_tTexcdi4a) - 113: 13 Load 15(g_sSamp) - 116: 115 SampledImage 112 113 - 117: 6(float) CompositeExtract 105 0 - 118: 6(float) ImageSampleDrefExplicitLod 116 117 24 Lod 24 - Store 108(r62) 118 - 123: 120 Load 122(g_tTexcdu4a) - 124: 13 Load 15(g_sSamp) - 127: 126 SampledImage 123 124 - 128: 6(float) CompositeExtract 105 0 - 129: 6(float) ImageSampleDrefExplicitLod 127 128 24 Lod 24 - Store 119(r64) 129 - 137: 136(ptr) AccessChain 132(psout) 133 - Store 137 135 - 139: 7(ptr) AccessChain 132(psout) 138 - Store 139 134 - 142: 136(ptr) AccessChain 132(psout) 133 - 143: 103(fvec4) Load 142 - Store 141(Color) 143 - 146: 7(ptr) AccessChain 132(psout) 138 - 147: 6(float) Load 146 - Store 145(Depth) 147 + 26: 6(float) CompositeExtract 23 0 + 27: 6(float) CompositeExtract 23 1 + 28: 25(fvec3) CompositeConstruct 26 27 24 + 30: 6(float) CompositeExtract 28 2 + 31: 6(float) ImageSampleDrefExplicitLod 19 28 30 Lod 29 + Store 8(r10) 31 + 37: 34 Load 36(g_tTex1di4a) + 38: 13 Load 15(g_sSamp) + 41: 40 SampledImage 37 38 + 42: 6(float) CompositeExtract 23 0 + 43: 6(float) CompositeExtract 23 1 + 44: 25(fvec3) CompositeConstruct 42 43 24 + 45: 6(float) CompositeExtract 44 2 + 46: 6(float) ImageSampleDrefExplicitLod 41 44 45 Lod 29 + Store 32(r12) 46 + 52: 49 Load 51(g_tTex1du4a) + 53: 13 Load 15(g_sSamp) + 56: 55 SampledImage 52 53 + 57: 6(float) CompositeExtract 23 0 + 58: 6(float) CompositeExtract 23 1 + 59: 25(fvec3) CompositeConstruct 57 58 24 + 60: 6(float) CompositeExtract 59 2 + 61: 6(float) ImageSampleDrefExplicitLod 56 59 60 Lod 29 + Store 47(r14) 61 + 66: 63 Load 65(g_tTex2df4a) + 67: 13 Load 15(g_sSamp) + 70: 69 SampledImage 66 67 + 74: 6(float) CompositeExtract 72 0 + 75: 6(float) CompositeExtract 72 1 + 76: 6(float) CompositeExtract 72 2 + 77: 73(fvec4) CompositeConstruct 74 75 76 24 + 78: 6(float) CompositeExtract 77 3 + 79: 6(float) ImageSampleDrefExplicitLod 70 77 78 Lod 29 + Store 62(r30) 79 + 84: 81 Load 83(g_tTex2di4a) + 85: 13 Load 15(g_sSamp) + 88: 87 SampledImage 84 85 + 89: 6(float) CompositeExtract 72 0 + 90: 6(float) CompositeExtract 72 1 + 91: 6(float) CompositeExtract 72 2 + 92: 73(fvec4) CompositeConstruct 89 90 91 24 + 93: 6(float) CompositeExtract 92 3 + 94: 6(float) ImageSampleDrefExplicitLod 88 92 93 Lod 29 + Store 80(r32) 94 + 99: 96 Load 98(g_tTex2du4a) + 100: 13 Load 15(g_sSamp) + 103: 102 SampledImage 99 100 + 104: 6(float) CompositeExtract 72 0 + 105: 6(float) CompositeExtract 72 1 + 106: 6(float) CompositeExtract 72 2 + 107: 73(fvec4) CompositeConstruct 104 105 106 24 + 108: 6(float) CompositeExtract 107 3 + 109: 6(float) ImageSampleDrefExplicitLod 103 107 108 Lod 29 + Store 95(r34) 109 + 114: 111 Load 113(g_tTexcdf4a) + 115: 13 Load 15(g_sSamp) + 118: 117 SampledImage 114 115 + 121: 6(float) CompositeExtract 120 0 + 122: 6(float) CompositeExtract 120 1 + 123: 6(float) CompositeExtract 120 2 + 124: 6(float) CompositeExtract 120 3 + 125: 73(fvec4) CompositeConstruct 121 122 123 124 + 126: 6(float) ImageSampleDrefExplicitLod 118 125 24 Lod 24 + Store 110(r60) 126 + 131: 128 Load 130(g_tTexcdi4a) + 132: 13 Load 15(g_sSamp) + 135: 134 SampledImage 131 132 + 136: 6(float) CompositeExtract 120 0 + 137: 6(float) CompositeExtract 120 1 + 138: 6(float) CompositeExtract 120 2 + 139: 6(float) CompositeExtract 120 3 + 140: 73(fvec4) CompositeConstruct 136 137 138 139 + 141: 6(float) ImageSampleDrefExplicitLod 135 140 24 Lod 24 + Store 127(r62) 141 + 146: 143 Load 145(g_tTexcdu4a) + 147: 13 Load 15(g_sSamp) + 150: 149 SampledImage 146 147 + 151: 6(float) CompositeExtract 120 0 + 152: 6(float) CompositeExtract 120 1 + 153: 6(float) CompositeExtract 120 2 + 154: 6(float) CompositeExtract 120 3 + 155: 73(fvec4) CompositeConstruct 151 152 153 154 + 156: 6(float) ImageSampleDrefExplicitLod 150 155 24 Lod 24 + Store 142(r64) 156 + 164: 163(ptr) AccessChain 159(psout) 160 + Store 164 162 + 166: 7(ptr) AccessChain 159(psout) 165 + Store 166 161 + 169: 163(ptr) AccessChain 159(psout) 160 + 170: 73(fvec4) Load 169 + Store 168(Color) 170 + 173: 7(ptr) AccessChain 159(psout) 165 + 174: 6(float) Load 173 + Store 172(Depth) 174 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index b8f55b8e..de822764 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r00' (temp float) -0:42 textureLod (global float) +0:42 textureLod (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -22,11 +22,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r02' (temp float) -0:43 textureLod (global float) +0:43 textureLod (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -36,11 +36,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r04' (temp float) -0:44 textureLod (global float) +0:44 textureLod (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -50,11 +50,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r20' (temp float) -0:47 textureLod (global float) +0:47 textureLod (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -65,11 +65,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r22' (temp float) -0:48 textureLod (global float) +0:48 textureLod (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -80,11 +80,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r24' (temp float) -0:49 textureLod (global float) +0:49 textureLod (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -95,11 +95,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r50' (temp float) -0:53 textureLod (global float) +0:53 textureLod (temp float) 0:53 Construct combined texture-sampler (temp samplerCubeShadow) 0:53 'g_tTexcdf4' (uniform textureCube) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -111,11 +111,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r52' (temp float) -0:54 textureLod (global float) +0:54 textureLod (temp float) 0:54 Construct combined texture-sampler (temp isamplerCubeShadow) 0:54 'g_tTexcdi4' (uniform itextureCube) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -127,11 +127,11 @@ gl_FragCoord origin is upper left 0:55 Sequence 0:55 move second child to first child (temp float) 0:55 'r54' (temp float) -0:55 textureLod (global float) +0:55 textureLod (temp float) 0:55 Construct combined texture-sampler (temp usamplerCubeShadow) 0:55 'g_tTexcdu4' (uniform utextureCube) 0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp float) +0:55 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -173,6 +173,8 @@ gl_FragCoord origin is upper left 0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -195,8 +197,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -211,11 +211,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r00' (temp float) -0:42 textureLod (global float) +0:42 textureLod (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -225,11 +225,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r02' (temp float) -0:43 textureLod (global float) +0:43 textureLod (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -239,11 +239,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r04' (temp float) -0:44 textureLod (global float) +0:44 textureLod (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -253,11 +253,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r20' (temp float) -0:47 textureLod (global float) +0:47 textureLod (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -268,11 +268,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r22' (temp float) -0:48 textureLod (global float) +0:48 textureLod (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -283,11 +283,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r24' (temp float) -0:49 textureLod (global float) +0:49 textureLod (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -298,11 +298,11 @@ gl_FragCoord origin is upper left 0:53 Sequence 0:53 move second child to first child (temp float) 0:53 'r50' (temp float) -0:53 textureLod (global float) +0:53 textureLod (temp float) 0:53 Construct combined texture-sampler (temp samplerCubeShadow) 0:53 'g_tTexcdf4' (uniform textureCube) 0:53 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:53 Construct vec4 (temp float) +0:53 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -314,11 +314,11 @@ gl_FragCoord origin is upper left 0:54 Sequence 0:54 move second child to first child (temp float) 0:54 'r52' (temp float) -0:54 textureLod (global float) +0:54 textureLod (temp float) 0:54 Construct combined texture-sampler (temp isamplerCubeShadow) 0:54 'g_tTexcdi4' (uniform itextureCube) 0:54 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:54 Construct vec4 (temp float) +0:54 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -330,11 +330,11 @@ gl_FragCoord origin is upper left 0:55 Sequence 0:55 move second child to first child (temp float) 0:55 'r54' (temp float) -0:55 textureLod (global float) +0:55 textureLod (temp float) 0:55 Construct combined texture-sampler (temp usamplerCubeShadow) 0:55 'g_tTexcdu4' (uniform utextureCube) 0:55 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:55 Construct vec4 (temp float) +0:55 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -376,6 +376,8 @@ gl_FragCoord origin is upper left 0:60 1 (const int) 0:60 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -398,84 +400,82 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 183 +// Id's are bound by 201 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 139 143 + EntryPoint Fragment 4 "main" 157 161 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r00" Name 11 "g_tTex1df4" Name 15 "g_sSamp" - Name 25 "r02" - Name 29 "g_tTex1di4" - Name 37 "r04" - Name 41 "g_tTex1du4" - Name 49 "r20" - Name 52 "g_tTex2df4" - Name 64 "r22" - Name 67 "g_tTex2di4" - Name 76 "r24" - Name 79 "g_tTex2du4" - Name 88 "r50" - Name 91 "g_tTexcdf4" - Name 103 "r52" - Name 106 "g_tTexcdi4" - Name 115 "r54" - Name 118 "g_tTexcdu4" - Name 128 "PS_OUTPUT" - MemberName 128(PS_OUTPUT) 0 "Color" - MemberName 128(PS_OUTPUT) 1 "Depth" - Name 130 "psout" - Name 139 "Color" - Name 143 "Depth" - Name 149 "g_tTex3df4" - Name 152 "g_tTex3di4" - Name 155 "g_tTex3du4" - Name 158 "g_tTex1df4a" - Name 161 "g_tTex1di4a" - Name 164 "g_tTex1du4a" - Name 167 "g_tTex2df4a" - Name 170 "g_tTex2di4a" - Name 173 "g_tTex2du4a" - Name 176 "g_tTexcdf4a" - Name 179 "g_tTexcdi4a" - Name 182 "g_tTexcdu4a" + Name 27 "r02" + Name 31 "g_tTex1di4" + Name 40 "r04" + Name 44 "g_tTex1du4" + Name 53 "r20" + Name 56 "g_tTex2df4" + Name 70 "r22" + Name 73 "g_tTex2di4" + Name 84 "r24" + Name 87 "g_tTex2du4" + Name 98 "r50" + Name 101 "g_tTexcdf4" + Name 116 "r52" + Name 119 "g_tTexcdi4" + Name 131 "r54" + Name 134 "g_tTexcdu4" + Name 146 "PS_OUTPUT" + MemberName 146(PS_OUTPUT) 0 "Color" + MemberName 146(PS_OUTPUT) 1 "Depth" + Name 148 "psout" + Name 157 "Color" + Name 161 "Depth" + Name 167 "g_tTex3df4" + Name 170 "g_tTex3di4" + Name 173 "g_tTex3du4" + Name 176 "g_tTex1df4a" + Name 179 "g_tTex1di4a" + Name 182 "g_tTex1du4a" + Name 185 "g_tTex2df4a" + Name 188 "g_tTex2di4a" + Name 191 "g_tTex2du4a" + Name 194 "g_tTexcdf4a" + Name 197 "g_tTexcdi4a" + Name 200 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 29(g_tTex1di4) DescriptorSet 0 - Decorate 41(g_tTex1du4) DescriptorSet 0 - Decorate 52(g_tTex2df4) DescriptorSet 0 - Decorate 67(g_tTex2di4) DescriptorSet 0 - Decorate 79(g_tTex2du4) DescriptorSet 0 - Decorate 91(g_tTexcdf4) DescriptorSet 0 - Decorate 106(g_tTexcdi4) DescriptorSet 0 - Decorate 118(g_tTexcdu4) DescriptorSet 0 - Decorate 139(Color) Location 0 - Decorate 143(Depth) BuiltIn FragDepth - Decorate 149(g_tTex3df4) DescriptorSet 0 - Decorate 152(g_tTex3di4) DescriptorSet 0 - Decorate 155(g_tTex3du4) DescriptorSet 0 - Decorate 158(g_tTex1df4a) DescriptorSet 0 - Decorate 161(g_tTex1di4a) DescriptorSet 0 - Decorate 164(g_tTex1du4a) DescriptorSet 0 - Decorate 167(g_tTex2df4a) DescriptorSet 0 - Decorate 170(g_tTex2di4a) DescriptorSet 0 - Decorate 173(g_tTex2du4a) DescriptorSet 0 - Decorate 176(g_tTexcdf4a) DescriptorSet 0 - Decorate 179(g_tTexcdi4a) DescriptorSet 0 - Decorate 182(g_tTexcdu4a) DescriptorSet 0 + Decorate 31(g_tTex1di4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 101(g_tTexcdf4) DescriptorSet 0 + Decorate 119(g_tTexcdi4) DescriptorSet 0 + Decorate 134(g_tTexcdu4) DescriptorSet 0 + Decorate 157(Color) Location 0 + Decorate 161(Depth) BuiltIn FragDepth + Decorate 167(g_tTex3df4) DescriptorSet 0 + Decorate 170(g_tTex3di4) DescriptorSet 0 + Decorate 173(g_tTex3du4) DescriptorSet 0 + Decorate 176(g_tTex1df4a) DescriptorSet 0 + Decorate 179(g_tTex1di4a) DescriptorSet 0 + Decorate 182(g_tTex1du4a) DescriptorSet 0 + Decorate 185(g_tTex2df4a) DescriptorSet 0 + Decorate 188(g_tTex2di4a) DescriptorSet 0 + Decorate 191(g_tTex2du4a) DescriptorSet 0 + Decorate 194(g_tTexcdf4a) DescriptorSet 0 + Decorate 197(g_tTexcdi4a) DescriptorSet 0 + Decorate 200(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -490,184 +490,202 @@ gl_FragCoord origin is upper left 18: TypeSampledImage 17 20: 6(float) Constant 1036831949 21: 6(float) Constant 1061158912 - 22: 6(float) Constant 0 - 26: TypeInt 32 1 - 27: TypeImage 26(int) 1D sampled format:Unknown - 28: TypePointer UniformConstant 27 - 29(g_tTex1di4): 28(ptr) Variable UniformConstant - 32: TypeImage 26(int) 1D depth sampled format:Unknown - 33: TypeSampledImage 32 - 38: TypeInt 32 0 - 39: TypeImage 38(int) 1D sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41(g_tTex1du4): 40(ptr) Variable UniformConstant - 44: TypeImage 38(int) 1D depth sampled format:Unknown - 45: TypeSampledImage 44 - 50: TypeImage 6(float) 2D sampled format:Unknown - 51: TypePointer UniformConstant 50 - 52(g_tTex2df4): 51(ptr) Variable UniformConstant - 55: TypeImage 6(float) 2D depth sampled format:Unknown - 56: TypeSampledImage 55 - 58: TypeVector 6(float) 2 - 59: 6(float) Constant 1045220557 - 60: 58(fvec2) ConstantComposite 20 59 - 65: TypeImage 26(int) 2D sampled format:Unknown - 66: TypePointer UniformConstant 65 - 67(g_tTex2di4): 66(ptr) Variable UniformConstant - 70: TypeImage 26(int) 2D depth sampled format:Unknown - 71: TypeSampledImage 70 - 77: TypeImage 38(int) 2D sampled format:Unknown - 78: TypePointer UniformConstant 77 - 79(g_tTex2du4): 78(ptr) Variable UniformConstant - 82: TypeImage 38(int) 2D depth sampled format:Unknown - 83: TypeSampledImage 82 - 89: TypeImage 6(float) Cube sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTexcdf4): 90(ptr) Variable UniformConstant - 94: TypeImage 6(float) Cube depth sampled format:Unknown - 95: TypeSampledImage 94 - 97: TypeVector 6(float) 3 - 98: 6(float) Constant 1050253722 - 99: 97(fvec3) ConstantComposite 20 59 98 - 104: TypeImage 26(int) Cube sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTexcdi4): 105(ptr) Variable UniformConstant - 109: TypeImage 26(int) Cube depth sampled format:Unknown - 110: TypeSampledImage 109 - 116: TypeImage 38(int) Cube sampled format:Unknown - 117: TypePointer UniformConstant 116 - 118(g_tTexcdu4): 117(ptr) Variable UniformConstant - 121: TypeImage 38(int) Cube depth sampled format:Unknown - 122: TypeSampledImage 121 - 127: TypeVector 6(float) 4 - 128(PS_OUTPUT): TypeStruct 127(fvec4) 6(float) - 129: TypePointer Function 128(PS_OUTPUT) - 131: 26(int) Constant 0 - 132: 6(float) Constant 1065353216 - 133: 127(fvec4) ConstantComposite 132 132 132 132 - 134: TypePointer Function 127(fvec4) - 136: 26(int) Constant 1 - 138: TypePointer Output 127(fvec4) - 139(Color): 138(ptr) Variable Output - 142: TypePointer Output 6(float) - 143(Depth): 142(ptr) Variable Output - 147: TypeImage 6(float) 3D sampled format:Unknown - 148: TypePointer UniformConstant 147 - 149(g_tTex3df4): 148(ptr) Variable UniformConstant - 150: TypeImage 26(int) 3D sampled format:Unknown - 151: TypePointer UniformConstant 150 - 152(g_tTex3di4): 151(ptr) Variable UniformConstant - 153: TypeImage 38(int) 3D sampled format:Unknown - 154: TypePointer UniformConstant 153 - 155(g_tTex3du4): 154(ptr) Variable UniformConstant - 156: TypeImage 6(float) 1D array sampled format:Unknown - 157: TypePointer UniformConstant 156 -158(g_tTex1df4a): 157(ptr) Variable UniformConstant - 159: TypeImage 26(int) 1D array sampled format:Unknown - 160: TypePointer UniformConstant 159 -161(g_tTex1di4a): 160(ptr) Variable UniformConstant - 162: TypeImage 38(int) 1D array sampled format:Unknown - 163: TypePointer UniformConstant 162 -164(g_tTex1du4a): 163(ptr) Variable UniformConstant - 165: TypeImage 6(float) 2D array sampled format:Unknown + 22: TypeVector 6(float) 2 + 24: 6(float) Constant 0 + 28: TypeInt 32 1 + 29: TypeImage 28(int) 1D sampled format:Unknown + 30: TypePointer UniformConstant 29 + 31(g_tTex1di4): 30(ptr) Variable UniformConstant + 34: TypeImage 28(int) 1D depth sampled format:Unknown + 35: TypeSampledImage 34 + 41: TypeInt 32 0 + 42: TypeImage 41(int) 1D sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex1du4): 43(ptr) Variable UniformConstant + 47: TypeImage 41(int) 1D depth sampled format:Unknown + 48: TypeSampledImage 47 + 54: TypeImage 6(float) 2D sampled format:Unknown + 55: TypePointer UniformConstant 54 + 56(g_tTex2df4): 55(ptr) Variable UniformConstant + 59: TypeImage 6(float) 2D depth sampled format:Unknown + 60: TypeSampledImage 59 + 62: 6(float) Constant 1045220557 + 63: 22(fvec2) ConstantComposite 20 62 + 64: TypeVector 6(float) 3 + 71: TypeImage 28(int) 2D sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73(g_tTex2di4): 72(ptr) Variable UniformConstant + 76: TypeImage 28(int) 2D depth sampled format:Unknown + 77: TypeSampledImage 76 + 85: TypeImage 41(int) 2D sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2du4): 86(ptr) Variable UniformConstant + 90: TypeImage 41(int) 2D depth sampled format:Unknown + 91: TypeSampledImage 90 + 99: TypeImage 6(float) Cube sampled format:Unknown + 100: TypePointer UniformConstant 99 + 101(g_tTexcdf4): 100(ptr) Variable UniformConstant + 104: TypeImage 6(float) Cube depth sampled format:Unknown + 105: TypeSampledImage 104 + 107: 6(float) Constant 1050253722 + 108: 64(fvec3) ConstantComposite 20 62 107 + 109: TypeVector 6(float) 4 + 117: TypeImage 28(int) Cube sampled format:Unknown + 118: TypePointer UniformConstant 117 + 119(g_tTexcdi4): 118(ptr) Variable UniformConstant + 122: TypeImage 28(int) Cube depth sampled format:Unknown + 123: TypeSampledImage 122 + 132: TypeImage 41(int) Cube sampled format:Unknown + 133: TypePointer UniformConstant 132 + 134(g_tTexcdu4): 133(ptr) Variable UniformConstant + 137: TypeImage 41(int) Cube depth sampled format:Unknown + 138: TypeSampledImage 137 + 146(PS_OUTPUT): TypeStruct 109(fvec4) 6(float) + 147: TypePointer Function 146(PS_OUTPUT) + 149: 28(int) Constant 0 + 150: 6(float) Constant 1065353216 + 151: 109(fvec4) ConstantComposite 150 150 150 150 + 152: TypePointer Function 109(fvec4) + 154: 28(int) Constant 1 + 156: TypePointer Output 109(fvec4) + 157(Color): 156(ptr) Variable Output + 160: TypePointer Output 6(float) + 161(Depth): 160(ptr) Variable Output + 165: TypeImage 6(float) 3D sampled format:Unknown 166: TypePointer UniformConstant 165 -167(g_tTex2df4a): 166(ptr) Variable UniformConstant - 168: TypeImage 26(int) 2D array sampled format:Unknown + 167(g_tTex3df4): 166(ptr) Variable UniformConstant + 168: TypeImage 28(int) 3D sampled format:Unknown 169: TypePointer UniformConstant 168 -170(g_tTex2di4a): 169(ptr) Variable UniformConstant - 171: TypeImage 38(int) 2D array sampled format:Unknown + 170(g_tTex3di4): 169(ptr) Variable UniformConstant + 171: TypeImage 41(int) 3D sampled format:Unknown 172: TypePointer UniformConstant 171 -173(g_tTex2du4a): 172(ptr) Variable UniformConstant - 174: TypeImage 6(float) Cube array sampled format:Unknown + 173(g_tTex3du4): 172(ptr) Variable UniformConstant + 174: TypeImage 6(float) 1D array sampled format:Unknown 175: TypePointer UniformConstant 174 -176(g_tTexcdf4a): 175(ptr) Variable UniformConstant - 177: TypeImage 26(int) Cube array sampled format:Unknown +176(g_tTex1df4a): 175(ptr) Variable UniformConstant + 177: TypeImage 28(int) 1D array sampled format:Unknown 178: TypePointer UniformConstant 177 -179(g_tTexcdi4a): 178(ptr) Variable UniformConstant - 180: TypeImage 38(int) Cube array sampled format:Unknown +179(g_tTex1di4a): 178(ptr) Variable UniformConstant + 180: TypeImage 41(int) 1D array sampled format:Unknown 181: TypePointer UniformConstant 180 -182(g_tTexcdu4a): 181(ptr) Variable UniformConstant +182(g_tTex1du4a): 181(ptr) Variable UniformConstant + 183: TypeImage 6(float) 2D array sampled format:Unknown + 184: TypePointer UniformConstant 183 +185(g_tTex2df4a): 184(ptr) Variable UniformConstant + 186: TypeImage 28(int) 2D array sampled format:Unknown + 187: TypePointer UniformConstant 186 +188(g_tTex2di4a): 187(ptr) Variable UniformConstant + 189: TypeImage 41(int) 2D array sampled format:Unknown + 190: TypePointer UniformConstant 189 +191(g_tTex2du4a): 190(ptr) Variable UniformConstant + 192: TypeImage 6(float) Cube array sampled format:Unknown + 193: TypePointer UniformConstant 192 +194(g_tTexcdf4a): 193(ptr) Variable UniformConstant + 195: TypeImage 28(int) Cube array sampled format:Unknown + 196: TypePointer UniformConstant 195 +197(g_tTexcdi4a): 196(ptr) Variable UniformConstant + 198: TypeImage 41(int) Cube array sampled format:Unknown + 199: TypePointer UniformConstant 198 +200(g_tTexcdu4a): 199(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r00): 7(ptr) Variable Function - 25(r02): 7(ptr) Variable Function - 37(r04): 7(ptr) Variable Function - 49(r20): 7(ptr) Variable Function - 64(r22): 7(ptr) Variable Function - 76(r24): 7(ptr) Variable Function - 88(r50): 7(ptr) Variable Function - 103(r52): 7(ptr) Variable Function - 115(r54): 7(ptr) Variable Function - 130(psout): 129(ptr) Variable Function + 27(r02): 7(ptr) Variable Function + 40(r04): 7(ptr) Variable Function + 53(r20): 7(ptr) Variable Function + 70(r22): 7(ptr) Variable Function + 84(r24): 7(ptr) Variable Function + 98(r50): 7(ptr) Variable Function + 116(r52): 7(ptr) Variable Function + 131(r54): 7(ptr) Variable Function + 148(psout): 147(ptr) Variable Function 12: 9 Load 11(g_tTex1df4) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 23: 6(float) CompositeExtract 20 0 - 24: 6(float) ImageSampleDrefExplicitLod 19 20 23 Lod 22 - Store 8(r00) 24 - 30: 27 Load 29(g_tTex1di4) - 31: 13 Load 15(g_sSamp) - 34: 33 SampledImage 30 31 - 35: 6(float) CompositeExtract 20 0 - 36: 6(float) ImageSampleDrefExplicitLod 34 20 35 Lod 22 - Store 25(r02) 36 - 42: 39 Load 41(g_tTex1du4) - 43: 13 Load 15(g_sSamp) - 46: 45 SampledImage 42 43 - 47: 6(float) CompositeExtract 20 0 - 48: 6(float) ImageSampleDrefExplicitLod 46 20 47 Lod 22 - Store 37(r04) 48 - 53: 50 Load 52(g_tTex2df4) - 54: 13 Load 15(g_sSamp) - 57: 56 SampledImage 53 54 - 61: 6(float) CompositeExtract 60 0 - 62: 6(float) CompositeExtract 61 0 - 63: 6(float) ImageSampleDrefExplicitLod 57 61 62 Lod 22 - Store 49(r20) 63 - 68: 65 Load 67(g_tTex2di4) - 69: 13 Load 15(g_sSamp) - 72: 71 SampledImage 68 69 - 73: 6(float) CompositeExtract 60 0 - 74: 6(float) CompositeExtract 73 0 - 75: 6(float) ImageSampleDrefExplicitLod 72 73 74 Lod 22 - Store 64(r22) 75 - 80: 77 Load 79(g_tTex2du4) - 81: 13 Load 15(g_sSamp) - 84: 83 SampledImage 80 81 - 85: 6(float) CompositeExtract 60 0 - 86: 6(float) CompositeExtract 85 0 - 87: 6(float) ImageSampleDrefExplicitLod 84 85 86 Lod 22 - Store 76(r24) 87 - 92: 89 Load 91(g_tTexcdf4) - 93: 13 Load 15(g_sSamp) - 96: 95 SampledImage 92 93 - 100: 6(float) CompositeExtract 99 0 - 101: 6(float) CompositeExtract 100 0 - 102: 6(float) ImageSampleDrefExplicitLod 96 100 101 Lod 22 - Store 88(r50) 102 - 107: 104 Load 106(g_tTexcdi4) - 108: 13 Load 15(g_sSamp) - 111: 110 SampledImage 107 108 - 112: 6(float) CompositeExtract 99 0 - 113: 6(float) CompositeExtract 112 0 - 114: 6(float) ImageSampleDrefExplicitLod 111 112 113 Lod 22 - Store 103(r52) 114 - 119: 116 Load 118(g_tTexcdu4) - 120: 13 Load 15(g_sSamp) - 123: 122 SampledImage 119 120 - 124: 6(float) CompositeExtract 99 0 - 125: 6(float) CompositeExtract 124 0 - 126: 6(float) ImageSampleDrefExplicitLod 123 124 125 Lod 22 - Store 115(r54) 126 - 135: 134(ptr) AccessChain 130(psout) 131 - Store 135 133 - 137: 7(ptr) AccessChain 130(psout) 136 - Store 137 132 - 140: 134(ptr) AccessChain 130(psout) 131 - 141: 127(fvec4) Load 140 - Store 139(Color) 141 - 144: 7(ptr) AccessChain 130(psout) 136 - 145: 6(float) Load 144 - Store 143(Depth) 145 + 23: 22(fvec2) CompositeConstruct 20 21 + 25: 6(float) CompositeExtract 23 1 + 26: 6(float) ImageSampleDrefExplicitLod 19 23 25 Lod 24 + Store 8(r00) 26 + 32: 29 Load 31(g_tTex1di4) + 33: 13 Load 15(g_sSamp) + 36: 35 SampledImage 32 33 + 37: 22(fvec2) CompositeConstruct 20 21 + 38: 6(float) CompositeExtract 37 1 + 39: 6(float) ImageSampleDrefExplicitLod 36 37 38 Lod 24 + Store 27(r02) 39 + 45: 42 Load 44(g_tTex1du4) + 46: 13 Load 15(g_sSamp) + 49: 48 SampledImage 45 46 + 50: 22(fvec2) CompositeConstruct 20 21 + 51: 6(float) CompositeExtract 50 1 + 52: 6(float) ImageSampleDrefExplicitLod 49 50 51 Lod 24 + Store 40(r04) 52 + 57: 54 Load 56(g_tTex2df4) + 58: 13 Load 15(g_sSamp) + 61: 60 SampledImage 57 58 + 65: 6(float) CompositeExtract 63 0 + 66: 6(float) CompositeExtract 63 1 + 67: 64(fvec3) CompositeConstruct 65 66 21 + 68: 6(float) CompositeExtract 67 2 + 69: 6(float) ImageSampleDrefExplicitLod 61 67 68 Lod 24 + Store 53(r20) 69 + 74: 71 Load 73(g_tTex2di4) + 75: 13 Load 15(g_sSamp) + 78: 77 SampledImage 74 75 + 79: 6(float) CompositeExtract 63 0 + 80: 6(float) CompositeExtract 63 1 + 81: 64(fvec3) CompositeConstruct 79 80 21 + 82: 6(float) CompositeExtract 81 2 + 83: 6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 24 + Store 70(r22) 83 + 88: 85 Load 87(g_tTex2du4) + 89: 13 Load 15(g_sSamp) + 92: 91 SampledImage 88 89 + 93: 6(float) CompositeExtract 63 0 + 94: 6(float) CompositeExtract 63 1 + 95: 64(fvec3) CompositeConstruct 93 94 21 + 96: 6(float) CompositeExtract 95 2 + 97: 6(float) ImageSampleDrefExplicitLod 92 95 96 Lod 24 + Store 84(r24) 97 + 102: 99 Load 101(g_tTexcdf4) + 103: 13 Load 15(g_sSamp) + 106: 105 SampledImage 102 103 + 110: 6(float) CompositeExtract 108 0 + 111: 6(float) CompositeExtract 108 1 + 112: 6(float) CompositeExtract 108 2 + 113: 109(fvec4) CompositeConstruct 110 111 112 21 + 114: 6(float) CompositeExtract 113 3 + 115: 6(float) ImageSampleDrefExplicitLod 106 113 114 Lod 24 + Store 98(r50) 115 + 120: 117 Load 119(g_tTexcdi4) + 121: 13 Load 15(g_sSamp) + 124: 123 SampledImage 120 121 + 125: 6(float) CompositeExtract 108 0 + 126: 6(float) CompositeExtract 108 1 + 127: 6(float) CompositeExtract 108 2 + 128: 109(fvec4) CompositeConstruct 125 126 127 21 + 129: 6(float) CompositeExtract 128 3 + 130: 6(float) ImageSampleDrefExplicitLod 124 128 129 Lod 24 + Store 116(r52) 130 + 135: 132 Load 134(g_tTexcdu4) + 136: 13 Load 15(g_sSamp) + 139: 138 SampledImage 135 136 + 140: 6(float) CompositeExtract 108 0 + 141: 6(float) CompositeExtract 108 1 + 142: 6(float) CompositeExtract 108 2 + 143: 109(fvec4) CompositeConstruct 140 141 142 21 + 144: 6(float) CompositeExtract 143 3 + 145: 6(float) ImageSampleDrefExplicitLod 139 143 144 Lod 24 + Store 131(r54) 145 + 153: 152(ptr) AccessChain 148(psout) 149 + Store 153 151 + 155: 7(ptr) AccessChain 148(psout) 154 + Store 155 150 + 158: 152(ptr) AccessChain 148(psout) 149 + 159: 109(fvec4) Load 158 + Store 157(Color) 159 + 162: 7(ptr) AccessChain 148(psout) 154 + 163: 6(float) Load 162 + Store 161(Depth) 163 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index b30a252e..216ed419 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r01' (temp float) -0:42 textureLodOffset (global float) +0:42 textureLodOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -24,11 +24,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r03' (temp float) -0:43 textureLodOffset (global float) +0:43 textureLodOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -40,11 +40,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r05' (temp float) -0:44 textureLodOffset (global float) +0:44 textureLodOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -56,11 +56,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r21' (temp float) -0:47 textureLodOffset (global float) +0:47 textureLodOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -74,11 +74,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r23' (temp float) -0:48 textureLodOffset (global float) +0:48 textureLodOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -92,11 +92,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r25' (temp float) -0:49 textureLodOffset (global float) +0:49 textureLodOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -140,6 +140,8 @@ gl_FragCoord origin is upper left 0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -162,8 +164,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -178,11 +178,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r01' (temp float) -0:42 textureLodOffset (global float) +0:42 textureLodOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DShadow) 0:42 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec2 (temp float) +0:42 Construct vec2 (temp 2-component vector of float) 0:42 Constant: 0:42 0.100000 0:42 Constant: @@ -194,11 +194,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r03' (temp float) -0:43 textureLodOffset (global float) +0:43 textureLodOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DShadow) 0:43 'g_tTex1di4' (uniform itexture1D) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec2 (temp float) +0:43 Construct vec2 (temp 2-component vector of float) 0:43 Constant: 0:43 0.100000 0:43 Constant: @@ -210,11 +210,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r05' (temp float) -0:44 textureLodOffset (global float) +0:44 textureLodOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DShadow) 0:44 'g_tTex1du4' (uniform utexture1D) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec2 (temp float) +0:44 Construct vec2 (temp 2-component vector of float) 0:44 Constant: 0:44 0.100000 0:44 Constant: @@ -226,11 +226,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r21' (temp float) -0:47 textureLodOffset (global float) +0:47 textureLodOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DShadow) 0:47 'g_tTex2df4' (uniform texture2D) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec3 (temp float) +0:47 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -244,11 +244,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r23' (temp float) -0:48 textureLodOffset (global float) +0:48 textureLodOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DShadow) 0:48 'g_tTex2di4' (uniform itexture2D) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec3 (temp float) +0:48 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -262,11 +262,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r25' (temp float) -0:49 textureLodOffset (global float) +0:49 textureLodOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DShadow) 0:49 'g_tTex2du4' (uniform utexture2D) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec3 (temp float) +0:49 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -310,6 +310,8 @@ gl_FragCoord origin is upper left 0:65 1 (const int) 0:65 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -332,81 +334,79 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 157 +// Id's are bound by 167 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 104 108 + EntryPoint Fragment 4 "main" 114 118 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r01" Name 11 "g_tTex1df4" Name 15 "g_sSamp" - Name 27 "r03" - Name 30 "g_tTex1di4" - Name 38 "r05" - Name 42 "g_tTex1du4" - Name 50 "r21" - Name 53 "g_tTex2df4" - Name 68 "r23" - Name 71 "g_tTex2di4" - Name 80 "r25" - Name 83 "g_tTex2du4" - Name 93 "PS_OUTPUT" - MemberName 93(PS_OUTPUT) 0 "Color" - MemberName 93(PS_OUTPUT) 1 "Depth" - Name 95 "psout" - Name 104 "Color" - Name 108 "Depth" - Name 114 "g_tTex3df4" - Name 117 "g_tTex3di4" - Name 120 "g_tTex3du4" - Name 123 "g_tTexcdf4" - Name 126 "g_tTexcdi4" - Name 129 "g_tTexcdu4" - Name 132 "g_tTex1df4a" - Name 135 "g_tTex1di4a" - Name 138 "g_tTex1du4a" - Name 141 "g_tTex2df4a" - Name 144 "g_tTex2di4a" - Name 147 "g_tTex2du4a" - Name 150 "g_tTexcdf4a" - Name 153 "g_tTexcdi4a" - Name 156 "g_tTexcdu4a" + Name 29 "r03" + Name 32 "g_tTex1di4" + Name 41 "r05" + Name 45 "g_tTex1du4" + Name 54 "r21" + Name 57 "g_tTex2df4" + Name 74 "r23" + Name 77 "g_tTex2di4" + Name 88 "r25" + Name 91 "g_tTex2du4" + Name 103 "PS_OUTPUT" + MemberName 103(PS_OUTPUT) 0 "Color" + MemberName 103(PS_OUTPUT) 1 "Depth" + Name 105 "psout" + Name 114 "Color" + Name 118 "Depth" + Name 124 "g_tTex3df4" + Name 127 "g_tTex3di4" + Name 130 "g_tTex3du4" + Name 133 "g_tTexcdf4" + Name 136 "g_tTexcdi4" + Name 139 "g_tTexcdu4" + Name 142 "g_tTex1df4a" + Name 145 "g_tTex1di4a" + Name 148 "g_tTex1du4a" + Name 151 "g_tTex2df4a" + Name 154 "g_tTex2di4a" + Name 157 "g_tTex2du4a" + Name 160 "g_tTexcdf4a" + Name 163 "g_tTexcdi4a" + Name 166 "g_tTexcdu4a" Decorate 11(g_tTex1df4) DescriptorSet 0 Decorate 11(g_tTex1df4) Binding 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 30(g_tTex1di4) DescriptorSet 0 - Decorate 42(g_tTex1du4) DescriptorSet 0 - Decorate 53(g_tTex2df4) DescriptorSet 0 - Decorate 71(g_tTex2di4) DescriptorSet 0 - Decorate 83(g_tTex2du4) DescriptorSet 0 - Decorate 104(Color) Location 0 - Decorate 108(Depth) BuiltIn FragDepth - Decorate 114(g_tTex3df4) DescriptorSet 0 - Decorate 117(g_tTex3di4) DescriptorSet 0 - Decorate 120(g_tTex3du4) DescriptorSet 0 - Decorate 123(g_tTexcdf4) DescriptorSet 0 - Decorate 126(g_tTexcdi4) DescriptorSet 0 - Decorate 129(g_tTexcdu4) DescriptorSet 0 - Decorate 132(g_tTex1df4a) DescriptorSet 0 - Decorate 135(g_tTex1di4a) DescriptorSet 0 - Decorate 138(g_tTex1du4a) DescriptorSet 0 - Decorate 141(g_tTex2df4a) DescriptorSet 0 - Decorate 144(g_tTex2di4a) DescriptorSet 0 - Decorate 147(g_tTex2du4a) DescriptorSet 0 - Decorate 150(g_tTexcdf4a) DescriptorSet 0 - Decorate 153(g_tTexcdi4a) DescriptorSet 0 - Decorate 156(g_tTexcdu4a) DescriptorSet 0 + Decorate 32(g_tTex1di4) DescriptorSet 0 + Decorate 45(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 91(g_tTex2du4) DescriptorSet 0 + Decorate 114(Color) Location 0 + Decorate 118(Depth) BuiltIn FragDepth + Decorate 124(g_tTex3df4) DescriptorSet 0 + Decorate 127(g_tTex3di4) DescriptorSet 0 + Decorate 130(g_tTex3du4) DescriptorSet 0 + Decorate 133(g_tTexcdf4) DescriptorSet 0 + Decorate 136(g_tTexcdi4) DescriptorSet 0 + Decorate 139(g_tTexcdu4) DescriptorSet 0 + Decorate 142(g_tTex1df4a) DescriptorSet 0 + Decorate 145(g_tTex1di4a) DescriptorSet 0 + Decorate 148(g_tTex1du4a) DescriptorSet 0 + Decorate 151(g_tTex2df4a) DescriptorSet 0 + Decorate 154(g_tTex2di4a) DescriptorSet 0 + Decorate 157(g_tTex2du4a) DescriptorSet 0 + Decorate 160(g_tTexcdf4a) DescriptorSet 0 + Decorate 163(g_tTexcdi4a) DescriptorSet 0 + Decorate 166(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -421,155 +421,165 @@ gl_FragCoord origin is upper left 18: TypeSampledImage 17 20: 6(float) Constant 1036831949 21: 6(float) Constant 1061158912 - 22: 6(float) Constant 0 - 23: TypeInt 32 1 - 24: 23(int) Constant 2 - 28: TypeImage 23(int) 1D sampled format:Unknown - 29: TypePointer UniformConstant 28 - 30(g_tTex1di4): 29(ptr) Variable UniformConstant - 33: TypeImage 23(int) 1D depth sampled format:Unknown - 34: TypeSampledImage 33 - 39: TypeInt 32 0 - 40: TypeImage 39(int) 1D sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1du4): 41(ptr) Variable UniformConstant - 45: TypeImage 39(int) 1D depth sampled format:Unknown - 46: TypeSampledImage 45 - 51: TypeImage 6(float) 2D sampled format:Unknown - 52: TypePointer UniformConstant 51 - 53(g_tTex2df4): 52(ptr) Variable UniformConstant - 56: TypeImage 6(float) 2D depth sampled format:Unknown - 57: TypeSampledImage 56 - 59: TypeVector 6(float) 2 - 60: 6(float) Constant 1045220557 - 61: 59(fvec2) ConstantComposite 20 60 - 63: TypeVector 23(int) 2 - 64: 23(int) Constant 3 - 65: 63(ivec2) ConstantComposite 24 64 - 69: TypeImage 23(int) 2D sampled format:Unknown - 70: TypePointer UniformConstant 69 - 71(g_tTex2di4): 70(ptr) Variable UniformConstant - 74: TypeImage 23(int) 2D depth sampled format:Unknown - 75: TypeSampledImage 74 - 81: TypeImage 39(int) 2D sampled format:Unknown - 82: TypePointer UniformConstant 81 - 83(g_tTex2du4): 82(ptr) Variable UniformConstant - 86: TypeImage 39(int) 2D depth sampled format:Unknown - 87: TypeSampledImage 86 - 92: TypeVector 6(float) 4 - 93(PS_OUTPUT): TypeStruct 92(fvec4) 6(float) - 94: TypePointer Function 93(PS_OUTPUT) - 96: 23(int) Constant 0 - 97: 6(float) Constant 1065353216 - 98: 92(fvec4) ConstantComposite 97 97 97 97 - 99: TypePointer Function 92(fvec4) - 101: 23(int) Constant 1 - 103: TypePointer Output 92(fvec4) - 104(Color): 103(ptr) Variable Output - 107: TypePointer Output 6(float) - 108(Depth): 107(ptr) Variable Output - 112: TypeImage 6(float) 3D sampled format:Unknown - 113: TypePointer UniformConstant 112 - 114(g_tTex3df4): 113(ptr) Variable UniformConstant - 115: TypeImage 23(int) 3D sampled format:Unknown - 116: TypePointer UniformConstant 115 - 117(g_tTex3di4): 116(ptr) Variable UniformConstant - 118: TypeImage 39(int) 3D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex3du4): 119(ptr) Variable UniformConstant - 121: TypeImage 6(float) Cube sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTexcdf4): 122(ptr) Variable UniformConstant - 124: TypeImage 23(int) Cube sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTexcdi4): 125(ptr) Variable UniformConstant - 127: TypeImage 39(int) Cube sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTexcdu4): 128(ptr) Variable UniformConstant - 130: TypeImage 6(float) 1D array sampled format:Unknown - 131: TypePointer UniformConstant 130 -132(g_tTex1df4a): 131(ptr) Variable UniformConstant - 133: TypeImage 23(int) 1D array sampled format:Unknown - 134: TypePointer UniformConstant 133 -135(g_tTex1di4a): 134(ptr) Variable UniformConstant - 136: TypeImage 39(int) 1D array sampled format:Unknown - 137: TypePointer UniformConstant 136 -138(g_tTex1du4a): 137(ptr) Variable UniformConstant - 139: TypeImage 6(float) 2D array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex2df4a): 140(ptr) Variable UniformConstant - 142: TypeImage 23(int) 2D array sampled format:Unknown - 143: TypePointer UniformConstant 142 -144(g_tTex2di4a): 143(ptr) Variable UniformConstant - 145: TypeImage 39(int) 2D array sampled format:Unknown - 146: TypePointer UniformConstant 145 -147(g_tTex2du4a): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) Cube array sampled format:Unknown - 149: TypePointer UniformConstant 148 -150(g_tTexcdf4a): 149(ptr) Variable UniformConstant - 151: TypeImage 23(int) Cube array sampled format:Unknown - 152: TypePointer UniformConstant 151 -153(g_tTexcdi4a): 152(ptr) Variable UniformConstant - 154: TypeImage 39(int) Cube array sampled format:Unknown - 155: TypePointer UniformConstant 154 -156(g_tTexcdu4a): 155(ptr) Variable UniformConstant + 22: TypeVector 6(float) 2 + 24: 6(float) Constant 0 + 25: TypeInt 32 1 + 26: 25(int) Constant 2 + 30: TypeImage 25(int) 1D sampled format:Unknown + 31: TypePointer UniformConstant 30 + 32(g_tTex1di4): 31(ptr) Variable UniformConstant + 35: TypeImage 25(int) 1D depth sampled format:Unknown + 36: TypeSampledImage 35 + 42: TypeInt 32 0 + 43: TypeImage 42(int) 1D sampled format:Unknown + 44: TypePointer UniformConstant 43 + 45(g_tTex1du4): 44(ptr) Variable UniformConstant + 48: TypeImage 42(int) 1D depth sampled format:Unknown + 49: TypeSampledImage 48 + 55: TypeImage 6(float) 2D sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeImage 6(float) 2D depth sampled format:Unknown + 61: TypeSampledImage 60 + 63: 6(float) Constant 1045220557 + 64: 22(fvec2) ConstantComposite 20 63 + 65: TypeVector 6(float) 3 + 69: TypeVector 25(int) 2 + 70: 25(int) Constant 3 + 71: 69(ivec2) ConstantComposite 26 70 + 75: TypeImage 25(int) 2D sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeImage 25(int) 2D depth sampled format:Unknown + 81: TypeSampledImage 80 + 89: TypeImage 42(int) 2D sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex2du4): 90(ptr) Variable UniformConstant + 94: TypeImage 42(int) 2D depth sampled format:Unknown + 95: TypeSampledImage 94 + 102: TypeVector 6(float) 4 + 103(PS_OUTPUT): TypeStruct 102(fvec4) 6(float) + 104: TypePointer Function 103(PS_OUTPUT) + 106: 25(int) Constant 0 + 107: 6(float) Constant 1065353216 + 108: 102(fvec4) ConstantComposite 107 107 107 107 + 109: TypePointer Function 102(fvec4) + 111: 25(int) Constant 1 + 113: TypePointer Output 102(fvec4) + 114(Color): 113(ptr) Variable Output + 117: TypePointer Output 6(float) + 118(Depth): 117(ptr) Variable Output + 122: TypeImage 6(float) 3D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex3df4): 123(ptr) Variable UniformConstant + 125: TypeImage 25(int) 3D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex3di4): 126(ptr) Variable UniformConstant + 128: TypeImage 42(int) 3D sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTex3du4): 129(ptr) Variable UniformConstant + 131: TypeImage 6(float) Cube sampled format:Unknown + 132: TypePointer UniformConstant 131 + 133(g_tTexcdf4): 132(ptr) Variable UniformConstant + 134: TypeImage 25(int) Cube sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTexcdi4): 135(ptr) Variable UniformConstant + 137: TypeImage 42(int) Cube sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTexcdu4): 138(ptr) Variable UniformConstant + 140: TypeImage 6(float) 1D array sampled format:Unknown + 141: TypePointer UniformConstant 140 +142(g_tTex1df4a): 141(ptr) Variable UniformConstant + 143: TypeImage 25(int) 1D array sampled format:Unknown + 144: TypePointer UniformConstant 143 +145(g_tTex1di4a): 144(ptr) Variable UniformConstant + 146: TypeImage 42(int) 1D array sampled format:Unknown + 147: TypePointer UniformConstant 146 +148(g_tTex1du4a): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) 2D array sampled format:Unknown + 150: TypePointer UniformConstant 149 +151(g_tTex2df4a): 150(ptr) Variable UniformConstant + 152: TypeImage 25(int) 2D array sampled format:Unknown + 153: TypePointer UniformConstant 152 +154(g_tTex2di4a): 153(ptr) Variable UniformConstant + 155: TypeImage 42(int) 2D array sampled format:Unknown + 156: TypePointer UniformConstant 155 +157(g_tTex2du4a): 156(ptr) Variable UniformConstant + 158: TypeImage 6(float) Cube array sampled format:Unknown + 159: TypePointer UniformConstant 158 +160(g_tTexcdf4a): 159(ptr) Variable UniformConstant + 161: TypeImage 25(int) Cube array sampled format:Unknown + 162: TypePointer UniformConstant 161 +163(g_tTexcdi4a): 162(ptr) Variable UniformConstant + 164: TypeImage 42(int) Cube array sampled format:Unknown + 165: TypePointer UniformConstant 164 +166(g_tTexcdu4a): 165(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r01): 7(ptr) Variable Function - 27(r03): 7(ptr) Variable Function - 38(r05): 7(ptr) Variable Function - 50(r21): 7(ptr) Variable Function - 68(r23): 7(ptr) Variable Function - 80(r25): 7(ptr) Variable Function - 95(psout): 94(ptr) Variable Function + 29(r03): 7(ptr) Variable Function + 41(r05): 7(ptr) Variable Function + 54(r21): 7(ptr) Variable Function + 74(r23): 7(ptr) Variable Function + 88(r25): 7(ptr) Variable Function + 105(psout): 104(ptr) Variable Function 12: 9 Load 11(g_tTex1df4) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 25: 6(float) CompositeExtract 20 0 - 26: 6(float) ImageSampleDrefExplicitLod 19 20 25 Lod ConstOffset 22 24 - Store 8(r01) 26 - 31: 28 Load 30(g_tTex1di4) - 32: 13 Load 15(g_sSamp) - 35: 34 SampledImage 31 32 - 36: 6(float) CompositeExtract 20 0 - 37: 6(float) ImageSampleDrefExplicitLod 35 20 36 Lod ConstOffset 22 24 - Store 27(r03) 37 - 43: 40 Load 42(g_tTex1du4) - 44: 13 Load 15(g_sSamp) - 47: 46 SampledImage 43 44 - 48: 6(float) CompositeExtract 20 0 - 49: 6(float) ImageSampleDrefExplicitLod 47 20 48 Lod ConstOffset 22 24 - Store 38(r05) 49 - 54: 51 Load 53(g_tTex2df4) - 55: 13 Load 15(g_sSamp) - 58: 57 SampledImage 54 55 - 62: 6(float) CompositeExtract 61 0 - 66: 6(float) CompositeExtract 62 0 - 67: 6(float) ImageSampleDrefExplicitLod 58 62 66 Lod ConstOffset 22 65 - Store 50(r21) 67 - 72: 69 Load 71(g_tTex2di4) - 73: 13 Load 15(g_sSamp) - 76: 75 SampledImage 72 73 - 77: 6(float) CompositeExtract 61 0 - 78: 6(float) CompositeExtract 77 0 - 79: 6(float) ImageSampleDrefExplicitLod 76 77 78 Lod ConstOffset 22 65 - Store 68(r23) 79 - 84: 81 Load 83(g_tTex2du4) - 85: 13 Load 15(g_sSamp) - 88: 87 SampledImage 84 85 - 89: 6(float) CompositeExtract 61 0 - 90: 6(float) CompositeExtract 89 0 - 91: 6(float) ImageSampleDrefExplicitLod 88 89 90 Lod ConstOffset 22 65 - Store 80(r25) 91 - 100: 99(ptr) AccessChain 95(psout) 96 - Store 100 98 - 102: 7(ptr) AccessChain 95(psout) 101 - Store 102 97 - 105: 99(ptr) AccessChain 95(psout) 96 - 106: 92(fvec4) Load 105 - Store 104(Color) 106 - 109: 7(ptr) AccessChain 95(psout) 101 - 110: 6(float) Load 109 - Store 108(Depth) 110 + 23: 22(fvec2) CompositeConstruct 20 21 + 27: 6(float) CompositeExtract 23 1 + 28: 6(float) ImageSampleDrefExplicitLod 19 23 27 Lod ConstOffset 24 26 + Store 8(r01) 28 + 33: 30 Load 32(g_tTex1di4) + 34: 13 Load 15(g_sSamp) + 37: 36 SampledImage 33 34 + 38: 22(fvec2) CompositeConstruct 20 21 + 39: 6(float) CompositeExtract 38 1 + 40: 6(float) ImageSampleDrefExplicitLod 37 38 39 Lod ConstOffset 24 26 + Store 29(r03) 40 + 46: 43 Load 45(g_tTex1du4) + 47: 13 Load 15(g_sSamp) + 50: 49 SampledImage 46 47 + 51: 22(fvec2) CompositeConstruct 20 21 + 52: 6(float) CompositeExtract 51 1 + 53: 6(float) ImageSampleDrefExplicitLod 50 51 52 Lod ConstOffset 24 26 + Store 41(r05) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 13 Load 15(g_sSamp) + 62: 61 SampledImage 58 59 + 66: 6(float) CompositeExtract 64 0 + 67: 6(float) CompositeExtract 64 1 + 68: 65(fvec3) CompositeConstruct 66 67 21 + 72: 6(float) CompositeExtract 68 2 + 73: 6(float) ImageSampleDrefExplicitLod 62 68 72 Lod ConstOffset 24 71 + Store 54(r21) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 13 Load 15(g_sSamp) + 82: 81 SampledImage 78 79 + 83: 6(float) CompositeExtract 64 0 + 84: 6(float) CompositeExtract 64 1 + 85: 65(fvec3) CompositeConstruct 83 84 21 + 86: 6(float) CompositeExtract 85 2 + 87: 6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 24 71 + Store 74(r23) 87 + 92: 89 Load 91(g_tTex2du4) + 93: 13 Load 15(g_sSamp) + 96: 95 SampledImage 92 93 + 97: 6(float) CompositeExtract 64 0 + 98: 6(float) CompositeExtract 64 1 + 99: 65(fvec3) CompositeConstruct 97 98 21 + 100: 6(float) CompositeExtract 99 2 + 101: 6(float) ImageSampleDrefExplicitLod 96 99 100 Lod ConstOffset 24 71 + Store 88(r25) 101 + 110: 109(ptr) AccessChain 105(psout) 106 + Store 110 108 + 112: 7(ptr) AccessChain 105(psout) 111 + Store 112 107 + 115: 109(ptr) AccessChain 105(psout) 106 + 116: 102(fvec4) Load 115 + Store 114(Color) 116 + 119: 7(ptr) AccessChain 105(psout) 111 + 120: 6(float) Load 119 + Store 118(Depth) 120 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 19d262ad..2e5f3cda 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -8,11 +8,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r11' (temp float) -0:42 textureLodOffset (global float) +0:42 textureLodOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -25,11 +25,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r13' (temp float) -0:43 textureLodOffset (global float) +0:43 textureLodOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -42,11 +42,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r15' (temp float) -0:44 textureLodOffset (global float) +0:44 textureLodOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -59,11 +59,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r31' (temp float) -0:47 textureLodOffset (global float) +0:47 textureLodOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -78,11 +78,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r33' (temp float) -0:48 textureLodOffset (global float) +0:48 textureLodOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -97,11 +97,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r35' (temp float) -0:49 textureLodOffset (global float) +0:49 textureLodOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -146,6 +146,8 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -168,8 +170,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -184,11 +184,11 @@ gl_FragCoord origin is upper left 0:42 Sequence 0:42 move second child to first child (temp float) 0:42 'r11' (temp float) -0:42 textureLodOffset (global float) +0:42 textureLodOffset (temp float) 0:42 Construct combined texture-sampler (temp sampler1DArrayShadow) 0:42 'g_tTex1df4a' (uniform texture1DArray) 0:42 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:42 Construct vec3 (temp float) +0:42 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -201,11 +201,11 @@ gl_FragCoord origin is upper left 0:43 Sequence 0:43 move second child to first child (temp float) 0:43 'r13' (temp float) -0:43 textureLodOffset (global float) +0:43 textureLodOffset (temp float) 0:43 Construct combined texture-sampler (temp isampler1DArrayShadow) 0:43 'g_tTex1di4a' (uniform itexture1DArray) 0:43 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:43 Construct vec3 (temp float) +0:43 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -218,11 +218,11 @@ gl_FragCoord origin is upper left 0:44 Sequence 0:44 move second child to first child (temp float) 0:44 'r15' (temp float) -0:44 textureLodOffset (global float) +0:44 textureLodOffset (temp float) 0:44 Construct combined texture-sampler (temp usampler1DArrayShadow) 0:44 'g_tTex1du4a' (uniform utexture1DArray) 0:44 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:44 Construct vec3 (temp float) +0:44 Construct vec3 (temp 3-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -235,11 +235,11 @@ gl_FragCoord origin is upper left 0:47 Sequence 0:47 move second child to first child (temp float) 0:47 'r31' (temp float) -0:47 textureLodOffset (global float) +0:47 textureLodOffset (temp float) 0:47 Construct combined texture-sampler (temp sampler2DArrayShadow) 0:47 'g_tTex2df4a' (uniform texture2DArray) 0:47 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:47 Construct vec4 (temp float) +0:47 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -254,11 +254,11 @@ gl_FragCoord origin is upper left 0:48 Sequence 0:48 move second child to first child (temp float) 0:48 'r33' (temp float) -0:48 textureLodOffset (global float) +0:48 textureLodOffset (temp float) 0:48 Construct combined texture-sampler (temp isampler2DArrayShadow) 0:48 'g_tTex2di4a' (uniform itexture2DArray) 0:48 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:48 Construct vec4 (temp float) +0:48 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -273,11 +273,11 @@ gl_FragCoord origin is upper left 0:49 Sequence 0:49 move second child to first child (temp float) 0:49 'r35' (temp float) -0:49 textureLodOffset (global float) +0:49 textureLodOffset (temp float) 0:49 Construct combined texture-sampler (temp usampler2DArrayShadow) 0:49 'g_tTex2du4a' (uniform utexture2DArray) 0:49 'g_sSamp' (layout(binding=0 ) uniform sampler) -0:49 Construct vec4 (temp float) +0:49 Construct vec4 (temp 4-component vector of float) 0:? Constant: 0:? 0.100000 0:? 0.200000 @@ -322,6 +322,8 @@ gl_FragCoord origin is upper left 0:66 1 (const int) 0:66 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -344,81 +346,79 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 163 +// Id's are bound by 178 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 110 114 + EntryPoint Fragment 4 "main" 125 129 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 8 "r11" Name 11 "g_tTex1df4a" Name 15 "g_sSamp" - Name 31 "r13" - Name 34 "g_tTex1di4a" - Name 43 "r15" - Name 47 "g_tTex1du4a" - Name 56 "r31" - Name 59 "g_tTex2df4a" - Name 74 "r33" - Name 77 "g_tTex2di4a" - Name 86 "r35" - Name 89 "g_tTex2du4a" - Name 99 "PS_OUTPUT" - MemberName 99(PS_OUTPUT) 0 "Color" - MemberName 99(PS_OUTPUT) 1 "Depth" - Name 101 "psout" - Name 110 "Color" - Name 114 "Depth" - Name 120 "g_tTex1df4" - Name 123 "g_tTex1di4" - Name 126 "g_tTex1du4" - Name 129 "g_tTex2df4" - Name 132 "g_tTex2di4" - Name 135 "g_tTex2du4" - Name 138 "g_tTex3df4" - Name 141 "g_tTex3di4" - Name 144 "g_tTex3du4" - Name 147 "g_tTexcdf4" - Name 150 "g_tTexcdi4" - Name 153 "g_tTexcdu4" - Name 156 "g_tTexcdf4a" - Name 159 "g_tTexcdi4a" - Name 162 "g_tTexcdu4a" + Name 34 "r13" + Name 37 "g_tTex1di4a" + Name 48 "r15" + Name 52 "g_tTex1du4a" + Name 63 "r31" + Name 66 "g_tTex2df4a" + Name 84 "r33" + Name 87 "g_tTex2di4a" + Name 99 "r35" + Name 102 "g_tTex2du4a" + Name 114 "PS_OUTPUT" + MemberName 114(PS_OUTPUT) 0 "Color" + MemberName 114(PS_OUTPUT) 1 "Depth" + Name 116 "psout" + Name 125 "Color" + Name 129 "Depth" + Name 135 "g_tTex1df4" + Name 138 "g_tTex1di4" + Name 141 "g_tTex1du4" + Name 144 "g_tTex2df4" + Name 147 "g_tTex2di4" + Name 150 "g_tTex2du4" + Name 153 "g_tTex3df4" + Name 156 "g_tTex3di4" + Name 159 "g_tTex3du4" + Name 162 "g_tTexcdf4" + Name 165 "g_tTexcdi4" + Name 168 "g_tTexcdu4" + Name 171 "g_tTexcdf4a" + Name 174 "g_tTexcdi4a" + Name 177 "g_tTexcdu4a" Decorate 11(g_tTex1df4a) DescriptorSet 0 Decorate 15(g_sSamp) DescriptorSet 0 Decorate 15(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4a) DescriptorSet 0 - Decorate 47(g_tTex1du4a) DescriptorSet 0 - Decorate 59(g_tTex2df4a) DescriptorSet 0 - Decorate 77(g_tTex2di4a) DescriptorSet 0 - Decorate 89(g_tTex2du4a) DescriptorSet 0 - Decorate 110(Color) Location 0 - Decorate 114(Depth) BuiltIn FragDepth - Decorate 120(g_tTex1df4) DescriptorSet 0 - Decorate 120(g_tTex1df4) Binding 0 - Decorate 123(g_tTex1di4) DescriptorSet 0 - Decorate 126(g_tTex1du4) DescriptorSet 0 - Decorate 129(g_tTex2df4) DescriptorSet 0 - Decorate 132(g_tTex2di4) DescriptorSet 0 - Decorate 135(g_tTex2du4) DescriptorSet 0 - Decorate 138(g_tTex3df4) DescriptorSet 0 - Decorate 141(g_tTex3di4) DescriptorSet 0 - Decorate 144(g_tTex3du4) DescriptorSet 0 - Decorate 147(g_tTexcdf4) DescriptorSet 0 - Decorate 150(g_tTexcdi4) DescriptorSet 0 - Decorate 153(g_tTexcdu4) DescriptorSet 0 - Decorate 156(g_tTexcdf4a) DescriptorSet 0 - Decorate 159(g_tTexcdi4a) DescriptorSet 0 - Decorate 162(g_tTexcdu4a) DescriptorSet 0 + Decorate 37(g_tTex1di4a) DescriptorSet 0 + Decorate 52(g_tTex1du4a) DescriptorSet 0 + Decorate 66(g_tTex2df4a) DescriptorSet 0 + Decorate 87(g_tTex2di4a) DescriptorSet 0 + Decorate 102(g_tTex2du4a) DescriptorSet 0 + Decorate 125(Color) Location 0 + Decorate 129(Depth) BuiltIn FragDepth + Decorate 135(g_tTex1df4) DescriptorSet 0 + Decorate 135(g_tTex1df4) Binding 0 + Decorate 138(g_tTex1di4) DescriptorSet 0 + Decorate 141(g_tTex1du4) DescriptorSet 0 + Decorate 144(g_tTex2df4) DescriptorSet 0 + Decorate 147(g_tTex2di4) DescriptorSet 0 + Decorate 150(g_tTex2du4) DescriptorSet 0 + Decorate 153(g_tTex3df4) DescriptorSet 0 + Decorate 156(g_tTex3di4) DescriptorSet 0 + Decorate 159(g_tTex3du4) DescriptorSet 0 + Decorate 162(g_tTexcdf4) DescriptorSet 0 + Decorate 165(g_tTexcdi4) DescriptorSet 0 + Decorate 168(g_tTexcdu4) DescriptorSet 0 + Decorate 171(g_tTexcdf4a) DescriptorSet 0 + Decorate 174(g_tTexcdi4a) DescriptorSet 0 + Decorate 177(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -436,158 +436,173 @@ gl_FragCoord origin is upper left 22: 6(float) Constant 1045220557 23: 20(fvec2) ConstantComposite 21 22 24: 6(float) Constant 1061158912 - 26: 6(float) Constant 0 - 27: TypeInt 32 1 - 28: 27(int) Constant 2 - 32: TypeImage 27(int) 1D array sampled format:Unknown - 33: TypePointer UniformConstant 32 - 34(g_tTex1di4a): 33(ptr) Variable UniformConstant - 37: TypeImage 27(int) 1D depth array sampled format:Unknown - 38: TypeSampledImage 37 - 44: TypeInt 32 0 - 45: TypeImage 44(int) 1D array sampled format:Unknown - 46: TypePointer UniformConstant 45 - 47(g_tTex1du4a): 46(ptr) Variable UniformConstant - 50: TypeImage 44(int) 1D depth array sampled format:Unknown - 51: TypeSampledImage 50 - 57: TypeImage 6(float) 2D array sampled format:Unknown - 58: TypePointer UniformConstant 57 - 59(g_tTex2df4a): 58(ptr) Variable UniformConstant - 62: TypeImage 6(float) 2D depth array sampled format:Unknown - 63: TypeSampledImage 62 - 65: TypeVector 6(float) 3 - 66: 6(float) Constant 1050253722 - 67: 65(fvec3) ConstantComposite 21 22 66 - 69: TypeVector 27(int) 2 - 70: 27(int) Constant 3 - 71: 69(ivec2) ConstantComposite 28 70 - 75: TypeImage 27(int) 2D array sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex2di4a): 76(ptr) Variable UniformConstant - 80: TypeImage 27(int) 2D depth array sampled format:Unknown - 81: TypeSampledImage 80 - 87: TypeImage 44(int) 2D array sampled format:Unknown - 88: TypePointer UniformConstant 87 - 89(g_tTex2du4a): 88(ptr) Variable UniformConstant - 92: TypeImage 44(int) 2D depth array sampled format:Unknown - 93: TypeSampledImage 92 - 98: TypeVector 6(float) 4 - 99(PS_OUTPUT): TypeStruct 98(fvec4) 6(float) - 100: TypePointer Function 99(PS_OUTPUT) - 102: 27(int) Constant 0 - 103: 6(float) Constant 1065353216 - 104: 98(fvec4) ConstantComposite 103 103 103 103 - 105: TypePointer Function 98(fvec4) - 107: 27(int) Constant 1 - 109: TypePointer Output 98(fvec4) - 110(Color): 109(ptr) Variable Output - 113: TypePointer Output 6(float) - 114(Depth): 113(ptr) Variable Output - 118: TypeImage 6(float) 1D sampled format:Unknown - 119: TypePointer UniformConstant 118 - 120(g_tTex1df4): 119(ptr) Variable UniformConstant - 121: TypeImage 27(int) 1D sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTex1di4): 122(ptr) Variable UniformConstant - 124: TypeImage 44(int) 1D sampled format:Unknown - 125: TypePointer UniformConstant 124 - 126(g_tTex1du4): 125(ptr) Variable UniformConstant - 127: TypeImage 6(float) 2D sampled format:Unknown - 128: TypePointer UniformConstant 127 - 129(g_tTex2df4): 128(ptr) Variable UniformConstant - 130: TypeImage 27(int) 2D sampled format:Unknown - 131: TypePointer UniformConstant 130 - 132(g_tTex2di4): 131(ptr) Variable UniformConstant - 133: TypeImage 44(int) 2D sampled format:Unknown + 25: TypeVector 6(float) 3 + 29: 6(float) Constant 0 + 30: TypeInt 32 1 + 31: 30(int) Constant 2 + 35: TypeImage 30(int) 1D array sampled format:Unknown + 36: TypePointer UniformConstant 35 + 37(g_tTex1di4a): 36(ptr) Variable UniformConstant + 40: TypeImage 30(int) 1D depth array sampled format:Unknown + 41: TypeSampledImage 40 + 49: TypeInt 32 0 + 50: TypeImage 49(int) 1D array sampled format:Unknown + 51: TypePointer UniformConstant 50 + 52(g_tTex1du4a): 51(ptr) Variable UniformConstant + 55: TypeImage 49(int) 1D depth array sampled format:Unknown + 56: TypeSampledImage 55 + 64: TypeImage 6(float) 2D array sampled format:Unknown + 65: TypePointer UniformConstant 64 + 66(g_tTex2df4a): 65(ptr) Variable UniformConstant + 69: TypeImage 6(float) 2D depth array sampled format:Unknown + 70: TypeSampledImage 69 + 72: 6(float) Constant 1050253722 + 73: 25(fvec3) ConstantComposite 21 22 72 + 74: TypeVector 6(float) 4 + 79: TypeVector 30(int) 2 + 80: 30(int) Constant 3 + 81: 79(ivec2) ConstantComposite 31 80 + 85: TypeImage 30(int) 2D array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2di4a): 86(ptr) Variable UniformConstant + 90: TypeImage 30(int) 2D depth array sampled format:Unknown + 91: TypeSampledImage 90 + 100: TypeImage 49(int) 2D array sampled format:Unknown + 101: TypePointer UniformConstant 100 +102(g_tTex2du4a): 101(ptr) Variable UniformConstant + 105: TypeImage 49(int) 2D depth array sampled format:Unknown + 106: TypeSampledImage 105 + 114(PS_OUTPUT): TypeStruct 74(fvec4) 6(float) + 115: TypePointer Function 114(PS_OUTPUT) + 117: 30(int) Constant 0 + 118: 6(float) Constant 1065353216 + 119: 74(fvec4) ConstantComposite 118 118 118 118 + 120: TypePointer Function 74(fvec4) + 122: 30(int) Constant 1 + 124: TypePointer Output 74(fvec4) + 125(Color): 124(ptr) Variable Output + 128: TypePointer Output 6(float) + 129(Depth): 128(ptr) Variable Output + 133: TypeImage 6(float) 1D sampled format:Unknown 134: TypePointer UniformConstant 133 - 135(g_tTex2du4): 134(ptr) Variable UniformConstant - 136: TypeImage 6(float) 3D sampled format:Unknown + 135(g_tTex1df4): 134(ptr) Variable UniformConstant + 136: TypeImage 30(int) 1D sampled format:Unknown 137: TypePointer UniformConstant 136 - 138(g_tTex3df4): 137(ptr) Variable UniformConstant - 139: TypeImage 27(int) 3D sampled format:Unknown + 138(g_tTex1di4): 137(ptr) Variable UniformConstant + 139: TypeImage 49(int) 1D sampled format:Unknown 140: TypePointer UniformConstant 139 - 141(g_tTex3di4): 140(ptr) Variable UniformConstant - 142: TypeImage 44(int) 3D sampled format:Unknown + 141(g_tTex1du4): 140(ptr) Variable UniformConstant + 142: TypeImage 6(float) 2D sampled format:Unknown 143: TypePointer UniformConstant 142 - 144(g_tTex3du4): 143(ptr) Variable UniformConstant - 145: TypeImage 6(float) Cube sampled format:Unknown + 144(g_tTex2df4): 143(ptr) Variable UniformConstant + 145: TypeImage 30(int) 2D sampled format:Unknown 146: TypePointer UniformConstant 145 - 147(g_tTexcdf4): 146(ptr) Variable UniformConstant - 148: TypeImage 27(int) Cube sampled format:Unknown + 147(g_tTex2di4): 146(ptr) Variable UniformConstant + 148: TypeImage 49(int) 2D sampled format:Unknown 149: TypePointer UniformConstant 148 - 150(g_tTexcdi4): 149(ptr) Variable UniformConstant - 151: TypeImage 44(int) Cube sampled format:Unknown + 150(g_tTex2du4): 149(ptr) Variable UniformConstant + 151: TypeImage 6(float) 3D sampled format:Unknown 152: TypePointer UniformConstant 151 - 153(g_tTexcdu4): 152(ptr) Variable UniformConstant - 154: TypeImage 6(float) Cube array sampled format:Unknown + 153(g_tTex3df4): 152(ptr) Variable UniformConstant + 154: TypeImage 30(int) 3D sampled format:Unknown 155: TypePointer UniformConstant 154 -156(g_tTexcdf4a): 155(ptr) Variable UniformConstant - 157: TypeImage 27(int) Cube array sampled format:Unknown + 156(g_tTex3di4): 155(ptr) Variable UniformConstant + 157: TypeImage 49(int) 3D sampled format:Unknown 158: TypePointer UniformConstant 157 -159(g_tTexcdi4a): 158(ptr) Variable UniformConstant - 160: TypeImage 44(int) Cube array sampled format:Unknown + 159(g_tTex3du4): 158(ptr) Variable UniformConstant + 160: TypeImage 6(float) Cube sampled format:Unknown 161: TypePointer UniformConstant 160 -162(g_tTexcdu4a): 161(ptr) Variable UniformConstant + 162(g_tTexcdf4): 161(ptr) Variable UniformConstant + 163: TypeImage 30(int) Cube sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTexcdi4): 164(ptr) Variable UniformConstant + 166: TypeImage 49(int) Cube sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTexcdu4): 167(ptr) Variable UniformConstant + 169: TypeImage 6(float) Cube array sampled format:Unknown + 170: TypePointer UniformConstant 169 +171(g_tTexcdf4a): 170(ptr) Variable UniformConstant + 172: TypeImage 30(int) Cube array sampled format:Unknown + 173: TypePointer UniformConstant 172 +174(g_tTexcdi4a): 173(ptr) Variable UniformConstant + 175: TypeImage 49(int) Cube array sampled format:Unknown + 176: TypePointer UniformConstant 175 +177(g_tTexcdu4a): 176(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 8(r11): 7(ptr) Variable Function - 31(r13): 7(ptr) Variable Function - 43(r15): 7(ptr) Variable Function - 56(r31): 7(ptr) Variable Function - 74(r33): 7(ptr) Variable Function - 86(r35): 7(ptr) Variable Function - 101(psout): 100(ptr) Variable Function + 34(r13): 7(ptr) Variable Function + 48(r15): 7(ptr) Variable Function + 63(r31): 7(ptr) Variable Function + 84(r33): 7(ptr) Variable Function + 99(r35): 7(ptr) Variable Function + 116(psout): 115(ptr) Variable Function 12: 9 Load 11(g_tTex1df4a) 16: 13 Load 15(g_sSamp) 19: 18 SampledImage 12 16 - 25: 6(float) CompositeExtract 23 0 - 29: 6(float) CompositeExtract 25 0 - 30: 6(float) ImageSampleDrefExplicitLod 19 25 29 Lod ConstOffset 26 28 - Store 8(r11) 30 - 35: 32 Load 34(g_tTex1di4a) - 36: 13 Load 15(g_sSamp) - 39: 38 SampledImage 35 36 - 40: 6(float) CompositeExtract 23 0 - 41: 6(float) CompositeExtract 40 0 - 42: 6(float) ImageSampleDrefExplicitLod 39 40 41 Lod ConstOffset 26 28 - Store 31(r13) 42 - 48: 45 Load 47(g_tTex1du4a) - 49: 13 Load 15(g_sSamp) - 52: 51 SampledImage 48 49 - 53: 6(float) CompositeExtract 23 0 - 54: 6(float) CompositeExtract 53 0 - 55: 6(float) ImageSampleDrefExplicitLod 52 53 54 Lod ConstOffset 26 28 - Store 43(r15) 55 - 60: 57 Load 59(g_tTex2df4a) - 61: 13 Load 15(g_sSamp) - 64: 63 SampledImage 60 61 - 68: 6(float) CompositeExtract 67 0 - 72: 6(float) CompositeExtract 68 0 - 73: 6(float) ImageSampleDrefExplicitLod 64 68 72 Lod ConstOffset 26 71 - Store 56(r31) 73 - 78: 75 Load 77(g_tTex2di4a) - 79: 13 Load 15(g_sSamp) - 82: 81 SampledImage 78 79 - 83: 6(float) CompositeExtract 67 0 - 84: 6(float) CompositeExtract 83 0 - 85: 6(float) ImageSampleDrefExplicitLod 82 83 84 Lod ConstOffset 26 71 - Store 74(r33) 85 - 90: 87 Load 89(g_tTex2du4a) - 91: 13 Load 15(g_sSamp) - 94: 93 SampledImage 90 91 - 95: 6(float) CompositeExtract 67 0 - 96: 6(float) CompositeExtract 95 0 - 97: 6(float) ImageSampleDrefExplicitLod 94 95 96 Lod ConstOffset 26 71 - Store 86(r35) 97 - 106: 105(ptr) AccessChain 101(psout) 102 - Store 106 104 - 108: 7(ptr) AccessChain 101(psout) 107 - Store 108 103 - 111: 105(ptr) AccessChain 101(psout) 102 - 112: 98(fvec4) Load 111 - Store 110(Color) 112 - 115: 7(ptr) AccessChain 101(psout) 107 - 116: 6(float) Load 115 - Store 114(Depth) 116 + 26: 6(float) CompositeExtract 23 0 + 27: 6(float) CompositeExtract 23 1 + 28: 25(fvec3) CompositeConstruct 26 27 24 + 32: 6(float) CompositeExtract 28 2 + 33: 6(float) ImageSampleDrefExplicitLod 19 28 32 Lod ConstOffset 29 31 + Store 8(r11) 33 + 38: 35 Load 37(g_tTex1di4a) + 39: 13 Load 15(g_sSamp) + 42: 41 SampledImage 38 39 + 43: 6(float) CompositeExtract 23 0 + 44: 6(float) CompositeExtract 23 1 + 45: 25(fvec3) CompositeConstruct 43 44 24 + 46: 6(float) CompositeExtract 45 2 + 47: 6(float) ImageSampleDrefExplicitLod 42 45 46 Lod ConstOffset 29 31 + Store 34(r13) 47 + 53: 50 Load 52(g_tTex1du4a) + 54: 13 Load 15(g_sSamp) + 57: 56 SampledImage 53 54 + 58: 6(float) CompositeExtract 23 0 + 59: 6(float) CompositeExtract 23 1 + 60: 25(fvec3) CompositeConstruct 58 59 24 + 61: 6(float) CompositeExtract 60 2 + 62: 6(float) ImageSampleDrefExplicitLod 57 60 61 Lod ConstOffset 29 31 + Store 48(r15) 62 + 67: 64 Load 66(g_tTex2df4a) + 68: 13 Load 15(g_sSamp) + 71: 70 SampledImage 67 68 + 75: 6(float) CompositeExtract 73 0 + 76: 6(float) CompositeExtract 73 1 + 77: 6(float) CompositeExtract 73 2 + 78: 74(fvec4) CompositeConstruct 75 76 77 24 + 82: 6(float) CompositeExtract 78 3 + 83: 6(float) ImageSampleDrefExplicitLod 71 78 82 Lod ConstOffset 29 81 + Store 63(r31) 83 + 88: 85 Load 87(g_tTex2di4a) + 89: 13 Load 15(g_sSamp) + 92: 91 SampledImage 88 89 + 93: 6(float) CompositeExtract 73 0 + 94: 6(float) CompositeExtract 73 1 + 95: 6(float) CompositeExtract 73 2 + 96: 74(fvec4) CompositeConstruct 93 94 95 24 + 97: 6(float) CompositeExtract 96 3 + 98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod ConstOffset 29 81 + Store 84(r33) 98 + 103: 100 Load 102(g_tTex2du4a) + 104: 13 Load 15(g_sSamp) + 107: 106 SampledImage 103 104 + 108: 6(float) CompositeExtract 73 0 + 109: 6(float) CompositeExtract 73 1 + 110: 6(float) CompositeExtract 73 2 + 111: 74(fvec4) CompositeConstruct 108 109 110 24 + 112: 6(float) CompositeExtract 111 3 + 113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod ConstOffset 29 81 + Store 99(r35) 113 + 121: 120(ptr) AccessChain 116(psout) 117 + Store 121 119 + 123: 7(ptr) AccessChain 116(psout) 122 + Store 123 118 + 126: 120(ptr) AccessChain 116(psout) 117 + 127: 74(fvec4) Load 126 + Store 125(Color) 127 + 130: 7(ptr) AccessChain 116(psout) 122 + 131: 6(float) Load 130 + Store 129(Depth) 131 Return FunctionEnd diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index 46a6bbc1..2a0d77a0 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -191,6 +191,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -202,8 +204,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -401,6 +401,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -412,8 +414,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index 395efc26..feaba770 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -239,6 +239,8 @@ gl_FragCoord origin is upper left 0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -253,8 +255,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -500,6 +500,8 @@ gl_FragCoord origin is upper left 0:50 1 (const int) 0:50 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -514,8 +516,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index 2e79be32..f6d37c3b 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -225,6 +225,7 @@ Shader version: 450 0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -239,7 +240,6 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Pos' (out 4-component vector of float Position) Linked vertex stage: @@ -471,6 +471,7 @@ Shader version: 450 0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -485,7 +486,6 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Pos' (out 4-component vector of float Position) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 7ef5e077..7938e527 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -209,6 +209,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -223,8 +225,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -440,6 +440,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -454,8 +456,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index 2043f38a..dee78bc4 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -146,6 +146,8 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:38 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -157,8 +159,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -311,6 +311,8 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:38 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -322,8 +324,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCubeArray) 0:? 'g_tTexcdi4' (uniform itextureCubeArray) 0:? 'g_tTexcdu4' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index 351e2ed1..afdedb7d 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -155,6 +155,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -166,8 +168,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -329,6 +329,8 @@ gl_FragCoord origin is upper left 0:42 1 (const int) 0:42 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -340,8 +342,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4a' (uniform textureCubeArray) 0:? 'g_tTexcdi4a' (uniform itextureCubeArray) 0:? 'g_tTexcdu4a' (uniform utextureCubeArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index d37090fa..34a65978 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -185,6 +185,8 @@ gl_FragCoord origin is upper left 0:51 1 (const int) 0:51 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -200,8 +202,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -393,6 +393,8 @@ gl_FragCoord origin is upper left 0:51 1 (const int) 0:51 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_sSamp2d' (uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) @@ -408,8 +410,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index 04382997..04d0870e 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -171,6 +171,7 @@ Shader version: 450 0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -185,7 +186,6 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Pos' (out 4-component vector of float Position) Linked vertex stage: @@ -363,6 +363,7 @@ Shader version: 450 0:48 0 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Pos' (out 4-component vector of float Position) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -377,7 +378,6 @@ Shader version: 450 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Pos' (out 4-component vector of float Position) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index 0f0f9681..aa779610 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -173,6 +173,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -187,8 +189,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -368,6 +368,8 @@ gl_FragCoord origin is upper left 0:48 1 (const int) 0:48 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) @@ -382,8 +384,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' (uniform textureCube) 0:? 'g_tTexcdi4' (uniform itextureCube) 0:? 'g_tTexcdu4' (uniform utextureCube) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index 8eb74cd0..056a4f13 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -128,6 +128,8 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -136,8 +138,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) Linked fragment stage: @@ -272,6 +272,8 @@ gl_FragCoord origin is upper left 0:36 1 (const int) 0:36 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'Depth' (out float FragDepth) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray) @@ -280,8 +282,6 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4' (uniform texture2DArray) 0:? 'g_tTex2di4' (uniform itexture2DArray) 0:? 'g_tTex2du4' (uniform utexture2DArray) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'Depth' (out float FragDepth) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.shapeConv.frag.out b/Test/baseResults/hlsl.shapeConv.frag.out index 9ea4f839..a15caac5 100755 --- a/Test/baseResults/hlsl.shapeConv.frag.out +++ b/Test/baseResults/hlsl.shapeConv.frag.out @@ -58,41 +58,43 @@ gl_FragCoord origin is upper left 0:13 'MyVal' (temp 3-component vector of float) 0:13 Construct vec3 (temp 3-component vector of float) 0:13 'V' (temp float) -0:16 Compare Greater Than (temp bool) +0:16 Compare Greater Than (temp 3-component vector of bool) 0:16 'foo' (temp 3-component vector of float) 0:16 Constant: 0:16 4.000000 0:16 4.000000 0:16 4.000000 -0:17 Compare Greater Than or Equal (temp bool) +0:17 Compare Greater Than or Equal (temp 3-component vector of bool) 0:17 'foo' (temp 3-component vector of float) 0:17 Constant: 0:17 5.000000 0:17 5.000000 0:17 5.000000 -0:18 Compare Less Than (temp bool) +0:18 Compare Less Than (temp 3-component vector of bool) 0:18 Constant: 0:18 6.000000 0:18 6.000000 0:18 6.000000 0:18 'foo' (temp 3-component vector of float) -0:19 Compare Less Than or Equal (temp bool) +0:19 Compare Less Than or Equal (temp 3-component vector of bool) 0:19 Constant: 0:19 7.000000 0:19 7.000000 0:19 7.000000 0:19 'foo' (temp 3-component vector of float) -0:21 Compare Equal (temp bool) -0:21 Construct vec4 (temp 4-component vector of float) -0:21 direct index (temp float) -0:21 'v' (temp 4-component vector of float) -0:21 Constant: -0:21 0 (const int) -0:21 'v' (temp 4-component vector of float) -0:22 Compare Not Equal (temp bool) -0:22 Construct vec4 (temp 4-component vector of float) -0:22 'f' (in float) -0:22 'v' (temp 4-component vector of float) +0:21 all (temp bool) +0:21 Equal (temp 4-component vector of bool) +0:21 Construct vec4 (temp 4-component vector of float) +0:21 direct index (temp float) +0:21 'v' (temp 4-component vector of float) +0:21 Constant: +0:21 0 (const int) +0:21 'v' (temp 4-component vector of float) +0:22 any (temp bool) +0:22 NotEqual (temp 4-component vector of bool) +0:22 Construct vec4 (temp 4-component vector of float) +0:22 'f' (in float) +0:22 'v' (temp 4-component vector of float) 0:26 Compare Equal (temp bool) 0:26 'f1' (temp 1-component vector of float) 0:26 Construct float (temp 1-component vector of float) @@ -113,6 +115,7 @@ gl_FragCoord origin is upper left Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -173,41 +176,43 @@ gl_FragCoord origin is upper left 0:13 'MyVal' (temp 3-component vector of float) 0:13 Construct vec3 (temp 3-component vector of float) 0:13 'V' (temp float) -0:16 Compare Greater Than (temp bool) +0:16 Compare Greater Than (temp 3-component vector of bool) 0:16 'foo' (temp 3-component vector of float) 0:16 Constant: 0:16 4.000000 0:16 4.000000 0:16 4.000000 -0:17 Compare Greater Than or Equal (temp bool) +0:17 Compare Greater Than or Equal (temp 3-component vector of bool) 0:17 'foo' (temp 3-component vector of float) 0:17 Constant: 0:17 5.000000 0:17 5.000000 0:17 5.000000 -0:18 Compare Less Than (temp bool) +0:18 Compare Less Than (temp 3-component vector of bool) 0:18 Constant: 0:18 6.000000 0:18 6.000000 0:18 6.000000 0:18 'foo' (temp 3-component vector of float) -0:19 Compare Less Than or Equal (temp bool) +0:19 Compare Less Than or Equal (temp 3-component vector of bool) 0:19 Constant: 0:19 7.000000 0:19 7.000000 0:19 7.000000 0:19 'foo' (temp 3-component vector of float) -0:21 Compare Equal (temp bool) -0:21 Construct vec4 (temp 4-component vector of float) -0:21 direct index (temp float) -0:21 'v' (temp 4-component vector of float) -0:21 Constant: -0:21 0 (const int) -0:21 'v' (temp 4-component vector of float) -0:22 Compare Not Equal (temp bool) -0:22 Construct vec4 (temp 4-component vector of float) -0:22 'f' (in float) -0:22 'v' (temp 4-component vector of float) +0:21 all (temp bool) +0:21 Equal (temp 4-component vector of bool) +0:21 Construct vec4 (temp 4-component vector of float) +0:21 direct index (temp float) +0:21 'v' (temp 4-component vector of float) +0:21 Constant: +0:21 0 (const int) +0:21 'v' (temp 4-component vector of float) +0:22 any (temp bool) +0:22 NotEqual (temp 4-component vector of bool) +0:22 Construct vec4 (temp 4-component vector of float) +0:22 'f' (in float) +0:22 'v' (temp 4-component vector of float) 0:26 Compare Equal (temp bool) 0:26 'f1' (temp 1-component vector of float) 0:26 Construct float (temp 1-component vector of float) @@ -227,7 +232,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 84 +// Id's are bound by 85 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -244,7 +249,7 @@ gl_FragCoord origin is upper left Name 33 "V" Name 34 "MyVal" Name 37 "foo" - Name 69 "f1" + Name 70 "f1" 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -266,17 +271,19 @@ gl_FragCoord origin is upper left 39: 6(float) Constant 1082130432 40: 22(fvec3) ConstantComposite 39 39 39 41: TypeBool - 44: 6(float) Constant 1084227584 - 45: 22(fvec3) ConstantComposite 44 44 44 - 47: 6(float) Constant 1086324736 - 48: 22(fvec3) ConstantComposite 47 47 47 - 51: 6(float) Constant 1088421888 - 52: 22(fvec3) ConstantComposite 51 51 51 - 55: TypeInt 32 0 - 56: 55(int) Constant 0 - 61: TypeVector 41(bool) 4 + 42: TypeVector 41(bool) 3 + 45: 6(float) Constant 1084227584 + 46: 22(fvec3) ConstantComposite 45 45 45 + 48: 6(float) Constant 1086324736 + 49: 22(fvec3) ConstantComposite 48 48 48 + 52: 6(float) Constant 1088421888 + 53: 22(fvec3) ConstantComposite 52 52 52 + 56: TypeInt 32 0 + 57: 56(int) Constant 0 + 62: TypeVector 41(bool) 4 4(main): 2 Function None 3 5: Label + Return FunctionEnd 13(PixelShaderFunction(vf4;f1;): 7(fvec4) Function None 10 11(input): 8(ptr) FunctionParameter @@ -288,7 +295,7 @@ gl_FragCoord origin is upper left 33(V): 9(ptr) Variable Function 34(MyVal): 23(ptr) Variable Function 37(foo): 23(ptr) Variable Function - 69(f1): 9(ptr) Variable Function + 70(f1): 9(ptr) Variable Function Store 15(v) 17 Store 15(v) 19 20: 6(float) Load 12(f) @@ -305,35 +312,35 @@ gl_FragCoord origin is upper left 36: 22(fvec3) CompositeConstruct 35 35 35 Store 34(MyVal) 36 38: 22(fvec3) Load 37(foo) - 42: 41(bool) FOrdGreaterThan 38 40 - 43: 22(fvec3) Load 37(foo) - 46: 41(bool) FOrdGreaterThanEqual 43 45 - 49: 22(fvec3) Load 37(foo) - 50: 41(bool) FOrdLessThan 48 49 - 53: 22(fvec3) Load 37(foo) - 54: 41(bool) FOrdLessThanEqual 52 53 - 57: 9(ptr) AccessChain 15(v) 56 - 58: 6(float) Load 57 - 59: 7(fvec4) CompositeConstruct 58 58 58 58 - 60: 7(fvec4) Load 15(v) - 62: 61(bvec4) FOrdEqual 59 60 - 63: 41(bool) All 62 - 64: 6(float) Load 12(f) - 65: 7(fvec4) CompositeConstruct 64 64 64 64 - 66: 7(fvec4) Load 15(v) - 67: 61(bvec4) FOrdNotEqual 65 66 - 68: 41(bool) Any 67 - 70: 6(float) Load 69(f1) - 71: 7(fvec4) Load 15(v) - 72: 6(float) CompositeExtract 71 0 - 73: 41(bool) FOrdEqual 70 72 - 74: 7(fvec4) Load 15(v) - 75: 6(float) CompositeExtract 74 0 - 76: 6(float) Load 69(f1) - 77: 41(bool) FOrdLessThan 75 76 - 78: 6(float) Load 69(f1) - 79: 6(float) Load 69(f1) - 80: 22(fvec3) CompositeConstruct 79 79 79 - 81: 7(fvec4) Load 11(input) - ReturnValue 81 + 43: 42(bvec3) FOrdGreaterThan 38 40 + 44: 22(fvec3) Load 37(foo) + 47: 42(bvec3) FOrdGreaterThanEqual 44 46 + 50: 22(fvec3) Load 37(foo) + 51: 42(bvec3) FOrdLessThan 49 50 + 54: 22(fvec3) Load 37(foo) + 55: 42(bvec3) FOrdLessThanEqual 53 54 + 58: 9(ptr) AccessChain 15(v) 57 + 59: 6(float) Load 58 + 60: 7(fvec4) CompositeConstruct 59 59 59 59 + 61: 7(fvec4) Load 15(v) + 63: 62(bvec4) FOrdEqual 60 61 + 64: 41(bool) All 63 + 65: 6(float) Load 12(f) + 66: 7(fvec4) CompositeConstruct 65 65 65 65 + 67: 7(fvec4) Load 15(v) + 68: 62(bvec4) FOrdNotEqual 66 67 + 69: 41(bool) Any 68 + 71: 6(float) Load 70(f1) + 72: 7(fvec4) Load 15(v) + 73: 6(float) CompositeExtract 72 0 + 74: 41(bool) FOrdEqual 71 73 + 75: 7(fvec4) Load 15(v) + 76: 6(float) CompositeExtract 75 0 + 77: 6(float) Load 70(f1) + 78: 41(bool) FOrdLessThan 76 77 + 79: 6(float) Load 70(f1) + 80: 6(float) Load 70(f1) + 81: 22(fvec3) CompositeConstruct 80 80 80 + 82: 7(fvec4) Load 11(input) + ReturnValue 82 FunctionEnd diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out index 0836a618..629668ac 100755 --- a/Test/baseResults/hlsl.sin.frag.out +++ b/Test/baseResults/hlsl.sin.frag.out @@ -9,7 +9,7 @@ gl_FragCoord origin is upper left 0:3 Sequence 0:3 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 sine (global 4-component vector of float) +0:3 sine (temp 4-component vector of float) 0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 Branch: Return 0:? Linker Objects @@ -30,7 +30,7 @@ gl_FragCoord origin is upper left 0:3 Sequence 0:3 move second child to first child (temp 4-component vector of float) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:3 sine (global 4-component vector of float) +0:3 sine (temp 4-component vector of float) 0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 Branch: Return 0:? Linker Objects diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out index 8593db62..94c1b2ad 100644 --- a/Test/baseResults/hlsl.stringtoken.frag.out +++ b/Test/baseResults/hlsl.stringtoken.frag.out @@ -25,9 +25,9 @@ gl_FragCoord origin is upper left 0:19 0 (const int) 0:19 Branch: Return 0:? Linker Objects -0:? 'TestTexture' (uniform texture2D) 0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) +0:? 'TestTexture' (uniform texture2D) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) Linked fragment stage: @@ -59,9 +59,9 @@ gl_FragCoord origin is upper left 0:19 0 (const int) 0:19 Branch: Return 0:? Linker Objects -0:? 'TestTexture' (uniform texture2D) 0:? 'Color' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) +0:? 'TestTexture' (uniform texture2D) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF}) // Module Version 10000 // Generated by (magic number): 80001 @@ -83,6 +83,7 @@ gl_FragCoord origin is upper left Name 28 "" Decorate 19(Color) Location 0 Decorate 25(TestTexture) DescriptorSet 0 + MemberDecorate 26($Global) 0 Offset 0 Decorate 26($Global) Block Decorate 28 DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out index 5fef9599..c14018ea 100755 --- a/Test/baseResults/hlsl.struct.frag.out +++ b/Test/baseResults/hlsl.struct.frag.out @@ -26,9 +26,7 @@ gl_FragCoord origin is upper left 0:42 'input' (layout(location=0 ) in 4-component vector of float) 0:42 Branch: Return 0:? Linker Objects -0:? 's2' (global structure{temp 4-component vector of float i}) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) 0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'a' (layout(location=1 ) smooth in 4-component vector of float) 0:? 'b' (layout(location=2 ) flat in bool) @@ -38,6 +36,8 @@ gl_FragCoord origin is upper left 0:? 'ff2' (layout(location=5 offset=4 ) in bool) 0:? 'ff3' (layout(location=6 binding=0 offset=4 ) in bool) 0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float) +0:? 's2' (global structure{temp 4-component vector of float i}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) Linked fragment stage: @@ -66,9 +66,7 @@ gl_FragCoord origin is upper left 0:42 'input' (layout(location=0 ) in 4-component vector of float) 0:42 Branch: Return 0:? Linker Objects -0:? 's2' (global structure{temp 4-component vector of float i}) 0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) 0:? 'input' (layout(location=0 ) in 4-component vector of float) 0:? 'a' (layout(location=1 ) smooth in 4-component vector of float) 0:? 'b' (layout(location=2 ) flat in bool) @@ -78,15 +76,17 @@ gl_FragCoord origin is upper left 0:? 'ff2' (layout(location=5 offset=4 ) in bool) 0:? 'ff3' (layout(location=6 binding=0 offset=4 ) in bool) 0:? 'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float) +0:? 's2' (global structure{temp 4-component vector of float i}) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6}) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 49 +// Id's are bound by 50 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "PixelShaderFunction" 25 30 31 38 40 42 45 46 47 48 + EntryPoint Fragment 4 "PixelShaderFunction" 25 30 31 34 36 38 41 42 43 44 ExecutionMode 4 OriginUpperLeft Name 4 "PixelShaderFunction" Name 8 "FS" @@ -98,44 +98,51 @@ gl_FragCoord origin is upper left Name 25 "ff4" Name 30 "@entryPointOutput" Name 31 "input" - Name 34 "myS" - MemberName 34(myS) 0 "b" - MemberName 34(myS) 1 "c" - MemberName 34(myS) 2 "a" - MemberName 34(myS) 3 "d" - Name 35 "$Global" - MemberName 35($Global) 0 "s1" - MemberName 35($Global) 1 "ff5" - MemberName 35($Global) 2 "ff6" - Name 37 "" - Name 38 "a" - Name 40 "b" - Name 42 "c" - Name 45 "d" - Name 46 "ff1" - Name 47 "ff2" - Name 48 "ff3" + Name 34 "a" + Name 36 "b" + Name 38 "c" + Name 41 "d" + Name 42 "ff1" + Name 43 "ff2" + Name 44 "ff3" + Name 46 "myS" + MemberName 46(myS) 0 "b" + MemberName 46(myS) 1 "c" + MemberName 46(myS) 2 "a" + MemberName 46(myS) 3 "d" + Name 47 "$Global" + MemberName 47($Global) 0 "s1" + MemberName 47($Global) 1 "ff5" + MemberName 47($Global) 2 "ff6" + Name 49 "" Decorate 25(ff4) Offset 4 Decorate 25(ff4) Location 7 Decorate 25(ff4) Binding 0 Decorate 30(@entryPointOutput) Location 0 Decorate 31(input) Location 0 - Decorate 35($Global) Block - Decorate 37 DescriptorSet 0 - Decorate 38(a) Location 1 - Decorate 40(b) Flat - Decorate 40(b) Location 2 - Decorate 42(c) NoPerspective - Decorate 42(c) Centroid - Decorate 42(c) Location 3 - Decorate 45(d) Centroid - Decorate 45(d) Location 4 - Decorate 46(ff1) BuiltIn FrontFacing - Decorate 47(ff2) Offset 4 - Decorate 47(ff2) Location 5 - Decorate 48(ff3) Offset 4 - Decorate 48(ff3) Location 6 - Decorate 48(ff3) Binding 0 + Decorate 34(a) Location 1 + Decorate 36(b) Flat + Decorate 36(b) Location 2 + Decorate 38(c) NoPerspective + Decorate 38(c) Centroid + Decorate 38(c) Location 3 + Decorate 41(d) Centroid + Decorate 41(d) Location 4 + Decorate 42(ff1) BuiltIn FrontFacing + Decorate 43(ff2) Offset 4 + Decorate 43(ff2) Location 5 + Decorate 44(ff3) Offset 4 + Decorate 44(ff3) Location 6 + Decorate 44(ff3) Binding 0 + MemberDecorate 46(myS) 0 Offset 0 + MemberDecorate 46(myS) 1 Offset 4 + MemberDecorate 46(myS) 2 Offset 16 + MemberDecorate 46(myS) 3 Offset 32 + MemberDecorate 47($Global) 0 Offset 0 + MemberDecorate 47($Global) 1 Offset 1620 + MemberDecorate 47($Global) 2 Offset 1636 + Decorate 47($Global) Block + Decorate 49 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeBool @@ -155,21 +162,22 @@ gl_FragCoord origin is upper left 29: TypePointer Output 18(fvec4) 30(@entryPointOutput): 29(ptr) Variable Output 31(input): 24(ptr) Variable Input - 34(myS): TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4) - 35($Global): TypeStruct 34(myS) 17(float) 17(float) - 36: TypePointer Uniform 35($Global) - 37: 36(ptr) Variable Uniform - 38(a): 24(ptr) Variable Input - 39: TypePointer Input 6(bool) - 40(b): 39(ptr) Variable Input - 41: TypePointer Input 17(float) - 42(c): 41(ptr) Variable Input - 43: TypeVector 17(float) 2 - 44: TypePointer Input 43(fvec2) - 45(d): 44(ptr) Variable Input - 46(ff1): 39(ptr) Variable Input - 47(ff2): 39(ptr) Variable Input - 48(ff3): 39(ptr) Variable Input + 34(a): 24(ptr) Variable Input + 35: TypePointer Input 6(bool) + 36(b): 35(ptr) Variable Input + 37: TypePointer Input 17(float) + 38(c): 37(ptr) Variable Input + 39: TypeVector 17(float) 2 + 40: TypePointer Input 39(fvec2) + 41(d): 40(ptr) Variable Input + 42(ff1): 35(ptr) Variable Input + 43(ff2): 35(ptr) Variable Input + 44(ff3): 35(ptr) Variable Input + 45: TypeInt 32 0 + 46(myS): TypeStruct 45(int) 45(int) 18(fvec4) 18(fvec4) + 47($Global): TypeStruct 46(myS) 17(float) 17(float) + 48: TypePointer Uniform 47($Global) + 49: 48(ptr) Variable Uniform 4(PixelShaderFunction): 2 Function None 3 5: Label 10(s3): 9(ptr) Variable Function diff --git a/Test/baseResults/hlsl.swizzle.frag.out b/Test/baseResults/hlsl.swizzle.frag.out index 16951a34..54fc662e 100755 --- a/Test/baseResults/hlsl.swizzle.frag.out +++ b/Test/baseResults/hlsl.swizzle.frag.out @@ -38,6 +38,7 @@ gl_FragCoord origin is upper left Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -106,6 +107,7 @@ gl_FragCoord origin is upper left 4(PixelShaderFunction): 2 Function None 3 5: Label Store 14(AmbientColor) 18 + Return FunctionEnd 11(ShaderFunction(vf4;): 7(fvec4) Function None 9 10(input): 8(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out index 0769cde4..d000257e 100644 --- a/Test/baseResults/hlsl.tx.bracket.frag.out +++ b/Test/baseResults/hlsl.tx.bracket.frag.out @@ -186,6 +186,7 @@ gl_FragCoord origin is upper left 0:72 0 (const int) 0:72 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -202,8 +203,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (uniform texture2DArray) 0:? 'g_tTex2di4a' (uniform itexture2DArray) 0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) Linked fragment stage: @@ -396,6 +396,7 @@ gl_FragCoord origin is upper left 0:72 0 (const int) 0:72 Branch: Return 0:? Linker Objects +0:? 'Color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_sSamp' (layout(binding=0 ) uniform sampler) 0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D) 0:? 'g_tTex1di4' (uniform itexture1D) @@ -412,8 +413,7 @@ gl_FragCoord origin is upper left 0:? 'g_tTex2df4a' (uniform texture2DArray) 0:? 'g_tTex2di4a' (uniform itexture2DArray) 0:? 'g_tTex2du4a' (uniform utexture2DArray) -0:? 'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) -0:? 'Color' (layout(location=0 ) out 4-component vector of float) +0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4}) // Module Version 10000 // Generated by (magic number): 80001 diff --git a/Test/baseResults/hlsl.typedef.frag.out b/Test/baseResults/hlsl.typedef.frag.out index e8bda1af..565f45fd 100755 --- a/Test/baseResults/hlsl.typedef.frag.out +++ b/Test/baseResults/hlsl.typedef.frag.out @@ -39,6 +39,7 @@ gl_FragCoord origin is upper left Linked fragment stage: +WARNING: Linking fragment stage: Entry point not found Shader version: 450 gl_FragCoord origin is upper left @@ -106,6 +107,7 @@ gl_FragCoord origin is upper left 20: 9(int) Constant 2 4(PixelShaderFunction): 2 Function None 3 5: Label + Return FunctionEnd 14(ShaderFunction(vf4;i1;): 7(fvec4) Function None 11 12(input): 8(ptr) FunctionParameter diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out index 28e326d2..699364ff 100755 --- a/Test/baseResults/hlsl.whileLoop.frag.out +++ b/Test/baseResults/hlsl.whileLoop.frag.out @@ -8,9 +8,10 @@ gl_FragCoord origin is upper left 0:? Sequence 0:3 Loop with condition tested first 0:3 Loop Condition -0:3 Compare Not Equal (temp bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 any (temp bool) +0:3 NotEqual (temp 4-component vector of bool) +0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 Loop Body 0:? Sequence 0:3 Sequence @@ -50,9 +51,10 @@ gl_FragCoord origin is upper left 0:? Sequence 0:3 Loop with condition tested first 0:3 Loop Condition -0:3 Compare Not Equal (temp bool) -0:3 'input' (layout(location=0 ) in 4-component vector of float) -0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 any (temp bool) +0:3 NotEqual (temp 4-component vector of bool) +0:3 'input' (layout(location=0 ) in 4-component vector of float) +0:3 'input' (layout(location=0 ) in 4-component vector of float) 0:3 Loop Body 0:? Sequence 0:3 Sequence diff --git a/Test/baseResults/maxClipDistances.vert.out b/Test/baseResults/maxClipDistances.vert.out index 5d44a663..4ad4ef15 100644 --- a/Test/baseResults/maxClipDistances.vert.out +++ b/Test/baseResults/maxClipDistances.vert.out @@ -5,7 +5,6 @@ Shader version: 130 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) @@ -18,6 +17,5 @@ Shader version: 130 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) diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out index 848839c6..711c529d 100644 --- a/Test/baseResults/specExamples.frag.out +++ b/Test/baseResults/specExamples.frag.out @@ -318,12 +318,9 @@ ERROR: node is still EOpNull! 0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor}) 0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord}) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float) 0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float) 0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) 0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) @@ -607,11 +604,8 @@ ERROR: node is still EOpNull! 0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor}) 0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord}) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) -0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord) 0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float) 0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float) 0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'gl_FragDepth' (gl_FragDepth float FragDepth) -0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) 0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor}) diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out index ef9a1225..d7de758c 100644 --- a/Test/baseResults/specExamples.vert.out +++ b/Test/baseResults/specExamples.vert.out @@ -298,11 +298,10 @@ ERROR: node is still EOpNull! 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, ...}) -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) -0:? 'Color5' (smooth out 3-component vector of float) +0:? 'Color5' (noContraction smooth out 3-component vector of float) 0:? 'a' (in 4-component vector of float) 0:? 'b' (in 4-component vector of float) 0:? 'c' (in 4-component vector of float) @@ -582,11 +581,10 @@ ERROR: node is still EOpNull! 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 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element 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 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord}) 0:? 'ColorInv' (smooth out 3-component vector of float) 0:? 'Color4' (invariant centroid smooth out 3-component vector of float) 0:? 'position' (noContraction smooth out 4-component vector of float) -0:? 'Color5' (smooth out 3-component vector of float) +0:? 'Color5' (noContraction smooth out 3-component vector of float) 0:? 'a' (in 4-component vector of float) 0:? 'b' (in 4-component vector of float) 0:? 'c' (in 4-component vector of float) diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out index 3eafc2b5..bd1f3466 100755..100644 --- a/Test/baseResults/spv.310.comp.out +++ b/Test/baseResults/spv.310.comp.out @@ -7,121 +7,122 @@ Linked compute stage: // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 66 +// Id's are bound by 67 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 52 + EntryPoint GLCompute 4 "main" 53 ExecutionMode 4 LocalSize 16 32 4 Source ESSL 310 Name 4 "main" - Name 12 "outb" - MemberName 12(outb) 0 "f" - MemberName 12(outb) 1 "g" - MemberName 12(outb) 2 "h" - MemberName 12(outb) 3 "uns" - Name 14 "outbname" - Name 18 "s" - Name 23 "outbna" - MemberName 23(outbna) 0 "k" - MemberName 23(outbna) 1 "na" - Name 25 "outbnamena" - Name 41 "i" - Name 47 "outs" - MemberName 47(outs) 0 "s" - MemberName 47(outs) 1 "va" - Name 49 "outnames" - Name 52 "gl_LocalInvocationID" - Decorate 11 ArrayStride 16 - MemberDecorate 12(outb) 0 Offset 0 - MemberDecorate 12(outb) 1 Offset 4 - MemberDecorate 12(outb) 2 Offset 8 - MemberDecorate 12(outb) 3 Offset 16 - Decorate 12(outb) BufferBlock - Decorate 14(outbname) DescriptorSet 0 - MemberDecorate 23(outbna) 0 Offset 0 - MemberDecorate 23(outbna) 1 Offset 16 - Decorate 23(outbna) BufferBlock - Decorate 25(outbnamena) DescriptorSet 0 - Decorate 46 ArrayStride 16 - MemberDecorate 47(outs) 0 Offset 0 - MemberDecorate 47(outs) 1 Offset 16 - Decorate 47(outs) BufferBlock - Decorate 49(outnames) DescriptorSet 0 - Decorate 52(gl_LocalInvocationID) BuiltIn LocalInvocationId - Decorate 65 BuiltIn WorkgroupSize + Name 13 "outb" + MemberName 13(outb) 0 "f" + MemberName 13(outb) 1 "g" + MemberName 13(outb) 2 "h" + MemberName 13(outb) 3 "uns" + Name 15 "outbname" + Name 19 "s" + Name 24 "outbna" + MemberName 24(outbna) 0 "k" + MemberName 24(outbna) 1 "na" + Name 26 "outbnamena" + Name 42 "i" + Name 48 "outs" + MemberName 48(outs) 0 "s" + MemberName 48(outs) 1 "va" + Name 50 "outnames" + Name 53 "gl_LocalInvocationID" + Decorate 12 ArrayStride 16 + MemberDecorate 13(outb) 0 Offset 0 + MemberDecorate 13(outb) 1 Offset 4 + MemberDecorate 13(outb) 2 Offset 8 + MemberDecorate 13(outb) 3 Offset 16 + Decorate 13(outb) BufferBlock + Decorate 15(outbname) DescriptorSet 0 + MemberDecorate 24(outbna) 0 Offset 0 + MemberDecorate 24(outbna) 1 Offset 16 + Decorate 24(outbna) BufferBlock + Decorate 26(outbnamena) DescriptorSet 0 + Decorate 47 ArrayStride 16 + MemberDecorate 48(outs) 0 Offset 0 + MemberDecorate 48(outs) 1 Offset 16 + Decorate 48(outs) BufferBlock + Decorate 50(outnames) DescriptorSet 0 + Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId + Decorate 66 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 - 7: 6(int) Constant 1 - 8: 6(int) Constant 0 - 9: TypeFloat 32 - 10: TypeVector 9(float) 3 - 11: TypeRuntimeArray 10(fvec3) - 12(outb): TypeStruct 9(float) 9(float) 9(float) 11 - 13: TypePointer Uniform 12(outb) - 14(outbname): 13(ptr) Variable Uniform - 15: TypeInt 32 1 - 16: 15(int) Constant 0 - 17: TypePointer Workgroup 9(float) - 18(s): 17(ptr) Variable Workgroup - 20: TypePointer Uniform 9(float) - 22: TypeVector 9(float) 4 - 23(outbna): TypeStruct 15(int) 22(fvec4) - 24: TypePointer Uniform 23(outbna) - 25(outbnamena): 24(ptr) Variable Uniform - 26: 15(int) Constant 1 - 29: TypePointer Uniform 22(fvec4) - 31: 15(int) Constant 3 - 32: 15(int) Constant 18 - 35: 15(int) Constant 17 - 36: 9(float) Constant 1077936128 - 37: 10(fvec3) ConstantComposite 36 36 36 - 38: TypePointer Uniform 10(fvec3) - 40: TypePointer Workgroup 15(int) - 41(i): 40(ptr) Variable Workgroup - 46: TypeRuntimeArray 22(fvec4) - 47(outs): TypeStruct 15(int) 46 - 48: TypePointer Uniform 47(outs) - 49(outnames): 48(ptr) Variable Uniform - 50: TypeVector 6(int) 3 - 51: TypePointer Input 50(ivec3) -52(gl_LocalInvocationID): 51(ptr) Variable Input - 53: TypePointer Input 6(int) - 60: TypePointer Uniform 15(int) - 62: 6(int) Constant 16 - 63: 6(int) Constant 32 - 64: 6(int) Constant 4 - 65: 50(ivec3) ConstantComposite 62 63 64 + 7: 6(int) Constant 2 + 8: 6(int) Constant 1 + 9: 6(int) Constant 0 + 10: TypeFloat 32 + 11: TypeVector 10(float) 3 + 12: TypeRuntimeArray 11(fvec3) + 13(outb): TypeStruct 10(float) 10(float) 10(float) 12 + 14: TypePointer Uniform 13(outb) + 15(outbname): 14(ptr) Variable Uniform + 16: TypeInt 32 1 + 17: 16(int) Constant 0 + 18: TypePointer Workgroup 10(float) + 19(s): 18(ptr) Variable Workgroup + 21: TypePointer Uniform 10(float) + 23: TypeVector 10(float) 4 + 24(outbna): TypeStruct 16(int) 23(fvec4) + 25: TypePointer Uniform 24(outbna) + 26(outbnamena): 25(ptr) Variable Uniform + 27: 16(int) Constant 1 + 30: TypePointer Uniform 23(fvec4) + 32: 16(int) Constant 3 + 33: 16(int) Constant 18 + 36: 16(int) Constant 17 + 37: 10(float) Constant 1077936128 + 38: 11(fvec3) ConstantComposite 37 37 37 + 39: TypePointer Uniform 11(fvec3) + 41: TypePointer Workgroup 16(int) + 42(i): 41(ptr) Variable Workgroup + 47: TypeRuntimeArray 23(fvec4) + 48(outs): TypeStruct 16(int) 47 + 49: TypePointer Uniform 48(outs) + 50(outnames): 49(ptr) Variable Uniform + 51: TypeVector 6(int) 3 + 52: TypePointer Input 51(ivec3) +53(gl_LocalInvocationID): 52(ptr) Variable Input + 54: TypePointer Input 6(int) + 61: TypePointer Uniform 16(int) + 63: 6(int) Constant 16 + 64: 6(int) Constant 32 + 65: 6(int) Constant 4 + 66: 51(ivec3) ConstantComposite 63 64 65 4(main): 2 Function None 3 5: Label - ControlBarrier 7 7 8 - 19: 9(float) Load 18(s) - 21: 20(ptr) AccessChain 14(outbname) 16 - Store 21 19 - 27: 9(float) Load 18(s) - 28: 22(fvec4) CompositeConstruct 27 27 27 27 - 30: 29(ptr) AccessChain 25(outbnamena) 26 - Store 30 28 - 33: 20(ptr) AccessChain 14(outbname) 31 32 8 - 34: 9(float) Load 33 - Store 18(s) 34 - 39: 38(ptr) AccessChain 14(outbname) 31 35 - Store 39 37 - 42: 15(int) Load 41(i) - 43: 9(float) Load 18(s) - 44: 10(fvec3) CompositeConstruct 43 43 43 - 45: 38(ptr) AccessChain 14(outbname) 31 42 - Store 45 44 - 54: 53(ptr) AccessChain 52(gl_LocalInvocationID) 8 - 55: 6(int) Load 54 - 56: 9(float) Load 18(s) - 57: 22(fvec4) CompositeConstruct 56 56 56 56 - 58: 29(ptr) AccessChain 49(outnames) 26 55 - Store 58 57 - 59: 15(int) ArrayLength 14(outbname) 3 - 61: 60(ptr) AccessChain 49(outnames) 16 - Store 61 59 + ControlBarrier 7 8 9 + 20: 10(float) Load 19(s) + 22: 21(ptr) AccessChain 15(outbname) 17 + Store 22 20 + 28: 10(float) Load 19(s) + 29: 23(fvec4) CompositeConstruct 28 28 28 28 + 31: 30(ptr) AccessChain 26(outbnamena) 27 + Store 31 29 + 34: 21(ptr) AccessChain 15(outbname) 32 33 9 + 35: 10(float) Load 34 + Store 19(s) 35 + 40: 39(ptr) AccessChain 15(outbname) 32 36 + Store 40 38 + 43: 16(int) Load 42(i) + 44: 10(float) Load 19(s) + 45: 11(fvec3) CompositeConstruct 44 44 44 + 46: 39(ptr) AccessChain 15(outbname) 32 43 + Store 46 45 + 55: 54(ptr) AccessChain 53(gl_LocalInvocationID) 9 + 56: 6(int) Load 55 + 57: 10(float) Load 19(s) + 58: 23(fvec4) CompositeConstruct 57 57 57 57 + 59: 30(ptr) AccessChain 50(outnames) 27 56 + Store 59 58 + 60: 16(int) ArrayLength 15(outbname) 3 + 62: 61(ptr) AccessChain 50(outnames) 17 + Store 62 60 Return FunctionEnd diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out index bcfd963e..ae469aad 100755..100644 --- a/Test/baseResults/spv.400.tesc.out +++ b/Test/baseResults/spv.400.tesc.out @@ -14,26 +14,26 @@ Linked tessellation control stage: Capability ClipDistance 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 4 "main" 23 40 43 46 54 68 73 79 83 84 87 88 91 92 + EntryPoint TessellationControl 4 "main" 24 41 44 47 54 68 73 79 83 84 87 88 91 92 ExecutionMode 4 OutputVertices 4 Source GLSL 400 SourceExtension "GL_ARB_separate_shader_objects" Name 4 "main" - Name 11 "a" - Name 16 "p" - Name 19 "gl_PerVertex" - MemberName 19(gl_PerVertex) 0 "gl_Position" - MemberName 19(gl_PerVertex) 1 "gl_PointSize" - MemberName 19(gl_PerVertex) 2 "gl_ClipDistance" - Name 23 "gl_in" - Name 30 "ps" - Name 34 "cd" - Name 38 "pvi" - Name 40 "gl_PatchVerticesIn" - Name 42 "pid" - Name 43 "gl_PrimitiveID" - Name 45 "iid" - Name 46 "gl_InvocationID" + Name 12 "a" + Name 17 "p" + Name 20 "gl_PerVertex" + MemberName 20(gl_PerVertex) 0 "gl_Position" + MemberName 20(gl_PerVertex) 1 "gl_PointSize" + MemberName 20(gl_PerVertex) 2 "gl_ClipDistance" + Name 24 "gl_in" + Name 31 "ps" + Name 35 "cd" + Name 39 "pvi" + Name 41 "gl_PatchVerticesIn" + Name 43 "pid" + Name 44 "gl_PrimitiveID" + Name 46 "iid" + Name 47 "gl_InvocationID" Name 50 "gl_PerVertex" MemberName 50(gl_PerVertex) 0 "gl_Position" MemberName 50(gl_PerVertex) 1 "gl_PointSize" @@ -49,13 +49,13 @@ Linked tessellation control stage: Name 88 "ivlb" Name 91 "ovla" Name 92 "ovlb" - MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 19(gl_PerVertex) Block - Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices - Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId - Decorate 46(gl_InvocationID) BuiltIn InvocationId + MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance + Decorate 20(gl_PerVertex) Block + Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices + Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 47(gl_InvocationID) BuiltIn InvocationId MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance @@ -72,106 +72,106 @@ Linked tessellation control stage: 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 - 7: 6(int) Constant 1 - 8: 6(int) Constant 0 - 9: TypeInt 32 1 - 10: TypePointer Function 9(int) - 12: 9(int) Constant 5392 - 13: TypeFloat 32 - 14: TypeVector 13(float) 4 - 15: TypePointer Function 14(fvec4) - 17: 6(int) Constant 3 - 18: TypeArray 13(float) 17 -19(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 18 - 20: 6(int) Constant 32 - 21: TypeArray 19(gl_PerVertex) 20 - 22: TypePointer Input 21 - 23(gl_in): 22(ptr) Variable Input - 24: 9(int) Constant 1 - 25: 9(int) Constant 0 - 26: TypePointer Input 14(fvec4) - 29: TypePointer Function 13(float) - 31: TypePointer Input 13(float) - 35: 9(int) Constant 2 - 39: TypePointer Input 9(int) -40(gl_PatchVerticesIn): 39(ptr) Variable Input -43(gl_PrimitiveID): 39(ptr) Variable Input -46(gl_InvocationID): 39(ptr) Variable Input - 48: 6(int) Constant 2 - 49: TypeArray 13(float) 48 -50(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 49 + 7: 6(int) Constant 2 + 8: 6(int) Constant 1 + 9: 6(int) Constant 0 + 10: TypeInt 32 1 + 11: TypePointer Function 10(int) + 13: 10(int) Constant 5392 + 14: TypeFloat 32 + 15: TypeVector 14(float) 4 + 16: TypePointer Function 15(fvec4) + 18: 6(int) Constant 3 + 19: TypeArray 14(float) 18 +20(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 19 + 21: 6(int) Constant 32 + 22: TypeArray 20(gl_PerVertex) 21 + 23: TypePointer Input 22 + 24(gl_in): 23(ptr) Variable Input + 25: 10(int) Constant 1 + 26: 10(int) Constant 0 + 27: TypePointer Input 15(fvec4) + 30: TypePointer Function 14(float) + 32: TypePointer Input 14(float) + 36: 10(int) Constant 2 + 40: TypePointer Input 10(int) +41(gl_PatchVerticesIn): 40(ptr) Variable Input +44(gl_PrimitiveID): 40(ptr) Variable Input +47(gl_InvocationID): 40(ptr) Variable Input + 49: TypeArray 14(float) 7 +50(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 49 51: 6(int) Constant 4 52: TypeArray 50(gl_PerVertex) 51 53: TypePointer Output 52 54(gl_out): 53(ptr) Variable Output - 57: TypePointer Output 14(fvec4) - 61: TypePointer Output 13(float) - 66: TypeArray 13(float) 51 + 57: TypePointer Output 15(fvec4) + 61: TypePointer Output 14(float) + 66: TypeArray 14(float) 51 67: TypePointer Output 66 68(gl_TessLevelOuter): 67(ptr) Variable Output - 69: 9(int) Constant 3 - 70: 13(float) Constant 1078774989 + 69: 10(int) Constant 3 + 70: 14(float) Constant 1078774989 72: TypePointer Output 49 73(gl_TessLevelInner): 72(ptr) Variable Output - 74: 13(float) Constant 1067869798 - 76: TypeArray 9(int) 51 + 74: 14(float) Constant 1067869798 + 76: TypeArray 10(int) 51 77: TypePointer Private 76 78(outa): 77(ptr) Variable Private 79(patchOut): 57(ptr) Variable Output - 80: TypeVector 13(float) 2 - 81: TypeArray 80(fvec2) 20 + 80: TypeVector 14(float) 2 + 81: TypeArray 80(fvec2) 21 82: TypePointer Input 81 83(inb): 82(ptr) Variable Input 84(ind): 82(ptr) Variable Input - 85: TypeArray 14(fvec4) 20 + 85: TypeArray 15(fvec4) 21 86: TypePointer Input 85 87(ivla): 86(ptr) Variable Input 88(ivlb): 86(ptr) Variable Input - 89: TypeArray 14(fvec4) 51 + 89: TypeArray 15(fvec4) 51 90: TypePointer Output 89 91(ovla): 90(ptr) Variable Output 92(ovlb): 90(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 11(a): 10(ptr) Variable Function - 16(p): 15(ptr) Variable Function - 30(ps): 29(ptr) Variable Function - 34(cd): 29(ptr) Variable Function - 38(pvi): 10(ptr) Variable Function - 42(pid): 10(ptr) Variable Function - 45(iid): 10(ptr) Variable Function - ControlBarrier 7 7 8 - Store 11(a) 12 - 27: 26(ptr) AccessChain 23(gl_in) 24 25 - 28: 14(fvec4) Load 27 - Store 16(p) 28 - 32: 31(ptr) AccessChain 23(gl_in) 24 24 - 33: 13(float) Load 32 - Store 30(ps) 33 - 36: 31(ptr) AccessChain 23(gl_in) 24 35 35 - 37: 13(float) Load 36 - Store 34(cd) 37 - 41: 9(int) Load 40(gl_PatchVerticesIn) - Store 38(pvi) 41 - 44: 9(int) Load 43(gl_PrimitiveID) - Store 42(pid) 44 - 47: 9(int) Load 46(gl_InvocationID) - Store 45(iid) 47 - 55: 9(int) Load 46(gl_InvocationID) - 56: 14(fvec4) Load 16(p) - 58: 57(ptr) AccessChain 54(gl_out) 55 25 + 12(a): 11(ptr) Variable Function + 17(p): 16(ptr) Variable Function + 31(ps): 30(ptr) Variable Function + 35(cd): 30(ptr) Variable Function + 39(pvi): 11(ptr) Variable Function + 43(pid): 11(ptr) Variable Function + 46(iid): 11(ptr) Variable Function + ControlBarrier 7 8 9 + Store 12(a) 13 + 28: 27(ptr) AccessChain 24(gl_in) 25 26 + 29: 15(fvec4) Load 28 + Store 17(p) 29 + 33: 32(ptr) AccessChain 24(gl_in) 25 25 + 34: 14(float) Load 33 + Store 31(ps) 34 + 37: 32(ptr) AccessChain 24(gl_in) 25 36 36 + 38: 14(float) Load 37 + Store 35(cd) 38 + 42: 10(int) Load 41(gl_PatchVerticesIn) + Store 39(pvi) 42 + 45: 10(int) Load 44(gl_PrimitiveID) + Store 43(pid) 45 + 48: 10(int) Load 47(gl_InvocationID) + Store 46(iid) 48 + 55: 10(int) Load 47(gl_InvocationID) + 56: 15(fvec4) Load 17(p) + 58: 57(ptr) AccessChain 54(gl_out) 55 26 Store 58 56 - 59: 9(int) Load 46(gl_InvocationID) - 60: 13(float) Load 30(ps) - 62: 61(ptr) AccessChain 54(gl_out) 59 24 + 59: 10(int) Load 47(gl_InvocationID) + 60: 14(float) Load 31(ps) + 62: 61(ptr) AccessChain 54(gl_out) 59 25 Store 62 60 - 63: 9(int) Load 46(gl_InvocationID) - 64: 13(float) Load 34(cd) - 65: 61(ptr) AccessChain 54(gl_out) 63 35 24 + 63: 10(int) Load 47(gl_InvocationID) + 64: 14(float) Load 35(cd) + 65: 61(ptr) AccessChain 54(gl_out) 63 36 25 Store 65 64 71: 61(ptr) AccessChain 68(gl_TessLevelOuter) 69 Store 71 70 - 75: 61(ptr) AccessChain 73(gl_TessLevelInner) 24 + 75: 61(ptr) AccessChain 73(gl_TessLevelInner) 25 Store 75 74 Return FunctionEnd diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out new file mode 100755 index 00000000..f12e6202 --- /dev/null +++ b/Test/baseResults/spv.noWorkgroup.comp.out @@ -0,0 +1,34 @@ +spv.noWorkgroup.comp +Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. + + +Linked compute 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 GLCompute 4 "main" + ExecutionMode 4 LocalSize 1 1 1 + Source GLSL 450 + Name 4 "main" + Decorate 7 SpecId 18 + Decorate 8 SpecId 10 + Decorate 9 SpecId 19 + Decorate 11 BuiltIn WorkgroupSize + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: 6(int) SpecConstant 1 + 8: 6(int) SpecConstant 1 + 9: 6(int) SpecConstant 1 + 10: TypeVector 6(int) 3 + 11: 10(ivec3) SpecConstantComposite 7 8 9 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/Test/baseResults/spv.register.autoassign.rangetest.frag.out b/Test/baseResults/spv.register.autoassign.rangetest.frag.out index a521a13b..94933fba 100644 --- a/Test/baseResults/spv.register.autoassign.rangetest.frag.out +++ b/Test/baseResults/spv.register.autoassign.rangetest.frag.out @@ -2,10 +2,6 @@ spv.register.autoassign.rangetest.frag Linked fragment stage: -INTERNAL ERROR: mapped binding out of range: g_tScene -INTERNAL ERROR: mapped binding out of range: g_tSamp -INTERNAL ERROR: mapped binding out of range: g_tScene -INTERNAL ERROR: mapped binding out of range: g_tSamp INTERNAL ERROR: mapped binding out of range: g_tSamp INTERNAL ERROR: mapped binding out of range: g_tScene diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out new file mode 100644 index 00000000..851ef463 --- /dev/null +++ b/Test/baseResults/spv.rw.autoassign.frag.out @@ -0,0 +1,70 @@ +spv.rw.autoassign.frag + +Linked fragment stage: + + +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 37 + + Capability Shader + Capability Sampled1D + Capability SampledBuffer + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 33 + ExecutionMode 4 OriginUpperLeft + Name 4 "main" + Name 8 "r00" + Name 11 "g_tTex1df1" + Name 18 "r01" + Name 21 "g_tBuf1du1" + Name 25 "PS_OUTPUT" + MemberName 25(PS_OUTPUT) 0 "Color" + Name 27 "psout" + Name 33 "Color" + Decorate 11(g_tTex1df1) DescriptorSet 0 + Decorate 11(g_tTex1df1) Binding 20 + Decorate 21(g_tBuf1du1) DescriptorSet 0 + Decorate 21(g_tBuf1du1) Binding 21 + Decorate 33(Color) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypePointer Function 6(float) + 9: TypeImage 6(float) 1D nonsampled format:R32f + 10: TypePointer UniformConstant 9 + 11(g_tTex1df1): 10(ptr) Variable UniformConstant + 13: TypeInt 32 1 + 14: 13(int) Constant 0 + 16: TypeInt 32 0 + 17: TypePointer Function 16(int) + 19: TypeImage 16(int) Buffer nonsampled format:R32ui + 20: TypePointer UniformConstant 19 + 21(g_tBuf1du1): 20(ptr) Variable UniformConstant + 24: TypeVector 6(float) 4 + 25(PS_OUTPUT): TypeStruct 24(fvec4) + 26: TypePointer Function 25(PS_OUTPUT) + 28: 6(float) Constant 0 + 29: 24(fvec4) ConstantComposite 28 28 28 28 + 30: TypePointer Function 24(fvec4) + 32: TypePointer Output 24(fvec4) + 33(Color): 32(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 8(r00): 7(ptr) Variable Function + 18(r01): 17(ptr) Variable Function + 27(psout): 26(ptr) Variable Function + 12: 9 Load 11(g_tTex1df1) + 15: 6(float) ImageRead 12 14 + Store 8(r00) 15 + 22: 19 Load 21(g_tBuf1du1) + 23: 16(int) ImageRead 22 14 + Store 18(r01) 23 + 31: 30(ptr) AccessChain 27(psout) 14 + Store 31 29 + 34: 30(ptr) AccessChain 27(psout) 14 + 35: 24(fvec4) Load 34 + Store 33(Color) 35 + Return + FunctionEnd diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out index c6cf6bae..1fd59b46 100644 --- a/Test/baseResults/varyingArray.frag.out +++ b/Test/baseResults/varyingArray.frag.out @@ -56,7 +56,6 @@ Shader version: 130 0:? 'color' (smooth in 4-component vector of float) 0:? 'alpha' (smooth in float) 0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) 0:? 'foo' (smooth in 3-element array of 4-component vector of float) @@ -115,6 +114,5 @@ Shader version: 130 0:? 'color' (smooth in 4-component vector of float) 0:? 'alpha' (smooth in float) 0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) 0:? 'foo' (smooth in 3-element array of 4-component vector of float) diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out index 02a41f3f..73498129 100644 --- a/Test/baseResults/varyingArrayIndirect.frag.out +++ b/Test/baseResults/varyingArrayIndirect.frag.out @@ -57,7 +57,6 @@ Shader version: 130 0:? 'color' (smooth in 4-component vector of float) 0:? 'alpha' (smooth in float) 0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) 0:? 'userIn' (smooth in 2-element array of 4-component vector of float) 0:? 'a' (uniform int) 0:? 'b' (uniform int) @@ -119,7 +118,6 @@ Shader version: 130 0:? 'color' (smooth in 4-component vector of float) 0:? 'alpha' (smooth in float) 0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) -0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord) 0:? 'userIn' (smooth in 2-element array of 4-component vector of float) 0:? 'a' (uniform int) 0:? 'b' (uniform int) diff --git a/Test/hlsl.attribute.expression.comp b/Test/hlsl.attribute.expression.comp new file mode 100644 index 00000000..535fbad4 --- /dev/null +++ b/Test/hlsl.attribute.expression.comp @@ -0,0 +1,15 @@ + +uniform int bound; + +#define FOO 3 +#define BAR 2 + +[numthreads(2+2, 2*3, (1+FOO)*BAR)] +float4 main() : SV_TARGET +{ + [unroll(5*2 + 1) ] + for (int x=0; x<bound; ++x) + ; + + return float4(0,0,0,0); +} diff --git a/Test/hlsl.basic.geom b/Test/hlsl.basic.geom new file mode 100644 index 00000000..79b061ee --- /dev/null +++ b/Test/hlsl.basic.geom @@ -0,0 +1,25 @@ +struct PSInput +{ + float myfloat : SOME_SEMANTIC; + int something : ANOTHER_SEMANTIC; +}; + +struct nametest { + int Append; // these are valid names even though they are also method names. + int RestartStrip; // ... +}; + +[maxvertexcount(4)] +void main(triangle in uint VertexID[3] : VertexID, + triangle uint test[3] : FOO, + inout LineStream<PSInput> OutputStream) +{ + PSInput Vert; + + Vert.myfloat = test[0] + test[1] + test[2]; + Vert.something = VertexID[0]; + + OutputStream.Append(Vert); + OutputStream.Append(Vert); + OutputStream.RestartStrip(); +} diff --git a/Test/hlsl.comparison.vec.frag b/Test/hlsl.comparison.vec.frag new file mode 100644 index 00000000..b8f93c9f --- /dev/null +++ b/Test/hlsl.comparison.vec.frag @@ -0,0 +1,34 @@ +uniform float4 uf4; + +void Bug1( float4 a ) +{ + float4 v04 = float4( 0.0, 0.0, 0.0, 0.0 ); + float v01 = 0.0; + + bool4 r00 = a == v04; + bool4 r01 = a != v04; + bool4 r02 = a < v04; + bool4 r03 = a > v04; + + bool4 r10 = a == v01; + bool4 r11 = a != v01; + bool4 r12 = a < v01; + bool4 r13 = a > v01; + + bool4 r20 = v01 == a; + bool4 r21 = v01 != a; + bool4 r22 = v01 < a; + bool4 r23 = v01 > a; +} + +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +PS_OUTPUT main() +{ + PS_OUTPUT psout; + psout.Color = 0; + return psout; +} diff --git a/Test/hlsl.doLoop.frag b/Test/hlsl.doLoop.frag index 546b2c2c..251a8c12 100644 --- a/Test/hlsl.doLoop.frag +++ b/Test/hlsl.doLoop.frag @@ -2,5 +2,5 @@ float4 PixelShaderFunction(float4 input) : COLOR0 { [unroll] do {} while (false); [unroll] do {;} while (false); - do { return input; } while (input == input); + do { return input; } while (all(input == input)); } diff --git a/Test/hlsl.forLoop.frag b/Test/hlsl.forLoop.frag index 2495e6e1..93789967 100644 --- a/Test/hlsl.forLoop.frag +++ b/Test/hlsl.forLoop.frag @@ -2,9 +2,9 @@ float4 PixelShaderFunction(float4 input) : COLOR0 { for (;;) ; for (++input; ; ) ; - [unroll] for (; input != input; ) {} - for (; input != input; ) { return -input; } - for (--input; input != input; input += 2) { return -input; } + [unroll] for (; any(input != input); ) {} + for (; any(input != input); ) { return -input; } + for (--input; any(input != input); input += 2) { return -input; } for (;;) if (input.x > 2.0) break; for (;;) if (input.x > 2.0) continue; float ii; diff --git a/Test/hlsl.identifier.sample.frag b/Test/hlsl.identifier.sample.frag new file mode 100644 index 00000000..3281a9ac --- /dev/null +++ b/Test/hlsl.identifier.sample.frag @@ -0,0 +1,18 @@ + +struct MyStruct { + sample float a; + noperspective float b; + linear float c; + centroid float d; +}; + +int sample(int x) { return x; } // HLSL allows this as an identifier as well. + +float4 main() : SV_Target0 +{ + // HLSL allows this as an identifier as well. + // However, this is not true of other qualifier keywords such as "linear". + int sample = 3; + + return float4(0,0,0,0); +} diff --git a/Test/hlsl.if.frag b/Test/hlsl.if.frag index 1f6dc415..ba659e6d 100644 --- a/Test/hlsl.if.frag +++ b/Test/hlsl.if.frag @@ -1,26 +1,26 @@ float4 PixelShaderFunction(float4 input) : COLOR0 { - if (input == input) + if (all(input == input)) return input; - if (input == input) + if (all(input == input)) return input; else return -input; - if (input == input) + if (all(input == input)) ; - if (input == input) + if (all(input == input)) ; else ; - [flatten] if (input == input) { + [flatten] if (all(input == input)) { return input; } - if (input == input) { + if (all(input == input)) { return input; } else { return -input; diff --git a/Test/hlsl.logical.binary.frag b/Test/hlsl.logical.binary.frag new file mode 100644 index 00000000..06bc9f2f --- /dev/null +++ b/Test/hlsl.logical.binary.frag @@ -0,0 +1,21 @@ +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +uniform int ival; +uniform int4 ival4; +uniform float fval; +uniform float4 fval4; + +PS_OUTPUT main() +{ + if (ival && fval); + if (ival || fval); + + PS_OUTPUT psout; + psout.Color = 1.0; + return psout; +} + + diff --git a/Test/hlsl.logical.binary.vec.frag b/Test/hlsl.logical.binary.vec.frag new file mode 100644 index 00000000..e94c8f5b --- /dev/null +++ b/Test/hlsl.logical.binary.vec.frag @@ -0,0 +1,24 @@ +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +uniform bool4 b4a, b4b; +uniform bool b1a, b1b; + +PS_OUTPUT main() +{ + bool4 r00 = !b4a; + bool4 r01 = b4a && b4b; // vec, vec + bool4 r02 = b4a || b4b; // vec, vec + + bool4 r10 = b1a && b4b; // scalar, vec + bool4 r11 = b1a || b4b; // scalar, vec + + bool4 r20 = b4a && b1b; // vec, scalar + bool4 r21 = b4a || b1b; // vec, scalar + + PS_OUTPUT psout; + psout.Color = r00 || r01 || r02 || r10 || r11 || r20 || r21; + return psout; +} diff --git a/Test/hlsl.logical.unary.frag b/Test/hlsl.logical.unary.frag new file mode 100644 index 00000000..cbcb3bfc --- /dev/null +++ b/Test/hlsl.logical.unary.frag @@ -0,0 +1,29 @@ +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +uniform int ival; +uniform int4 ival4; +uniform float fval; +uniform float4 fval4; + +PS_OUTPUT main() +{ + !ival; // scalar int + !ival4; // vector int + + !fval; // scalar float + !fval4; // vector float + + if (ival); + if (fval); + if (!ival); + if (!fval); + + PS_OUTPUT psout; + psout.Color = 1.0; + return psout; +} + + diff --git a/Test/hlsl.matNx1.frag b/Test/hlsl.matNx1.frag new file mode 100644 index 00000000..515bd470 --- /dev/null +++ b/Test/hlsl.matNx1.frag @@ -0,0 +1,31 @@ + +void TestMatNx1() +{ + float1x1 f1x1; + float2x1 f2x1; + float3x1 f3x1; + float4x1 f4x1; + + float1x2 f1x2; + float1x3 f1x3; + float1x4 f1x4; + + float1x1 r00 = transpose(f1x1); + float1x2 r01 = transpose(f2x1); + float1x3 r02 = transpose(f3x1); + float1x4 r03 = transpose(f4x1); + + float1x1 r10 = transpose(f1x1); + float2x1 r11 = transpose(f1x2); + float3x1 r12 = transpose(f1x3); + float4x1 r13 = transpose(f1x4); +} + +struct PS_OUTPUT { float4 color : SV_Target0; }; + +PS_OUTPUT main() +{ + PS_OUTPUT ps_output; + ps_output.color = 1.0; + return ps_output; +}; diff --git a/Test/hlsl.matType.bool.frag b/Test/hlsl.matType.bool.frag new file mode 100644 index 00000000..e4a62e36 --- /dev/null +++ b/Test/hlsl.matType.bool.frag @@ -0,0 +1,53 @@ + +void TestBoolMatTypes() +{ + bool1x1 b1x1; + bool2x1 b2x1; + bool3x1 b3x1; + bool4x1 b4x1; + + bool1x2 b1x2; + bool2x2 b2x2; + bool3x2 b3x2; + bool4x2 b4x2; + + bool1x3 b1x3; + bool2x3 b2x3; + bool3x3 b3x3; + bool4x3 b4x3; + + bool1x4 b1x4; + bool2x4 b2x4; + bool3x4 b3x4; + bool4x4 b4x4; + + // TODO: Currently SPIR-V disallows Nx1 or 1xN mats. + bool1x1 r00 = transpose(b1x1); + bool1x2 r01 = transpose(b2x1); + bool1x3 r02 = transpose(b3x1); + bool1x4 r03 = transpose(b4x1); + + bool2x1 r10 = transpose(b1x2); + bool2x2 r11 = transpose(b2x2); + bool2x3 r12 = transpose(b3x2); + bool2x4 r13 = transpose(b4x2); + + bool3x1 r20 = transpose(b1x3); + bool3x2 r21 = transpose(b2x3); + bool3x3 r22 = transpose(b3x3); + bool3x4 r23 = transpose(b4x3); + + bool4x1 r30 = transpose(b1x4); + bool4x2 r31 = transpose(b2x4); + bool4x3 r32 = transpose(b3x4); + bool4x4 r33 = transpose(b4x4); +} + +struct PS_OUTPUT { float4 color : SV_Target0; }; + +PS_OUTPUT main() +{ + PS_OUTPUT ps_output; + ps_output.color = float4(0,0,0,0); + return ps_output; +}; diff --git a/Test/hlsl.matType.int.frag b/Test/hlsl.matType.int.frag new file mode 100644 index 00000000..09e9f2ad --- /dev/null +++ b/Test/hlsl.matType.int.frag @@ -0,0 +1,97 @@ + +void TestIntMatTypes() +{ + int1x1 i1x1; + int2x1 i2x1; + int3x1 i3x1; + int4x1 i4x1; + + int1x2 i1x2; + int2x2 i2x2; + int3x2 i3x2; + int4x2 i4x2; + + int1x3 i1x3; + int2x3 i2x3; + int3x3 i3x3; + int4x3 i4x3; + + int1x4 i1x4; + int2x4 i2x4; + int3x4 i3x4; + int4x4 i4x4; + + // TODO: Currently SPIR-V disallows Nx1 or 1xN mats. + int1x1 r00 = transpose(i1x1); + int1x2 r01 = transpose(i2x1); + int1x3 r02 = transpose(i3x1); + int1x4 r03 = transpose(i4x1); + + int2x1 r10 = transpose(i1x2); + int2x2 r11 = transpose(i2x2); + int2x3 r12 = transpose(i3x2); + int2x4 r13 = transpose(i4x2); + + int3x1 r20 = transpose(i1x3); + int3x2 r21 = transpose(i2x3); + int3x3 r22 = transpose(i3x3); + int3x4 r23 = transpose(i4x3); + + int4x1 r30 = transpose(i1x4); + int4x2 r31 = transpose(i2x4); + int4x3 r32 = transpose(i3x4); + int4x4 r33 = transpose(i4x4); +} + +void TestUintMatTypes() +{ + uint1x1 u1x1; + uint2x1 u2x1; + uint3x1 u3x1; + uint4x1 u4x1; + + uint1x2 u1x2; + uint2x2 u2x2; + uint3x2 u3x2; + uint4x2 u4x2; + + uint1x3 u1x3; + uint2x3 u2x3; + uint3x3 u3x3; + uint4x3 u4x3; + + uint1x4 u1x4; + uint2x4 u2x4; + uint3x4 u3x4; + uint4x4 u4x4; + + // TODO: Currently SPIR-V disallows Nx1 or 1xN mats. + uint1x1 r00 = transpose(u1x1); + uint1x2 r01 = transpose(u2x1); + uint1x3 r02 = transpose(u3x1); + uint1x4 r03 = transpose(u4x1); + + uint2x1 r10 = transpose(u1x2); + uint2x2 r11 = transpose(u2x2); + uint2x3 r12 = transpose(u3x2); + uint2x4 r13 = transpose(u4x2); + + uint3x1 r20 = transpose(u1x3); + uint3x2 r21 = transpose(u2x3); + uint3x3 r22 = transpose(u3x3); + uint3x4 r23 = transpose(u4x3); + + uint4x1 r30 = transpose(u1x4); + uint4x2 r31 = transpose(u2x4); + uint4x3 r32 = transpose(u3x4); + uint4x4 r33 = transpose(u4x4); +} + +struct PS_OUTPUT { float4 color : SV_Target0; }; + +PS_OUTPUT main() +{ + PS_OUTPUT ps_output; + ps_output.color = float4(0,0,0,0); + return ps_output; +}; diff --git a/Test/hlsl.mintypes.frag b/Test/hlsl.mintypes.frag new file mode 100644 index 00000000..ad47e68e --- /dev/null +++ b/Test/hlsl.mintypes.frag @@ -0,0 +1,49 @@ +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +uniform min16float b1a, b1b; + +PS_OUTPUT main() +{ + min16float mf16; + min16float1 mf16_1; + min16float2 mf16_2; + min16float3 mf16_3; + min16float4 mf16_4; + + min10float mf10; + min10float1 mf10_1; + min10float2 mf10_2; + min10float3 mf10_3; + min10float4 mf12_4; + + min16int mi16; + min16int1 mi16_1; + min16int2 mi16_2; + min16int3 mi16_3; + min16int4 mi16_4; + + min12int mi12; + min12int1 mi12_1; + min12int2 mi12_2; + min12int3 mi12_3; + min12int4 mi12_4; + + min16uint mu16; + min16uint1 mu16_1; + min16uint2 mu16_2; + min16uint3 mu16_3; + min16uint4 mu16_4; + + mf16_2 + mf16; + mf10_2 + mf10; + mi16_2 + mi16; + mi12_2 + mi12; + mu16_2 + mu16; + + PS_OUTPUT psout; + psout.Color = 0; + return psout; +} diff --git a/Test/hlsl.numthreads.comp b/Test/hlsl.numthreads.comp new file mode 100644 index 00000000..fcc97f37 --- /dev/null +++ b/Test/hlsl.numthreads.comp @@ -0,0 +1,14 @@ + +[numthreads(8,8,1)] +void main(uint3 tid : SV_DispatchThreadID ) +{ +} + +[numTHreaDs(4,4,2)] // case insensitive +void main_aux1(uint3 tid : SV_DispatchThreadID ) +{ +} + +[numthreads(1,4,8)] +void main_aux2(uint3 tid : SV_DispatchThreadID ); + diff --git a/Test/hlsl.partialInit.frag b/Test/hlsl.partialInit.frag new file mode 100755 index 00000000..59e8a529 --- /dev/null +++ b/Test/hlsl.partialInit.frag @@ -0,0 +1,29 @@ +struct outs {
+ int a;
+ float b;
+ bool c;
+ float4 v;
+};
+
+static float4 gv = {0,0,1};
+static float gfa[3] = {0,0};
+
+struct Nest {
+ float4x3 m;
+ outs os;
+ bool b;
+};
+
+outs PixelShaderFunction(float4 input) : COLOR0
+{
+ outs o2 = { 3 };
+ outs o4;
+ o4.v = gv * gfa[2];
+ outs o1 = { };
+ outs o3 = (outs)0;
+ o4 = (outs)0;
+ o4.c = o1.c;
+ Nest nest = (Nest)0;
+
+ return o4;
+}
\ No newline at end of file diff --git a/Test/hlsl.promote.binary.frag b/Test/hlsl.promote.binary.frag new file mode 100644 index 00000000..0203bed9 --- /dev/null +++ b/Test/hlsl.promote.binary.frag @@ -0,0 +1,28 @@ +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +uniform bool bval; +uniform bool4 bval4; +uniform int ival; +uniform int4 ival4; +uniform float fval; +uniform float4 fval4; + +PS_OUTPUT main() +{ + ival % fval; + ival4 % fval4; + + bval % fval; + bval4 % fval4; + + int l_int = 1; + l_int %= fval; + + PS_OUTPUT psout; + psout.Color = 0; + return psout; +} + diff --git a/Test/hlsl.promote.vec1.frag b/Test/hlsl.promote.vec1.frag new file mode 100644 index 00000000..a674ccba --- /dev/null +++ b/Test/hlsl.promote.vec1.frag @@ -0,0 +1,16 @@ + +float4 main() : SV_Target +{ + float f1a; + float1 f1b; + + f1a = f1b; // convert float1 to float + f1b = f1a; // convert float to float1 + + float3 f3; + step(0.0, f3); + + sin(f1b); // test 1-vectors in intrinsics + + return float4(0,0,0,0); +} diff --git a/Test/hlsl.rw.atomics.frag b/Test/hlsl.rw.atomics.frag new file mode 100644 index 00000000..930d6501 --- /dev/null +++ b/Test/hlsl.rw.atomics.frag @@ -0,0 +1,244 @@ +SamplerState g_sSamp; + +RWTexture1D <float> g_tTex1df1; +RWTexture1D <int> g_tTex1di1; +RWTexture1D <uint> g_tTex1du1; + +RWTexture2D <float> g_tTex2df1; +RWTexture2D <int> g_tTex2di1; +RWTexture2D <uint> g_tTex2du1; + +RWTexture3D <float> g_tTex3df1; +RWTexture3D <int> g_tTex3di1; +RWTexture3D <uint> g_tTex3du1; + +RWTexture1DArray <float> g_tTex1df1a; +RWTexture1DArray <int> g_tTex1di1a; +RWTexture1DArray <uint> g_tTex1du1a; + +RWTexture2DArray <float> g_tTex2df1a; +RWTexture2DArray <int> g_tTex2di1a; +RWTexture2DArray <uint> g_tTex2du1a; + +RWBuffer <float> g_tBuffF; +RWBuffer <int> g_tBuffI; +RWBuffer <uint> g_tBuffU; + +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +uniform uint u1; +uniform uint2 u2; +uniform uint3 u3; +uniform uint u1b; +uniform uint u1c; + +uniform int i1; +uniform int2 i2; +uniform int3 i3; +uniform int i1b; +uniform int i1c; + +PS_OUTPUT main() +{ + uint out_u1; + int out_i1; + + // 1D int + InterlockedAdd(g_tTex1di1[i1], i1b); + InterlockedAdd(g_tTex1di1[i1], i1, out_i1); + InterlockedAnd(g_tTex1di1[i1], i1b); + InterlockedAnd(g_tTex1di1[i1], i1, out_i1); + InterlockedCompareExchange(g_tTex1di1[i1], i1b, i1c, out_i1); + InterlockedExchange(g_tTex1di1[i1], i1, out_i1); + InterlockedMax(g_tTex1di1[i1], i1b); + InterlockedMax(g_tTex1di1[i1], i1, out_i1); + InterlockedMin(g_tTex1di1[i1], i1b); + InterlockedMin(g_tTex1di1[i1], i1, out_i1); + InterlockedOr(g_tTex1di1[i1], i1b); + InterlockedOr(g_tTex1di1[i1], i1, out_i1); + InterlockedXor(g_tTex1di1[i1], i1b); + InterlockedXor(g_tTex1di1[i1], i1, out_i1); + + // 1D uint + InterlockedAdd(g_tTex1du1[u1], u1); + InterlockedAdd(g_tTex1du1[u1], u1, out_u1); + InterlockedAnd(g_tTex1du1[u1], u1); + InterlockedAnd(g_tTex1du1[u1], u1, out_u1); + InterlockedCompareExchange(g_tTex1du1[u1], u1b, u1c, out_u1); + InterlockedExchange(g_tTex1du1[u1], u1, out_u1); + InterlockedMax(g_tTex1du1[u1], u1); + InterlockedMax(g_tTex1du1[u1], u1, out_u1); + InterlockedMin(g_tTex1du1[u1], u1); + InterlockedMin(g_tTex1du1[u1], u1, out_u1); + InterlockedOr(g_tTex1du1[u1], u1); + InterlockedOr(g_tTex1du1[u1], u1, out_u1); + InterlockedXor(g_tTex1du1[u1], u1); + InterlockedXor(g_tTex1du1[u1], u1, out_u1); + + // 2D int + InterlockedAdd(g_tTex2di1[i2], i1b); + InterlockedAdd(g_tTex2di1[i2], i1, out_i1); + InterlockedAnd(g_tTex2di1[i2], i1b); + InterlockedAnd(g_tTex2di1[i2], i1, out_i1); + InterlockedCompareExchange(g_tTex2di1[i2], i1b, i1c, out_i1); + InterlockedExchange(g_tTex2di1[i2], i1, out_i1); + InterlockedMax(g_tTex2di1[i2], i1b); + InterlockedMax(g_tTex2di1[i2], i1, out_i1); + InterlockedMin(g_tTex2di1[i2], i1b); + InterlockedMin(g_tTex2di1[i2], i1, out_i1); + InterlockedOr(g_tTex2di1[i2], i1b); + InterlockedOr(g_tTex2di1[i2], i1, out_i1); + InterlockedXor(g_tTex2di1[i2], i1b); + InterlockedXor(g_tTex2di1[i2], i1, out_i1); + + // 2D uint + InterlockedAdd(g_tTex2du1[u2], u1); + InterlockedAdd(g_tTex2du1[u2], u1, out_u1); + InterlockedAnd(g_tTex2du1[u2], u1); + InterlockedAnd(g_tTex2du1[u2], u1, out_u1); + InterlockedCompareExchange(g_tTex2du1[u2], u1b, u1c, out_u1); + InterlockedExchange(g_tTex2du1[u2], u1, out_u1); + InterlockedMax(g_tTex2du1[u2], u1); + InterlockedMax(g_tTex2du1[u2], u1, out_u1); + InterlockedMin(g_tTex2du1[u2], u1); + InterlockedMin(g_tTex2du1[u2], u1, out_u1); + InterlockedOr(g_tTex2du1[u2], u1); + InterlockedOr(g_tTex2du1[u2], u1, out_u1); + InterlockedXor(g_tTex2du1[u2], u1); + InterlockedXor(g_tTex2du1[u2], u1, out_u1); + + // 3D int + InterlockedAdd(g_tTex3di1[i3], i1b); + InterlockedAdd(g_tTex3di1[i3], i1, out_i1); + InterlockedAnd(g_tTex3di1[i3], i1b); + InterlockedAnd(g_tTex3di1[i3], i1, out_i1); + InterlockedCompareExchange(g_tTex3di1[i3], i1b, i1c, out_i1); + InterlockedExchange(g_tTex3di1[i3], i1, out_i1); + InterlockedMax(g_tTex3di1[i3], i1b); + InterlockedMax(g_tTex3di1[i3], i1, out_i1); + InterlockedMin(g_tTex3di1[i3], i1b); + InterlockedMin(g_tTex3di1[i3], i1, out_i1); + InterlockedOr(g_tTex3di1[i3], i1b); + InterlockedOr(g_tTex3di1[i3], i1, out_i1); + InterlockedXor(g_tTex3di1[i3], i1b); + InterlockedXor(g_tTex3di1[i3], i1, out_i1); + + // 3D uint + InterlockedAdd(g_tTex3du1[u3], u1); + InterlockedAdd(g_tTex3du1[u3], u1, out_u1); + InterlockedAnd(g_tTex3du1[u3], u1); + InterlockedAnd(g_tTex3du1[u3], u1, out_u1); + InterlockedCompareExchange(g_tTex3du1[u3], u1b, u1c, out_u1); + InterlockedExchange(g_tTex3du1[u3], u1, out_u1); + InterlockedMax(g_tTex3du1[u3], u1); + InterlockedMax(g_tTex3du1[u3], u1, out_u1); + InterlockedMin(g_tTex3du1[u3], u1); + InterlockedMin(g_tTex3du1[u3], u1, out_u1); + InterlockedOr(g_tTex3du1[u3], u1); + InterlockedOr(g_tTex3du1[u3], u1, out_u1); + InterlockedXor(g_tTex3du1[u3], u1); + InterlockedXor(g_tTex3du1[u3], u1, out_u1); + + // 1D array int + InterlockedAdd(g_tTex1di1a[i2], i1b); + InterlockedAdd(g_tTex1di1a[i2], i1, out_i1); + InterlockedAnd(g_tTex1di1a[i2], i1b); + InterlockedAnd(g_tTex1di1a[i2], i1, out_i1); + InterlockedCompareExchange(g_tTex1di1a[i2], i1b, i1c, out_i1); + InterlockedExchange(g_tTex1di1a[i2], i1, out_i1); + InterlockedMax(g_tTex1di1a[i2], i1b); + InterlockedMax(g_tTex1di1a[i2], i1, out_i1); + InterlockedMin(g_tTex1di1a[i2], i1b); + InterlockedMin(g_tTex1di1a[i2], i1, out_i1); + InterlockedOr(g_tTex1di1a[i2], i1b); + InterlockedOr(g_tTex1di1a[i2], i1, out_i1); + InterlockedXor(g_tTex1di1a[i2], i1b); + InterlockedXor(g_tTex1di1a[i2], i1, out_i1); + + // 1D array uint + InterlockedAdd(g_tTex1du1a[u2], u1); + InterlockedAdd(g_tTex1du1a[u2], u1, out_u1); + InterlockedAnd(g_tTex1du1a[u2], u1); + InterlockedAnd(g_tTex1du1a[u2], u1, out_u1); + InterlockedCompareExchange(g_tTex1du1a[u2], u1b, u1c, out_u1); + InterlockedExchange(g_tTex1du1a[u2], u1, out_u1); + InterlockedMax(g_tTex1du1a[u2], u1); + InterlockedMax(g_tTex1du1a[u2], u1, out_u1); + InterlockedMin(g_tTex1du1a[u2], u1); + InterlockedMin(g_tTex1du1a[u2], u1, out_u1); + InterlockedOr(g_tTex1du1a[u2], u1); + InterlockedOr(g_tTex1du1a[u2], u1, out_u1); + InterlockedXor(g_tTex1du1a[u2], u1); + InterlockedXor(g_tTex1du1a[u2], u1, out_u1); + + // 2D array int + InterlockedAdd(g_tTex1di1a[i2], i1b); + InterlockedAdd(g_tTex1di1a[i2], i1, out_i1); + InterlockedAnd(g_tTex1di1a[i2], i1b); + InterlockedAnd(g_tTex1di1a[i2], i1, out_i1); + InterlockedCompareExchange(g_tTex1di1a[i2], i1b, i1c, out_i1); + InterlockedExchange(g_tTex1di1a[i2], i1, out_i1); + InterlockedMax(g_tTex1di1a[i2], i1b); + InterlockedMax(g_tTex1di1a[i2], i1, out_i1); + InterlockedMin(g_tTex1di1a[i2], i1b); + InterlockedMin(g_tTex1di1a[i2], i1, out_i1); + InterlockedOr(g_tTex1di1a[i2], i1b); + InterlockedOr(g_tTex1di1a[i2], i1, out_i1); + InterlockedXor(g_tTex1di1a[i2], i1b); + InterlockedXor(g_tTex1di1a[i2], i1, out_i1); + + // 2D array uint + InterlockedAdd(g_tTex1du1a[u2], u1); + InterlockedAdd(g_tTex1du1a[u2], u1, out_u1); + InterlockedAnd(g_tTex1du1a[u2], u1); + InterlockedAnd(g_tTex1du1a[u2], u1, out_u1); + InterlockedCompareExchange(g_tTex1du1a[u2], u1b, u1c, out_u1); + InterlockedExchange(g_tTex1du1a[u2], u1, out_u1); + InterlockedMax(g_tTex1du1a[u2], u1); + InterlockedMax(g_tTex1du1a[u2], u1, out_u1); + InterlockedMin(g_tTex1du1a[u2], u1); + InterlockedMin(g_tTex1du1a[u2], u1, out_u1); + InterlockedOr(g_tTex1du1a[u2], u1); + InterlockedOr(g_tTex1du1a[u2], u1, out_u1); + InterlockedXor(g_tTex1du1a[u2], u1); + InterlockedXor(g_tTex1du1a[u2], u1, out_u1); + + // buffer int + InterlockedAdd(g_tBuffI[i1], i1b); + InterlockedAdd(g_tBuffI[i1], i1, out_i1); + InterlockedAnd(g_tBuffI[i1], i1b); + InterlockedAnd(g_tBuffI[i1], i1, out_i1); + InterlockedCompareExchange(g_tBuffI[i1], i1b, i1c, out_i1); + InterlockedExchange(g_tBuffI[i1], i1, out_i1); + InterlockedMax(g_tBuffI[i1], i1b); + InterlockedMax(g_tBuffI[i1], i1, out_i1); + InterlockedMin(g_tBuffI[i1], i1b); + InterlockedMin(g_tBuffI[i1], i1, out_i1); + InterlockedOr(g_tBuffI[i1], i1b); + InterlockedOr(g_tBuffI[i1], i1, out_i1); + InterlockedXor(g_tBuffI[i1], i1b); + InterlockedXor(g_tBuffI[i1], i1, out_i1); + + // buffer uint + InterlockedAdd(g_tBuffU[u1], u1); + InterlockedAdd(g_tBuffU[u1], u1, out_u1); + InterlockedAnd(g_tBuffU[u1], u1); + InterlockedAnd(g_tBuffU[u1], u1, out_u1); + InterlockedCompareExchange(g_tBuffU[u1], u1b, u1c, out_u1); + InterlockedExchange(g_tBuffU[u1], u1, out_u1); + InterlockedMax(g_tBuffU[u1], u1); + InterlockedMax(g_tBuffU[u1], u1, out_u1); + InterlockedMin(g_tBuffU[u1], u1); + InterlockedMin(g_tBuffU[u1], u1, out_u1); + InterlockedOr(g_tBuffU[u1], u1); + InterlockedOr(g_tBuffU[u1], u1, out_u1); + InterlockedXor(g_tBuffU[u1], u1); + InterlockedXor(g_tBuffU[u1], u1, out_u1); + + PS_OUTPUT psout; + psout.Color = 1.0; + return psout; +} diff --git a/Test/hlsl.rw.register.frag b/Test/hlsl.rw.register.frag new file mode 100644 index 00000000..e82e419a --- /dev/null +++ b/Test/hlsl.rw.register.frag @@ -0,0 +1,18 @@ + +RWTexture1D <float> g_tTex1df1 : register(u2); +RWBuffer <uint> g_tBuf1du1 : register(U3); + +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +PS_OUTPUT main() +{ + float r00 = g_tTex1df1[0]; + uint r01 = g_tBuf1du1[0]; + + PS_OUTPUT psout; + psout.Color = 1.0; + return psout; +} diff --git a/Test/hlsl.shapeConv.frag b/Test/hlsl.shapeConv.frag index 0485b4a5..adb170ea 100644 --- a/Test/hlsl.shapeConv.frag +++ b/Test/hlsl.shapeConv.frag @@ -18,8 +18,8 @@ float4 PixelShaderFunction(float4 input, float f) : COLOR0 6.0 < foo; 7.0 <= foo; - v.x == v; - f != v; + all(v.x == v); + any(f != v); float1 f1; diff --git a/Test/hlsl.whileLoop.frag b/Test/hlsl.whileLoop.frag index f282375d..e4084ae7 100644 --- a/Test/hlsl.whileLoop.frag +++ b/Test/hlsl.whileLoop.frag @@ -1,6 +1,6 @@ float4 PixelShaderFunction(float4 input) : COLOR0 { - while (input != input) { return input; } + while (any(input != input)) { return input; } while (false) ; [unroll] while (false) { } while ((false)) { } diff --git a/Test/spv.noWorkgroup.comp b/Test/spv.noWorkgroup.comp new file mode 100644 index 00000000..0c77f278 --- /dev/null +++ b/Test/spv.noWorkgroup.comp @@ -0,0 +1,7 @@ +#version 450
+
+layout(local_size_x_id = 18, local_size_y_id=10,local_size_z_id = 19) in;
+
+void main()
+{
+}
diff --git a/Test/spv.rw.autoassign.frag b/Test/spv.rw.autoassign.frag new file mode 100644 index 00000000..5c7d0d3f --- /dev/null +++ b/Test/spv.rw.autoassign.frag @@ -0,0 +1,18 @@ + +RWTexture1D <float> g_tTex1df1; +RWBuffer <uint> g_tBuf1du1; + +struct PS_OUTPUT +{ + float4 Color : SV_Target0; +}; + +PS_OUTPUT main() +{ + float r00 = g_tTex1df1[0]; + uint r01 = g_tBuf1du1[0]; + + PS_OUTPUT psout; + psout.Color = 0; + return psout; +} diff --git a/glslang/Include/ConstantUnion.h b/glslang/Include/ConstantUnion.h index 8ee2c84c..ec6aff11 100644 --- a/glslang/Include/ConstantUnion.h +++ b/glslang/Include/ConstantUnion.h @@ -538,7 +538,7 @@ private: }; // Encapsulate having a pointer to an array of TConstUnion, -// which only needs to be allocated if it's size is going to be +// which only needs to be allocated if its size is going to be // bigger than 0. // // One convenience is being able to use [] to go inside the array, instead diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 6c8cb825..8745c7a9 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -1271,6 +1271,7 @@ public: virtual TArraySizes& getArraySizes() { assert(arraySizes != nullptr); return *arraySizes; } virtual bool isScalar() const { return ! isVector() && ! isMatrix() && ! isStruct() && ! isArray(); } + virtual bool isScalarOrVec1() const { return isScalar() || vector1; } virtual bool isVector() const { return vectorSize > 1 || vector1; } virtual bool isMatrix() const { return matrixCols ? true : false; } virtual bool isArray() const { return arraySizes != nullptr; } diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index 27c798d1..8f7ffcc0 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -46,12 +46,19 @@ #ifndef __INTERMEDIATE_H #define __INTERMEDIATE_H +#if _MSC_VER >= 1900 + #pragma warning(disable : 4464) // relative include path contains '..' + #pragma warning(disable : 5026) // 'glslang::TIntermUnary': move constructor was implicitly defined as deleted +#endif + #include "../Include/Common.h" #include "../Include/Types.h" #include "../Include/ConstantUnion.h" namespace glslang { +class TIntermediate; + // // Operators used by the high-level (parse tree) representation. // @@ -614,6 +621,10 @@ enum TOperator { EOpMethodGatherCmpGreen, // ... EOpMethodGatherCmpBlue, // ... EOpMethodGatherCmpAlpha, // ... + + // geometry methods + EOpMethodAppend, // Geometry shader methods + EOpMethodRestartStrip, // ... }; class TIntermTraverser; @@ -845,7 +856,7 @@ public: virtual TIntermOperator* getAsOperator() { return this; } virtual const TIntermOperator* getAsOperator() const { return this; } TOperator getOp() const { return op; } - virtual bool promote() { return true; } + void setOp(TOperator newOp) { op = newOp; } bool modifiesState() const; bool isConstructor() const; bool isTexture() const { return op > EOpTextureGuardBegin && op < EOpTextureGuardEnd; } @@ -1024,7 +1035,6 @@ public: virtual TIntermTyped* getRight() const { return right; } virtual TIntermBinary* getAsBinaryNode() { return this; } virtual const TIntermBinary* getAsBinaryNode() const { return this; } - virtual bool promote(); virtual void updatePrecision(); protected: TIntermTyped* left; @@ -1044,7 +1054,6 @@ public: virtual const TIntermTyped* getOperand() const { return operand; } virtual TIntermUnary* getAsUnaryNode() { return this; } virtual const TIntermUnary* getAsUnaryNode() const { return this; } - virtual bool promote(); virtual void updatePrecision(); protected: TIntermTyped* operand; diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index c8b1b10a..5445009c 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -2,5 +2,5 @@ // For the version, it uses the latest git tag followed by the number of commits. // For the date, it uses the current date (when then script is run). -#define GLSLANG_REVISION "Overload400-PrecQual.1603" -#define GLSLANG_DATE "16-Oct-2016" +#define GLSLANG_REVISION "Overload400-PrecQual.1667" +#define GLSLANG_DATE "27-Nov-2016" diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp index 8e80bbd2..71b4b71a 100644 --- a/glslang/MachineIndependent/Intermediate.cpp +++ b/glslang/MachineIndependent/Intermediate.cpp @@ -114,7 +114,7 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn { // No operations work on blocks if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock) - return 0; + return nullptr; // Try converting the children's base types to compatible types. TIntermTyped* child = addConversion(op, left->getType(), right); @@ -125,7 +125,7 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn if (child) left = child; else - return 0; + return nullptr; } // Convert the children's type shape to be compatible. @@ -137,8 +137,8 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn // one and promote it to the right type. // TIntermBinary* node = addBinaryNode(op, left, right, loc); - if (! node->promote()) - return 0; + if (! promote(node)) + return nullptr; node->updatePrecision(); @@ -246,7 +246,7 @@ TIntermTyped* TIntermediate::addAssign(TOperator op, TIntermTyped* left, TInterm // build the node TIntermBinary* node = addBinaryNode(op, left, right, loc); - if (! node->promote()) + if (! promote(node)) return nullptr; node->updatePrecision(); @@ -275,15 +275,19 @@ TIntermTyped* TIntermediate::addIndex(TOperator op, TIntermTyped* base, TIntermT TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child, TSourceLoc loc) { if (child == 0) - return 0; + return nullptr; if (child->getType().getBasicType() == EbtBlock) - return 0; + return nullptr; switch (op) { case EOpLogicalNot: + if (source == EShSourceHlsl) { + break; // HLSL can promote logical not + } + if (child->getType().getBasicType() != EbtBool || child->getType().isMatrix() || child->getType().isArray() || child->getType().isVector()) { - return 0; + return nullptr; } break; @@ -293,7 +297,7 @@ TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child, TSo case EOpPreDecrement: case EOpNegative: if (child->getType().getBasicType() == EbtStruct || child->getType().isArray()) - return 0; + return nullptr; default: break; // some compilers want this } @@ -321,8 +325,8 @@ TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child, TSo child->getMatrixRows(), child->isVector()), child); - if (child == 0) - return 0; + if (child == nullptr) + return nullptr; } // @@ -349,8 +353,8 @@ TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child, TSo // TIntermUnary* node = addUnaryNode(op, child, loc); - if (! node->promote()) - return 0; + if (! promote(node)) + return nullptr; node->updatePrecision(); @@ -375,8 +379,8 @@ TIntermTyped* TIntermediate::addBuiltInFunctionCall(const TSourceLoc& loc, TOper // including constness (which would differ from the prototype). // TIntermTyped* child = childNode->getAsTyped(); - if (child == 0) - return 0; + if (child == nullptr) + return nullptr; if (child->getAsConstantUnion()) { TIntermTyped* folded = child->getAsConstantUnion()->fold(op, returnType); @@ -412,7 +416,7 @@ TIntermTyped* TIntermediate::setAggregateOperator(TIntermNode* node, TOperator o // if (node) { aggNode = node->getAsAggregate(); - if (aggNode == 0 || aggNode->getOp() != EOpNull) { + if (aggNode == nullptr || aggNode->getOp() != EOpNull) { // // Make an aggregate containing this node. // @@ -447,7 +451,7 @@ TIntermTyped* TIntermediate::setAggregateOperator(TIntermNode* node, TOperator o // Generally, this is focused on basic type conversion, not shape conversion. // See addShapeConversion(). // -// Return 0 if a conversion can't be done. +// Return nullptr if a conversion can't be done. // TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) const { @@ -456,7 +460,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt // switch (node->getBasicType()) { case EbtVoid: - return 0; + return nullptr; case EbtAtomicUint: case EbtSampler: // opaque types can be passed to functions @@ -474,7 +478,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt break; // otherwise, opaque types can't even be operated on, let alone converted - return 0; + return nullptr; default: break; } @@ -485,11 +489,11 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt // If one's a structure, then no conversions. if (type.isStruct() || node->isStruct()) - return 0; + return nullptr; // If one's an array, then no conversions. if (type.isArray() || node->getType().isArray()) - return 0; + return nullptr; // Note: callers are responsible for other aspects of shape, // like vector and matrix sizes. @@ -555,6 +559,10 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EOpAndAssign: case EOpInclusiveOrAssign: case EOpExclusiveOrAssign: + case EOpLogicalNot: + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: case EOpFunctionCall: case EOpReturn: @@ -576,7 +584,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt if (canImplicitlyPromote(node->getType().getBasicType(), type.getBasicType(), op)) promoteTo = type.getBasicType(); else - return 0; + return nullptr; break; @@ -598,7 +606,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt return node; else - return 0; + return nullptr; default: // default is to require a match; all exceptions should have case statements above @@ -606,7 +614,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt if (type.getBasicType() == node->getType().getBasicType()) return node; else - return 0; + return nullptr; } if (node->getAsConstantUnion()) @@ -615,7 +623,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt // // Add a new newNode for the conversion. // - TIntermUnary* newNode = 0; + TIntermUnary* newNode = nullptr; TOperator newOp = EOpNull; @@ -634,7 +642,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EbtInt64: newOp = EOpConvInt64ToDouble; break; case EbtUint64: newOp = EOpConvUint64ToDouble; break; default: - return 0; + return nullptr; } break; case EbtFloat: @@ -649,7 +657,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EbtInt64: newOp = EOpConvInt64ToFloat; break; case EbtUint64: newOp = EOpConvUint64ToFloat; break; default: - return 0; + return nullptr; } break; #ifdef AMD_EXTENSIONS @@ -663,7 +671,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EbtInt64: newOp = EOpConvInt64ToFloat16; break; case EbtUint64: newOp = EOpConvUint64ToFloat16; break; default: - return 0; + return nullptr; } break; #endif @@ -679,7 +687,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EbtInt64: newOp = EOpConvInt64ToBool; break; case EbtUint64: newOp = EOpConvUint64ToBool; break; default: - return 0; + return nullptr; } break; case EbtInt: @@ -694,7 +702,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EbtInt64: newOp = EOpConvInt64ToInt; break; case EbtUint64: newOp = EOpConvUint64ToInt; break; default: - return 0; + return nullptr; } break; case EbtUint: @@ -709,7 +717,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt case EbtInt64: newOp = EOpConvInt64ToUint; break; case EbtUint64: newOp = EOpConvUint64ToUint; break; default: - return 0; + return nullptr; } break; case EbtInt64: @@ -724,7 +732,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt #endif case EbtUint64: newOp = EOpConvUint64ToInt64; break; default: - return 0; + return nullptr; } break; case EbtUint64: @@ -739,11 +747,11 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt #endif case EbtInt64: newOp = EOpConvInt64ToUint64; break; default: - return 0; + return nullptr; } break; default: - return 0; + return nullptr; } TType newType(promoteTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows()); @@ -789,6 +797,9 @@ TIntermTyped* TIntermediate::addShapeConversion(TOperator op, const TType& type, case EOpNotEqual: case EOpFunctionCall: case EOpReturn: + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: break; default: return node; @@ -803,8 +814,10 @@ TIntermTyped* TIntermediate::addShapeConversion(TOperator op, const TType& type, TOperator constructorOp = mapTypeToConstructorOp(type); // scalar -> smeared -> vector, or + // vec1 -> scalar, or // bigger vector -> smaller vector or scalar if ((type.isVector() && node->getType().isScalar()) || + (node->getType().isVector() && node->getVectorSize() == 1 && type.isScalar()) || (node->getVectorSize() > type.getVectorSize() && type.isVector())) return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc()); @@ -841,6 +854,11 @@ bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperat case EOpModAssign: // ... case EOpReturn: // function returns can also perform arbitrary conversions case EOpFunctionCall: // conversion of a calling parameter + case EOpLogicalNot: + case EOpLogicalAnd: + case EOpLogicalOr: + case EOpLogicalXor: + case EOpConstructStruct: return true; default: break; @@ -873,6 +891,8 @@ bool TIntermediate::canImplicitlyPromote(TBasicType from, TBasicType to, TOperat case EbtFloat16: #endif return true; + case EbtBool: + return (source == EShSourceHlsl); default: return false; } @@ -1104,15 +1124,15 @@ TOperator TIntermediate::mapTypeToConstructorOp(const TType& type) const // Safe way to combine two nodes into an aggregate. Works with null pointers, // a node that's not a aggregate yet, etc. // -// Returns the resulting aggregate, unless 0 was passed in for +// Returns the resulting aggregate, unless nullptr was passed in for // both existing nodes. // TIntermAggregate* TIntermediate::growAggregate(TIntermNode* left, TIntermNode* right) { - if (left == 0 && right == 0) - return 0; + if (left == nullptr && right == nullptr) + return nullptr; - TIntermAggregate* aggNode = 0; + TIntermAggregate* aggNode = nullptr; if (left) aggNode = left->getAsAggregate(); if (! aggNode || aggNode->getOp() != EOpNull) { @@ -1139,12 +1159,12 @@ TIntermAggregate* TIntermediate::growAggregate(TIntermNode* left, TIntermNode* r // // Turn an existing node into an aggregate. // -// Returns an aggregate, unless 0 was passed in for the existing node. +// Returns an aggregate, unless nullptr was passed in for the existing node. // TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node) { - if (node == 0) - return 0; + if (node == nullptr) + return nullptr; TIntermAggregate* aggNode = new TIntermAggregate; aggNode->getSequence().push_back(node); @@ -1155,8 +1175,8 @@ TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node) TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node, const TSourceLoc& loc) { - if (node == 0) - return 0; + if (node == nullptr) + return nullptr; TIntermAggregate* aggNode = new TIntermAggregate; aggNode->getSequence().push_back(node); @@ -1166,6 +1186,17 @@ TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node, const TSourceL } // +// Make an aggregate with an empty sequence. +// +TIntermAggregate* TIntermediate::makeAggregate(const TSourceLoc& loc) +{ + TIntermAggregate* aggNode = new TIntermAggregate; + aggNode->setLoc(loc); + + return aggNode; +} + +// // For "if" test nodes. There are three children; a condition, // a true path, and a false path. The two paths are in the // nodePair. @@ -1218,7 +1249,7 @@ TIntermTyped* TIntermediate::addMethod(TIntermTyped* object, const TType& type, // a true path, and a false path. The two paths are specified // as separate parameters. // -// Returns the selection node created, or 0 if one could not be. +// Returns the selection node created, or nullptr if one could not be. // TIntermTyped* TIntermediate::addSelection(TIntermTyped* cond, TIntermTyped* trueBlock, TIntermTyped* falseBlock, const TSourceLoc& loc) { @@ -1233,12 +1264,12 @@ TIntermTyped* TIntermediate::addSelection(TIntermTyped* cond, TIntermTyped* true if (child) trueBlock = child; else - return 0; + return nullptr; } // After conversion, types have to match. if (falseBlock->getType() != trueBlock->getType()) - return 0; + return nullptr; // // See if all the operands are constant, then fold it otherwise not. @@ -1412,7 +1443,7 @@ TIntermAggregate* TIntermediate::addForLoop(TIntermNode* body, TIntermNode* init // TIntermBranch* TIntermediate::addBranch(TOperator branchOp, const TSourceLoc& loc) { - return addBranch(branchOp, 0, loc); + return addBranch(branchOp, nullptr, loc); } TIntermBranch* TIntermediate::addBranch(TOperator branchOp, TIntermTyped* expression, const TSourceLoc& loc) @@ -1429,7 +1460,7 @@ TIntermBranch* TIntermediate::addBranch(TOperator branchOp, TIntermTyped* expres // bool TIntermediate::postProcess(TIntermNode* root, EShLanguage /*language*/) { - if (root == 0) + if (root == nullptr) return true; // Finish off the top-level sequence @@ -1711,18 +1742,46 @@ bool TIntermOperator::isConstructor() const } // -// Make sure the type of a unary operator is appropriate for its -// combination of operation and operand type. +// Make sure the type of an operator is appropriate for its +// combination of operation and operand type. This will invoke +// promoteUnary, promoteBinary, etc as needed. +// +// Returns false if nothing makes sense. +// +bool TIntermediate::promote(TIntermOperator* node) +{ + if (node == nullptr) + return false; + + if (node->getAsUnaryNode()) + return promoteUnary(*node->getAsUnaryNode()); + + if (node->getAsBinaryNode()) + return promoteBinary(*node->getAsBinaryNode()); + + return false; +} + // -// Returns false in nothing makes sense. +// See TIntermediate::promote // -bool TIntermUnary::promote() +bool TIntermediate::promoteUnary(TIntermUnary& node) { + const TOperator op = node.getOp(); + TIntermTyped* operand = node.getOperand(); + switch (op) { case EOpLogicalNot: - if (operand->getBasicType() != EbtBool) + // Convert operand to a boolean type + if (operand->getBasicType() != EbtBool) { + // Add constructor to boolean type. If that fails, we can't do it, so return false. + TIntermTyped* converted = convertToBasicType(op, EbtBool, operand); + if (converted == nullptr) + return false; - return false; + // Use the result of converting the node to a bool. + node.setOperand(operand = converted); // also updates stack variable + } break; case EOpBitwiseNot: if (operand->getBasicType() != EbtInt && @@ -1756,8 +1815,8 @@ bool TIntermUnary::promote() return false; } - setType(operand->getType()); - getWritableType().getQualifier().makeTemporary(); + node.setType(operand->getType()); + node.getWritableType().getQualifier().makeTemporary(); return true; } @@ -1774,14 +1833,33 @@ void TIntermUnary::updatePrecision() } } +// If it is not already, convert this node to the given basic type. +TIntermTyped* TIntermediate::convertToBasicType(TOperator op, TBasicType basicType, TIntermTyped* node) const +{ + if (node == nullptr) + return nullptr; + + // It's already this basic type: nothing needs to be done, so use the node directly. + if (node->getBasicType() == basicType) + return node; + + const TType& type = node->getType(); + const TType newType(basicType, type.getQualifier().storage, + type.getVectorSize(), type.getMatrixCols(), type.getMatrixRows(), type.isVector()); + + // Add constructor to the right vectorness of the right type. If that fails, we can't do it, so return nullptr. + return addConversion(op, newType, node); +} + // -// Establishes the type of the resultant operation, as well as -// makes the operator the correct one for the operands. -// -// Returns false if operator can't work on operands. +// See TIntermediate::promote // -bool TIntermBinary::promote() +bool TIntermediate::promoteBinary(TIntermBinary& node) { + TOperator op = node.getOp(); + TIntermTyped* left = node.getLeft(); + TIntermTyped* right = node.getRight(); + // Arrays and structures have to be exact matches. if ((left->isArray() || right->isArray() || left->getBasicType() == EbtStruct || right->getBasicType() == EbtStruct) && left->getType() != right->getType()) @@ -1789,8 +1867,8 @@ bool TIntermBinary::promote() // Base assumption: just make the type the same as the left // operand. Only deviations from this will be coded. - setType(left->getType()); - type.getQualifier().clear(); + node.setType(left->getType()); + node.getWritableType().getQualifier().clear(); // Composite and opaque types don't having pending operator changes, e.g., // array, structure, and samplers. Just establish final type and correctness. @@ -1803,7 +1881,7 @@ bool TIntermBinary::promote() return false; } else { // Promote to conditional - setType(TType(EbtBool)); + node.setType(TType(EbtBool)); } return true; @@ -1831,23 +1909,46 @@ bool TIntermBinary::promote() // Relational comparisons need numeric types and will promote to scalar Boolean. if (left->getBasicType() == EbtBool) return false; - setType(TType(EbtBool)); + + node.setType(TType(EbtBool, EvqTemporary, left->getVectorSize())); break; case EOpEqual: case EOpNotEqual: - // All the above comparisons result in a bool (but not the vector compares) - setType(TType(EbtBool)); + if (getSource() == EShSourceHlsl) { + const int resultWidth = std::max(left->getVectorSize(), right->getVectorSize()); + + // In HLSL, == or != on vectors means component-wise comparison. + if (resultWidth > 1) { + op = (op == EOpEqual) ? EOpVectorEqual : EOpVectorNotEqual; + node.setOp(op); + } + + node.setType(TType(EbtBool, EvqTemporary, resultWidth)); + } else { + // All the above comparisons result in a bool (but not the vector compares) + node.setType(TType(EbtBool)); + } break; case EOpLogicalAnd: case EOpLogicalOr: case EOpLogicalXor: - // logical ops operate only on scalar Booleans and will promote to scalar Boolean. - if (left->getBasicType() != EbtBool || left->isVector() || left->isMatrix()) - return false; + if (getSource() == EShSourceHlsl) { + TIntermTyped* convertedL = convertToBasicType(op, EbtBool, left); + TIntermTyped* convertedR = convertToBasicType(op, EbtBool, right); + if (convertedL == nullptr || convertedR == nullptr) + return false; + node.setLeft(left = convertedL); // also updates stack variable + node.setRight(right = convertedR); // also updates stack variable + } else { + // logical ops operate only on scalar Booleans and will promote to scalar Boolean. + if (left->getBasicType() != EbtBool || left->isVector() || left->isMatrix()) + return false; + } + + node.setType(TType(EbtBool, EvqTemporary, left->getVectorSize())); - setType(TType(EbtBool)); break; case EOpRightShift: @@ -1864,6 +1965,9 @@ bool TIntermBinary::promote() case EOpAndAssign: case EOpInclusiveOrAssign: case EOpExclusiveOrAssign: + if (getSource() == EShSourceHlsl) + break; + // Check for integer-only operands. if ((left->getBasicType() != EbtInt && left->getBasicType() != EbtUint && left->getBasicType() != EbtInt64 && left->getBasicType() != EbtUint64) || @@ -1900,6 +2004,8 @@ bool TIntermBinary::promote() case EOpEqual: case EOpNotEqual: + case EOpVectorEqual: + case EOpVectorNotEqual: case EOpLogicalAnd: case EOpLogicalOr: @@ -1960,33 +2066,33 @@ bool TIntermBinary::promote() if (left->isVector()) { if (left->getVectorSize() != right->getMatrixRows()) return false; - op = EOpVectorTimesMatrix; - setType(TType(basicType, EvqTemporary, right->getMatrixCols())); + node.setOp(op = EOpVectorTimesMatrix); + node.setType(TType(basicType, EvqTemporary, right->getMatrixCols())); } else { - op = EOpMatrixTimesScalar; - setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), right->getMatrixRows())); + node.setOp(op = EOpMatrixTimesScalar); + node.setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), right->getMatrixRows())); } } else if (left->isMatrix() && !right->isMatrix()) { if (right->isVector()) { if (left->getMatrixCols() != right->getVectorSize()) return false; - op = EOpMatrixTimesVector; - setType(TType(basicType, EvqTemporary, left->getMatrixRows())); + node.setOp(op = EOpMatrixTimesVector); + node.setType(TType(basicType, EvqTemporary, left->getMatrixRows())); } else { - op = EOpMatrixTimesScalar; + node.setOp(op = EOpMatrixTimesScalar); } } else if (left->isMatrix() && right->isMatrix()) { if (left->getMatrixCols() != right->getMatrixRows()) return false; - op = EOpMatrixTimesMatrix; - setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), left->getMatrixRows())); + node.setOp(op = EOpMatrixTimesMatrix); + node.setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), left->getMatrixRows())); } else if (! left->isMatrix() && ! right->isMatrix()) { if (left->isVector() && right->isVector()) { ; // leave as component product } else if (left->isVector() || right->isVector()) { - op = EOpVectorTimesScalar; + node.setOp(op = EOpVectorTimesScalar); if (right->isVector()) - setType(TType(basicType, EvqTemporary, right->getVectorSize())); + node.setType(TType(basicType, EvqTemporary, right->getVectorSize())); } } else { return false; @@ -1997,7 +2103,7 @@ bool TIntermBinary::promote() if (left->isVector()) { if (left->getVectorSize() != right->getMatrixRows() || left->getVectorSize() != right->getMatrixCols()) return false; - op = EOpVectorTimesMatrixAssign; + node.setOp(op = EOpVectorTimesMatrixAssign); } else { return false; } @@ -2005,19 +2111,19 @@ bool TIntermBinary::promote() if (right->isVector()) { return false; } else { - op = EOpMatrixTimesScalarAssign; + node.setOp(op = EOpMatrixTimesScalarAssign); } } else if (left->isMatrix() && right->isMatrix()) { if (left->getMatrixCols() != left->getMatrixRows() || left->getMatrixCols() != right->getMatrixCols() || left->getMatrixCols() != right->getMatrixRows()) return false; - op = EOpMatrixTimesMatrixAssign; + node.setOp(op = EOpMatrixTimesMatrixAssign); } else if (!left->isMatrix() && !right->isMatrix()) { if (left->isVector() && right->isVector()) { // leave as component product } else if (left->isVector() || right->isVector()) { if (! left->isVector()) return false; - op = EOpVectorTimesScalarAssign; + node.setOp(op = EOpVectorTimesScalarAssign); } } else { return false; @@ -2051,6 +2157,7 @@ bool TIntermBinary::promote() case EOpAndAssign: case EOpInclusiveOrAssign: case EOpExclusiveOrAssign: + if ((left->isMatrix() && right->isVector()) || (left->isVector() && right->isMatrix()) || left->getBasicType() != right->getBasicType()) @@ -2060,8 +2167,8 @@ bool TIntermBinary::promote() if (left->isVector() && right->isVector() && left->getVectorSize() != right->getVectorSize()) return false; if (right->isVector() || right->isMatrix()) { - type.shallowCopy(right->getType()); - type.getQualifier().makeTemporary(); + node.getWritableType().shallowCopy(right->getType()); + node.getWritableType().getQualifier().makeTemporary(); } break; @@ -2085,7 +2192,7 @@ bool TIntermBinary::promote() case EOpExclusiveOrAssign: case EOpLeftShiftAssign: case EOpRightShiftAssign: - if (getType() != left->getType()) + if (node.getType() != left->getType()) return false; break; default: diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp index 5949cd8e..dc8c61db 100644 --- a/glslang/MachineIndependent/ParseContextBase.cpp +++ b/glslang/MachineIndependent/ParseContextBase.cpp @@ -221,16 +221,37 @@ void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op, error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str()); } +// Add a linkage symbol node for 'symbol', which +// must have its type fully edited, as this will snapshot the type. +// It is okay if symbol becomes invalid before finish(). +void TParseContextBase::trackLinkage(TSymbol& symbol) +{ + if (!parsingBuiltins) + intermediate.addSymbolLinkageNode(linkage, symbol); +} + +// Add 'symbol' to the list of deferred linkage symbols, which +// are later processed in finish(), at which point the symbol +// must still be valid. +// It is okay if the symbol's type will be subsequently edited. +void TParseContextBase::trackLinkageDeferred(TSymbol& symbol) +{ + if (!parsingBuiltins) + linkageSymbols.push_back(&symbol); +} + // Make a shared symbol have a non-shared version that can be edited by the current // compile, such that editing its type will not change the shared version and will -// effect all nodes sharing it. +// effect all nodes already sharing it (non-shallow type), +// or adopting its full type after being edited (shallow type). void TParseContextBase::makeEditable(TSymbol*& symbol) { // copyUp() does a deep copy of the type. symbol = symbolTable.copyUp(symbol); - // Save it in the AST for linker use. - intermediate.addSymbolLinkageNode(linkage, *symbol); + // Save it (deferred, so it can be edited first) in the AST for linker use. + if (symbol) + trackLinkageDeferred(*symbol); } // Return a writable version of the variable 'name'. @@ -242,7 +263,7 @@ TVariable* TParseContextBase::getEditableVariable(const char* name) { bool builtIn; TSymbol* symbol = symbolTable.find(name, &builtIn); - + assert(symbol != nullptr); if (symbol == nullptr) return nullptr; @@ -434,7 +455,7 @@ bool TParseContextBase::insertGlobalUniformBlock() // This is the first request; we need a normal symbol table insert inserted = symbolTable.insert(*globalUniformBlock); if (inserted) - intermediate.addSymbolLinkageNode(linkage, *globalUniformBlock); + trackLinkageDeferred(*globalUniformBlock); } else if (firstNewMember <= numMembers) { // This is a follow-on request; we need to amend the first insert inserted = symbolTable.amend(*globalUniformBlock, firstNewMember); @@ -448,4 +469,14 @@ bool TParseContextBase::insertGlobalUniformBlock() return inserted; } +void TParseContextBase::finish() +{ + if (!parsingBuiltins) { + // Transfer te linkage symbols to AST nodes + for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i) + intermediate.addSymbolLinkageNode(linkage, **i); + intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable); + } +} + } // end namespace glslang diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 71ee4f38..831e3ac0 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -50,15 +50,12 @@ namespace glslang { TParseContext::TParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink, bool forwardCompatible, EShMessages messages) : - TParseContextBase(symbolTable, interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), + TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), contextPragma(true, false), loopNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), statementNestingLevel(0), inMain(false), postMainReturn(false), currentFunctionType(nullptr), blockName(nullptr), - limits(resources.limits), parsingBuiltins(parsingBuiltins), + limits(resources.limits), atomicUintOffsets(nullptr), anyIndexLimits(false) { - // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms - linkage = new TIntermAggregate; - // decide whether precision qualifiers should be ignored or respected if (profile == EEsProfile || spvVersion.vulkan > 0) { precisionManager.respectPrecisionQualifiers(); @@ -184,8 +181,8 @@ bool TParseContext::parseShaderStrings(TPpContext& ppContext, TInputScanner& inp currentScanner = &input; ppContext.setInput(input, versionWillBeError); yyparse(this); - if (! parsingBuiltins) - finalErrorCheck(); + + finish(); return numErrors == 0; } @@ -1216,7 +1213,7 @@ void TParseContext::computeBuiltinPrecisions(TIntermTyped& node, const TFunction function.getType().getQualifier().precision; } else if (TIntermAggregate* agg = node.getAsAggregate()) { TIntermSequence& sequence = agg->getSequence(); - int numArgs = (int)sequence.size(); + unsigned int numArgs = (unsigned int)sequence.size(); switch (agg->getOp()) { case EOpBitfieldExtract: numArgs = 1; @@ -1233,7 +1230,7 @@ void TParseContext::computeBuiltinPrecisions(TIntermTyped& node, const TFunction break; } // find the maximum precision from the arguments and parameters - for (unsigned int arg = 0; arg < sequence.size(); ++arg) { + for (unsigned int arg = 0; arg < numArgs; ++arg) { operationPrecision = std::max(operationPrecision, sequence[arg]->getAsTyped()->getQualifier().precision); operationPrecision = std::max(operationPrecision, function[arg].type->getQualifier().precision); } @@ -2316,7 +2313,7 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T // At least the dimensionalities have to match. if (! function[0].type->isArray() || arraySizes.getNumDims() != function[0].type->getArraySizes().getNumDims() + 1) { - error(loc, "array constructor argument not correct type to construct array element", "constructior", ""); + error(loc, "array constructor argument not correct type to construct array element", "constructor", ""); return true; } @@ -3093,7 +3090,7 @@ void TParseContext::arrayDimMerge(TType& type, const TArraySizes* sizes) // Do all the semantic checking for declaring or redeclaring an array, with and // without a size, and make the right changes to the symbol table. // -void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool& newDeclaration) +void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol) { if (symbol == nullptr) { bool currentScope; @@ -3111,7 +3108,8 @@ void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, con // symbol = new TVariable(&identifier, type); symbolTable.insert(*symbol); - newDeclaration = true; + if (symbolTable.atGlobalLevel()) + trackLinkageDeferred(*symbol); if (! symbolTable.atBuiltInLevel()) { if (isIoResizeArray(type)) { @@ -3271,7 +3269,8 @@ void TParseContext::nonInitConstCheck(const TSourceLoc& loc, TString& identifier // // Returns a redeclared and type-modified variable if a redeclarated occurred. // -TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier, const TQualifier& qualifier, const TShaderQualifiers& publicType, bool& newDeclaration) +TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier, + const TQualifier& qualifier, const TShaderQualifiers& publicType) { if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel()) return nullptr; @@ -3318,11 +3317,8 @@ TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TS // If it wasn't at a built-in level, then it's already been redeclared; // that is, this is a redeclaration of a redeclaration; reuse that initial // redeclaration. Otherwise, make the new one. - if (builtIn) { - // Copy the symbol up to make a writable version + if (builtIn) makeEditable(symbol); - newDeclaration = true; - } // Now, modify the type of the copy, as per the type of the current redeclaration. @@ -3540,7 +3536,7 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT fixIoArraySize(loc, block->getWritableType()); // Save it in the AST for linker use. - intermediate.addSymbolLinkageNode(linkage, *block); + trackLinkageDeferred(*block); } void TParseContext::paramCheckFix(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type) @@ -3794,8 +3790,13 @@ void TParseContext::limitCheck(const TSourceLoc& loc, int value, const char* lim // // Do any additional error checking, etc., once we know the parsing is done. // -void TParseContext::finalErrorCheck() +void TParseContext::finish() { + TParseContextBase::finish(); + + if (parsingBuiltins) + return; + // Check on array indexes for ES 2.0 (version 100) limitations. for (size_t i = 0; i < needsIndexLimitationChecking.size(); ++i) constantIndexExpressionCheck(needsIndexLimitationChecking[i]); @@ -4971,8 +4972,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden error(loc, "can only apply depth layout to gl_FragDepth", "layout qualifier", ""); // 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 = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers, newDeclaration); + TSymbol* symbol = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers); if (symbol == nullptr) reservedErrorCheck(loc, identifier); @@ -4990,7 +4990,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden arrayUnsizedCheck(loc, type.getQualifier(), &type.getArraySizes(), initializer != nullptr, false); if (! arrayQualifierError(loc, type.getQualifier()) && ! arrayError(loc, type)) - declareArray(loc, identifier, type, symbol, newDeclaration); + declareArray(loc, identifier, type, symbol); if (initializer) { profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, "initializer"); @@ -4999,7 +4999,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden } else { // non-array case if (symbol == nullptr) - symbol = declareNonArray(loc, identifier, type, newDeclaration); + symbol = declareNonArray(loc, identifier, type); else if (type != symbol->getType()) error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str()); } @@ -5022,10 +5022,6 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden layoutObjectCheck(loc, *symbol); fixOffset(loc, *symbol); - // see if it's a linker-level object to track - if (newDeclaration && symbolTable.atGlobalLevel()) - intermediate.addSymbolLinkageNode(linkage, *symbol); - return initNode; } @@ -5061,20 +5057,22 @@ TVariable* TParseContext::makeInternalVariable(const char* name, const TType& ty // // Return the successfully declared variable. // -TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type, bool& newDeclaration) +TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type) { // make a new variable TVariable* variable = new TVariable(&identifier, type); ioArrayCheck(loc, type, identifier); + // add variable to symbol table - if (! symbolTable.insert(*variable)) { - error(loc, "redefinition", variable->getName().c_str(), ""); - return nullptr; - } else { - newDeclaration = true; + if (symbolTable.insert(*variable)) { + if (symbolTable.atGlobalLevel()) + trackLinkageDeferred(*variable); return variable; } + + error(loc, "redefinition", variable->getName().c_str(), ""); + return nullptr; } // @@ -5731,7 +5729,7 @@ void TParseContext::declareBlock(const TSourceLoc& loc, TTypeList& typeList, con fixIoArraySize(loc, variable.getWritableType()); // Save it in the AST for linker use. - intermediate.addSymbolLinkageNode(linkage, variable); + trackLinkageDeferred(variable); } // Do all block-declaration checking regarding the combination of in/out/uniform/buffer diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index 0f60ff7f..165601d2 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -73,13 +73,16 @@ typedef std::set<int> TIdSetType; // class TParseContextBase : public TParseVersions { public: - TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, int version, + TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink, bool forwardCompatible, EShMessages messages) : TParseVersions(interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), symbolTable(symbolTable), - linkage(nullptr), scanContext(nullptr), ppContext(nullptr), - globalUniformBlock(nullptr) { } + parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr), + globalUniformBlock(nullptr) + { + linkage = new TIntermAggregate; + } virtual ~TParseContextBase() { } virtual void C_DECL error(const TSourceLoc&, const char* szReason, const char* szToken, @@ -94,7 +97,6 @@ public: virtual void setLimits(const TBuiltInResource&) = 0; EShLanguage getLanguage() const { return language; } - TIntermAggregate*& getLinkage() { return linkage; } void setScanContext(TScanContext* c) { scanContext = c; } TScanContext* getScanContext() const { return scanContext; } void setPpContext(TPpContext* c) { ppContext = c; } @@ -150,7 +152,8 @@ protected: TParseContextBase(TParseContextBase&); TParseContextBase& operator=(TParseContextBase&); - TIntermAggregate* linkage; // aggregate node of objects the linker may need, if not referenced by the rest of the AST + const bool parsingBuiltins; // true if parsing built-in symbols/functions + TVector<TSymbol*> linkageSymbols; // these need to be transferred to 'linkage', after all editing is done TScanContext* scanContext; TPpContext* ppContext; @@ -177,8 +180,14 @@ protected: virtual void outputMessage(const TSourceLoc&, const char* szReason, const char* szToken, const char* szExtraInfoFormat, TPrefixType prefix, va_list args); + virtual void trackLinkage(TSymbol& symbol); + virtual void trackLinkageDeferred(TSymbol& symbol); virtual void makeEditable(TSymbol*&); virtual TVariable* getEditableVariable(const char* name); + virtual void finish(); + +private: + TIntermAggregate* linkage; }; // @@ -314,7 +323,7 @@ public: void precisionQualifierCheck(const TSourceLoc&, TBasicType, TQualifier&); void parameterTypeCheck(const TSourceLoc&, TStorageQualifier qualifier, const TType& type); bool containsFieldWithBasicType(const TType& type ,TBasicType basicType); - TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration); + TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&); void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes); void paramCheckFix(const TSourceLoc&, const TStorageQualifier&, TType& type); void paramCheckFix(const TSourceLoc&, const TQualifier&, TType& type); @@ -368,11 +377,11 @@ protected: void nonInitConstCheck(const TSourceLoc&, TString& identifier, TType& type); void inheritGlobalDefaults(TQualifier& dst) const; TVariable* makeInternalVariable(const char* name, const TType&) const; - TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&, bool& newDeclaration); - void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration); + TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&); + void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&); TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable); TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer); - void finalErrorCheck(); + void finish() override; public: // @@ -401,7 +410,6 @@ protected: TParseContext(TParseContext&); TParseContext& operator=(TParseContext&); - const bool parsingBuiltins; // true if parsing built-in symbols/functions static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2 * 2 * 2)); // see computeSamplerTypeIndex() TPrecisionQualifier defaultSamplerPrecision[maxSamplerIndex]; TPrecisionManager precisionManager; diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 6d044452..cc21b2ef 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -81,6 +81,28 @@ TBuiltInParseables* CreateBuiltInParseables(TInfoSink& infoSink, EShSource sourc } } +// Create a language specific version of a parse context. +TParseContextBase* CreateParseContext(TSymbolTable& symbolTable, TIntermediate& intermediate, + int version, EProfile profile, EShSource source, + EShLanguage language, TInfoSink& infoSink, + SpvVersion spvVersion, bool forwardCompatible, EShMessages messages, + bool parsingBuiltIns) +{ + switch (source) { + case EShSourceGlsl: + intermediate.setEntryPointName("main"); + return new TParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion, + language, infoSink, forwardCompatible, messages); + + case EShSourceHlsl: + return new HlslParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion, + language, infoSink, forwardCompatible, messages); + default: + infoSink.info.message(EPrefixInternalError, "Unable to determine source language"); + return nullptr; + } +} + // Local mapping functions for making arrays of symbol tables.... const int VersionCount = 15; // index range in MapVersionToIndex @@ -188,17 +210,22 @@ TPoolAllocator* PerProcessGPA = 0; // // Parse and add to the given symbol table the content of the given shader string. // -bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink, - TSymbolTable& symbolTable) +bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, + EShSource source, TInfoSink& infoSink, TSymbolTable& symbolTable) { TIntermediate intermediate(language, version, profile); - TParseContext parseContext(symbolTable, intermediate, true, version, profile, spvVersion, language, infoSink); + intermediate.setSource(source); + + std::unique_ptr<TParseContextBase> parseContext(CreateParseContext(symbolTable, intermediate, version, profile, source, + language, infoSink, spvVersion, true, EShMsgDefault, + true)); + TShader::ForbidInclude includer; - TPpContext ppContext(parseContext, "", includer); - TScanContext scanContext(parseContext); - parseContext.setScanContext(&scanContext); - parseContext.setPpContext(&ppContext); + TPpContext ppContext(*parseContext, "", includer); + TScanContext scanContext(*parseContext); + parseContext->setScanContext(&scanContext); + parseContext->setPpContext(&ppContext); // // Push the symbol table to give it an initial scope. This @@ -217,7 +244,7 @@ bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profil return true; TInputScanner input(1, builtInShaders, builtInLengths); - if (! parseContext.parseShaderStrings(ppContext, input) != 0) { + if (! parseContext->parseShaderStrings(ppContext, input) != 0) { infoSink.info.message(EPrefixInternalError, "Unable to parse built-ins"); printf("Unable to parse built-ins\n%s\n", infoSink.info.c_str()); printf("%s\n", builtInShaders[0]); @@ -237,10 +264,12 @@ int CommonIndex(EProfile profile, EShLanguage language) // To initialize per-stage shared tables, with the common table already complete. // void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion, - EShLanguage language, TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables) + EShLanguage language, EShSource source, TInfoSink& infoSink, TSymbolTable** commonTable, + TSymbolTable** symbolTables) { (*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]); - InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, infoSink, *symbolTables[language]); + InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source, + infoSink, *symbolTables[language]); builtInParseables.identifyBuiltIns(version, profile, spvVersion, language, *symbolTables[language]); if (profile == EEsProfile && version >= 300) (*symbolTables[language]).setNoBuiltInRedeclarations(); @@ -259,32 +288,40 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS builtInParseables->initialize(version, profile, spvVersion); // do the common tables - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, infoSink, *commonTable[EPcGeneral]); + InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source, + infoSink, *commonTable[EPcGeneral]); if (profile == EEsProfile) - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, infoSink, *commonTable[EPcFragment]); + InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source, + infoSink, *commonTable[EPcFragment]); // do the per-stage tables // always have vertex and fragment - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source, + infoSink, commonTable, symbolTables); // check for tessellation if ((profile != EEsProfile && version >= 150) || (profile == EEsProfile && version >= 310)) { - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source, + infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source, + infoSink, commonTable, symbolTables); } // check for geometry if ((profile != EEsProfile && version >= 150) || (profile == EEsProfile && version >= 310)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source, + infoSink, commonTable, symbolTables); // check for compute if ((profile != EEsProfile && version >= 420) || (profile == EEsProfile && version >= 310)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, infoSink, commonTable, symbolTables); + InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source, + infoSink, commonTable, symbolTables); return true; } @@ -295,7 +332,7 @@ bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& inf std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source)); builtInParseables->initialize(*resources, version, profile, spvVersion, language); - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, infoSink, symbolTable); + InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable); builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources); return true; @@ -694,15 +731,10 @@ bool ProcessDeferred( // Now we can process the full shader under proper symbols and rules. // - TParseContextBase* parseContext; - if (source == EShSourceHlsl) { - parseContext = new HlslParseContext(symbolTable, intermediate, false, version, profile, spvVersion, - compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages); - } else { - intermediate.setEntryPointName("main"); - parseContext = new TParseContext(symbolTable, intermediate, false, version, profile, spvVersion, - compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages); - } + TParseContextBase* parseContext = CreateParseContext(symbolTable, intermediate, version, profile, source, + compiler->getLanguage(), compiler->infoSink, + spvVersion, forwardCompatible, messages, false); + TPpContext ppContext(*parseContext, names[numPre]? names[numPre]: "", includer); // only GLSL (bison triggered, really) needs an externally set scan context @@ -940,14 +972,13 @@ struct DoPreprocessing { struct DoFullParse{ bool operator()(TParseContextBase& parseContext, TPpContext& ppContext, TInputScanner& fullInput, bool versionWillBeError, - TSymbolTable& symbolTable, TIntermediate& intermediate, + TSymbolTable&, TIntermediate& intermediate, EShOptimizationLevel optLevel, EShMessages messages) { bool success = true; // Parse the full shader. if (! parseContext.parseShaderStrings(ppContext, fullInput, versionWillBeError)) success = false; - intermediate.addSymbolLinkageNodes(parseContext.getLinkage(), parseContext.getLanguage(), symbolTable); if (success && intermediate.getTreeRoot()) { if (optLevel == EShOptNoGeneration) @@ -1494,6 +1525,7 @@ void TShader::setEntryPoint(const char* entryPoint) void TShader::setShiftSamplerBinding(unsigned int base) { intermediate->setShiftSamplerBinding(base); } void TShader::setShiftTextureBinding(unsigned int base) { intermediate->setShiftTextureBinding(base); } +void TShader::setShiftImageBinding(unsigned int base) { intermediate->setShiftImageBinding(base); } void TShader::setShiftUboBinding(unsigned int base) { intermediate->setShiftUboBinding(base); } void TShader::setAutoMapBindings(bool map) { intermediate->setAutoMapBindings(map); } void TShader::setFlattenUniformArrays(bool flatten) { intermediate->setFlattenUniformArrays(flatten); } @@ -1708,6 +1740,7 @@ int TProgram::getUniformArraySize(int index) const { return reflection int TProgram::getNumLiveAttributes() const { return reflection->getNumAttributes(); } const char* TProgram::getAttributeName(int index) const { return reflection->getAttribute(index).name.c_str(); } int TProgram::getAttributeType(int index) const { return reflection->getAttribute(index).glDefineType; } +const TType* TProgram::getAttributeTType(int index) const { return reflection->getAttribute(index).getType(); } const TType* TProgram::getUniformTType(int index) const { return reflection->getUniform(index).getType(); } const TType* TProgram::getUniformBlockTType(int index) const { return reflection->getUniformBlock(index).getType(); } @@ -1716,7 +1749,7 @@ void TProgram::dumpReflection() { reflection->dump(); } // // I/O mapping implementation. // -bool TProgram::mapIO() +bool TProgram::mapIO(TIoMapResolver* resolver) { if (! linked || ioMapper) return false; @@ -1725,7 +1758,7 @@ bool TProgram::mapIO() for (int s = 0; s < EShLangCount; ++s) { if (intermediate[s]) { - if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink)) + if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink, resolver)) return false; } } diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp index bd64f199..f8c963b7 100644 --- a/glslang/MachineIndependent/intermOut.cpp +++ b/glslang/MachineIndependent/intermOut.cpp @@ -163,6 +163,8 @@ bool TOutputTraverser::visitBinary(TVisit /* visit */, TIntermBinary* node) case EOpGreaterThan: out.debug << "Compare Greater Than"; break; case EOpLessThanEqual: out.debug << "Compare Less Than or Equal"; break; case EOpGreaterThanEqual: out.debug << "Compare Greater Than or Equal"; break; + case EOpVectorEqual: out.debug << "Equal"; break; + case EOpVectorNotEqual: out.debug << "NotEqual"; break; case EOpVectorTimesScalar: out.debug << "vector-scale"; break; case EOpVectorTimesMatrix: out.debug << "vector-times-matrix"; break; diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp index 15847ddb..269d6549 100644 --- a/glslang/MachineIndependent/iomapper.cpp +++ b/glslang/MachineIndependent/iomapper.cpp @@ -61,177 +61,295 @@ // c. implicit dead bindings are left un-bound. // - -namespace glslang { -// Map of IDs to bindings -typedef std::unordered_map<unsigned int, int> TBindingMap; -typedef std::unordered_set<int> TUsedBindings; +namespace glslang { +struct TVarEntryInfo +{ + int id; + TIntermSymbol* symbol; + bool live; + int newBinding; + int newSet; -// This traverses the AST to determine which bindings are used, and which are implicit -// (for subsequent auto-numbering) -class TBindingTraverser : public TLiveTraverser { -public: - TBindingTraverser(const TIntermediate& i, TBindingMap& bindingMap, TUsedBindings& usedBindings, - bool traverseDeadCode = false) : - TLiveTraverser(i, traverseDeadCode, true, true, false), - bindingMap(bindingMap), - usedBindings(usedBindings) - { } - -protected: - virtual void visitSymbol(TIntermSymbol* base) { - if (base->getQualifier().storage == EvqUniform) - addUniform(*base); - } + struct TOrderById + { + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) + { + return l.id < r.id; + } + }; - // Return the right binding base given the variable type. - int getBindingBase(const TType& type) { - if (type.getBasicType() == EbtSampler) { - const TSampler& sampler = type.getSampler(); - if (sampler.isPureSampler()) - return intermediate.getShiftSamplerBinding(); - if (sampler.isTexture()) - return intermediate.getShiftTextureBinding(); + struct TOrderByPriority + { + // ordering: + // 1) has both binding and set + // 2) has binding but no set + // 3) has no binding but set + // 4) has no binding and no set + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) + { + const TQualifier& lq = l.symbol->getQualifier(); + const TQualifier& rq = r.symbol->getQualifier(); + + // simple rules: + // has binding gives 2 points + // has set gives 1 point + // who has the most points is more important. + int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); + int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); + + if (lPoints == rPoints) + return l.id < r.id; + return lPoints > rPoints; } + }; +}; - if (type.getQualifier().isUniformOrBuffer()) - return intermediate.getShiftUboBinding(); - return -1; // not a type with a binding - } - // Mark a given base symbol ID as being bound to 'binding' - void markBinding(const TIntermSymbol& base, int binding) { - bindingMap[base.getId()] = binding; +typedef std::vector<TVarEntryInfo> TVarLiveMap; + +class TVarGatherTraverser : public TLiveTraverser +{ +public: + TVarGatherTraverser(const TIntermediate& i, TVarLiveMap& vars, bool traverseDeadCode) + : TLiveTraverser(i, traverseDeadCode, true, true, false) + , varLiveList(vars) + { + } - if (binding >= 0) { - // const TType& type = base.getType(); - const unsigned int size = 1; // type.isArray() ? type.getCumulativeArraySize() : 1; - for (unsigned int offset=0; offset<size; ++offset) - usedBindings.insert(binding + offset); + virtual void visitSymbol(TIntermSymbol* base) + { + if (base->getQualifier().storage == EvqUniform) { + TVarEntryInfo ent = { base->getId(), base, !traverseAll }; + TVarLiveMap::iterator at = std::lower_bound(varLiveList.begin(), varLiveList.end(), ent, TVarEntryInfo::TOrderById()); + if (at != varLiveList.end() && at->id == ent.id) + at->live = at->live || !traverseAll; // update live state + else + varLiveList.insert(at, ent); } } - // Mark the bindings that are given explicitly, and set ones that need - // implicit bindings to -1 for a subsequent pass. (Can't happen in this - // pass because explicit bindings in dead code reserve the location). - virtual void addUniform(TIntermSymbol& base) +private: + TVarLiveMap& varLiveList; +}; + +class TVarSetTraverser : public TLiveTraverser +{ +public: + TVarSetTraverser(const TIntermediate& i, const TVarLiveMap& vars) + : TLiveTraverser(i, true, true, true, false) + , varLiveList(vars) { - // Skip ones we've already seen. - if (bindingMap.find(base.getId()) != bindingMap.end()) - return; + } - const TType& type = base.getType(); - const int bindingBase = getBindingBase(type); - // Return if it's not a type we bind - if (bindingBase == -1) + virtual void visitSymbol(TIntermSymbol* base) + { + TVarEntryInfo ent = { base->getId() }; + TVarLiveMap::const_iterator at = std::lower_bound(varLiveList.begin(), varLiveList.end(), ent, TVarEntryInfo::TOrderById()); + if (at == varLiveList.end()) + return; + if (!(at->id == ent.id)) return; - if (type.getQualifier().hasBinding()) { - // It has a binding: keep that one. - markBinding(base, type.getQualifier().layoutBinding + bindingBase); - } else if (!traverseAll) { - // Mark it as something we need to dynamically create a binding for, - // only if we're walking just the live code. We don't auto-number - // in dead code. - markBinding(base, -1); - } + if (at->newBinding != -1) + base->getWritableType().getQualifier().layoutBinding = at->newBinding; + if (at->newSet != -1) + base->getWritableType().getQualifier().layoutSet = at->newSet; } - TBindingMap& bindingMap; - TUsedBindings& usedBindings; + private: + const TVarLiveMap& varLiveList; }; +struct TResolverAdaptor +{ + TResolverAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e) + : resolver(r) + , stage(s) + , infoSink(i) + , error(e) + { + } -// This traverses the AST and applies binding maps it's given. -class TIoMappingTraverser : public TBindingTraverser { -public: - TIoMappingTraverser(TIntermediate& i, TBindingMap& bindingMap, TUsedBindings& usedBindings, - TInfoSink& infoSink, bool traverseDeadCode) : - TBindingTraverser(i, bindingMap, usedBindings, traverseDeadCode), - infoSink(infoSink), - assignError(false) - { } + inline void operator()(TVarEntryInfo& ent) + { + const bool isValid = resolver.validateBinding(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live); + if (isValid) { + ent.newBinding = resolver.resolveBinding(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live); + ent.newSet = resolver.resolveSet(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live); + + if (ent.newBinding != -1) { + if (ent.newBinding >= int(TQualifier::layoutBindingEnd)) { + TString err = "mapped binding out of range: " + ent.symbol->getName(); + + infoSink.info.message(EPrefixInternalError, err.c_str()); + error = true; + } + } + if (ent.newSet != -1) { + if (ent.newSet >= int(TQualifier::layoutSetEnd)) { + TString err = "mapped set out of range: " + ent.symbol->getName(); + + infoSink.info.message(EPrefixInternalError, err.c_str()); + error = true; + } + } + } else { + TString errorMsg = "Invalid binding: " + ent.symbol->getName(); + infoSink.info.message(EPrefixInternalError, errorMsg.c_str()); + error = true; + } + } - bool success() const { return !assignError; } + EShLanguage stage; + TIoMapResolver& resolver; + TInfoSink& infoSink; + bool& error; +}; -protected: - unsigned checkBindingRange(const TIntermSymbol& base, unsigned binding) +/* + * Basic implementation of glslang::TIoMapResolver that replaces the + * previous offset behaviour. + * It does the same, uses the offsets for th corresponding uniform + * types. Also respects the EOptionAutoMapBindings flag and binds + * them if needed. + */ +struct TDefaultIoResolver : public glslang::TIoMapResolver +{ + int baseSamplerBinding; + int baseTextureBinding; + int baseImageBinding; + int baseUboBinding; + bool doAutoMapping; + typedef std::vector<int> TSlotSet; + typedef std::unordered_map<int, TSlotSet> TSlotSetMap; + TSlotSetMap slots; + + TSlotSet::iterator findSlot(int set, int slot) { - if (binding >= TQualifier::layoutBindingEnd) { - TString err = "mapped binding out of range: "; - err += base.getName(); - - infoSink.info.message(EPrefixInternalError, err.c_str()); - assignError = true; - - return 0; - } + return std::lower_bound(slots[set].begin(), slots[set].end(), slot); + } - return binding; + bool checkEmpty(int set, int slot) + { + TSlotSet::iterator at = findSlot(set, slot); + return !(at != slots[set].end() && *at == slot); } - void addUniform(TIntermSymbol& base) override + int reserveSlot(int set, int slot) { - // Skip things we don't intend to bind. - if (bindingMap.find(base.getId()) == bindingMap.end()) - return; + TSlotSet::iterator at = findSlot(set, slot); + slots[set].insert(at, slot); + return slot; + } - const int existingBinding = bindingMap[base.getId()]; + int getFreeSlot(int set, int base) + { + TSlotSet::iterator at = findSlot(set, base); + if (at == slots[set].end()) + return reserveSlot(set, base); + + // look in locksteps, if they not match, then there is a free slot + for (; at != slots[set].end(); ++at, ++base) + if (*at != base) + break; + return reserveSlot(set, base); + } - // Apply existing binding, if we were given one or already made one up. - if (existingBinding != -1) { - base.getWritableType().getQualifier().layoutBinding = checkBindingRange(base, existingBinding); - return; + bool validateBinding(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool /*is_live*/) override + { + if (type.getQualifier().hasBinding()) { + int set; + if (type.getQualifier().hasSet()) + set = type.getQualifier().layoutSet; + else + set = 0; + + if (type.getBasicType() == glslang::EbtSampler) { + const glslang::TSampler& sampler = type.getSampler(); + if (sampler.isPureSampler()) + return checkEmpty(set, baseSamplerBinding + type.getQualifier().layoutBinding); + + if (sampler.isTexture()) + return checkEmpty(set, baseTextureBinding + type.getQualifier().layoutBinding); + } + + if (type.getQualifier().isUniformOrBuffer()) + return checkEmpty(set, baseUboBinding + type.getQualifier().layoutBinding); } + return true; + } - if (intermediate.getAutoMapBindings()) { - // Otherwise, find a free spot for it. - const int freeBinding = getFreeBinding(base.getType(), getBindingBase(base.getType())); + int resolveBinding(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool is_live) override + { + int set; + if (type.getQualifier().hasSet()) + set = type.getQualifier().layoutSet; + else + set = 0; - markBinding(base, freeBinding); - base.getWritableType().getQualifier().layoutBinding = checkBindingRange(base, freeBinding); + if (type.getQualifier().hasBinding()) { + if (type.getBasicType() == glslang::EbtSampler) { + const glslang::TSampler& sampler = type.getSampler(); + if (sampler.isImage()) + return reserveSlot(set, baseImageBinding + type.getQualifier().layoutBinding); + + if (sampler.isPureSampler()) + return reserveSlot(set, baseSamplerBinding + type.getQualifier().layoutBinding); + + if (sampler.isTexture()) + return reserveSlot(set, baseTextureBinding + type.getQualifier().layoutBinding); + } + + if (type.getQualifier().isUniformOrBuffer()) + return reserveSlot(set, baseUboBinding + type.getQualifier().layoutBinding); + } else if (is_live && doAutoMapping) { + // find free slot, the caller did make sure it passes all vars with binding + // first and now all are passed that do not have a binding and needs one + if (type.getBasicType() == glslang::EbtSampler) { + const glslang::TSampler& sampler = type.getSampler(); + if (sampler.isImage()) + return getFreeSlot(set, baseImageBinding); + + if (sampler.isPureSampler()) + return getFreeSlot(set, baseSamplerBinding); + + if (sampler.isTexture()) + return getFreeSlot(set, baseTextureBinding); + } + + if (type.getQualifier().isUniformOrBuffer()) + return getFreeSlot(set, baseUboBinding); } - } - // Search for N free consecutive binding slots in [base, base+required). - // E.g, if we want to reserve consecutive bindings for flattened arrays. - bool hasNFreeSlots(int base, int required) { - for (int binding = base; binding < (base + required); ++binding) - if (usedBindings.find(binding) != usedBindings.end()) - return false; - - return true; + return -1; } - // Find a free binding spot - int getFreeBinding(const TType&, int nextBinding) { - while (!hasNFreeSlots(nextBinding, 1)) - ++nextBinding; - - return nextBinding; + int resolveSet(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool /*is_live*/) override + { + if (type.getQualifier().hasSet()) + return type.getQualifier().layoutSet; + return 0; } - -private: - bool assignError; // true if there was an error assigning the bindings - TInfoSink& infoSink; }; // Map I/O variables to provided offsets, and make bindings for // unbound but live variables. // // Returns false if the input is too malformed to do this. -bool TIoMapper::addStage(EShLanguage, TIntermediate& intermediate, TInfoSink& infoSink) +bool TIoMapper::addStage(EShLanguage stage, TIntermediate &intermediate, TInfoSink &infoSink, TIoMapResolver *resolver) { // Trivial return if there is nothing to do. if (intermediate.getShiftSamplerBinding() == 0 && intermediate.getShiftTextureBinding() == 0 && + intermediate.getShiftImageBinding() == 0 && intermediate.getShiftUboBinding() == 0 && - intermediate.getAutoMapBindings() == false) + intermediate.getAutoMapBindings() == false && + resolver == nullptr) return true; if (intermediate.getNumEntryPoints() != 1 || intermediate.isRecursive()) @@ -241,30 +359,46 @@ bool TIoMapper::addStage(EShLanguage, TIntermediate& intermediate, TInfoSink& in if (root == nullptr) return false; - // The lifetime of this data spans several passes. - TBindingMap bindingMap; - TUsedBindings usedBindings; + // if no resolver is provided, use the default resolver with the given shifts and auto map settings + TDefaultIoResolver defaultResolver; + if (resolver == nullptr) { + defaultResolver.baseSamplerBinding = intermediate.getShiftSamplerBinding(); + defaultResolver.baseTextureBinding = intermediate.getShiftTextureBinding(); + defaultResolver.baseImageBinding = intermediate.getShiftImageBinding(); + defaultResolver.baseUboBinding = intermediate.getShiftUboBinding(); + defaultResolver.doAutoMapping = intermediate.getAutoMapBindings(); - TBindingTraverser it_binding_all(intermediate, bindingMap, usedBindings, true); - TBindingTraverser it_binding_live(intermediate, bindingMap, usedBindings, false); - TIoMappingTraverser it_iomap(intermediate, bindingMap, usedBindings, infoSink, true); + resolver = &defaultResolver; + } - // Traverse all (live+dead) code to find explicit bindings, so we can avoid those. - root->traverse(&it_binding_all); + TVarLiveMap varMap; + TVarGatherTraverser iter_binding_all(intermediate, varMap, true); + TVarGatherTraverser iter_binding_live(intermediate, varMap, false); - // Traverse just live code to find things that need implicit bindings. - it_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str()); + root->traverse(&iter_binding_all); + iter_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str()); - while (! it_binding_live.functions.empty()) { - TIntermNode* function = it_binding_live.functions.back(); - it_binding_live.functions.pop_back(); - function->traverse(&it_binding_live); + while (!iter_binding_live.functions.empty()) { + TIntermNode* function = iter_binding_live.functions.back(); + iter_binding_live.functions.pop_back(); + function->traverse(&iter_binding_live); } - // Bind everything that needs a binding and doesn't have one. - root->traverse(&it_iomap); + // sort entries by priority. see TVarEntryInfo::TOrderByPriority for info. + std::sort(varMap.begin(), varMap.end(), TVarEntryInfo::TOrderByPriority()); + + bool hadError = false; + TResolverAdaptor doResolve(stage, *resolver, infoSink, hadError); + std::for_each(varMap.begin(), varMap.end(), doResolve); + + if (!hadError) { + // sort by id again, so we can use lower bound to find entries + std::sort(varMap.begin(), varMap.end(), TVarEntryInfo::TOrderById()); + TVarSetTraverser iter_iomap(intermediate, varMap); + root->traverse(&iter_iomap); + } - return it_iomap.success(); + return !hadError; } } // end namespace glslang diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h index 68dec776..ff47543d 100644 --- a/glslang/MachineIndependent/iomapper.h +++ b/glslang/MachineIndependent/iomapper.h @@ -55,7 +55,7 @@ public: virtual ~TIoMapper() {} // grow the reflection stage by stage - bool addStage(EShLanguage, TIntermediate&, TInfoSink&); + bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); }; } // end namespace glslang diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 2e101347..050fdae0 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -60,6 +60,13 @@ void TIntermediate::error(TInfoSink& infoSink, const char* message) ++numErrors; } +// Link-time warning. +void TIntermediate::warn(TInfoSink& infoSink, const char* message) +{ + infoSink.info.prefix(EPrefixWarning); + infoSink.info << "Linking " << StageName(language) << " stage: " << message << "\n"; +} + // TODO: 4.4 offset/align: "Two blocks linked together in the same program with the same block // name must have the exact same set of members qualified with offset and their integral-constant // expression values must be the same, or a link-time error results." @@ -370,8 +377,15 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy // void TIntermediate::finalCheck(TInfoSink& infoSink) { - if (source == EShSourceGlsl && numEntryPoints < 1) - error(infoSink, "Missing entry point: Each stage requires one entry point"); + if (getTreeRoot() == nullptr) + return; + + if (numEntryPoints < 1) { + if (source == EShSourceGlsl) + error(infoSink, "Missing entry point: Each stage requires one entry point"); + else + warn(infoSink, "Entry point not found"); + } if (numPushConstants > 1) error(infoSink, "Only one push_constant block is allowed per stage"); diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index aae22ecc..9ad50c74 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -144,6 +144,7 @@ public: multiStream(false), xfbMode(false), shiftSamplerBinding(0), shiftTextureBinding(0), + shiftImageBinding(0), shiftUboBinding(0), autoMapBindings(false), flattenUniformArrays(false), @@ -174,6 +175,8 @@ public: unsigned int getShiftSamplerBinding() const { return shiftSamplerBinding; } void setShiftTextureBinding(unsigned int shift) { shiftTextureBinding = shift; } unsigned int getShiftTextureBinding() const { return shiftTextureBinding; } + void setShiftImageBinding(unsigned int shift) { shiftImageBinding = shift; } + unsigned int getShiftImageBinding() const { return shiftImageBinding; } void setShiftUboBinding(unsigned int shift) { shiftUboBinding = shift; } unsigned int getShiftUboBinding() const { return shiftUboBinding; } void setAutoMapBindings(bool map) { autoMapBindings = map; } @@ -218,6 +221,7 @@ public: TIntermAggregate* growAggregate(TIntermNode* left, TIntermNode* right, const TSourceLoc&); TIntermAggregate* makeAggregate(TIntermNode* node); TIntermAggregate* makeAggregate(TIntermNode* node, const TSourceLoc&); + TIntermAggregate* makeAggregate(const TSourceLoc&); TIntermTyped* setAggregateOperator(TIntermNode*, TOperator, const TType& type, TSourceLoc); bool areAllChildConst(TIntermAggregate* aggrNode); TIntermNode* addSelection(TIntermTyped* cond, TIntermNodePair code, const TSourceLoc&); @@ -246,6 +250,9 @@ public: TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc) const; TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc, const TType&) const; + // Add conversion from node's type to given basic type. + TIntermTyped* convertToBasicType(TOperator op, TBasicType basicType, TIntermTyped* node) const; + // Constant folding (in Constant.cpp) TIntermTyped* fold(TIntermAggregate* aggrNode); TIntermTyped* foldConstructor(TIntermAggregate* aggrNode); @@ -257,7 +264,6 @@ public: // Linkage related void addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage, TSymbolTable&); - void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&); void addSymbolLinkageNode(TIntermAggregate*& linkage, const TSymbol&); bool setInvocations(int i) @@ -380,6 +386,7 @@ public: protected: TIntermSymbol* addSymbol(int Id, const TString&, const TType&, const TConstUnionArray&, TIntermTyped* subtree, const TSourceLoc&); void error(TInfoSink& infoSink, const char*); + void warn(TInfoSink& infoSink, const char*); void mergeBodies(TInfoSink&, TIntermSequence& globals, const TIntermSequence& unitGlobals); void mergeLinkerObjects(TInfoSink&, TIntermSequence& linkerObjects, const TIntermSequence& unitLinkerObjects); void mergeImplicitArraySizes(TType&, const TType&); @@ -390,13 +397,18 @@ protected: bool userOutputUsed() const; static int getBaseAlignmentScalar(const TType&, int& size); bool isSpecializationOperation(const TIntermOperator&) const; - + bool promote(TIntermOperator*); + bool promoteUnary(TIntermUnary&); + bool promoteBinary(TIntermBinary&); + void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&); + const EShLanguage language; // stage, known at construction time EShSource source; // source language, known a bit later std::string entryPointName; std::string entryPointMangledName; unsigned int shiftSamplerBinding; unsigned int shiftTextureBinding; + unsigned int shiftImageBinding; unsigned int shiftUboBinding; bool autoMapBindings; bool flattenUniformArrays; diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index e5e8b4d7..6793cdd3 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -306,6 +306,7 @@ public: void setEntryPoint(const char* entryPoint); void setShiftSamplerBinding(unsigned int base); void setShiftTextureBinding(unsigned int base); + void setShiftImageBinding(unsigned int base); void setShiftUboBinding(unsigned int base); void setAutoMapBindings(bool map); void setFlattenUniformArrays(bool flatten); @@ -445,7 +446,36 @@ private: class TReflection; class TIoMapper; -// Make one TProgram per set of shaders that will get linked together. Add all +// Allows to customize the binding layout after linking. +// All used uniform variables will invoke at least validateBinding. +// If validateBinding returned true then the other resolveBinding +// and resolveSet are invoked to resolve the binding and descriptor +// set index respectively. +// Invocations happen in a particular order: +// 1) var with binding and set already defined +// 2) var with binding but no set defined +// 3) var with set but no binding defined +// 4) var with no binding and no set defined +// +// NOTE: that still limit checks are applied to bindings and sets +// and may result in an error. +class TIoMapResolver +{ +public: + virtual ~TIoMapResolver() {} + + // Should return true if the resulting/current binding would be ok. + // Basic idea is to do aliasing binding checks with this. + virtual bool validateBinding(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; + // Should return a value >= 0 if the current binding should be overridden. + // Return -1 if the current binding (including no binding) should be kept. + virtual int resolveBinding(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; + // Should return a value >= 0 if the current set should be overriden. + // Return -1 if the current set (including no set) should be kept. + virtual int resolveSet(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0; +}; + +// Make one TProgram per set of shaders that will get linked together. Add all // the shaders that are to be linked together. After calling shader.parse() // for all shaders, call link(). // @@ -481,11 +511,14 @@ public: int getAttributeType(int index) const; // can be used for glGetActiveAttrib() const TType* getUniformTType(int index) const; // returns a TType* const TType* getUniformBlockTType(int index) const; // returns a TType* + const TType* getAttributeTType(int index) const; // returns a TType* void dumpReflection(); // I/O mapping: apply base offsets and map live unbound variables - bool mapIO(); + // If resolver is not provided it uses the previous approach + // and respects auto assignment and offsets. + bool mapIO(TIoMapResolver* resolver = NULL); protected: bool linkStage(EShLanguage, EShMessages); diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index b50816a1..429f445f 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -86,11 +86,14 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.array.multidim.frag", "main"}, {"hlsl.assoc.frag", "PixelShaderFunction"}, {"hlsl.attribute.frag", "PixelShaderFunction"}, + {"hlsl.attribute.expression.comp", "main"}, {"hlsl.basic.comp", "main"}, + {"hlsl.basic.geom", "main"}, {"hlsl.buffer.frag", "PixelShaderFunction"}, {"hlsl.calculatelod.dx10.frag", "main"}, {"hlsl.calculatelodunclamped.dx10.frag", "main"}, {"hlsl.cast.frag", "PixelShaderFunction"}, + {"hlsl.comparison.vec.frag", "main"}, {"hlsl.conditional.frag", "PixelShaderFunction"}, {"hlsl.constructexpr.frag", "main"}, {"hlsl.depthGreater.frag", "PixelShaderFunction"}, @@ -116,6 +119,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.getdimensions.rw.dx10.frag", "main"}, {"hlsl.getdimensions.dx10.vert", "main"}, {"hlsl.getsampleposition.dx10.frag", "main"}, + {"hlsl.identifier.sample.frag", "main"}, {"hlsl.if.frag", "PixelShaderFunction"}, {"hlsl.inoutquals.frag", "main"}, {"hlsl.init.frag", "ShaderFunction"}, @@ -142,15 +146,26 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.load.rwtexture.array.dx10.frag", "main"}, {"hlsl.load.offset.dx10.frag", "main"}, {"hlsl.load.offsetarray.dx10.frag", "main"}, + {"hlsl.logical.unary.frag", "main"}, + {"hlsl.logical.binary.frag", "main"}, + {"hlsl.logical.binary.vec.frag", "main"}, + {"hlsl.matNx1.frag", "main"}, + {"hlsl.mintypes.frag", "main"}, {"hlsl.multiEntry.vert", "RealEntrypoint"}, {"hlsl.multiReturn.frag", "main"}, {"hlsl.matrixindex.frag", "main"}, {"hlsl.numericsuffixes.frag", "main"}, + {"hlsl.numthreads.comp", "main_aux1"}, {"hlsl.overload.frag", "PixelShaderFunction"}, + {"hlsl.partialInit.frag", "PixelShaderFunction"}, {"hlsl.pp.line.frag", "main"}, {"hlsl.precise.frag", "main"}, + {"hlsl.promote.binary.frag", "main"}, + {"hlsl.promote.vec1.frag", "main"}, {"hlsl.promotions.frag", "main"}, + {"hlsl.rw.atomics.frag", "main"}, {"hlsl.rw.bracket.frag", "main"}, + {"hlsl.rw.register.frag", "main"}, {"hlsl.rw.scalar.bracket.frag", "main"}, {"hlsl.rw.vec2.bracket.frag", "main"}, {"hlsl.sample.array.dx10.frag", "main"}, @@ -179,7 +194,7 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.samplelevel.basic.dx10.vert", "main"}, {"hlsl.samplelevel.offset.dx10.frag", "main"}, {"hlsl.samplelevel.offsetarray.dx10.frag", "main"}, - { "hlsl.sample.sub-vec4.dx10.frag", "main"}, + {"hlsl.sample.sub-vec4.dx10.frag", "main"}, {"hlsl.semicolons.frag", "main"}, {"hlsl.shapeConv.frag", "main"}, {"hlsl.shapeConvRet.frag", "main"}, @@ -188,6 +203,8 @@ INSTANTIATE_TEST_CASE_P( {"hlsl.structin.vert", "main"}, {"hlsl.intrinsics.vert", "VertexShaderFunction"}, {"hlsl.matType.frag", "PixelShaderFunction"}, + {"hlsl.matType.bool.frag", "main"}, + {"hlsl.matType.int.frag", "main"}, {"hlsl.max.frag", "PixelShaderFunction"}, {"hlsl.precedence.frag", "PixelShaderFunction"}, {"hlsl.precedence2.frag", "PixelShaderFunction"}, diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index a55af518..414fa7b7 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -46,6 +46,7 @@ struct IoMapData { const char* entryPoint; int baseSamplerBinding; int baseTextureBinding; + int baseImageBinding; int baseUboBinding; bool autoMapBindings; bool flattenUniforms; @@ -123,6 +124,7 @@ TEST_P(HlslIoMap, FromFile) Target::Spv, GetParam().entryPoint, GetParam().baseSamplerBinding, GetParam().baseTextureBinding, + GetParam().baseImageBinding, GetParam().baseUboBinding, GetParam().autoMapBindings, GetParam().flattenUniforms); @@ -136,6 +138,7 @@ TEST_P(GlslIoMap, FromFile) Target::Spv, GetParam().entryPoint, GetParam().baseSamplerBinding, GetParam().baseTextureBinding, + GetParam().baseImageBinding, GetParam().baseUboBinding, GetParam().autoMapBindings, GetParam().flattenUniforms); @@ -233,6 +236,7 @@ INSTANTIATE_TEST_CASE_P( "spv.offsets.frag", "spv.Operations.frag", "spv.intOps.vert", + "spv.noWorkgroup.comp", "spv.precision.frag", "spv.prepost.frag", "spv.qualifiers.vert", @@ -283,10 +287,11 @@ INSTANTIATE_TEST_CASE_P( INSTANTIATE_TEST_CASE_P( Hlsl, HlslIoMap, ::testing::ValuesIn(std::vector<IoMapData>{ - { "spv.register.autoassign.frag", "main_ep", 5, 10, 20, true, false }, - { "spv.register.noautoassign.frag", "main_ep", 5, 10, 15, false, false }, - { "spv.register.autoassign-2.frag", "main", 5, 10, 15, true, true }, - { "spv.buffer.autoassign.frag", "main", 5, 10, 15, true, true }, + { "spv.register.autoassign.frag", "main_ep", 5, 10, 0, 20, true, false }, + { "spv.register.noautoassign.frag", "main_ep", 5, 10, 0, 15, false, false }, + { "spv.register.autoassign-2.frag", "main", 5, 10, 0, 15, true, true }, + { "spv.buffer.autoassign.frag", "main", 5, 10, 0, 15, true, true }, + { "spv.rw.autoassign.frag", "main", 5, 10, 20, 15, true, true }, { "spv.register.autoassign.rangetest.frag", "main", glslang::TQualifier::layoutBindingEnd-2, glslang::TQualifier::layoutBindingEnd+5, @@ -299,8 +304,8 @@ INSTANTIATE_TEST_CASE_P( INSTANTIATE_TEST_CASE_P( Hlsl, GlslIoMap, ::testing::ValuesIn(std::vector<IoMapData>{ - { "spv.glsl.register.autoassign.frag", "main", 5, 10, 20, true, false }, - { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 15, false, false }, + { "spv.glsl.register.autoassign.frag", "main", 5, 10, 0, 20, true, false }, + { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 0, 15, false, false }, }), FileNameAsCustomTestSuffixIoMap ); diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h index c08c6cc5..e795e8dc 100644 --- a/gtests/TestFixture.h +++ b/gtests/TestFixture.h @@ -239,6 +239,7 @@ public: const std::string& entryPointName, EShMessages controls, int baseSamplerBinding, int baseTextureBinding, + int baseImageBinding, int baseUboBinding, bool autoMapBindings, bool flattenUniformArrays) @@ -248,6 +249,7 @@ public: glslang::TShader shader(kind); shader.setShiftSamplerBinding(baseSamplerBinding); shader.setShiftTextureBinding(baseTextureBinding); + shader.setShiftImageBinding(baseImageBinding); shader.setShiftUboBinding(baseUboBinding); shader.setAutoMapBindings(autoMapBindings); shader.setFlattenUniformArrays(flattenUniformArrays); @@ -426,6 +428,7 @@ public: const std::string& entryPointName, int baseSamplerBinding, int baseTextureBinding, + int baseImageBinding, int baseUboBinding, bool autoMapBindings, bool flattenUniformArrays) @@ -440,7 +443,7 @@ public: const EShMessages controls = DeriveOptions(source, semantics, target); GlslangResult result = compileLinkIoMap(testName, input, entryPointName, controls, - baseSamplerBinding, baseTextureBinding, baseUboBinding, + baseSamplerBinding, baseTextureBinding, baseImageBinding, baseUboBinding, autoMapBindings, flattenUniformArrays); diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt index c7537e27..ec5f1a56 100755 --- a/hlsl/CMakeLists.txt +++ b/hlsl/CMakeLists.txt @@ -1,4 +1,5 @@ set(SOURCES + hlslAttributes.cpp hlslParseHelper.cpp hlslScanContext.cpp hlslOpMap.cpp @@ -6,7 +7,8 @@ set(SOURCES hlslGrammar.cpp hlslParseables.cpp) -set(HEADERS + set(HEADERS + hlslAttributes.h hlslParseHelper.h hlslTokens.h hlslScanContext.h diff --git a/hlsl/hlslAttributes.cpp b/hlsl/hlslAttributes.cpp new file mode 100644 index 00000000..966ff352 --- /dev/null +++ b/hlsl/hlslAttributes.cpp @@ -0,0 +1,110 @@ +// +//Copyright (C) 2016 LunarG, Inc. +// +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions +//are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of Google, Inc., nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +//"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +//FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +//COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +//INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +//BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +//CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +//LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +//ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +//POSSIBILITY OF SUCH DAMAGE. +// + +#include "hlslAttributes.h" +#include <cstdlib> +#include <cctype> + +namespace glslang { + // Map the given string to an attribute enum from TAttributeType, + // or EatNone if invalid. + TAttributeType TAttributeMap::attributeFromName(const TString& name) + { + // These are case insensitive. + TString lowername(name); + std::transform(lowername.begin(), lowername.end(), lowername.begin(), ::tolower); + + if (lowername == "allow_uav_condition") + return EatAllow_uav_condition; + else if (lowername == "branch") + return EatBranch; + else if (lowername == "call") + return EatCall; + else if (lowername == "domain") + return EatDomain; + else if (lowername == "earlydepthstencil") + return EatEarlyDepthStencil; + else if (lowername == "fastopt") + return EatFastOpt; + else if (lowername == "flatten") + return EatFlatten; + else if (lowername == "forcecase") + return EatForceCase; + else if (lowername == "instance") + return EatInstance; + else if (lowername == "maxtessfactor") + return EatMaxTessFactor; + else if (lowername == "maxvertexcount") + return EatMaxVertexCount; + else if (lowername == "numthreads") + return EatNumThreads; + else if (lowername == "outputcontrolpoints") + return EatOutputControlPoints; + else if (lowername == "outputtopology") + return EatOutputTopology; + else if (lowername == "partitioning") + return EatPartitioning; + else if (lowername == "patchconstantfunc") + return EatPatchConstantFunc; + else if (lowername == "unroll") + return EatUnroll; + else + return EatNone; + } + + // Look up entry, inserting if it's not there, and if name is a valid attribute name + // as known by attributeFromName. + TAttributeType TAttributeMap::setAttribute(const TString* name, TIntermAggregate* value) + { + if (name == nullptr) + return EatNone; + + const TAttributeType attr = attributeFromName(*name); + + if (attr != EatNone) + attributes[attr] = value; + + return attr; + } + + // Look up entry (const version), and return aggregate node. This cannot change the map. + const TIntermAggregate* TAttributeMap::operator[](TAttributeType attr) const + { + const auto entry = attributes.find(attr); + + return (entry == attributes.end()) ? nullptr : entry->second; + } + +} // end namespace glslang diff --git a/hlsl/hlslAttributes.h b/hlsl/hlslAttributes.h new file mode 100644 index 00000000..312a4564 --- /dev/null +++ b/hlsl/hlslAttributes.h @@ -0,0 +1,97 @@ +// +//Copyright (C) 2016 LunarG, Inc. +// +//All rights reserved. +// +//Redistribution and use in source and binary forms, with or without +//modification, are permitted provided that the following conditions +//are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of Google, Inc., nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +//"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +//FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +//COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +//INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +//BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +//CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +//LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +//ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +//POSSIBILITY OF SUCH DAMAGE. +// + +#ifndef HLSLATTRIBUTES_H_ +#define HLSLATTRIBUTES_H_ + +#include <unordered_map> +#include <functional> +#include "hlslScanContext.h" +#include "../glslang/Include/Common.h" + +namespace glslang { + enum TAttributeType { + EatNone, + EatAllow_uav_condition, + EatBranch, + EatCall, + EatDomain, + EatEarlyDepthStencil, + EatFastOpt, + EatFlatten, + EatForceCase, + EatInstance, + EatMaxTessFactor, + EatNumThreads, + EatMaxVertexCount, + EatOutputControlPoints, + EatOutputTopology, + EatPartitioning, + EatPatchConstantFunc, + EatUnroll, + }; +} + +namespace std { + // Allow use of TAttributeType enum in hash_map without calling code having to cast. + template <> struct hash<glslang::TAttributeType> { + std::size_t operator()(glslang::TAttributeType attr) const { + return std::hash<int>()(int(attr)); + } + }; +} // end namespace std + +namespace glslang { + class TIntermAggregate; + + class TAttributeMap { + public: + // Search for and potentially add the attribute into the map. Return the + // attribute type enum for it, if found, else EatNone. + TAttributeType setAttribute(const TString* name, TIntermAggregate* value); + + // Const lookup: search for (but do not modify) the attribute in the map. + const TIntermAggregate* operator[](TAttributeType) const; + + protected: + // Find an attribute enum given its name. + static TAttributeType attributeFromName(const TString&); + + std::unordered_map<TAttributeType, TIntermAggregate*> attributes; + }; +} // end namespace glslang + + +#endif // HLSLATTRIBUTES_H_ diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp index 7766f857..10dfcc83 100755 --- a/hlsl/hlslGrammar.cpp +++ b/hlsl/hlslGrammar.cpp @@ -53,6 +53,7 @@ #include "hlslTokens.h" #include "hlslGrammar.h" +#include "hlslAttributes.h" namespace glslang { @@ -84,6 +85,19 @@ bool HlslGrammar::acceptIdentifier(HlslToken& idToken) return true; } + // Even though "sample" is a keyword (for interpolation modifiers), it IS still accepted as + // an identifier. This appears to be a solitary exception: other interp modifier keywords such + // as "linear" or "centroid" NOT valid identifiers. This code special cases "sample", + // so e.g, "int sample;" is accepted. + if (peekTokenClass(EHTokSample)) { + idToken.string = NewPoolTString("sample"); + idToken.tokenClass = EHTokIdentifier; + idToken.symbol = nullptr; + idToken.loc = token.loc; + advanceToken(); + return true; + } + return false; } @@ -268,6 +282,10 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& node) node = nullptr; bool list = false; + // attributes + TAttributeMap attributes; + acceptAttributes(attributes); + // typedef bool typedefDecl = acceptTokenClass(EHTokTypedef); @@ -302,7 +320,7 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& node) 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); + return acceptFunctionDefinition(function, node, attributes); } else { if (typedefDecl) parseContext.error(idToken.loc, "function typedefs not implemented", "{", ""); @@ -464,9 +482,14 @@ bool HlslGrammar::acceptFullySpecifiedType(TType& type) // Some qualifiers are set when parsing the type. Merge those with // whatever comes from acceptQualifier. assert(qualifier.layoutFormat == ElfNone); + qualifier.layoutFormat = type.getQualifier().layoutFormat; + qualifier.precision = type.getQualifier().precision; - type.getQualifier() = qualifier; + if (type.getQualifier().storage == EvqVaryingOut) + qualifier.storage = type.getQualifier().storage; + + type.getQualifier() = qualifier; } return true; @@ -539,6 +562,35 @@ bool HlslGrammar::acceptQualifier(TQualifier& qualifier) if (! acceptLayoutQualifierList(qualifier)) return false; continue; + + // GS geometries: these are specified on stage input variables, and are an error (not verified here) + // for output variables. + case EHTokPoint: + qualifier.storage = EvqIn; + if (!parseContext.handleInputGeometry(token.loc, ElgPoints)) + return false; + break; + case EHTokLine: + qualifier.storage = EvqIn; + if (!parseContext.handleInputGeometry(token.loc, ElgLines)) + return false; + break; + case EHTokTriangle: + qualifier.storage = EvqIn; + if (!parseContext.handleInputGeometry(token.loc, ElgTriangles)) + return false; + break; + case EHTokLineAdj: + qualifier.storage = EvqIn; + if (!parseContext.handleInputGeometry(token.loc, ElgLinesAdjacency)) + return false; + break; + case EHTokTriangleAdj: + qualifier.storage = EvqIn; + if (!parseContext.handleInputGeometry(token.loc, ElgTrianglesAdjacency)) + return false; + break; + default: return true; } @@ -603,7 +655,7 @@ bool HlslGrammar::acceptLayoutQualifierList(TQualifier& qualifier) // | UINT // | BOOL // -bool HlslGrammar::acceptTemplateType(TBasicType& basicType) +bool HlslGrammar::acceptTemplateVecMatBasicType(TBasicType& basicType) { switch (peek()) { case EHTokFloat: @@ -647,7 +699,7 @@ bool HlslGrammar::acceptVectorTemplateType(TType& type) } TBasicType basicType; - if (! acceptTemplateType(basicType)) { + if (! acceptTemplateVecMatBasicType(basicType)) { expected("scalar type"); return false; } @@ -699,7 +751,7 @@ bool HlslGrammar::acceptMatrixTemplateType(TType& type) } TBasicType basicType; - if (! acceptTemplateType(basicType)) { + if (! acceptTemplateVecMatBasicType(basicType)) { expected("scalar type"); return false; } @@ -748,6 +800,56 @@ bool HlslGrammar::acceptMatrixTemplateType(TType& type) return true; } +// layout_geometry +// : LINESTREAM +// | POINTSTREAM +// | TRIANGLESTREAM +// +bool HlslGrammar::acceptOutputPrimitiveGeometry(TLayoutGeometry& geometry) +{ + // read geometry type + const EHlslTokenClass geometryType = peek(); + + switch (geometryType) { + case EHTokPointStream: geometry = ElgPoints; break; + case EHTokLineStream: geometry = ElgLineStrip; break; + case EHTokTriangleStream: geometry = ElgTriangleStrip; break; + default: + return false; // not a layout geometry + } + + advanceToken(); // consume the layout keyword + return true; +} + +// stream_out_template_type +// : output_primitive_geometry_type LEFT_ANGLE type RIGHT_ANGLE +// +bool HlslGrammar::acceptStreamOutTemplateType(TType& type, TLayoutGeometry& geometry) +{ + geometry = ElgNone; + + if (! acceptOutputPrimitiveGeometry(geometry)) + return false; + + if (! acceptTokenClass(EHTokLeftAngle)) + return false; + + if (! acceptType(type)) { + expected("stream output type"); + return false; + } + + type.getQualifier().storage = EvqVaryingOut; + + if (! acceptTokenClass(EHTokRightAngle)) { + expected("right angle bracket"); + return false; + } + + return true; +} + // annotations // : LEFT_ANGLE declaration SEMI_COLON ... declaration SEMICOLON RIGHT_ANGLE // @@ -967,6 +1069,14 @@ bool HlslGrammar::acceptTextureType(TType& type) // Otherwise, return false, and don't advance bool HlslGrammar::acceptType(TType& type) { + // Basic types for min* types, broken out here in case of future + // changes, e.g, to use native halfs. + static const TBasicType min16float_bt = EbtFloat; + static const TBasicType min10float_bt = EbtFloat; + static const TBasicType min16int_bt = EbtInt; + static const TBasicType min12int_bt = EbtInt; + static const TBasicType min16uint_bt = EbtUint; + switch (peek()) { case EHTokVector: return acceptVectorTemplateType(type); @@ -976,6 +1086,20 @@ bool HlslGrammar::acceptType(TType& type) return acceptMatrixTemplateType(type); break; + case EHTokPointStream: // fall through + case EHTokLineStream: // ... + case EHTokTriangleStream: // ... + { + TLayoutGeometry geometry; + if (! acceptStreamOutTemplateType(type, geometry)) + return false; + + if (! parseContext.handleOutputGeometry(token.loc, geometry)) + return false; + + return true; + } + case EHTokSampler: // fall through case EHTokSampler1d: // ... case EHTokSampler2d: // ... @@ -1118,6 +1242,91 @@ bool HlslGrammar::acceptType(TType& type) new(&type) TType(EbtBool, EvqTemporary, 4); break; + case EHTokMin16float: + new(&type) TType(min16float_bt, EvqTemporary, EpqMedium); + break; + case EHTokMin16float1: + new(&type) TType(min16float_bt, EvqTemporary, EpqMedium); + type.makeVector(); + break; + case EHTokMin16float2: + new(&type) TType(min16float_bt, EvqTemporary, EpqMedium, 2); + break; + case EHTokMin16float3: + new(&type) TType(min16float_bt, EvqTemporary, EpqMedium, 3); + break; + case EHTokMin16float4: + new(&type) TType(min16float_bt, EvqTemporary, EpqMedium, 4); + break; + + case EHTokMin10float: + new(&type) TType(min10float_bt, EvqTemporary, EpqMedium); + break; + case EHTokMin10float1: + new(&type) TType(min10float_bt, EvqTemporary, EpqMedium); + type.makeVector(); + break; + case EHTokMin10float2: + new(&type) TType(min10float_bt, EvqTemporary, EpqMedium, 2); + break; + case EHTokMin10float3: + new(&type) TType(min10float_bt, EvqTemporary, EpqMedium, 3); + break; + case EHTokMin10float4: + new(&type) TType(min10float_bt, EvqTemporary, EpqMedium, 4); + break; + + case EHTokMin16int: + new(&type) TType(min16int_bt, EvqTemporary, EpqMedium); + break; + case EHTokMin16int1: + new(&type) TType(min16int_bt, EvqTemporary, EpqMedium); + type.makeVector(); + break; + case EHTokMin16int2: + new(&type) TType(min16int_bt, EvqTemporary, EpqMedium, 2); + break; + case EHTokMin16int3: + new(&type) TType(min16int_bt, EvqTemporary, EpqMedium, 3); + break; + case EHTokMin16int4: + new(&type) TType(min16int_bt, EvqTemporary, EpqMedium, 4); + break; + + case EHTokMin12int: + new(&type) TType(min12int_bt, EvqTemporary, EpqMedium); + break; + case EHTokMin12int1: + new(&type) TType(min12int_bt, EvqTemporary, EpqMedium); + type.makeVector(); + break; + case EHTokMin12int2: + new(&type) TType(min12int_bt, EvqTemporary, EpqMedium, 2); + break; + case EHTokMin12int3: + new(&type) TType(min12int_bt, EvqTemporary, EpqMedium, 3); + break; + case EHTokMin12int4: + new(&type) TType(min12int_bt, EvqTemporary, EpqMedium, 4); + break; + + case EHTokMin16uint: + new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium); + break; + case EHTokMin16uint1: + new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium); + type.makeVector(); + break; + case EHTokMin16uint2: + new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium, 2); + break; + case EHTokMin16uint3: + new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium, 3); + break; + case EHTokMin16uint4: + new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium, 4); + break; + case EHTokInt1x1: new(&type) TType(EbtInt, EvqTemporary, 0, 1, 1); break; @@ -1594,13 +1803,13 @@ bool HlslGrammar::acceptParameterDeclaration(TFunction& function) // Do the work to create the function definition in addition to // parsing the body (compound_statement). -bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node) +bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node, const TAttributeMap& attributes) { TFunction& functionDeclarator = parseContext.handleFunctionDeclarator(token.loc, function, false /* not prototype */); TSourceLoc loc = token.loc; // This does a pushScope() - node = parseContext.handleFunctionDefinition(loc, functionDeclarator); + node = parseContext.handleFunctionDefinition(loc, functionDeclarator, attributes); // compound_statement TIntermNode* functionBody = nullptr; @@ -1687,7 +1896,8 @@ bool HlslGrammar::acceptExpression(TIntermTyped*& node) } // initializer -// : LEFT_BRACE initializer_list RIGHT_BRACE +// : LEFT_BRACE RIGHT_BRACE +// | LEFT_BRACE initializer_list RIGHT_BRACE // // initializer_list // : assignment_expression COMMA assignment_expression COMMA ... @@ -1698,8 +1908,15 @@ bool HlslGrammar::acceptInitializer(TIntermTyped*& node) if (! acceptTokenClass(EHTokLeftBrace)) return false; - // initializer_list + // RIGHT_BRACE TSourceLoc loc = token.loc; + if (acceptTokenClass(EHTokRightBrace)) { + // a zero-length initializer list + node = intermediate.makeAggregate(loc); + return true; + } + + // initializer_list node = nullptr; do { // assignment_expression @@ -1935,7 +2152,10 @@ bool HlslGrammar::acceptUnaryExpression(TIntermTyped*& node) return true; node = intermediate.addUnaryMath(unaryOp, node, loc); - node = parseContext.handleLvalue(loc, "unary operator", node); + + // These unary ops require lvalues + if (unaryOp == EOpPreIncrement || unaryOp == EOpPreDecrement) + node = parseContext.handleLvalue(loc, "unary operator", node); return node != nullptr; } @@ -2248,7 +2468,8 @@ bool HlslGrammar::acceptStatement(TIntermNode*& statement) statement = nullptr; // attributes - acceptAttributes(); + TAttributeMap attributes; + acceptAttributes(attributes); // attributed_statement switch (peek()) { @@ -2321,42 +2542,70 @@ bool HlslGrammar::acceptStatement(TIntermNode*& statement) // | FLATTEN // | FORCECASE // | CALL -// -void HlslGrammar::acceptAttributes() +// | DOMAIN +// | EARLYDEPTHSTENCIL +// | INSTANCE +// | MAXTESSFACTOR +// | OUTPUTCONTROLPOINTS +// | OUTPUTTOPOLOGY +// | PARTITIONING +// | PATCHCONSTANTFUNC +// | NUMTHREADS LEFT_PAREN x_size, y_size,z z_size RIGHT_PAREN +// +void HlslGrammar::acceptAttributes(TAttributeMap& attributes) { - // For now, accept the [ XXX(X) ] syntax, but drop. + // For now, accept the [ XXX(X) ] syntax, but drop all but + // numthreads, which is used to set the CS local size. // TODO: subset to correct set? Pass on? do { + HlslToken idToken; + // LEFT_BRACKET? if (! acceptTokenClass(EHTokLeftBracket)) return; // attribute - if (peekTokenClass(EHTokIdentifier)) { - // 'token.string' is the attribute - advanceToken(); + if (acceptIdentifier(idToken)) { + // 'idToken.string' is the attribute } else if (! peekTokenClass(EHTokRightBracket)) { expected("identifier"); advanceToken(); } - // (x) + TIntermAggregate* expressions = nullptr; + + // (x, ...) if (acceptTokenClass(EHTokLeftParen)) { + expressions = new TIntermAggregate; + TIntermTyped* node; - if (! acceptLiteral(node)) - expected("literal"); - // 'node' has the literal in it + bool expectingExpression = false; + + while (acceptAssignmentExpression(node)) { + expectingExpression = false; + expressions->getSequence().push_back(node); + if (acceptTokenClass(EHTokComma)) + expectingExpression = true; + } + + // 'expressions' is an aggregate with the expressions in it if (! acceptTokenClass(EHTokRightParen)) expected(")"); + + // Error for partial or missing expression + if (expectingExpression || expressions->getSequence().empty()) + expected("expression"); } // RIGHT_BRACKET - if (acceptTokenClass(EHTokRightBracket)) - continue; - - expected("]"); - return; + if (!acceptTokenClass(EHTokRightBracket)) { + expected("]"); + return; + } + // Add any values we found into the attribute map. This accepts + // (and ignores) values not mapping to a known TAttributeType; + attributes.setAttribute(idToken.string, expressions); } while (true); } diff --git a/hlsl/hlslGrammar.h b/hlsl/hlslGrammar.h index 992eb5e9..8804b217 100755 --- a/hlsl/hlslGrammar.h +++ b/hlsl/hlslGrammar.h @@ -43,6 +43,8 @@ namespace glslang { + class TAttributeMap; // forward declare + // Should just be the grammar aspect of HLSL. // Described in more detail in hlslGrammar.cpp. @@ -70,9 +72,11 @@ namespace glslang { bool acceptQualifier(TQualifier&); bool acceptLayoutQualifierList(TQualifier&); bool acceptType(TType&); - bool acceptTemplateType(TBasicType&); + bool acceptTemplateVecMatBasicType(TBasicType&); bool acceptVectorTemplateType(TType&); bool acceptMatrixTemplateType(TType&); + bool acceptStreamOutTemplateType(TType&, TLayoutGeometry&); + bool acceptOutputPrimitiveGeometry(TLayoutGeometry&); bool acceptAnnotations(TQualifier&); bool acceptSamplerType(TType&); bool acceptTextureType(TType&); @@ -80,7 +84,7 @@ namespace glslang { bool acceptStructDeclarationList(TTypeList*&); bool acceptFunctionParameters(TFunction&); bool acceptParameterDeclaration(TFunction&); - bool acceptFunctionDefinition(TFunction&, TIntermNode*&); + bool acceptFunctionDefinition(TFunction&, TIntermNode*&, const TAttributeMap&); bool acceptParenExpression(TIntermTyped*&); bool acceptExpression(TIntermTyped*&); bool acceptInitializer(TIntermTyped*&); @@ -98,7 +102,7 @@ namespace glslang { bool acceptScopedStatement(TIntermNode*&); bool acceptScopedCompoundStatement(TIntermNode*&); bool acceptNestedStatement(TIntermNode*&); - void acceptAttributes(); + void acceptAttributes(TAttributeMap&); bool acceptSelectionStatement(TIntermNode*&); bool acceptSwitchStatement(TIntermNode*&); bool acceptIterationStatement(TIntermNode*&); diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index b4c417d9..8685dcd8 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -37,6 +37,7 @@ #include "hlslParseHelper.h" #include "hlslScanContext.h" #include "hlslGrammar.h" +#include "hlslAttributes.h" #include "../glslang/MachineIndependent/Scan.h" #include "../glslang/MachineIndependent/preprocessor/PpContext.h" @@ -44,23 +45,21 @@ #include "../glslang/OSDependent/osinclude.h" #include <algorithm> +#include <cctype> namespace glslang { -HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool /*parsingBuiltins*/, +HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink, bool forwardCompatible, EShMessages messages) : - TParseContextBase(symbolTable, interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), + TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), contextPragma(true, false), loopNestingLevel(0), annotationNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), - postMainReturn(false), + postEntryPointReturn(false), limits(resources.limits), entryPointOutput(nullptr), nextInLocation(0), nextOutLocation(0) { - // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms - linkage = new TIntermAggregate; - globalUniformDefaults.clear(); globalUniformDefaults.layoutMatrix = ElmRowMajor; globalUniformDefaults.layoutPacking = ElpStd140; @@ -127,6 +126,8 @@ bool HlslParseContext::parseShaderStrings(TPpContext& ppContext, TInputScanner& return false; } + finish(); + return numErrors == 0; } @@ -154,7 +155,7 @@ TLayoutFormat HlslParseContext::getLayoutFromTxType(const TSourceLoc& loc, const { const int components = txType.getVectorSize(); - const auto selectFormat = [this,&components](TLayoutFormat v1, TLayoutFormat v2, TLayoutFormat v4) { + const auto selectFormat = [this,&components](TLayoutFormat v1, TLayoutFormat v2, TLayoutFormat v4) -> TLayoutFormat { if (intermediate.getNoStorageFormat()) return ElfNone; @@ -260,7 +261,7 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* }; // Helper to complete sequence by adding trailing variable, so we evaluate to the right value. - const auto finishSequence = [&](TIntermSymbol* rhsTmp, const TType& derefType) { + const auto finishSequence = [&](TIntermSymbol* rhsTmp, const TType& derefType) -> TIntermAggregate* { // Add a trailing use of the temp, so the sequence returns the proper value. sequence = intermediate.growAggregate(sequence, intermediate.addSymbol(*rhsTmp)); sequence->setOperator(EOpSequence); @@ -279,7 +280,7 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* }; // helper to create a temporary variable - const auto addTmpVar = [&](const char* name, const TType& derefType) { + const auto addTmpVar = [&](const char* name, const TType& derefType) -> TIntermSymbol* { TVariable* tmpVar = makeInternalVariable(name, derefType); tmpVar->getWritableType().getQualifier().makeTemporary(); return intermediate.addSymbol(*tmpVar, loc); @@ -757,6 +758,13 @@ TIntermTyped* HlslParseContext::handleDotDereference(const TSourceLoc& loc, TInt return intermediate.addMethod(base, TType(sampler.type, EvqTemporary, vecSize), &field, loc); } } + } else if (field == "Append" || + field == "RestartStrip") { + // These methods only valid on stage in variables + // TODO: ... which are stream out types, if there's any way to test that here. + if (base->getType().getQualifier().storage == EvqVaryingOut) { + return intermediate.addMethod(base, TType(EbtVoid), &field, loc); + } } // It's not .length() if we get to here. @@ -949,9 +957,9 @@ void HlslParseContext::flattenArray(const TSourceLoc& loc, const TVariable& vari ++binding; memberVariables.push_back(memberVariable); - intermediate.addSymbolLinkageNode(linkage, *memberVariable); + trackLinkageDeferred(*memberVariable); } - + flattenMap[variable.getUniqueId()] = memberVariables; } @@ -988,7 +996,7 @@ void HlslParseContext::assignLocations(TVariable& variable) nextOutLocation += intermediate.computeTypeLocationSize(variable.getType()); } } - intermediate.addSymbolLinkageNode(linkage, variable); + trackLinkage(variable); } }; @@ -1045,7 +1053,8 @@ TFunction& HlslParseContext::handleFunctionDeclarator(const TSourceLoc& loc, TFu // Handle seeing the function prototype in front of a function definition in the grammar. // The body is handled after this function returns. // -TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function) +TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function, + const TAttributeMap& attributes) { currentCaller = function.getMangledName(); TSymbol* symbol = symbolTable.find(function.getMangledName()); @@ -1132,7 +1141,23 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l intermediate.setAggregateOperator(paramNodes, EOpParameters, TType(EbtVoid), loc); loopNestingLevel = 0; controlFlowNestingLevel = 0; - postMainReturn = false; + postEntryPointReturn = false; + + // Handle function attributes + if (inEntryPoint) { + const TIntermAggregate* numThreads = attributes[EatNumThreads]; + if (numThreads != nullptr) { + const TIntermSequence& sequence = numThreads->getSequence(); + + for (int lid = 0; lid < int(sequence.size()); ++lid) + intermediate.setLocalSize(lid, sequence[lid]->getAsConstantUnion()->getConstArray()[0].getIConst()); + } + + const TIntermAggregate* maxVertexCount = attributes[EatMaxVertexCount]; + if (maxVertexCount != nullptr) { + intermediate.setVertices(maxVertexCount->getSequence()[0]->getAsConstantUnion()->getConstArray()[0].getIConst()); + } + } return paramNodes; } @@ -1397,13 +1422,13 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op TOperator HlslParseContext::mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage) { switch (op) { - case EOpInterlockedAdd: return isImage ? EOpImageAtomicAdd : EOpAtomicAdd; - case EOpInterlockedAnd: return isImage ? EOpImageAtomicAnd : EOpAtomicAnd; + case EOpInterlockedAdd: return isImage ? EOpImageAtomicAdd : EOpAtomicAdd; + case EOpInterlockedAnd: return isImage ? EOpImageAtomicAnd : EOpAtomicAnd; case EOpInterlockedCompareExchange: return isImage ? EOpImageAtomicCompSwap : EOpAtomicCompSwap; - case EOpInterlockedMax: return isImage ? EOpImageAtomicMax : EOpAtomicMax; - case EOpInterlockedMin: return isImage ? EOpImageAtomicMin : EOpAtomicMin; - case EOpInterlockedOr: return isImage ? EOpImageAtomicOr : EOpAtomicOr; - case EOpInterlockedXor: return isImage ? EOpImageAtomicXor : EOpAtomicXor; + case EOpInterlockedMax: return isImage ? EOpImageAtomicMax : EOpAtomicMax; + case EOpInterlockedMin: return isImage ? EOpImageAtomicMin : EOpAtomicMin; + case EOpInterlockedOr: return isImage ? EOpImageAtomicOr : EOpAtomicOr; + case EOpInterlockedXor: return isImage ? EOpImageAtomicXor : EOpAtomicXor; case EOpInterlockedExchange: return isImage ? EOpImageAtomicExchange : EOpAtomicExchange; case EOpInterlockedCompareStore: // TODO: ... default: @@ -1440,7 +1465,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType if (!node || !node->getAsOperator()) return; - const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) { + const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) -> TIntermTyped* { // Sampler return must always be a vec4, but we can construct a shorter vector result->setType(TType(node->getType().getBasicType(), EvqTemporary, node->getVectorSize())); @@ -1496,6 +1521,10 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType constructCoord->getSequence().push_back(arg1); constructCoord->setLoc(loc); + // The input vector should never be less than 2, since there's always a bias. + // The max is for safety, and should be a no-op. + constructCoord->setType(TType(arg1->getBasicType(), EvqTemporary, std::max(arg1->getVectorSize() - 1, 0))); + TIntermAggregate* tex = new TIntermAggregate(EOpTexture); tex->getSequence().push_back(arg0); // sampler tex->getSequence().push_back(constructCoord); // coordinate @@ -1725,6 +1754,7 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType if (coordDimWithCmpVal != 5) // cube array shadow is special. coordWithCmp->getSequence().push_back(argCmpVal); coordWithCmp->setLoc(loc); + coordWithCmp->setType(TType(argCoord->getBasicType(), EvqTemporary, std::min(coordDimWithCmpVal, 4))); TOperator textureOp = (op == EOpMethodSampleCmpLevelZero ? EOpTextureLod : EOpTexture); if (argOffset != nullptr) @@ -2048,10 +2078,80 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType } // +// Decompose geometry shader methods +// +void HlslParseContext::decomposeGeometryMethods(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 EOpMethodAppend: + if (argAggregate) { + TIntermAggregate* sequence = nullptr; + TIntermAggregate* emit = new TIntermAggregate(EOpEmitVertex); + + emit->setLoc(loc); + emit->setType(TType(EbtVoid)); + + sequence = intermediate.growAggregate(sequence, + intermediate.addAssign(EOpAssign, + argAggregate->getSequence()[0]->getAsTyped(), + argAggregate->getSequence()[1]->getAsTyped(), loc), + loc); + + sequence = intermediate.growAggregate(sequence, emit); + + sequence->setOperator(EOpSequence); + sequence->setLoc(loc); + sequence->setType(TType(EbtVoid)); + node = sequence; + } + break; + + case EOpMethodRestartStrip: + { + TIntermAggregate* cut = new TIntermAggregate(EOpEndPrimitive); + cut->setLoc(loc); + cut->setType(TType(EbtVoid)); + node = cut; + } + break; + + default: + break; // most pass through unchanged + } +} + +// // Optionally decompose intrinsics to AST opcodes. // void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments) { + // Helper to find image data for image atomics: + // OpImageLoad(image[idx]) + // We take the image load apart and add its params to the atomic op aggregate node + const auto imageAtomicParams = [this, &loc, &node](TIntermAggregate* atomic, TIntermTyped* load) { + TIntermAggregate* loadOp = load->getAsAggregate(); + if (loadOp == nullptr) { + error(loc, "unknown image type in atomic operation", "", ""); + node = nullptr; + return; + } + + atomic->getSequence().push_back(loadOp->getSequence()[0]); + atomic->getSequence().push_back(loadOp->getSequence()[1]); + }; + + // Return true if this is an imageLoad, which we will change to an image atomic. + const auto isImageParam = [](TIntermTyped* image) -> bool { + TIntermAggregate* imageAggregate = image->getAsAggregate(); + return imageAggregate != nullptr && imageAggregate->getOp() == EOpImageLoad; + }; + // HLSL intrinsics can be pass through to native AST opcodes, or decomposed here to existing AST // opcodes for compatibility with existing software stacks. static const bool decomposeHlslIntrinsics = true; @@ -2232,27 +2332,43 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& case EOpInterlockedXor: // ... case EOpInterlockedExchange: // always has output arg { - TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped(); - TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped(); - - const bool isImage = arg0->getType().isImage(); - const TOperator atomicOp = mapAtomicOp(loc, op, isImage); + TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped(); // dest + TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped(); // value + TIntermTyped* arg2 = nullptr; - if (argAggregate->getSequence().size() > 2) { - // optional output param is present. return value goes to arg2. - TIntermTyped* arg2 = argAggregate->getSequence()[2]->getAsTyped(); + if (argAggregate->getSequence().size() > 2) + arg2 = argAggregate->getSequence()[2]->getAsTyped(); - TIntermAggregate* atomic = new TIntermAggregate(atomicOp); - atomic->getSequence().push_back(arg0); + const bool isImage = isImageParam(arg0); + const TOperator atomicOp = mapAtomicOp(loc, op, isImage); + TIntermAggregate* atomic = new TIntermAggregate(atomicOp); + atomic->setType(arg0->getType()); + atomic->getWritableType().getQualifier().makeTemporary(); + atomic->setLoc(loc); + + if (isImage) { + // orig_value = imageAtomicOp(image, loc, data) + imageAtomicParams(atomic, arg0); atomic->getSequence().push_back(arg1); - atomic->setLoc(loc); - atomic->setType(arg0->getType()); - atomic->getWritableType().getQualifier().makeTemporary(); - node = intermediate.addAssign(EOpAssign, arg2, atomic, loc); + if (argAggregate->getSequence().size() > 2) { + node = intermediate.addAssign(EOpAssign, arg2, atomic, loc); + } else { + node = atomic; // no assignment needed, as there was no out var. + } } else { - // Set the matching operator. Since output is absent, this is all we need to do. - node->getAsAggregate()->setOperator(atomicOp); + // Normal memory variable: + // arg0 = mem, arg1 = data, arg2(optional,out) = orig_value + if (argAggregate->getSequence().size() > 2) { + // optional output param is present. return value goes to arg2. + atomic->getSequence().push_back(arg0); + atomic->getSequence().push_back(arg1); + + node = intermediate.addAssign(EOpAssign, arg2, atomic, loc); + } else { + // Set the matching operator. Since output is absent, this is all we need to do. + node->getAsAggregate()->setOperator(atomicOp); + } } break; @@ -2265,15 +2381,20 @@ void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& TIntermTyped* arg2 = argAggregate->getSequence()[2]->getAsTyped(); // value TIntermTyped* arg3 = argAggregate->getSequence()[3]->getAsTyped(); // orig - const bool isImage = arg0->getType().isImage(); + const bool isImage = isImageParam(arg0); TIntermAggregate* atomic = new TIntermAggregate(mapAtomicOp(loc, op, isImage)); - atomic->getSequence().push_back(arg0); - atomic->getSequence().push_back(arg1); - atomic->getSequence().push_back(arg2); atomic->setLoc(loc); atomic->setType(arg2->getType()); atomic->getWritableType().getQualifier().makeTemporary(); + if (isImage) { + imageAtomicParams(atomic, arg0); + } else { + atomic->getSequence().push_back(arg0); + } + + atomic->getSequence().push_back(arg1); + atomic->getSequence().push_back(arg2); node = intermediate.addAssign(EOpAssign, arg3, atomic, loc); break; @@ -2488,8 +2609,9 @@ TIntermTyped* HlslParseContext::handleFunctionCall(const TSourceLoc& loc, TFunct result = addOutputArgumentConversions(*fnCandidate, *result->getAsAggregate()); } - decomposeIntrinsic(loc, result, arguments); // HLSL->AST intrinsic decompositions - decomposeSampleMethods(loc, result, arguments); // HLSL->AST sample method decompositions + decomposeIntrinsic(loc, result, arguments); // HLSL->AST intrinsic decompositions + decomposeSampleMethods(loc, result, arguments); // HLSL->AST sample method decompositions + decomposeGeometryMethods(loc, result, arguments); // HLSL->AST geometry method decompositions } } @@ -3027,11 +3149,12 @@ void HlslParseContext::handleRegister(const TSourceLoc& loc, TQualifier& qualifi } // TODO: learn what all these really mean and how they interact with regNumber and subComponent - switch (desc[0]) { + switch (std::tolower(desc[0])) { case 'b': case 't': case 'c': case 's': + case 'u': qualifier.layoutBinding = regNumber + subComponent; break; default: @@ -3162,7 +3285,7 @@ bool HlslParseContext::builtInName(const TString& /*identifier*/) // // Returns true if there was an error in construction. // -bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* /*node*/, TFunction& function, +bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, TFunction& function, TOperator op, TType& type) { type.shallowCopy(function.getType()); @@ -3258,7 +3381,7 @@ bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* /*no // At least the dimensionalities have to match. if (! function[0].type->isArray() || arraySizes.getNumDims() != function[0].type->getArraySizes().getNumDims() + 1) { - error(loc, "array constructor argument not correct type to construct array element", "constructior", ""); + error(loc, "array constructor argument not correct type to construct array element", "constructor", ""); return true; } @@ -3288,6 +3411,9 @@ bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* /*no return true; } + if (op == EOpConstructStruct && ! type.isArray() && isZeroConstructor(node)) + return false; + if (op == EOpConstructStruct && ! type.isArray() && (int)type.getStruct()->size() != function.getParamCount()) { error(loc, "Number of constructor parameters does not match the number of structure fields", "constructor", ""); return true; @@ -3299,11 +3425,15 @@ bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* /*no return true; } - // TIntermTyped* typed = node->getAsTyped(); - return false; } +bool HlslParseContext::isZeroConstructor(const TIntermNode* node) +{ + return node->getAsTyped()->isScalar() && node->getAsConstantUnion() && + node->getAsConstantUnion()->getConstArray()[0].getIConst() == 0; +} + // Verify all the correct semantics for constructing a combined texture/sampler. // Return true if the semantics are incorrect. bool HlslParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const TFunction& function) @@ -3530,7 +3660,7 @@ void HlslParseContext::arrayDimMerge(TType& type, const TArraySizes* sizes) // Do all the semantic checking for declaring or redeclaring an array, with and // without a size, and make the right changes to the symbol table. // -void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool& newDeclaration) +void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool track) { if (! symbol) { bool currentScope; @@ -3547,7 +3677,8 @@ void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, // symbol = new TVariable(&identifier, type); symbolTable.insert(*symbol); - newDeclaration = true; + if (track && symbolTable.atGlobalLevel()) + trackLinkageDeferred(*symbol); return; } @@ -3570,7 +3701,6 @@ void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, // redeclareBuiltinVariable() should have already done the copyUp() TType& existingType = symbol->getWritableType(); - if (existingType.isExplicitlySizedArray()) { // be more lenient for input arrays to geometry shaders and tessellation control outputs, where the redeclaration is the same size return; @@ -3637,7 +3767,7 @@ void HlslParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNod // TSymbol* HlslParseContext::redeclareBuiltinVariable(const TSourceLoc& /*loc*/, const TString& identifier, const TQualifier& /*qualifier*/, - const TShaderQualifiers& /*publicType*/, bool& /*newDeclaration*/) + const TShaderQualifiers& /*publicType*/) { if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel()) return nullptr; @@ -3762,7 +3892,7 @@ void HlslParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& n symbolTable.insert(*block); // Save it in the AST for linker use. - intermediate.addSymbolLinkageNode(linkage, *block); + trackLinkageDeferred(*block); } void HlslParseContext::paramFix(TType& type) @@ -4236,6 +4366,14 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, const TFu TVector<const TFunction*> candidateList; symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn); + // These builtin ops can accept any type, so we bypass the argument selection + if (candidateList.size() == 1 && builtIn && + (candidateList[0]->getBuiltInOp() == EOpMethodAppend || + candidateList[0]->getBuiltInOp() == EOpMethodRestartStrip)) { + + return candidateList[0]; + } + // can 'from' convert to 'to'? const auto convertible = [this](const TType& from, const TType& to) -> bool { if (from == to) @@ -4251,8 +4389,8 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, const TFu return false; // shapes have to be convertible - if ((from.isScalar() && to.isScalar()) || - (from.isScalar() && to.isVector()) || + if ((from.isScalarOrVec1() && to.isScalarOrVec1()) || + (from.isScalarOrVec1() && to.isVector()) || (from.isVector() && to.isVector() && from.getVectorSize() >= to.getVectorSize())) return true; @@ -4355,8 +4493,7 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i return nullptr; // 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(), parseType.shaderQualifiers, newDeclaration); + TSymbol* symbol = nullptr; inheritGlobalDefaults(type.getQualifier()); @@ -4365,14 +4502,14 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i // Declare the variable if (type.isArray()) { // array case - declareArray(loc, identifier, type, symbol, newDeclaration); flattenVar = shouldFlatten(type); + declareArray(loc, identifier, type, symbol, !flattenVar); if (flattenVar) flatten(loc, *symbol->getAsVariable()); } else { // non-array case if (! symbol) - symbol = declareNonArray(loc, identifier, type, newDeclaration); + symbol = declareNonArray(loc, identifier, type); else if (type != symbol->getType()) error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str()); } @@ -4394,13 +4531,6 @@ TIntermNode* HlslParseContext::declareVariable(const TSourceLoc& loc, TString& i initNode = executeInitializer(loc, initializer, variable); } - // see if it's a linker-level object to track. if it's flattened above, - // that process added linkage objects for the flattened symbols, we don't - // add the aggregate here. - if (!flattenVar) - if (newDeclaration && symbolTable.atGlobalLevel()) - intermediate.addSymbolLinkageNode(linkage, *symbol); - return initNode; } @@ -4436,19 +4566,20 @@ TVariable* HlslParseContext::makeInternalVariable(const char* name, const TType& // // Return the successfully declared variable. // -TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type, bool& newDeclaration) +TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type) { // make a new variable TVariable* variable = new TVariable(&identifier, type); // add variable to symbol table - if (! symbolTable.insert(*variable)) { - error(loc, "redefinition", variable->getName().c_str(), ""); - return nullptr; - } else { - newDeclaration = true; + if (symbolTable.insert(*variable)) { + if (symbolTable.atGlobalLevel()) + trackLinkageDeferred(*variable); return variable; } + + error(loc, "redefinition", variable->getName().c_str(), ""); + return nullptr; } // @@ -4470,7 +4601,8 @@ TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TInterm // constructor-style subtree, allowing the rest of the code to operate // identically for both kinds of initializers. // - initializer = convertInitializerList(loc, variable->getType(), initializer); + if (initializer->getAsAggregate() && initializer->getAsAggregate()->getOp() == EOpNull) + initializer = convertInitializerList(loc, variable->getType(), initializer); if (! initializer) { // error recovery; don't leave const without constant values if (qualifier == EvqConst) @@ -4547,6 +4679,11 @@ TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TInterm // creating a constructor-style initializer, ensuring we get the // same form. // +// Returns a node representing an expression for the initializer list expressed +// as the correct type. +// +// Returns nullptr if there is an error. +// TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, const TType& type, TIntermTyped* initializer) { // Will operate recursively. Once a subtree is found that is constructor style, @@ -4555,8 +4692,15 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co // see if we have bottomed out in the tree within the initializer-list part TIntermAggregate* initList = initializer->getAsAggregate(); - if (! initList || initList->getOp() != EOpNull) - return initializer; + if (! initList || initList->getOp() != EOpNull) { + // We don't have a list, but if it's a scalar and the 'type' is a + // composite, we need to lengthen below to make it useful. + // Otherwise, this is an already formed object to initialize with. + if (type.isScalar() || !initializer->getType().isScalar()) + return initializer; + else + initList = intermediate.makeAggregate(initializer); + } // Of the initializer-list set of nodes, need to process bottom up, // so recurse deep, then process on the way up. @@ -4570,7 +4714,8 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co arrayType.newArraySizes(*type.getArraySizes()); // but get a fresh copy of the array information, to edit below // edit array sizes to fill in unsized dimensions - arrayType.changeOuterArraySize((int)initList->getSequence().size()); + if (type.isImplicitlySizedArray()) + arrayType.changeOuterArraySize((int)initList->getSequence().size()); TIntermTyped* firstInit = initList->getSequence()[0]->getAsTyped(); if (arrayType.isArrayOfArrays() && firstInit->getType().isArray() && arrayType.getArraySizes().getNumDims() == firstInit->getType().getArraySizes()->getNumDims() + 1) { @@ -4580,8 +4725,12 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co } } + // lengthen list to be long enough + lengthenList(loc, initList->getSequence(), arrayType.getOuterArraySize()); + + // recursively process each element TType elementType(arrayType, 0); // dereferenced type - for (size_t i = 0; i < initList->getSequence().size(); ++i) { + for (int i = 0; i < arrayType.getOuterArraySize(); ++i) { initList->getSequence()[i] = convertInitializerList(loc, elementType, initList->getSequence()[i]->getAsTyped()); if (initList->getSequence()[i] == nullptr) return nullptr; @@ -4589,6 +4738,9 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co return addConstructor(loc, initList, arrayType); } else if (type.isStruct()) { + // lengthen list to be long enough + lengthenList(loc, initList->getSequence(), type.getStruct()->size()); + if (type.getStruct()->size() != initList->getSequence().size()) { error(loc, "wrong number of structure members", "initializer list", ""); return nullptr; @@ -4604,6 +4756,9 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co // a series of rows and columns. We can just use the list directly as // a constructor; no further processing needed. } else { + // lengthen list to be long enough + lengthenList(loc, initList->getSequence(), type.getMatrixCols()); + if (type.getMatrixCols() != (int)initList->getSequence().size()) { error(loc, "wrong number of matrix columns:", "initializer list", type.getCompleteString().c_str()); return nullptr; @@ -4616,6 +4771,10 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co } } } else if (type.isVector()) { + // lengthen list to be long enough + lengthenList(loc, initList->getSequence(), type.getVectorSize()); + + // error check; we're at bottom, so work is finished below if (type.getVectorSize() != (int)initList->getSequence().size()) { error(loc, "wrong vector size (or rows in a matrix column):", "initializer list", type.getCompleteString().c_str()); return nullptr; @@ -4625,7 +4784,7 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co error(loc, "scalar expected one element:", "initializer list", type.getCompleteString().c_str()); return nullptr; } - } else { + } else { error(loc, "unexpected initializer-list type:", "initializer list", type.getCompleteString().c_str()); return nullptr; } @@ -4637,9 +4796,19 @@ TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, co emulatedConstructorArguments = initList->getSequence()[0]; else emulatedConstructorArguments = initList; + return addConstructor(loc, emulatedConstructorArguments, type); } +// Lengthen list to be long enough to cover any gap from the current list size +// to 'size'. If the list is longer, do nothing. +// The value to lengthen with is the default for short lists. +void HlslParseContext::lengthenList(const TSourceLoc& loc, TIntermSequence& list, int size) +{ + for (int c = (int)list.size(); c < size; ++c) + list.push_back(intermediate.addConstantUnion(0, loc)); +} + // // Test for the correctness of the parameters passed to various constructor functions // and also convert them to the right data type, if allowed and required. @@ -4651,6 +4820,10 @@ TIntermTyped* HlslParseContext::addConstructor(const TSourceLoc& loc, TIntermNod if (node == nullptr || node->getAsTyped() == nullptr) return nullptr; + // Handle the idiom "(struct type)0" + if (type.isStruct() && isZeroConstructor(node)) + return convertInitializerList(loc, type, intermediate.makeAggregate(loc)); + TIntermAggregate* aggrNode = node->getAsAggregate(); TOperator op = intermediate.mapTypeToConstructorOp(type); @@ -4961,7 +5134,7 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS } // Save it in the AST for linker use. - intermediate.addSymbolLinkageNode(linkage, variable); + trackLinkageDeferred(variable); } void HlslParseContext::finalizeGlobalUniformBlockLayout(TVariable& block) @@ -5151,6 +5324,53 @@ void HlslParseContext::addQualifierToExisting(const TSourceLoc& loc, TQualifier } // +// Update the intermediate for the given input geometry +// +bool HlslParseContext::handleInputGeometry(const TSourceLoc& loc, const TLayoutGeometry& geometry) +{ + switch (geometry) { + case ElgPoints: // fall through + case ElgLines: // ... + case ElgTriangles: // ... + case ElgLinesAdjacency: // ... + case ElgTrianglesAdjacency: // ... + if (! intermediate.setInputPrimitive(geometry)) { + error(loc, "input primitive geometry redefinition", TQualifier::getGeometryString(geometry), ""); + return false; + } + break; + + default: + error(loc, "cannot apply to 'in'", TQualifier::getGeometryString(geometry), ""); + return false; + } + + return true; +} + +// +// Update the intermediate for the given output geometry +// +bool HlslParseContext::handleOutputGeometry(const TSourceLoc& loc, const TLayoutGeometry& geometry) +{ + switch (geometry) { + case ElgPoints: + case ElgLineStrip: + case ElgTriangleStrip: + if (! intermediate.setOutputPrimitive(geometry)) { + error(loc, "output primitive geometry redefinition", TQualifier::getGeometryString(geometry), ""); + return false; + } + break; + default: + error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(geometry), ""); + return false; + } + + return true; +} + +// // Updating default qualifier for the case of a declaration with just a qualifier, // no type, block, or identifier. // @@ -5179,16 +5399,7 @@ void HlslParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, error(loc, "cannot apply to input", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); } } else if (publicType.qualifier.storage == EvqVaryingOut) { - switch (publicType.shaderQualifiers.geometry) { - case ElgPoints: - case ElgLineStrip: - case ElgTriangleStrip: - if (! intermediate.setOutputPrimitive(publicType.shaderQualifiers.geometry)) - error(loc, "cannot change previously set output primitive", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); - break; - default: - error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), ""); - } + handleOutputGeometry(loc, publicType.shaderQualifiers.geometry); } else error(loc, "cannot apply to:", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), GetStorageQualifierString(publicType.qualifier.storage)); } diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h index 2eeba5ac..246c7c49 100755 --- a/hlsl/hlslParseHelper.h +++ b/hlsl/hlslParseHelper.h @@ -41,6 +41,8 @@ namespace glslang { +class TAttributeMap; // forward declare + class HlslParseContext : public TParseContextBase { public: HlslParseContext(TSymbolTable&, TIntermediate&, bool parsingBuiltins, @@ -69,7 +71,7 @@ public: TIntermTyped* handleDotDereference(const TSourceLoc&, TIntermTyped* base, const TString& field); void assignLocations(TVariable& variable); TFunction& handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype); - TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&); + TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&); void handleFunctionBody(const TSourceLoc&, TFunction&, TIntermNode* functionBody, TIntermNode*& node); void remapEntryPointIO(TFunction& function); void remapNonEntryPointIO(TFunction& function); @@ -79,6 +81,7 @@ public: TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*); void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); + void decomposeGeometryMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments); TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*); void addInputArgumentConversions(const TFunction&, TIntermNode*&) const; TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&); @@ -112,7 +115,7 @@ public: bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType); void mergeQualifiers(TQualifier& dst, const TQualifier& src); int computeSamplerTypeIndex(TSampler&); - TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration); + TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&); void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes); void paramFix(TType& type); void specializationCheck(const TSourceLoc&, const TType&, const char* op); @@ -125,6 +128,7 @@ public: 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, TType&, TIntermTyped* initializer = 0); + void lengthenList(const TSourceLoc&, TIntermSequence& list, int size); TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&); TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&); TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset); @@ -158,13 +162,17 @@ public: TLayoutFormat getLayoutFromTxType(const TSourceLoc&, const TType&); + bool handleOutputGeometry(const TSourceLoc&, const TLayoutGeometry& geometry); + bool handleInputGeometry(const TSourceLoc&, const TLayoutGeometry& geometry); + protected: void inheritGlobalDefaults(TQualifier& dst) const; TVariable* makeInternalVariable(const char* name, const TType&) const; - TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&, bool& newDeclaration); - void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration); + TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&); + void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool track); TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable); TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer); + bool isZeroConstructor(const TIntermNode*); TOperator mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage); // Return true if this node requires L-value conversion (e.g, to an imageStore). @@ -187,7 +195,7 @@ protected: 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 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 + bool postEntryPointReturn; // 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 bool functionReturnsValue; // true if a non-void function has a return TBuiltInResource resources; diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp index d33cfb89..05dc7cfb 100755 --- a/hlsl/hlslParseables.cpp +++ b/hlsl/hlslParseables.cpp @@ -55,7 +55,7 @@ namespace { // anonymous namespace functions -const bool UseHlslTypes = false; +const bool UseHlslTypes = true; const char* BaseTypeName(const char argOrder, const char* scalarName, const char* vecName, const char* matName) { @@ -245,26 +245,25 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons char order = *argOrder; if (UseHlslTypes) { - // TODO: handle sub-vec4 returns switch (type) { - 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; - case 's': s += "SamplerComparisonState"; break; + 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; + case 's': s += "SamplerComparisonState"; break; case 'T': s += ((isBuffer && isImage) ? "RWBuffer" : isBuffer ? "Buffer" : - isImage ? "RWTexture" : "Texture"); break; - case 'i': s += ((isBuffer && isImage) ? "RWBuffer <int4>" : - isBuffer ? "Buffer <int4>" : - isImage ? "RWTexture <int4>" : "Texture <int4>"); break; - case 'u': s += ((isBuffer && isImage) ? "RWBuffer <uint4>" : - isBuffer ? "Buffer <uint4>" : - isImage ? "RWTexture <uint4>" : "Texture <uint4>");break; - default: s += "UNKNOWN_TYPE"; break; + isImage ? "RWTexture" : "Texture"); break; + case 'i': s += ((isBuffer && isImage) ? "RWBuffer" : + isBuffer ? "Buffer" : + isImage ? "RWTexture" : "Texture"); break; + case 'u': s += ((isBuffer && isImage) ? "RWBuffer" : + isBuffer ? "Buffer" : + isImage ? "RWTexture" : "Texture"); break; + default: s += "UNKNOWN_TYPE"; break; } } else { switch (type) { @@ -337,36 +336,55 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons if (isArrayed) s += "Array"; + // For HLSL, append return type for texture types + if (UseHlslTypes) { + switch (type) { + case 'i': s += "<int4>"; break; + case 'u': s += "<uint4>"; break; + case 'T': s += "<float4>"; break; + default: break; + } + } + return s; } -// TODO: the GLSL parser is currently used to parse HLSL prototypes. However, many valid HLSL prototypes +// The GLSL parser can be used to parse a subset of 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, - int dim0, int dim1, int dim0Max, int dim1Max) +inline bool IsValid(const char* cname, char retOrder, char retType, char argOrder, char argType, int dim0, int dim1) { - const bool isVec = dim0Max > 1 || argType == 'V'; - const bool isMat = dim1Max > 1 || argType == 'M'; - - if (!IsTextureType(argOrder) && - ((isVec && dim0 == 1) || // avoid vec1 - (isMat && dim0 == 1 && dim1 == 1))) // avoid mat1x1 - return false; + const bool isVec = (argOrder == 'V'); + const bool isMat = (argOrder == 'M'); - const std::string name(cname); // for ease of comparison. slow, but temporary, until HLSL parser is online. + const std::string name(cname); - if (isMat && dim1 == 1) // TODO: avoid mat Nx1 until we find the right GLSL profile + // these do not have vec1 versions + if (dim0 == 1 && (name == "length" || name == "normalize" || name == "reflect" || name == "refract")) return false; - if ((isMat && (argType == 'I' || argType == 'U' || argType == 'B')) || - (retOrder == 'M' && (retType == 'I' || retType == 'U' || retType == 'B'))) + if (!IsTextureType(argOrder) && (isVec && dim0 == 1)) // avoid vec1 return false; - if (name == "GetRenderTargetSamplePosition" || - name == "tex1D" || - name == "tex1Dgrad") - return false; + if (UseHlslTypes) { + // NO further restrictions for HLSL + } else { + // GLSL parser restrictions + if ((isMat && (argType == 'I' || argType == 'U' || argType == 'B')) || + (retOrder == 'M' && (retType == 'I' || retType == 'U' || retType == 'B'))) + return false; + + if (isMat && dim0 == 1 && dim1 == 1) // avoid mat1x1 + return false; + + if (isMat && dim1 == 1) // TODO: avoid mat Nx1 until we find the right GLSL profile + return false; + + if (name == "GetRenderTargetSamplePosition" || + name == "tex1D" || + name == "tex1Dgrad") + return false; + } return true; } @@ -503,6 +521,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c static const EShLanguageMask EShLangCS = EShLangAll; static const EShLanguageMask EShLangPS = EShLangAll; static const EShLanguageMask EShLangHS = EShLangAll; + static const EShLanguageMask EShLangGS = EShLangAll; // This structure encodes the prototype information for each HLSL intrinsic. // Because explicit enumeration would be cumbersome, it's procedurally generated. @@ -535,10 +554,10 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "abort", nullptr, nullptr, "-", "-", EShLangAll }, { "abs", nullptr, nullptr, "SVM", "DFUI", EShLangAll }, { "acos", nullptr, nullptr, "SVM", "F", EShLangAll }, - { "all", "S", "B", "SVM", "BFI", EShLangAll }, + { "all", "S", "B", "SVM", "BFIU", EShLangAll }, { "AllMemoryBarrier", nullptr, nullptr, "-", "-", EShLangCS }, { "AllMemoryBarrierWithGroupSync", nullptr, nullptr, "-", "-", EShLangCS }, - { "any", "S", "B", "SVM", "BFI", EShLangAll }, + { "any", "S", "B", "SVM", "BFIU", EShLangAll }, { "asdouble", "S", "D", "S,", "U,", EShLangAll }, { "asdouble", "V2", "D", "V2,", "U,", EShLangAll }, { "asfloat", nullptr, "F", "SVM", "BFIU", EShLangAll }, @@ -683,7 +702,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "texCUBEgrad", "V4", "F", "V4,V3,,", "S,F,,", EShLangPS }, { "texCUBElod", "V4", "F", "V4,", "S,F", EShLangPS }, { "texCUBEproj", "V4", "F", "V4,", "S,F", EShLangPS }, - { "transpose", "^M", nullptr, "M", "F", EShLangAll }, + { "transpose", "^M", nullptr, "M", "FUIB", EShLangAll }, { "trunc", nullptr, nullptr, "SVM", "F", EShLangAll }, // Texture object methods. Return type can be overridden by shader declaration. @@ -832,16 +851,14 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c { "GatherCmpAlpha", /* O-4 */ "V4", nullptr, "%@,S,V,S,V,,,", "FIU,s,F,,I,,,", EShLangAll }, { "GatherCmpAlpha", /* O-4, status */"V4", nullptr, "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll }, - // TODO: Cmp forms + // geometry methods + { "Append", "-", "-", "-", "-", EShLangGS }, + { "RestartStrip", "-", "-", "-", "-", EShLangGS }, // Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet. { nullptr, nullptr, nullptr, nullptr, nullptr, 0 }, }; - // Set this to true to avoid generating prototypes that will be invalid for the GLSL parser. - // TODO: turn it off (and remove the code) when the HLSL parser can be used to parse builtins. - static const bool skipInvalidGlsl = true; - // Create prototypes for the intrinsics. TODO: Avoid ranged based for until all compilers can handle it. for (int icount = 0; hlslIntrinsics[icount].name; ++icount) { const auto& intrinsic = hlslIntrinsics[icount]; @@ -877,8 +894,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c const char* retOrder = intrinsic.retOrder ? intrinsic.retOrder : argOrder; const char* retType = intrinsic.retType ? intrinsic.retType : argType; - if (skipInvalidGlsl && !IsValidGlsl(intrinsic.name, *retOrder, *retType, *argOrder, *argType, - dim0, dim1, dim0Max, dim1Max)) + if (!IsValid(intrinsic.name, *retOrder, *retType, *argOrder, *argType, dim0, dim1)) continue; // Reject some forms of sample methods that don't exist. @@ -1143,6 +1159,10 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil symbolTable.relateToOperator("GatherCmpGreen", EOpMethodGatherCmpGreen); symbolTable.relateToOperator("GatherCmpBlue", EOpMethodGatherCmpBlue); symbolTable.relateToOperator("GatherCmpAlpha", EOpMethodGatherCmpAlpha); + + // GS methods + symbolTable.relateToOperator("Append", EOpMethodAppend); + symbolTable.relateToOperator("RestartStrip", EOpMethodRestartStrip); } // diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp index f25bdd8c..4e355ba7 100755 --- a/hlsl/hlslScanContext.cpp +++ b/hlsl/hlslScanContext.cpp @@ -119,6 +119,16 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["inout"] = EHTokInOut; (*KeywordMap)["layout"] = EHTokLayout; + (*KeywordMap)["point"] = EHTokPoint; + (*KeywordMap)["line"] = EHTokLine; + (*KeywordMap)["triangle"] = EHTokTriangle; + (*KeywordMap)["lineadj"] = EHTokLineAdj; + (*KeywordMap)["triangleadj"] = EHTokTriangleAdj; + + (*KeywordMap)["PointStream"] = EHTokPointStream; + (*KeywordMap)["LineStream"] = EHTokLineStream; + (*KeywordMap)["TriangleStream"] = EHTokTriangleStream; + (*KeywordMap)["Buffer"] = EHTokBuffer; (*KeywordMap)["vector"] = EHTokVector; (*KeywordMap)["matrix"] = EHTokMatrix; @@ -136,7 +146,7 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["min10float"] = EHTokMin10float; (*KeywordMap)["min16int"] = EHTokMin16int; (*KeywordMap)["min12int"] = EHTokMin12int; - (*KeywordMap)["min16uint"] = EHTokMin16int; + (*KeywordMap)["min16uint"] = EHTokMin16uint; (*KeywordMap)["bool1"] = EHTokBool1; (*KeywordMap)["bool2"] = EHTokBool2; @@ -159,6 +169,43 @@ void HlslScanContext::fillInKeywordMap() (*KeywordMap)["uint3"] = EHTokUint3; (*KeywordMap)["uint4"] = EHTokUint4; + (*KeywordMap)["min16float1"] = EHTokMin16float1; + (*KeywordMap)["min16float2"] = EHTokMin16float2; + (*KeywordMap)["min16float3"] = EHTokMin16float3; + (*KeywordMap)["min16float4"] = EHTokMin16float4; + (*KeywordMap)["min10float1"] = EHTokMin10float1; + (*KeywordMap)["min10float2"] = EHTokMin10float2; + (*KeywordMap)["min10float3"] = EHTokMin10float3; + (*KeywordMap)["min10float4"] = EHTokMin10float4; + (*KeywordMap)["min16int1"] = EHTokMin16int1; + (*KeywordMap)["min16int2"] = EHTokMin16int2; + (*KeywordMap)["min16int3"] = EHTokMin16int3; + (*KeywordMap)["min16int4"] = EHTokMin16int4; + (*KeywordMap)["min12int1"] = EHTokMin12int1; + (*KeywordMap)["min12int2"] = EHTokMin12int2; + (*KeywordMap)["min12int3"] = EHTokMin12int3; + (*KeywordMap)["min12int4"] = EHTokMin12int4; + (*KeywordMap)["min16uint1"] = EHTokMin16uint1; + (*KeywordMap)["min16uint2"] = EHTokMin16uint2; + (*KeywordMap)["min16uint3"] = EHTokMin16uint3; + (*KeywordMap)["min16uint4"] = EHTokMin16uint4; + + (*KeywordMap)["bool1x1"] = EHTokBool1x1; + (*KeywordMap)["bool1x2"] = EHTokBool1x2; + (*KeywordMap)["bool1x3"] = EHTokBool1x3; + (*KeywordMap)["bool1x4"] = EHTokBool1x4; + (*KeywordMap)["bool2x1"] = EHTokBool2x1; + (*KeywordMap)["bool2x2"] = EHTokBool2x2; + (*KeywordMap)["bool2x3"] = EHTokBool2x3; + (*KeywordMap)["bool2x4"] = EHTokBool2x4; + (*KeywordMap)["bool3x1"] = EHTokBool3x1; + (*KeywordMap)["bool3x2"] = EHTokBool3x2; + (*KeywordMap)["bool3x3"] = EHTokBool3x3; + (*KeywordMap)["bool3x4"] = EHTokBool3x4; + (*KeywordMap)["bool4x1"] = EHTokBool4x1; + (*KeywordMap)["bool4x2"] = EHTokBool4x2; + (*KeywordMap)["bool4x3"] = EHTokBool4x3; + (*KeywordMap)["bool4x4"] = EHTokBool4x4; (*KeywordMap)["int1x1"] = EHTokInt1x1; (*KeywordMap)["int1x2"] = EHTokInt1x2; (*KeywordMap)["int1x3"] = EHTokInt1x3; @@ -475,7 +522,20 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokLayout: return keyword; - // template types + // primitive types + case EHTokPoint: + case EHTokLine: + case EHTokTriangle: + case EHTokLineAdj: + case EHTokTriangleAdj: + return keyword; + + // stream out types + case EHTokPointStream: + case EHTokLineStream: + case EHTokTriangleStream: + return keyword; + case EHTokBuffer: case EHTokVector: case EHTokMatrix: @@ -518,8 +578,44 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokUint2: case EHTokUint3: case EHTokUint4: + case EHTokMin16float1: + case EHTokMin16float2: + case EHTokMin16float3: + case EHTokMin16float4: + case EHTokMin10float1: + case EHTokMin10float2: + case EHTokMin10float3: + case EHTokMin10float4: + case EHTokMin16int1: + case EHTokMin16int2: + case EHTokMin16int3: + case EHTokMin16int4: + case EHTokMin12int1: + case EHTokMin12int2: + case EHTokMin12int3: + case EHTokMin12int4: + case EHTokMin16uint1: + case EHTokMin16uint2: + case EHTokMin16uint3: + case EHTokMin16uint4: // matrix types + case EHTokBool1x1: + case EHTokBool1x2: + case EHTokBool1x3: + case EHTokBool1x4: + case EHTokBool2x1: + case EHTokBool2x2: + case EHTokBool2x3: + case EHTokBool2x4: + case EHTokBool3x1: + case EHTokBool3x2: + case EHTokBool3x3: + case EHTokBool3x4: + case EHTokBool4x1: + case EHTokBool4x2: + case EHTokBool4x3: + case EHTokBool4x4: case EHTokInt1x1: case EHTokInt1x2: case EHTokInt1x3: @@ -536,6 +632,22 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier() case EHTokInt4x2: case EHTokInt4x3: case EHTokInt4x4: + case EHTokUint1x1: + case EHTokUint1x2: + case EHTokUint1x3: + case EHTokUint1x4: + case EHTokUint2x1: + case EHTokUint2x2: + case EHTokUint2x3: + case EHTokUint2x4: + case EHTokUint3x1: + case EHTokUint3x2: + case EHTokUint3x3: + case EHTokUint3x4: + case EHTokUint4x1: + case EHTokUint4x2: + case EHTokUint4x3: + case EHTokUint4x4: case EHTokFloat1x1: case EHTokFloat1x2: case EHTokFloat1x3: diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h index 2994001d..6902070c 100755 --- a/hlsl/hlslTokens.h +++ b/hlsl/hlslTokens.h @@ -66,6 +66,18 @@ enum EHlslTokenClass { EHTokInOut, EHTokLayout, + // primitive types + EHTokPoint, + EHTokLine, + EHTokTriangle, + EHTokLineAdj, + EHTokTriangleAdj, + + // stream out types + EHTokPointStream, + EHTokLineStream, + EHTokTriangleStream, + // template types EHTokBuffer, EHTokVector, @@ -108,6 +120,26 @@ enum EHlslTokenClass { EHTokUint2, EHTokUint3, EHTokUint4, + EHTokMin16float1, + EHTokMin16float2, + EHTokMin16float3, + EHTokMin16float4, + EHTokMin10float1, + EHTokMin10float2, + EHTokMin10float3, + EHTokMin10float4, + EHTokMin16int1, + EHTokMin16int2, + EHTokMin16int3, + EHTokMin16int4, + EHTokMin12int1, + EHTokMin12int2, + EHTokMin12int3, + EHTokMin12int4, + EHTokMin16uint1, + EHTokMin16uint2, + EHTokMin16uint3, + EHTokMin16uint4, // matrix types EHTokInt1x1, |