From 3708ed0d16be513529a35ecbbe8ff7fe406c09f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Fri, 29 Sep 2017 21:22:46 -0700 Subject: [PATCH] Updated glslang. --- 3rdparty/glslang/.appveyor.yml | 1 + 3rdparty/glslang/.gitignore | 1 + 3rdparty/glslang/.travis.yml | 16 +- 3rdparty/glslang/CMakeLists.txt | 2 +- 3rdparty/glslang/External/CMakeLists.txt | 1 + 3rdparty/glslang/README.md | 8 + 3rdparty/glslang/SPIRV/GlslangToSpv.cpp | 160 +++-- 3rdparty/glslang/SPIRV/GlslangToSpv.h | 5 +- 3rdparty/glslang/SPIRV/SPVRemapper.cpp | 165 ++++- 3rdparty/glslang/SPIRV/SPVRemapper.h | 12 +- 3rdparty/glslang/StandAlone/StandAlone.cpp | 24 +- .../hlsl.aliasOpaque.frag.out | 50 ++ .../hlsl.flattenOpaque.frag.out | 65 ++ .../hlsl.flattenOpaqueInit.vert.out | 49 ++ .../hlsl.flattenOpaqueInitMix.vert.out | 49 ++ .../baseResults/hlsl.aliasOpaque.frag.out | 111 ++-- .../baseResults/hlsl.array.flatten.frag.out | 311 +++++----- .../baseResults/hlsl.flattenOpaque.frag.out | 150 +++-- .../hlsl.flattenOpaqueInit.vert.out | 179 ++++-- .../hlsl.flattenOpaqueInitMix.vert.out | 153 +++-- .../hlsl.gathercmpRGBA.offset.dx10.frag.out | 457 +++++++------- .../baseResults/hlsl.opaque-type-bug.frag.out | 55 +- .../hlsl.samplecmp.array.dx10.frag.out | 579 +++++++++-------- .../hlsl.samplecmp.basic.dx10.frag.out | 555 ++++++++--------- .../hlsl.samplecmp.negative.frag.out | 104 ++-- .../hlsl.samplecmp.offset.dx10.frag.out | 446 +++++++------- .../hlsl.samplecmp.offsetarray.dx10.frag.out | 470 +++++++------- ...lsl.samplecmplevelzero.array.dx10.frag.out | 581 +++++++++--------- ...lsl.samplecmplevelzero.basic.dx10.frag.out | 557 +++++++++-------- ...sl.samplecmplevelzero.offset.dx10.frag.out | 448 +++++++------- ...mplecmplevelzero.offsetarray.dx10.frag.out | 472 +++++++------- .../hlsl.structbuffer.append.fn.frag.out | 118 ++-- .../baseResults/hlsl.structbuffer.fn.frag.out | 160 ++--- .../hlsl.structbuffer.fn2.comp.out | 88 +-- .../baseResults/hlsl.texture.struct.frag.out | 447 +++++++------- .../baseResults/hlsl.tx.overload.frag.out | 85 ++- .../baseResults/remap.invalid-spirv-1.out | 1 + .../baseResults/remap.invalid-spirv-2.out | 1 + .../Test/baseResults/spv.atomicInt64.comp.out | 215 +++++++ .../glslang/Test/hlsl.samplecmp.negative.frag | 3 +- .../glslang/Test/remap.invalid-spirv-1.spv | Bin 0 -> 219 bytes .../glslang/Test/remap.invalid-spirv-2.spv | Bin 0 -> 212 bytes 3rdparty/glslang/Test/runtests | 41 +- 3rdparty/glslang/Test/spv.atomicInt64.comp | 79 +++ .../glslang/glslang/Include/intermediate.h | 2 +- .../glslang/MachineIndependent/Initialize.cpp | 26 + .../MachineIndependent/ParseHelper.cpp | 17 + .../glslang/MachineIndependent/ParseHelper.h | 2 +- .../glslang/MachineIndependent/Versions.cpp | 2 + .../glslang/MachineIndependent/Versions.h | 1 + .../MachineIndependent/localintermediate.h | 8 +- 3rdparty/glslang/gtests/Hlsl.FromFile.cpp | 32 +- 3rdparty/glslang/gtests/Spv.FromFile.cpp | 3 +- 3rdparty/glslang/gtests/TestFixture.h | 15 +- 3rdparty/glslang/hlsl/hlslParseHelper.cpp | 179 ++---- 3rdparty/glslang/hlsl/hlslParseHelper.h | 9 +- 3rdparty/glslang/known_good.json | 18 + 3rdparty/glslang/update_glslang_sources.py | 151 +++++ 58 files changed, 4574 insertions(+), 3365 deletions(-) create mode 100644 3rdparty/glslang/Test/baseLegalResults/hlsl.aliasOpaque.frag.out create mode 100644 3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaque.frag.out create mode 100644 3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out create mode 100644 3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out create mode 100644 3rdparty/glslang/Test/baseResults/remap.invalid-spirv-1.out create mode 100644 3rdparty/glslang/Test/baseResults/remap.invalid-spirv-2.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.atomicInt64.comp.out create mode 100644 3rdparty/glslang/Test/remap.invalid-spirv-1.spv create mode 100644 3rdparty/glslang/Test/remap.invalid-spirv-2.spv create mode 100644 3rdparty/glslang/Test/spv.atomicInt64.comp create mode 100644 3rdparty/glslang/known_good.json create mode 100755 3rdparty/glslang/update_glslang_sources.py diff --git a/3rdparty/glslang/.appveyor.yml b/3rdparty/glslang/.appveyor.yml index 64e7ae64a..d5c7225d6 100644 --- a/3rdparty/glslang/.appveyor.yml +++ b/3rdparty/glslang/.appveyor.yml @@ -25,6 +25,7 @@ matrix: # scripts that run after cloning repository install: - git clone https://github.com/google/googletest.git External/googletest + - C:/Python27/python.exe update_glslang_sources.py build: parallel: true # enable MSBuild parallel builds diff --git a/3rdparty/glslang/.gitignore b/3rdparty/glslang/.gitignore index 3e6cc14df..a1fe3944b 100644 --- a/3rdparty/glslang/.gitignore +++ b/3rdparty/glslang/.gitignore @@ -7,3 +7,4 @@ TAGS build/ Test/localResults/ External/googletest +External/spirv-tools diff --git a/3rdparty/glslang/.travis.yml b/3rdparty/glslang/.travis.yml index 40e3fc7e7..0237d2561 100644 --- a/3rdparty/glslang/.travis.yml +++ b/3rdparty/glslang/.travis.yml @@ -39,11 +39,8 @@ addons: apt: packages: - clang-3.6 - - ninja-build install: - # Install ninja on Mac OS X. - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ninja; fi # Make sure that clang-3.6 is selected on Linux. - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CC" == "clang" ]]; then export CC=clang-3.6 CXX=clang++-3.6; @@ -57,7 +54,8 @@ install: fi before_script: - - git clone https://github.com/google/googletest.git External/googletest + - git clone --depth=1 https://github.com/google/googletest.git External/googletest + - ./update_glslang_sources.py script: - mkdir build && cd build @@ -68,14 +66,12 @@ script: -DANDROID_NATIVE_API_LEVEL=android-12 -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="armeabi-v7a with NEON" - -DBUILD_TESTING=OFF - -GNinja ..; - ninja; + -DBUILD_TESTING=OFF ..; + make -j4; else cmake -DCMAKE_BUILD_TYPE=${GLSLANG_BUILD_TYPE} - -DCMAKE_INSTALL_PREFIX=`pwd`/install - -GNinja ..; - ninja install; + -DCMAKE_INSTALL_PREFIX=`pwd`/install ..; + make -j4 install; ctest --output-on-failure && cd ../Test && ./runtests; fi diff --git a/3rdparty/glslang/CMakeLists.txt b/3rdparty/glslang/CMakeLists.txt index a0f0352b2..dbe4308cd 100644 --- a/3rdparty/glslang/CMakeLists.txt +++ b/3rdparty/glslang/CMakeLists.txt @@ -54,7 +54,7 @@ endif(WIN32) if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs - -Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable) + -Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions) add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over. elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs diff --git a/3rdparty/glslang/External/CMakeLists.txt b/3rdparty/glslang/External/CMakeLists.txt index d9e071e88..4d9690134 100644 --- a/3rdparty/glslang/External/CMakeLists.txt +++ b/3rdparty/glslang/External/CMakeLists.txt @@ -36,6 +36,7 @@ endif() if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt) if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools) + set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests") add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools) endif() endif() diff --git a/3rdparty/glslang/README.md b/3rdparty/glslang/README.md index 193e38da8..139e17685 100644 --- a/3rdparty/glslang/README.md +++ b/3rdparty/glslang/README.md @@ -74,6 +74,14 @@ cd git clone https://github.com/google/googletest.git External/googletest ``` +If you wish to assure that SPIR-V generated from HLSL is legal for Vulkan, +or wish to invoke -Os to reduce SPIR-V size from HLSL or GLSL, install +spirv-tools with this: + +```bash +./update_glslang_sources.py +``` + #### 3) Configure Assume the source directory is `$SOURCE_DIR` and diff --git a/3rdparty/glslang/SPIRV/GlslangToSpv.cpp b/3rdparty/glslang/SPIRV/GlslangToSpv.cpp index 9dec286cd..b73e53846 100755 --- a/3rdparty/glslang/SPIRV/GlslangToSpv.cpp +++ b/3rdparty/glslang/SPIRV/GlslangToSpv.cpp @@ -52,6 +52,16 @@ namespace spv { #endif } +#ifdef ENABLE_OPT + #include "spirv-tools/optimizer.hpp" + #include "message.h" + #include "SPVRemapper.h" +#endif + +#ifdef ENABLE_OPT +using namespace spvtools; +#endif + // Glslang includes #include "../glslang/MachineIndependent/localintermediate.h" #include "../glslang/MachineIndependent/SymbolTable.h" @@ -148,6 +158,8 @@ protected: void declareUseOfStructMember(const glslang::TTypeList& members, int glslangMember); bool isShaderEntryPoint(const glslang::TIntermAggregate* node); + bool writableParam(glslang::TStorageQualifier); + bool originalParam(glslang::TStorageQualifier, const glslang::TType&, bool implicitThisParam); void makeFunctions(const glslang::TIntermSequence&); void makeGlobalInitializers(const glslang::TIntermSequence&); void visitFunctions(const glslang::TIntermSequence&); @@ -761,33 +773,41 @@ spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::T { if (type.getQualifier().isPipeInput()) return spv::StorageClassInput; - else if (type.getQualifier().isPipeOutput()) + if (type.getQualifier().isPipeOutput()) return spv::StorageClassOutput; - else if (type.getBasicType() == glslang::EbtAtomicUint) - return spv::StorageClassAtomicCounter; - else if (type.containsOpaque()) - return spv::StorageClassUniformConstant; - else if (glslangIntermediate->usingStorageBuffer() && type.getQualifier().storage == glslang::EvqBuffer) { + + if (glslangIntermediate->getSource() != glslang::EShSourceHlsl || + type.getQualifier().storage == glslang::EvqUniform) { + if (type.getBasicType() == glslang::EbtAtomicUint) + return spv::StorageClassAtomicCounter; + if (type.containsOpaque()) + return spv::StorageClassUniformConstant; + } + + if (glslangIntermediate->usingStorageBuffer() && type.getQualifier().storage == glslang::EvqBuffer) { builder.addExtension(spv::E_SPV_KHR_storage_buffer_storage_class); return spv::StorageClassStorageBuffer; - } else if (type.getQualifier().isUniformOrBuffer()) { + } + + if (type.getQualifier().isUniformOrBuffer()) { if (type.getQualifier().layoutPushConstant) return spv::StorageClassPushConstant; if (type.getBasicType() == glslang::EbtBlock) return spv::StorageClassUniform; - else - return spv::StorageClassUniformConstant; - } else { - switch (type.getQualifier().storage) { - case glslang::EvqShared: return spv::StorageClassWorkgroup; break; - case glslang::EvqGlobal: return spv::StorageClassPrivate; - case glslang::EvqConstReadOnly: return spv::StorageClassFunction; - case glslang::EvqTemporary: return spv::StorageClassFunction; - default: - assert(0); - return spv::StorageClassFunction; - } + return spv::StorageClassUniformConstant; } + + switch (type.getQualifier().storage) { + case glslang::EvqShared: return spv::StorageClassWorkgroup; + case glslang::EvqGlobal: return spv::StorageClassPrivate; + case glslang::EvqConstReadOnly: return spv::StorageClassFunction; + case glslang::EvqTemporary: return spv::StorageClassFunction; + default: + assert(0); + break; + } + + return spv::StorageClassFunction; } // Return whether or not the given type is something that should be tied to a @@ -2951,6 +2971,24 @@ bool TGlslangToSpvTraverser::isShaderEntryPoint(const glslang::TIntermAggregate* return node->getName().compare(glslangIntermediate->getEntryPointMangledName().c_str()) == 0; } +// Does parameter need a place to keep writes, separate from the original? +bool TGlslangToSpvTraverser::writableParam(glslang::TStorageQualifier qualifier) +{ + return qualifier != glslang::EvqConstReadOnly; +} + +// Is parameter pass-by-original? +bool TGlslangToSpvTraverser::originalParam(glslang::TStorageQualifier qualifier, const glslang::TType& paramType, + bool implicitThisParam) +{ + if (implicitThisParam) // implicit this + return true; + if (glslangIntermediate->getSource() == glslang::EShSourceHlsl) + return false; + return paramType.containsOpaque() || // sampler, etc. + (paramType.getBasicType() == glslang::EbtBlock && qualifier == glslang::EvqBuffer); // SSBO +} + // Make all the functions, skeletally, without actually visiting their bodies. void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslFunctions) { @@ -2991,13 +3029,9 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF for (int p = 0; p < (int)parameters.size(); ++p) { const glslang::TType& paramType = parameters[p]->getAsTyped()->getType(); spv::Id typeId = convertGlslangToSpvType(paramType); - // can we pass by reference? - if (paramType.containsOpaque() || // sampler, etc. - (paramType.getBasicType() == glslang::EbtBlock && - paramType.getQualifier().storage == glslang::EvqBuffer) || // SSBO - (p == 0 && implicitThis)) // implicit 'this' + if (originalParam(paramType.getQualifier().storage, paramType, implicitThis && p == 0)) typeId = builder.makePointer(TranslateStorageClass(paramType), typeId); - else if (paramType.getQualifier().storage != glslang::EvqConstReadOnly) + else if (writableParam(paramType.getQualifier().storage)) typeId = builder.makePointer(spv::StorageClassFunction, typeId); else rValueParameters.insert(parameters[p]->getAsSymbolNode()->getId()); @@ -3557,11 +3591,6 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg const glslang::TIntermSequence& glslangArgs = node->getSequence(); const glslang::TQualifierList& qualifiers = node->getQualifierList(); - // Encapsulate lvalue logic, used in several places below, for safety. - const auto isLValue = [](int qualifier, const glslang::TType& paramType) -> bool { - return qualifier != glslang::EvqConstReadOnly || paramType.containsOpaque(); - }; - // See comments in makeFunctions() for details about the semantics for parameter passing. // // These imply we need a four step process: @@ -3580,8 +3609,9 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg builder.clearAccessChain(); glslangArgs[a]->traverse(this); argTypes.push_back(¶mType); - // keep outputs and opaque objects as l-values, evaluate input-only as r-values - if (isLValue(qualifiers[a], paramType)) { + // keep outputs and pass-by-originals as l-values, evaluate others as r-values + if (writableParam(qualifiers[a]) || + originalParam(qualifiers[a], paramType, function->hasImplicitThis() && a == 0)) { // save l-value lValues.push_back(builder.getAccessChain()); } else { @@ -3600,13 +3630,11 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg for (int a = 0; a < (int)glslangArgs.size(); ++a) { const glslang::TType& paramType = glslangArgs[a]->getAsTyped()->getType(); spv::Id arg; - if (paramType.containsOpaque() || - (paramType.getBasicType() == glslang::EbtBlock && qualifiers[a] == glslang::EvqBuffer) || - (a == 0 && function->hasImplicitThis())) { + if (originalParam(qualifiers[a], paramType, function->hasImplicitThis() && a == 0)) { builder.setAccessChain(lValues[lValueCount]); arg = builder.accessChainGetLValue(); ++lValueCount; - } else if (isLValue(qualifiers[a], paramType)) { + } else if (writableParam(qualifiers[a])) { // need space to hold the copy arg = builder.createVariable(spv::StorageClassFunction, convertGlslangToSpvType(paramType), "param"); if (qualifiers[a] == glslang::EvqIn || qualifiers[a] == glslang::EvqInOut) { @@ -3633,7 +3661,9 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg lValueCount = 0; for (int a = 0; a < (int)glslangArgs.size(); ++a) { const glslang::TType& paramType = glslangArgs[a]->getAsTyped()->getType(); - if (isLValue(qualifiers[a], paramType)) { + if (originalParam(qualifiers[a], paramType, function->hasImplicitThis() && a == 0)) + ++lValueCount; + else if (writableParam(qualifiers[a])) { if (qualifiers[a] == glslang::EvqOut || qualifiers[a] == glslang::EvqInOut) { spv::Id copy = builder.createLoad(spvArgs[a]); builder.setAccessChain(lValues[lValueCount]); @@ -4749,12 +4779,12 @@ spv::Id TGlslangToSpvTraverser::createAtomicOperation(glslang::TOperator op, spv case glslang::EOpAtomicMin: case glslang::EOpImageAtomicMin: case glslang::EOpAtomicCounterMin: - opCode = typeProxy == glslang::EbtUint ? spv::OpAtomicUMin : spv::OpAtomicSMin; + opCode = (typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64) ? spv::OpAtomicUMin : spv::OpAtomicSMin; break; case glslang::EOpAtomicMax: case glslang::EOpImageAtomicMax: case glslang::EOpAtomicCounterMax: - opCode = typeProxy == glslang::EbtUint ? spv::OpAtomicUMax : spv::OpAtomicSMax; + opCode = (typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64) ? spv::OpAtomicUMax : spv::OpAtomicSMax; break; case glslang::EOpAtomicAnd: case glslang::EOpImageAtomicAnd: @@ -4795,6 +4825,9 @@ spv::Id TGlslangToSpvTraverser::createAtomicOperation(glslang::TOperator op, spv break; } + if (typeProxy == glslang::EbtInt64 || typeProxy == glslang::EbtUint64) + builder.addCapability(spv::CapabilityInt64Atomics); + // Sort out the operands // - mapping from glslang -> SPV // - there are extra SPV operands with no glslang source @@ -5957,6 +5990,12 @@ void OutputSpvHex(const std::vector& spirv, const char* baseName, out.close(); } +#ifdef ENABLE_OPT +void errHandler(const std::string& str) { + std::cerr << str << std::endl; +} +#endif + // // Set up the glslang traversal // @@ -5985,6 +6024,49 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vectoroptimizeSize) && + !options->disableOptimizer) { + spv_target_env target_env = SPV_ENV_UNIVERSAL_1_2; + + spvtools::Optimizer optimizer(target_env); + optimizer.SetMessageConsumer([](spv_message_level_t level, + const char* source, + const spv_position_t& position, + const char* message) { + std::cerr << StringifyMessage(level, source, position, message) + << std::endl; + }); + + optimizer.RegisterPass(CreateInlineExhaustivePass()); + optimizer.RegisterPass(CreateLocalAccessChainConvertPass()); + optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass()); + optimizer.RegisterPass(CreateLocalSingleStoreElimPass()); + optimizer.RegisterPass(CreateInsertExtractElimPass()); + optimizer.RegisterPass(CreateAggressiveDCEPass()); + optimizer.RegisterPass(CreateDeadBranchElimPass()); + optimizer.RegisterPass(CreateBlockMergePass()); + optimizer.RegisterPass(CreateLocalMultiStoreElimPass()); + optimizer.RegisterPass(CreateInsertExtractElimPass()); + optimizer.RegisterPass(CreateAggressiveDCEPass()); + // TODO(greg-lunarg): Add this when AMD driver issues are resolved + // if (options->optimizeSize) + // optimizer.RegisterPass(CreateCommonUniformElimPass()); + + if (!optimizer.Run(spirv.data(), spirv.size(), &spirv)) + return; + + // Remove dead module-level objects: functions, types, vars + // TODO(greg-lunarg): Switch to spirv-opt versions when available + spv::spirvbin_t Remapper(0); + Remapper.registerErrorHandler(errHandler); + Remapper.remap(spirv, spv::spirvbin_t::DCE_ALL); + } +#endif + glslang::GetThreadPoolAllocator().pop(); } diff --git a/3rdparty/glslang/SPIRV/GlslangToSpv.h b/3rdparty/glslang/SPIRV/GlslangToSpv.h index 0dad4d219..0398501f5 100644 --- a/3rdparty/glslang/SPIRV/GlslangToSpv.h +++ b/3rdparty/glslang/SPIRV/GlslangToSpv.h @@ -48,8 +48,11 @@ namespace glslang { struct SpvOptions { - SpvOptions() : generateDebugInfo(false) { } + SpvOptions() : generateDebugInfo(false), disableOptimizer(true), + optimizeSize(false) { } bool generateDebugInfo; + bool disableOptimizer; + bool optimizeSize; }; void GetSpirvVersion(std::string&); diff --git a/3rdparty/glslang/SPIRV/SPVRemapper.cpp b/3rdparty/glslang/SPIRV/SPVRemapper.cpp index bc7f4788f..4d96df6e5 100755 --- a/3rdparty/glslang/SPIRV/SPVRemapper.cpp +++ b/3rdparty/glslang/SPIRV/SPVRemapper.cpp @@ -135,6 +135,9 @@ namespace spv { const unsigned typeStart = idPos(id); const spv::Op opCode = asOpCode(typeStart); + if (errorLatch) + return 0; + switch (opCode) { case spv::OpTypeInt: // fall through... case spv::OpTypeFloat: return (spv[typeStart+2]+31)/32; @@ -148,8 +151,10 @@ namespace spv { unsigned spirvbin_t::idTypeSizeInWords(spv::Id id) const { const auto tid_it = idTypeSizeMap.find(id); - if (tid_it == idTypeSizeMap.end()) + if (tid_it == idTypeSizeMap.end()) { error("type size for ID not found"); + return 0; + } return tid_it->second; } @@ -253,19 +258,31 @@ namespace spv { { assert(id != spv::NoResult && newId != spv::NoResult); + if (id > bound()) { + error(std::string("ID out of range: ") + std::to_string(id)); + return spirvbin_t::unused; + } + if (id >= idMapL.size()) idMapL.resize(id+1, unused); if (newId != unmapped && newId != unused) { - if (isOldIdUnused(id)) + if (isOldIdUnused(id)) { error(std::string("ID unused in module: ") + std::to_string(id)); + return spirvbin_t::unused; + } - if (!isOldIdUnmapped(id)) + if (!isOldIdUnmapped(id)) { error(std::string("ID already mapped: ") + std::to_string(id) + " -> " - + std::to_string(localId(id))); + + std::to_string(localId(id))); - if (isNewIdMapped(newId)) + return spirvbin_t::unused; + } + + if (isNewIdMapped(newId)) { error(std::string("ID already used in module: ") + std::to_string(newId)); + return spirvbin_t::unused; + } msg(4, 4, std::string("map: ") + std::to_string(id) + " -> " + std::to_string(newId)); setMapped(newId); @@ -299,6 +316,10 @@ namespace spv { process(inst_fn_nop, // ignore instructions [this](spv::Id& id) { id = localId(id); + + if (errorLatch) + return; + assert(id != unused && id != unmapped); } ); @@ -317,14 +338,22 @@ namespace spv { continue; // Find a new mapping for any used but unmapped IDs - if (isOldIdUnmapped(id)) + if (isOldIdUnmapped(id)) { localId(id, unusedId = nextUnusedId(unusedId)); + if (errorLatch) + return; + } - if (isOldIdUnmapped(id)) + if (isOldIdUnmapped(id)) { error(std::string("old ID not mapped: ") + std::to_string(id)); + return; + } // Track max bound maxBound = std::max(maxBound, localId(id) + 1); + + if (errorLatch) + return; } bound(maxBound); // reset header ID bound to as big as it now needs to be @@ -406,6 +435,9 @@ namespace spv { if (typeId != spv::NoResult) { const unsigned idTypeSize = typeSizeInWords(typeId); + if (errorLatch) + return false; + if (idTypeSize != 0) idTypeSizeMap[resultId] = idTypeSize; } @@ -421,17 +453,26 @@ namespace spv { } else if (opCode == spv::Op::OpEntryPoint) { entryPoint = asId(start + 2); } else if (opCode == spv::Op::OpFunction) { - if (fnStart != 0) + if (fnStart != 0) { error("nested function found"); + return false; + } + fnStart = start; fnRes = asId(start + 2); } else if (opCode == spv::Op::OpFunctionEnd) { assert(fnRes != spv::NoResult); - if (fnStart == 0) + if (fnStart == 0) { error("function end without function start"); + return false; + } + fnPos[fnRes] = range_t(fnStart, start + asWordCount(start)); fnStart = 0; } else if (isConstOp(opCode)) { + if (errorLatch) + return false; + assert(asId(start + 2) != spv::NoResult); typeConstPos.insert(start); } else if (isTypeOp(opCode)) { @@ -451,18 +492,24 @@ namespace spv { { msg(2, 2, std::string("validating: ")); - if (spv.size() < header_size) + if (spv.size() < header_size) { error("file too short: "); + return; + } - if (magic() != spv::MagicNumber) + if (magic() != spv::MagicNumber) { error("bad magic number"); + return; + } // field 1 = version // field 2 = generator magic // field 3 = result bound - if (schemaNum() != 0) + if (schemaNum() != 0) { error("bad schema, must be 0"); + return; + } } int spirvbin_t::processInstruction(unsigned word, instfn_t instFn, idfn_t idFn) @@ -472,8 +519,10 @@ namespace spv { const int nextInst = word++ + wordCount; spv::Op opCode = asOpCode(instructionStart); - if (nextInst > int(spv.size())) + if (nextInst > int(spv.size())) { error("spir instruction terminated too early"); + return -1; + } // Base for computing number of operands; will be updated as more is learned unsigned numOperands = wordCount - 1; @@ -555,6 +604,9 @@ namespace spv { const unsigned literalSize = idTypeSizeInWords(idBuffer[literalSizePos]); const unsigned numLiteralIdPairs = (nextInst-word) / (1+literalSize); + if (errorLatch) + return -1; + for (unsigned arg=0; arg 0) @@ -932,6 +1010,9 @@ namespace spv { }, op_fn_nop); + if (errorLatch) + return; + // Chase replacements to their origins, in case there is a chain such as: // 2 = store 1 // 3 = load 2 @@ -965,6 +1046,9 @@ namespace spv { } ); + if (errorLatch) + return; + strip(); // strip out data we decided to eliminate } @@ -1008,6 +1092,9 @@ namespace spv { fn->second.first, fn->second.second); + if (errorLatch) + return; + fn = fnPos.erase(fn); } else ++fn; } @@ -1040,6 +1127,9 @@ namespace spv { [&](spv::Id& id) { if (varUseCount[id]) ++varUseCount[id]; } ); + if (errorLatch) + return; + // Remove single-use function variables + associated decorations and names process( [&](spv::Op opCode, unsigned start) { @@ -1081,6 +1171,9 @@ namespace spv { [&](spv::Id& id) { if (isType[id]) ++typeUseCount[id]; } ); + if (errorLatch) + return; + // Remove single reference types for (const auto typeStart : typeConstPos) { const spv::Id typeId = asTypeConstId(typeStart); @@ -1090,6 +1183,9 @@ namespace spv { stripInst(typeStart); } } + + if (errorLatch) + return; } } @@ -1168,8 +1264,10 @@ namespace spv { unsigned spirvbin_t::idPos(spv::Id id) const { const auto tid_it = idPosR.find(id); - if (tid_it == idPosR.end()) + if (tid_it == idPosR.end()) { error("ID not found"); + return 0; + } return tid_it->second; } @@ -1268,8 +1366,14 @@ namespace spv { const spv::Id resId = asTypeConstId(typeStart); const std::uint32_t hashval = hashType(typeStart); - if (isOldIdUnmapped(resId)) + if (errorLatch) + return; + + if (isOldIdUnmapped(resId)) { localId(resId, nextUnusedId(hashval % softTypeIdLimit + firstMappedID)); + if (errorLatch) + return; + } } } @@ -1315,24 +1419,49 @@ namespace spv { msg(3, 4, std::string("ID bound: ") + std::to_string(bound())); if (options & STRIP) stripDebug(); + if (errorLatch) return; + strip(); // strip out data we decided to eliminate + if (errorLatch) return; + if (options & OPT_LOADSTORE) optLoadStore(); + if (errorLatch) return; + if (options & OPT_FWD_LS) forwardLoadStores(); + if (errorLatch) return; + if (options & DCE_FUNCS) dceFuncs(); + if (errorLatch) return; + if (options & DCE_VARS) dceVars(); + if (errorLatch) return; + if (options & DCE_TYPES) dceTypes(); + if (errorLatch) return; strip(); // strip out data we decided to eliminate + if (errorLatch) return; + stripDeadRefs(); // remove references to things we DCEed + if (errorLatch) return; + // after the last strip, we must clean any debug info referring to now-deleted data if (options & MAP_TYPES) mapTypeConst(); + if (errorLatch) return; + if (options & MAP_NAMES) mapNames(); + if (errorLatch) return; + if (options & MAP_FUNCS) mapFnBodies(); + if (errorLatch) return; if (options & MAP_ALL) { mapRemainder(); // map any unmapped IDs + if (errorLatch) return; + applyMap(); // Now remap each shader to the new IDs we've come up with + if (errorLatch) return; } } diff --git a/3rdparty/glslang/SPIRV/SPVRemapper.h b/3rdparty/glslang/SPIRV/SPVRemapper.h index f9f369a37..97e3f31fa 100755 --- a/3rdparty/glslang/SPIRV/SPVRemapper.h +++ b/3rdparty/glslang/SPIRV/SPVRemapper.h @@ -39,6 +39,7 @@ #include #include #include +#include namespace spv { @@ -111,7 +112,9 @@ namespace spv { class spirvbin_t : public spirvbin_base_t { public: - spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose) { } + spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false) + { } + virtual ~spirvbin_t() { } // remap on an existing binary in memory @@ -165,7 +168,7 @@ private: typedef std::unordered_map typesize_map_t; // handle error - void error(const std::string& txt) const { errorHandler(txt); } + void error(const std::string& txt) const { errorLatch = true; errorHandler(txt); } bool isConstOp(spv::Op opCode) const; bool isTypeOp(spv::Op opCode) const; @@ -286,6 +289,11 @@ private: std::uint32_t options; int verbose; // verbosity level + // Error latch: this is set if the error handler is ever executed. It would be better to + // use a try/catch block and throw, but that's not desired for certain environments, so + // this is the alternative. + mutable bool errorLatch; + static errorfn_t errorHandler; static logfn_t logHandler; }; diff --git a/3rdparty/glslang/StandAlone/StandAlone.cpp b/3rdparty/glslang/StandAlone/StandAlone.cpp index 2c46cc07f..1313c879b 100644 --- a/3rdparty/glslang/StandAlone/StandAlone.cpp +++ b/3rdparty/glslang/StandAlone/StandAlone.cpp @@ -95,6 +95,8 @@ enum TOptions { EOptionAutoMapLocations = (1 << 25), EOptionDebug = (1 << 26), EOptionStdin = (1 << 27), + EOptionOptimizeDisable = (1 << 28), + EOptionOptimizeSize = (1 << 29), }; // @@ -528,6 +530,18 @@ void ProcessArguments(std::vector>& workItem case 'I': IncludeDirectoryList.push_back(getStringOperand("-I include path")); break; + case 'O': + if (argv[0][2] == 'd') + Options |= EOptionOptimizeDisable; + else if (argv[0][2] == 's') +#ifdef ENABLE_OPT + Options |= EOptionOptimizeSize; +#else + Error("-Os not available; optimizer not linked"); +#endif + else + Error("unknown -O option"); + break; case 'S': if (argc <= 1) Error("no specified for -S"); @@ -767,8 +781,12 @@ void CompileAndLinkShaderUnits(std::vector compUnits) shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, compUnit.count); if (entryPointName) // HLSL todo: this needs to be tracked per compUnits shader->setEntryPoint(entryPointName); - if (sourceEntryPointName) + if (sourceEntryPointName) { + if (entryPointName == nullptr) + printf("Warning: Changing source entry point name without setting an entry-point name.\n" + "Use '-e '.\n"); shader->setSourceEntryPoint(sourceEntryPointName); + } if (UserPreamble.isSet()) shader->setPreamble(UserPreamble.get()); shader->addProcesses(Processes); @@ -882,6 +900,8 @@ void CompileAndLinkShaderUnits(std::vector compUnits) glslang::SpvOptions spvOptions; if (Options & EOptionDebug) spvOptions.generateDebugInfo = true; + spvOptions.disableOptimizer = (Options & EOptionOptimizeDisable) != 0; + spvOptions.optimizeSize = (Options & EOptionOptimizeSize) != 0; glslang::GlslangToSpv(*program.getIntermediate((EShLanguage)stage), spirv, &logger, &spvOptions); // Dump the spv to a file or stdout, etc., but only if not doing @@ -1201,6 +1221,8 @@ void usage() " -H print human readable form of SPIR-V; turns on -V\n" " -I add dir to the include search path; includer's directory\n" " is searched first, followed by left-to-right order of -I\n" + " -Od disables optimization. May cause illegal SPIR-V for HLSL.\n" + " -Os optimizes SPIR-V to minimize size.\n" " -S uses specified stage rather than parsing the file extension\n" " choices for are vert, tesc, tese, geom, frag, or comp\n" " -U undefine a pre-processor macro\n" diff --git a/3rdparty/glslang/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/3rdparty/glslang/Test/baseLegalResults/hlsl.aliasOpaque.frag.out new file mode 100644 index 000000000..e3d74b5a1 --- /dev/null +++ b/3rdparty/glslang/Test/baseLegalResults/hlsl.aliasOpaque.frag.out @@ -0,0 +1,50 @@ +hlsl.aliasOpaque.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 81 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 57 + ExecutionMode 4 OriginUpperLeft + Source HLSL 500 + Name 4 "main" + Name 37 "gss2" + Name 39 "gss" + Name 43 "gtex" + Name 57 "@entryPointOutput" + Decorate 37(gss2) DescriptorSet 0 + Decorate 39(gss) DescriptorSet 0 + Decorate 43(gtex) DescriptorSet 0 + Decorate 57(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeSampler + 8: TypeFloat 32 + 10: TypeImage 8(float) 2D sampled format:Unknown + 12: TypeVector 8(float) 4 + 25: TypeSampledImage 10 + 27: TypeVector 8(float) 2 + 28: 8(float) Constant 1045220557 + 29: 8(float) Constant 1050253722 + 30: 27(fvec2) ConstantComposite 28 29 + 36: TypePointer UniformConstant 6 + 37(gss2): 36(ptr) Variable UniformConstant + 39(gss): 36(ptr) Variable UniformConstant + 42: TypePointer UniformConstant 10 + 43(gtex): 42(ptr) Variable UniformConstant + 46: 8(float) Constant 1077936128 + 56: TypePointer Output 12(fvec4) +57(@entryPointOutput): 56(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 68: 6 Load 39(gss) + 69: 10 Load 43(gtex) + 78: 25 SampledImage 69 68 + 79: 12(fvec4) ImageSampleImplicitLod 78 30 + 80: 12(fvec4) VectorTimesScalar 79 46 + Store 57(@entryPointOutput) 80 + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaque.frag.out new file mode 100644 index 000000000..3b0b2e2e5 --- /dev/null +++ b/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaque.frag.out @@ -0,0 +1,65 @@ +hlsl.flattenOpaque.frag +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 144 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 97 + ExecutionMode 4 OriginUpperLeft + Source HLSL 500 + Name 4 "main" + Name 38 "tex" + Name 70 "s.s2D" + Name 79 "s2.s2D" + Name 80 "s2.tex" + Name 97 "@entryPointOutput" + Decorate 38(tex) DescriptorSet 0 + Decorate 70(s.s2D) DescriptorSet 0 + Decorate 79(s2.s2D) DescriptorSet 0 + Decorate 80(s2.tex) DescriptorSet 0 + Decorate 97(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeSampler + 8: TypeFloat 32 + 9: TypeVector 8(float) 4 + 14: TypeVector 8(float) 2 + 21: TypeImage 8(float) 2D sampled format:Unknown + 37: TypePointer UniformConstant 21 + 38(tex): 37(ptr) Variable UniformConstant + 41: TypeSampledImage 21 + 43: 8(float) Constant 1045220557 + 44: 8(float) Constant 1050253722 + 45: 14(fvec2) ConstantComposite 43 44 + 69: TypePointer UniformConstant 6 + 70(s.s2D): 69(ptr) Variable UniformConstant + 79(s2.s2D): 69(ptr) Variable UniformConstant + 80(s2.tex): 37(ptr) Variable UniformConstant + 96: TypePointer Output 9(fvec4) +97(@entryPointOutput): 96(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 109: 6 Load 70(s.s2D) + 123: 21 Load 38(tex) + 125: 41 SampledImage 123 109 + 126: 9(fvec4) ImageSampleImplicitLod 125 45 + 111: 6 Load 70(s.s2D) + 128: 21 Load 38(tex) + 130: 41 SampledImage 128 111 + 132: 9(fvec4) ImageSampleImplicitLod 130 45 + 113: 9(fvec4) FAdd 126 132 + 114: 6 Load 79(s2.s2D) + 115: 21 Load 80(s2.tex) + 136: 41 SampledImage 115 114 + 137: 9(fvec4) ImageSampleImplicitLod 136 45 + 117: 9(fvec4) FAdd 113 137 + 118: 6 Load 79(s2.s2D) + 119: 21 Load 80(s2.tex) + 141: 41 SampledImage 119 118 + 143: 9(fvec4) ImageSampleImplicitLod 141 45 + 121: 9(fvec4) FAdd 117 143 + Store 97(@entryPointOutput) 121 + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out new file mode 100644 index 000000000..21a960b58 --- /dev/null +++ b/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out @@ -0,0 +1,49 @@ +hlsl.flattenOpaqueInit.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 117 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 78 + Source HLSL 500 + Name 4 "main" + Name 17 "FxaaTex" + MemberName 17(FxaaTex) 0 "smpl" + MemberName 17(FxaaTex) 1 "tex" + Name 38 "g_tInputTexture_sampler" + Name 42 "g_tInputTexture" + Name 78 "@entryPointOutput" + Decorate 38(g_tInputTexture_sampler) DescriptorSet 0 + Decorate 42(g_tInputTexture) DescriptorSet 0 + Decorate 78(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeSampler + 8: TypeFloat 32 + 9: TypeImage 8(float) 2D sampled format:Unknown + 11: TypeVector 8(float) 4 + 17(FxaaTex): TypeStruct 6 9 + 26: TypeSampledImage 9 + 28: TypeVector 8(float) 2 + 29: 8(float) Constant 1050253722 + 30: 8(float) Constant 1053609165 + 31: 28(fvec2) ConstantComposite 29 30 + 32: 8(float) Constant 0 + 37: TypePointer UniformConstant 6 +38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant + 41: TypePointer UniformConstant 9 +42(g_tInputTexture): 41(ptr) Variable UniformConstant + 77: TypePointer Output 11(fvec4) +78(@entryPointOutput): 77(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 90: 6 Load 38(g_tInputTexture_sampler) + 91: 9 Load 42(g_tInputTexture) + 115: 26 SampledImage 91 90 + 116: 11(fvec4) ImageSampleExplicitLod 115 31 Lod 32 + Store 78(@entryPointOutput) 116 + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out new file mode 100644 index 000000000..80e3e670c --- /dev/null +++ b/3rdparty/glslang/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out @@ -0,0 +1,49 @@ +hlsl.flattenOpaqueInitMix.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 100 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 68 + Source HLSL 500 + Name 4 "main" + Name 34 "FxaaTex" + MemberName 34(FxaaTex) 0 "smpl" + MemberName 34(FxaaTex) 1 "tex" + MemberName 34(FxaaTex) 2 "f" + Name 38 "g_tInputTexture_sampler" + Name 41 "g_tInputTexture" + Name 68 "@entryPointOutput" + Decorate 38(g_tInputTexture_sampler) DescriptorSet 0 + Decorate 41(g_tInputTexture) DescriptorSet 0 + Decorate 68(@entryPointOutput) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeSampler + 8: TypeFloat 32 + 9: TypeImage 8(float) 2D sampled format:Unknown + 12: TypeVector 8(float) 4 + 24: TypeSampledImage 9 + 28: TypeVector 8(float) 2 + 30: 8(float) Constant 0 + 34(FxaaTex): TypeStruct 6 9 8(float) + 37: TypePointer UniformConstant 6 +38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant + 40: TypePointer UniformConstant 9 +41(g_tInputTexture): 40(ptr) Variable UniformConstant + 43: 8(float) Constant 1056964608 + 67: TypePointer Output 12(fvec4) +68(@entryPointOutput): 67(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 79: 6 Load 38(g_tInputTexture_sampler) + 80: 9 Load 41(g_tInputTexture) + 95: 24 SampledImage 80 79 + 98: 28(fvec2) CompositeConstruct 43 43 + 99: 12(fvec4) ImageSampleExplicitLod 95 98 Lod 30 + Store 68(@entryPointOutput) 99 + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.aliasOpaque.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.aliasOpaque.frag.out index 222322e48..2ec2678b6 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.aliasOpaque.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.aliasOpaque.frag.out @@ -1,4 +1,5 @@ hlsl.aliasOpaque.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence @@ -21,18 +22,24 @@ gl_FragCoord origin is upper left 0:17 Function Definition: @main( ( temp 4-component vector of float) 0:17 Function Parameters: 0:? Sequence -0:19 'gss2' ( uniform sampler) -0:20 'gss' ( uniform sampler) -0:21 'gtex' ( uniform texture2D) +0:19 move second child to first child ( temp sampler) +0:? 'os.ss' ( temp sampler) +0:19 'gss2' ( uniform sampler) +0:20 move second child to first child ( temp sampler) +0:? 'os.ss' ( temp sampler) +0:20 'gss' ( uniform sampler) +0:21 move second child to first child ( temp texture2D) +0:? 'os.tex' ( temp texture2D) +0:21 'gtex' ( uniform texture2D) 0:22 move second child to first child ( temp float) 0:? 'os.a' ( temp float) 0:22 Constant: 0:22 3.000000 0:28 Branch: Return with expression 0:28 Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float) -0:? 'gss' ( uniform sampler) +0:? 'os.ss' ( temp sampler) 0:? 'os.a' ( temp float) -0:? 'gtex' ( uniform texture2D) +0:? 'os.tex' ( temp texture2D) 0:17 Function Definition: main( ( temp void) 0:17 Function Parameters: 0:? Sequence @@ -71,18 +78,24 @@ gl_FragCoord origin is upper left 0:17 Function Definition: @main( ( temp 4-component vector of float) 0:17 Function Parameters: 0:? Sequence -0:19 'gss2' ( uniform sampler) -0:20 'gss' ( uniform sampler) -0:21 'gtex' ( uniform texture2D) +0:19 move second child to first child ( temp sampler) +0:? 'os.ss' ( temp sampler) +0:19 'gss2' ( uniform sampler) +0:20 move second child to first child ( temp sampler) +0:? 'os.ss' ( temp sampler) +0:20 'gss' ( uniform sampler) +0:21 move second child to first child ( temp texture2D) +0:? 'os.tex' ( temp texture2D) +0:21 'gtex' ( uniform texture2D) 0:22 move second child to first child ( temp float) 0:? 'os.a' ( temp float) 0:22 Constant: 0:22 3.000000 0:28 Branch: Return with expression 0:28 Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float) -0:? 'gss' ( uniform sampler) +0:? 'os.ss' ( temp sampler) 0:? 'os.a' ( temp float) -0:? 'gtex' ( uniform texture2D) +0:? 'os.tex' ( temp texture2D) 0:17 Function Definition: main( ( temp void) 0:17 Function Parameters: 0:? Sequence @@ -97,12 +110,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 48 +// Id's are bound by 59 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 46 + EntryPoint Fragment 4 "main" 57 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -111,24 +124,28 @@ gl_FragCoord origin is upper left Name 15 "s.a" Name 16 "s.tex" Name 20 "@main(" - Name 35 "gss2" - Name 36 "gss" - Name 37 "gtex" - Name 38 "os.a" - Name 40 "param" - Name 46 "@entryPointOutput" - Decorate 35(gss2) DescriptorSet 0 - Decorate 36(gss) DescriptorSet 0 - Decorate 37(gtex) DescriptorSet 0 - Decorate 46(@entryPointOutput) Location 0 + Name 35 "os.ss" + Name 37 "gss2" + Name 39 "gss" + Name 41 "os.tex" + Name 43 "gtex" + Name 45 "os.a" + Name 47 "param" + Name 49 "param" + Name 51 "param" + Name 57 "@entryPointOutput" + Decorate 37(gss2) DescriptorSet 0 + Decorate 39(gss) DescriptorSet 0 + Decorate 43(gtex) DescriptorSet 0 + Decorate 57(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeSampler - 7: TypePointer UniformConstant 6 + 7: TypePointer Function 6 8: TypeFloat 32 9: TypePointer Function 8(float) 10: TypeImage 8(float) 2D sampled format:Unknown - 11: TypePointer UniformConstant 10 + 11: TypePointer Function 10 12: TypeVector 8(float) 4 13: TypeFunction 12(fvec4) 7(ptr) 9(ptr) 11(ptr) 19: TypeFunction 12(fvec4) @@ -137,16 +154,18 @@ gl_FragCoord origin is upper left 28: 8(float) Constant 1045220557 29: 8(float) Constant 1050253722 30: 27(fvec2) ConstantComposite 28 29 - 35(gss2): 7(ptr) Variable UniformConstant - 36(gss): 7(ptr) Variable UniformConstant - 37(gtex): 11(ptr) Variable UniformConstant - 39: 8(float) Constant 1077936128 - 45: TypePointer Output 12(fvec4) -46(@entryPointOutput): 45(ptr) Variable Output + 36: TypePointer UniformConstant 6 + 37(gss2): 36(ptr) Variable UniformConstant + 39(gss): 36(ptr) Variable UniformConstant + 42: TypePointer UniformConstant 10 + 43(gtex): 42(ptr) Variable UniformConstant + 46: 8(float) Constant 1077936128 + 56: TypePointer Output 12(fvec4) +57(@entryPointOutput): 56(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 47: 12(fvec4) FunctionCall 20(@main() - Store 46(@entryPointOutput) 47 + 58: 12(fvec4) FunctionCall 20(@main() + Store 57(@entryPointOutput) 58 Return FunctionEnd 17(osCall(struct-OS-p1-f1-t211;): 12(fvec4) Function None 13 @@ -164,11 +183,25 @@ gl_FragCoord origin is upper left FunctionEnd 20(@main(): 12(fvec4) Function None 19 21: Label - 38(os.a): 9(ptr) Variable Function - 40(param): 9(ptr) Variable Function - Store 38(os.a) 39 - 41: 8(float) Load 38(os.a) - Store 40(param) 41 - 42: 12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 36(gss) 40(param) 37(gtex) - ReturnValue 42 + 35(os.ss): 7(ptr) Variable Function + 41(os.tex): 11(ptr) Variable Function + 45(os.a): 9(ptr) Variable Function + 47(param): 7(ptr) Variable Function + 49(param): 9(ptr) Variable Function + 51(param): 11(ptr) Variable Function + 38: 6 Load 37(gss2) + Store 35(os.ss) 38 + 40: 6 Load 39(gss) + Store 35(os.ss) 40 + 44: 10 Load 43(gtex) + Store 41(os.tex) 44 + Store 45(os.a) 46 + 48: 6 Load 35(os.ss) + Store 47(param) 48 + 50: 8(float) Load 45(os.a) + Store 49(param) 50 + 52: 10 Load 41(os.tex) + Store 51(param) 52 + 53: 12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 47(param) 49(param) 51(param) + ReturnValue 53 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out index 0129eded6..974ca1203 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.array.flatten.frag.out @@ -1,4 +1,5 @@ hlsl.array.flatten.frag +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence @@ -345,13 +346,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 137 +// Id's are bound by 143 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 128 + EntryPoint Fragment 4 "main" 134 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -366,60 +367,62 @@ gl_FragCoord origin is upper left Name 34 "not_flattened_a" Name 42 "g_tex[1]" Name 45 "g_samp[1]" - Name 61 "local_sampler_array" - Name 63 "g_samp[0]" - Name 68 "g_samp[2]" - Name 71 "local_texture_array" - Name 72 "g_tex[0]" - Name 77 "g_tex[2]" - Name 83 "local_float_array" - Name 89 "$Global" - MemberName 89($Global) 0 "g_mats" - MemberName 89($Global) 1 "g_mats_explicit" - MemberName 89($Global) 2 "g_floats" - Name 91 "" - Name 105 "aggShadow" - Name 112 "aggShadow" - Name 123 "ps_output" - Name 124 "param" - Name 128 "ps_output.color" - Name 131 "g_tex_explicit[0]" - Name 132 "g_tex_explicit[1]" - Name 133 "g_tex_explicit[2]" - Name 134 "g_samp_explicit[0]" - Name 135 "g_samp_explicit[1]" - Name 136 "g_samp_explicit[2]" + Name 63 "local_sampler_array" + Name 65 "g_samp[0]" + Name 70 "g_samp[2]" + Name 73 "local_texture_array" + Name 74 "g_tex[0]" + Name 79 "g_tex[2]" + Name 85 "local_float_array" + Name 91 "$Global" + MemberName 91($Global) 0 "g_mats" + MemberName 91($Global) 1 "g_mats_explicit" + MemberName 91($Global) 2 "g_floats" + Name 93 "" + Name 107 "aggShadow" + Name 114 "aggShadow" + Name 121 "param" + Name 123 "param" + Name 129 "ps_output" + Name 130 "param" + Name 134 "ps_output.color" + Name 137 "g_tex_explicit[0]" + Name 138 "g_tex_explicit[1]" + Name 139 "g_tex_explicit[2]" + Name 140 "g_samp_explicit[0]" + Name 141 "g_samp_explicit[1]" + Name 142 "g_samp_explicit[2]" Decorate 42(g_tex[1]) DescriptorSet 0 Decorate 45(g_samp[1]) DescriptorSet 0 - Decorate 63(g_samp[0]) DescriptorSet 0 - Decorate 68(g_samp[2]) DescriptorSet 0 - Decorate 72(g_tex[0]) DescriptorSet 0 - Decorate 77(g_tex[2]) DescriptorSet 0 - Decorate 86 ArrayStride 48 - Decorate 87 ArrayStride 48 - Decorate 88 ArrayStride 16 - MemberDecorate 89($Global) 0 RowMajor - MemberDecorate 89($Global) 0 Offset 0 - MemberDecorate 89($Global) 0 MatrixStride 16 - MemberDecorate 89($Global) 1 RowMajor - MemberDecorate 89($Global) 1 Offset 192 - MemberDecorate 89($Global) 1 MatrixStride 16 - MemberDecorate 89($Global) 2 Offset 384 - Decorate 89($Global) Block - Decorate 91 DescriptorSet 0 - Decorate 128(ps_output.color) Location 0 - Decorate 131(g_tex_explicit[0]) DescriptorSet 0 - Decorate 131(g_tex_explicit[0]) Binding 1 - Decorate 132(g_tex_explicit[1]) DescriptorSet 0 - Decorate 132(g_tex_explicit[1]) Binding 2 - Decorate 133(g_tex_explicit[2]) DescriptorSet 0 - Decorate 133(g_tex_explicit[2]) Binding 3 - Decorate 134(g_samp_explicit[0]) DescriptorSet 0 - Decorate 134(g_samp_explicit[0]) Binding 5 - Decorate 135(g_samp_explicit[1]) DescriptorSet 0 - Decorate 135(g_samp_explicit[1]) Binding 6 - Decorate 136(g_samp_explicit[2]) DescriptorSet 0 - Decorate 136(g_samp_explicit[2]) Binding 7 + Decorate 65(g_samp[0]) DescriptorSet 0 + Decorate 70(g_samp[2]) DescriptorSet 0 + Decorate 74(g_tex[0]) DescriptorSet 0 + Decorate 79(g_tex[2]) DescriptorSet 0 + Decorate 88 ArrayStride 48 + Decorate 89 ArrayStride 48 + Decorate 90 ArrayStride 16 + MemberDecorate 91($Global) 0 RowMajor + MemberDecorate 91($Global) 0 Offset 0 + MemberDecorate 91($Global) 0 MatrixStride 16 + MemberDecorate 91($Global) 1 RowMajor + MemberDecorate 91($Global) 1 Offset 192 + MemberDecorate 91($Global) 1 MatrixStride 16 + MemberDecorate 91($Global) 2 Offset 384 + Decorate 91($Global) Block + Decorate 93 DescriptorSet 0 + Decorate 134(ps_output.color) Location 0 + Decorate 137(g_tex_explicit[0]) DescriptorSet 0 + Decorate 137(g_tex_explicit[0]) Binding 1 + Decorate 138(g_tex_explicit[1]) DescriptorSet 0 + Decorate 138(g_tex_explicit[1]) Binding 2 + Decorate 139(g_tex_explicit[2]) DescriptorSet 0 + Decorate 139(g_tex_explicit[2]) Binding 3 + Decorate 140(g_samp_explicit[0]) DescriptorSet 0 + Decorate 140(g_samp_explicit[0]) Binding 5 + Decorate 141(g_samp_explicit[1]) DescriptorSet 0 + Decorate 141(g_samp_explicit[1]) Binding 6 + Decorate 142(g_samp_explicit[2]) DescriptorSet 0 + Decorate 142(g_samp_explicit[2]) Binding 7 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -429,10 +432,10 @@ gl_FragCoord origin is upper left 12: TypeInt 32 0 13: 12(int) Constant 3 14: TypeArray 11 13 - 15: TypePointer UniformConstant 14 + 15: TypePointer Function 14 16: TypeSampler 17: TypeArray 16 13 - 18: TypePointer UniformConstant 17 + 18: TypePointer Function 17 19: TypeFunction 7(fvec4) 15(ptr) 18(ptr) 24(PS_OUTPUT): TypeStruct 7(fvec4) 25: TypePointer Function 24(PS_OUTPUT) @@ -454,48 +457,46 @@ gl_FragCoord origin is upper left 45(g_samp[1]): 44(ptr) Variable UniformConstant 47: TypeSampledImage 11 49: 6(float) Constant 1045220557 -61(local_sampler_array): 18(ptr) Variable UniformConstant - 62: 30(int) Constant 0 - 63(g_samp[0]): 44(ptr) Variable UniformConstant - 68(g_samp[2]): 44(ptr) Variable UniformConstant -71(local_texture_array): 15(ptr) Variable UniformConstant - 72(g_tex[0]): 41(ptr) Variable UniformConstant - 77(g_tex[2]): 41(ptr) Variable UniformConstant - 80: 12(int) Constant 4 - 81: TypeArray 6(float) 80 - 82: TypePointer Function 81 - 84: TypeVector 6(float) 3 - 85: TypeMatrix 84(fvec3) 3 - 86: TypeArray 85 80 - 87: TypeArray 85 80 - 88: TypeArray 6(float) 80 - 89($Global): TypeStruct 86 87 88 - 90: TypePointer Uniform 89($Global) - 91: 90(ptr) Variable Uniform - 92: TypePointer Uniform 88 - 96: TypePointer Function 6(float) - 105(aggShadow): 15(ptr) Variable UniformConstant - 112(aggShadow): 18(ptr) Variable UniformConstant - 121: TypePointer Function 7(fvec4) - 127: TypePointer Output 7(fvec4) -128(ps_output.color): 127(ptr) Variable Output -131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant -132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant -133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant -134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant -135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant -136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant + 53: TypePointer Function 11 + 56: TypePointer Function 16 + 64: 30(int) Constant 0 + 65(g_samp[0]): 44(ptr) Variable UniformConstant + 70(g_samp[2]): 44(ptr) Variable UniformConstant + 74(g_tex[0]): 41(ptr) Variable UniformConstant + 79(g_tex[2]): 41(ptr) Variable UniformConstant + 82: 12(int) Constant 4 + 83: TypeArray 6(float) 82 + 84: TypePointer Function 83 + 86: TypeVector 6(float) 3 + 87: TypeMatrix 86(fvec3) 3 + 88: TypeArray 87 82 + 89: TypeArray 87 82 + 90: TypeArray 6(float) 82 + 91($Global): TypeStruct 88 89 90 + 92: TypePointer Uniform 91($Global) + 93: 92(ptr) Variable Uniform + 94: TypePointer Uniform 90 + 98: TypePointer Function 6(float) + 127: TypePointer Function 7(fvec4) + 133: TypePointer Output 7(fvec4) +134(ps_output.color): 133(ptr) Variable Output +137(g_tex_explicit[0]): 41(ptr) Variable UniformConstant +138(g_tex_explicit[1]): 41(ptr) Variable UniformConstant +139(g_tex_explicit[2]): 41(ptr) Variable UniformConstant +140(g_samp_explicit[0]): 44(ptr) Variable UniformConstant +141(g_samp_explicit[1]): 44(ptr) Variable UniformConstant +142(g_samp_explicit[2]): 44(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 123(ps_output): 25(ptr) Variable Function - 124(param): 25(ptr) Variable Function + 129(ps_output): 25(ptr) Variable Function + 130(param): 25(ptr) Variable Function Store 34(not_flattened_a) 40 - 125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param) - 126:24(PS_OUTPUT) Load 124(param) - Store 123(ps_output) 126 - 129: 121(ptr) AccessChain 123(ps_output) 62 - 130: 7(fvec4) Load 129 - Store 128(ps_output.color) 130 + 131: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 130(param) + 132:24(PS_OUTPUT) Load 130(param) + Store 129(ps_output) 132 + 135: 127(ptr) AccessChain 129(ps_output) 64 + 136: 7(fvec4) Load 135 + Store 134(ps_output.color) 136 Return FunctionEnd 9(TestFn1(): 7(fvec4) Function None 8 @@ -510,72 +511,82 @@ gl_FragCoord origin is upper left 20(l_tex): 15(ptr) FunctionParameter 21(l_samp): 18(ptr) FunctionParameter 23: Label - 53: 41(ptr) AccessChain 20(l_tex) 36 - 54: 11 Load 53 - 55: 44(ptr) AccessChain 21(l_samp) 36 - 56: 16 Load 55 - 57: 47 SampledImage 54 56 - 58: 7(fvec4) ImageSampleImplicitLod 57 49 - ReturnValue 58 + 54: 53(ptr) AccessChain 20(l_tex) 36 + 55: 11 Load 54 + 57: 56(ptr) AccessChain 21(l_samp) 36 + 58: 16 Load 57 + 59: 47 SampledImage 55 58 + 60: 7(fvec4) ImageSampleImplicitLod 59 49 + ReturnValue 60 FunctionEnd 28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26 27(ps_output): 25(ptr) FunctionParameter 29: Label -83(local_float_array): 82(ptr) Variable Function - 64: 16 Load 63(g_samp[0]) - 65: 44(ptr) AccessChain 61(local_sampler_array) 62 - Store 65 64 - 66: 16 Load 45(g_samp[1]) - 67: 44(ptr) AccessChain 61(local_sampler_array) 35 +63(local_sampler_array): 18(ptr) Variable Function +73(local_texture_array): 15(ptr) Variable Function +85(local_float_array): 84(ptr) Variable Function + 107(aggShadow): 15(ptr) Variable Function + 114(aggShadow): 18(ptr) Variable Function + 121(param): 15(ptr) Variable Function + 123(param): 18(ptr) Variable Function + 66: 16 Load 65(g_samp[0]) + 67: 56(ptr) AccessChain 63(local_sampler_array) 64 Store 67 66 - 69: 16 Load 68(g_samp[2]) - 70: 44(ptr) AccessChain 61(local_sampler_array) 36 - Store 70 69 - 73: 11 Load 72(g_tex[0]) - 74: 41(ptr) AccessChain 71(local_texture_array) 62 - Store 74 73 - 75: 11 Load 42(g_tex[1]) - 76: 41(ptr) AccessChain 71(local_texture_array) 35 + 68: 16 Load 45(g_samp[1]) + 69: 56(ptr) AccessChain 63(local_sampler_array) 35 + Store 69 68 + 71: 16 Load 70(g_samp[2]) + 72: 56(ptr) AccessChain 63(local_sampler_array) 36 + Store 72 71 + 75: 11 Load 74(g_tex[0]) + 76: 53(ptr) AccessChain 73(local_texture_array) 64 Store 76 75 - 78: 11 Load 77(g_tex[2]) - 79: 41(ptr) AccessChain 71(local_texture_array) 36 - Store 79 78 - 93: 92(ptr) AccessChain 91 36 - 94: 88 Load 93 - 95: 6(float) CompositeExtract 94 0 - 97: 96(ptr) AccessChain 83(local_float_array) 62 - Store 97 95 - 98: 6(float) CompositeExtract 94 1 - 99: 96(ptr) AccessChain 83(local_float_array) 35 - Store 99 98 - 100: 6(float) CompositeExtract 94 2 - 101: 96(ptr) AccessChain 83(local_float_array) 36 + 77: 11 Load 42(g_tex[1]) + 78: 53(ptr) AccessChain 73(local_texture_array) 35 + Store 78 77 + 80: 11 Load 79(g_tex[2]) + 81: 53(ptr) AccessChain 73(local_texture_array) 36 + Store 81 80 + 95: 94(ptr) AccessChain 93 36 + 96: 90 Load 95 + 97: 6(float) CompositeExtract 96 0 + 99: 98(ptr) AccessChain 85(local_float_array) 64 + Store 99 97 + 100: 6(float) CompositeExtract 96 1 + 101: 98(ptr) AccessChain 85(local_float_array) 35 Store 101 100 - 102: 6(float) CompositeExtract 94 3 - 103: 96(ptr) AccessChain 83(local_float_array) 37 + 102: 6(float) CompositeExtract 96 2 + 103: 98(ptr) AccessChain 85(local_float_array) 36 Store 103 102 - 104: 7(fvec4) FunctionCall 9(TestFn1() - 106: 11 Load 72(g_tex[0]) - 107: 41(ptr) AccessChain 105(aggShadow) 62 - Store 107 106 - 108: 11 Load 42(g_tex[1]) - 109: 41(ptr) AccessChain 105(aggShadow) 35 + 104: 6(float) CompositeExtract 96 3 + 105: 98(ptr) AccessChain 85(local_float_array) 37 + Store 105 104 + 106: 7(fvec4) FunctionCall 9(TestFn1() + 108: 11 Load 74(g_tex[0]) + 109: 53(ptr) AccessChain 107(aggShadow) 64 Store 109 108 - 110: 11 Load 77(g_tex[2]) - 111: 41(ptr) AccessChain 105(aggShadow) 36 + 110: 11 Load 42(g_tex[1]) + 111: 53(ptr) AccessChain 107(aggShadow) 35 Store 111 110 - 113: 16 Load 63(g_samp[0]) - 114: 44(ptr) AccessChain 112(aggShadow) 62 - Store 114 113 - 115: 16 Load 45(g_samp[1]) - 116: 44(ptr) AccessChain 112(aggShadow) 35 + 112: 11 Load 79(g_tex[2]) + 113: 53(ptr) AccessChain 107(aggShadow) 36 + Store 113 112 + 115: 16 Load 65(g_samp[0]) + 116: 56(ptr) AccessChain 114(aggShadow) 64 Store 116 115 - 117: 16 Load 68(g_samp[2]) - 118: 44(ptr) AccessChain 112(aggShadow) 36 + 117: 16 Load 45(g_samp[1]) + 118: 56(ptr) AccessChain 114(aggShadow) 35 Store 118 117 - 119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow) - 120: 7(fvec4) FAdd 104 119 - 122: 121(ptr) AccessChain 27(ps_output) 62 - Store 122 120 + 119: 16 Load 70(g_samp[2]) + 120: 56(ptr) AccessChain 114(aggShadow) 36 + Store 120 119 + 122: 14 Load 107(aggShadow) + Store 121(param) 122 + 124: 17 Load 114(aggShadow) + Store 123(param) 124 + 125: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 121(param) 123(param) + 126: 7(fvec4) FAdd 106 125 + 128: 127(ptr) AccessChain 27(ps_output) 64 + Store 128 126 Return FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaque.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaque.frag.out index aa7212489..08504d44b 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaque.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaque.frag.out @@ -179,12 +179,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 85 +// Id's are bound by 99 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 83 + EntryPoint Fragment 4 "main" 97 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -201,22 +201,28 @@ gl_FragCoord origin is upper left Name 30 "s.tex" Name 31 "f2" Name 35 "@main(" - Name 37 "tex" - Name 68 "s.s2D" - Name 70 "param" - Name 73 "s2.s2D" - Name 74 "s2.tex" - Name 77 "param" - Name 83 "@entryPointOutput" - Decorate 37(tex) DescriptorSet 0 - Decorate 68(s.s2D) DescriptorSet 0 - Decorate 73(s2.s2D) DescriptorSet 0 - Decorate 74(s2.tex) DescriptorSet 0 - Decorate 83(@entryPointOutput) Location 0 + Name 38 "tex" + Name 70 "s.s2D" + Name 71 "param" + Name 74 "param" + Name 76 "param" + Name 79 "s2.s2D" + Name 80 "s2.tex" + Name 81 "param" + Name 83 "param" + Name 87 "param" + Name 89 "param" + Name 91 "param" + Name 97 "@entryPointOutput" + Decorate 38(tex) DescriptorSet 0 + Decorate 70(s.s2D) DescriptorSet 0 + Decorate 79(s2.s2D) DescriptorSet 0 + Decorate 80(s2.tex) DescriptorSet 0 + Decorate 97(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeSampler - 7: TypePointer UniformConstant 6 + 7: TypePointer Function 6 8: TypeFloat 32 9: TypeVector 8(float) 4 10: TypeFunction 9(fvec4) 7(ptr) @@ -224,80 +230,100 @@ gl_FragCoord origin is upper left 15: TypePointer Function 14(fvec2) 16: TypeFunction 9(fvec4) 7(ptr) 15(ptr) 21: TypeImage 8(float) 2D sampled format:Unknown - 22: TypePointer UniformConstant 21 + 22: TypePointer Function 21 23: TypeFunction 9(fvec4) 7(ptr) 22(ptr) 28: TypeFunction 9(fvec4) 7(ptr) 22(ptr) 15(ptr) 34: TypeFunction 9(fvec4) - 37(tex): 22(ptr) Variable UniformConstant - 40: TypeSampledImage 21 - 42: 8(float) Constant 1045220557 - 43: 8(float) Constant 1050253722 - 44: 14(fvec2) ConstantComposite 42 43 - 68(s.s2D): 7(ptr) Variable UniformConstant - 73(s2.s2D): 7(ptr) Variable UniformConstant - 74(s2.tex): 22(ptr) Variable UniformConstant - 82: TypePointer Output 9(fvec4) -83(@entryPointOutput): 82(ptr) Variable Output + 37: TypePointer UniformConstant 21 + 38(tex): 37(ptr) Variable UniformConstant + 41: TypeSampledImage 21 + 43: 8(float) Constant 1045220557 + 44: 8(float) Constant 1050253722 + 45: 14(fvec2) ConstantComposite 43 44 + 69: TypePointer UniformConstant 6 + 70(s.s2D): 69(ptr) Variable UniformConstant + 79(s2.s2D): 69(ptr) Variable UniformConstant + 80(s2.tex): 37(ptr) Variable UniformConstant + 96: TypePointer Output 9(fvec4) +97(@entryPointOutput): 96(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 84: 9(fvec4) FunctionCall 35(@main() - Store 83(@entryPointOutput) 84 + 98: 9(fvec4) FunctionCall 35(@main() + Store 97(@entryPointOutput) 98 Return FunctionEnd 12(osCall1(struct-os-p11;): 9(fvec4) Function None 10 11(s.s2D): 7(ptr) FunctionParameter 13: Label - 38: 21 Load 37(tex) - 39: 6 Load 11(s.s2D) - 41: 40 SampledImage 38 39 - 45: 9(fvec4) ImageSampleImplicitLod 41 44 - ReturnValue 45 + 39: 21 Load 38(tex) + 40: 6 Load 11(s.s2D) + 42: 41 SampledImage 39 40 + 46: 9(fvec4) ImageSampleImplicitLod 42 45 + ReturnValue 46 FunctionEnd 19(osCall2(struct-os-p11;vf2;): 9(fvec4) Function None 16 17(s.s2D): 7(ptr) FunctionParameter 18(f2): 15(ptr) FunctionParameter 20: Label - 48: 21 Load 37(tex) - 49: 6 Load 17(s.s2D) - 50: 40 SampledImage 48 49 - 51: 14(fvec2) Load 18(f2) - 52: 9(fvec4) ImageSampleImplicitLod 50 51 - ReturnValue 52 + 49: 21 Load 38(tex) + 50: 6 Load 17(s.s2D) + 51: 41 SampledImage 49 50 + 52: 14(fvec2) Load 18(f2) + 53: 9(fvec4) ImageSampleImplicitLod 51 52 + ReturnValue 53 FunctionEnd 26(os2Call1(struct-os2-p1-t211;): 9(fvec4) Function None 23 24(s.s2D): 7(ptr) FunctionParameter 25(s.tex): 22(ptr) FunctionParameter 27: Label - 55: 21 Load 25(s.tex) - 56: 6 Load 24(s.s2D) - 57: 40 SampledImage 55 56 - 58: 9(fvec4) ImageSampleImplicitLod 57 44 - ReturnValue 58 + 56: 21 Load 25(s.tex) + 57: 6 Load 24(s.s2D) + 58: 41 SampledImage 56 57 + 59: 9(fvec4) ImageSampleImplicitLod 58 45 + ReturnValue 59 FunctionEnd 32(os2Call2(struct-os2-p1-t211;vf2;): 9(fvec4) Function None 28 29(s.s2D): 7(ptr) FunctionParameter 30(s.tex): 22(ptr) FunctionParameter 31(f2): 15(ptr) FunctionParameter 33: Label - 61: 21 Load 30(s.tex) - 62: 6 Load 29(s.s2D) - 63: 40 SampledImage 61 62 - 64: 14(fvec2) Load 31(f2) - 65: 9(fvec4) ImageSampleImplicitLod 63 64 - ReturnValue 65 + 62: 21 Load 30(s.tex) + 63: 6 Load 29(s.s2D) + 64: 41 SampledImage 62 63 + 65: 14(fvec2) Load 31(f2) + 66: 9(fvec4) ImageSampleImplicitLod 64 65 + ReturnValue 66 FunctionEnd 35(@main(): 9(fvec4) Function None 34 36: Label - 70(param): 15(ptr) Variable Function - 77(param): 15(ptr) Variable Function - 69: 9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 68(s.s2D) - Store 70(param) 44 - 71: 9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 68(s.s2D) 70(param) - 72: 9(fvec4) FAdd 69 71 - 75: 9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 73(s2.s2D) 74(s2.tex) - 76: 9(fvec4) FAdd 72 75 - Store 77(param) 44 - 78: 9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 73(s2.s2D) 74(s2.tex) 77(param) - 79: 9(fvec4) FAdd 76 78 - ReturnValue 79 + 71(param): 7(ptr) Variable Function + 74(param): 7(ptr) Variable Function + 76(param): 15(ptr) Variable Function + 81(param): 7(ptr) Variable Function + 83(param): 22(ptr) Variable Function + 87(param): 7(ptr) Variable Function + 89(param): 22(ptr) Variable Function + 91(param): 15(ptr) Variable Function + 72: 6 Load 70(s.s2D) + Store 71(param) 72 + 73: 9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 71(param) + 75: 6 Load 70(s.s2D) + Store 74(param) 75 + Store 76(param) 45 + 77: 9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 74(param) 76(param) + 78: 9(fvec4) FAdd 73 77 + 82: 6 Load 79(s2.s2D) + Store 81(param) 82 + 84: 21 Load 80(s2.tex) + Store 83(param) 84 + 85: 9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 81(param) 83(param) + 86: 9(fvec4) FAdd 78 85 + 88: 6 Load 79(s2.s2D) + Store 87(param) 88 + 90: 21 Load 80(s2.tex) + Store 89(param) 90 + Store 91(param) 45 + 92: 9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 87(param) 89(param) 91(param) + 93: 9(fvec4) FAdd 86 92 + ReturnValue 93 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInit.vert.out index 4bd316186..dee2808d0 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInit.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInit.vert.out @@ -1,6 +1,5 @@ hlsl.flattenOpaqueInit.vert -WARNING: 0:20: '=' : cannot do member-wise aliasing for opaque members with this initializer - +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 0:? Sequence 0:5 Function Definition: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float) @@ -19,13 +18,36 @@ Shader version: 500 0:10 Function Definition: fillOpaque( ( temp structure{ temp sampler smpl, temp texture2D tex}) 0:10 Function Parameters: 0:? Sequence -0:12 'g_tInputTexture_sampler' ( uniform sampler) -0:13 'g_tInputTexture' ( uniform texture2D) +0:12 move second child to first child ( temp sampler) +0:? 't.smpl' ( temp sampler) +0:12 'g_tInputTexture_sampler' ( uniform sampler) +0:13 move second child to first child ( temp texture2D) +0:? 't.tex' ( temp texture2D) +0:13 'g_tInputTexture' ( uniform texture2D) 0:14 Branch: Return with expression 0:14 't' ( temp structure{ temp sampler smpl, temp texture2D tex}) 0:18 Function Definition: @main( ( temp 4-component vector of float) 0:18 Function Parameters: 0:? Sequence +0:19 Sequence +0:19 Sequence +0:19 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 Construct structure ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 'g_tInputTexture_sampler' ( uniform sampler) +0:19 'g_tInputTexture' ( uniform texture2D) +0:19 move second child to first child ( temp sampler) +0:? 'tex1.smpl' ( temp sampler) +0:19 smpl: direct index for structure ( temp sampler) +0:19 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 Constant: +0:19 0 (const int) +0:19 move second child to first child ( temp texture2D) +0:? 'tex1.tex' ( temp texture2D) +0:19 tex: direct index for structure ( temp texture2D) +0:19 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 Constant: +0:19 1 (const int) 0:20 Sequence 0:20 Sequence 0:20 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex}) @@ -45,8 +67,8 @@ Shader version: 500 0:20 1 (const int) 0:21 Branch: Return with expression 0:21 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float) -0:? 'g_tInputTexture_sampler' ( uniform sampler) -0:? 'g_tInputTexture' ( uniform texture2D) +0:? 'tex1.smpl' ( temp sampler) +0:? 'tex1.tex' ( temp texture2D) 0:18 Function Definition: main( ( temp void) 0:18 Function Parameters: 0:? Sequence @@ -80,13 +102,36 @@ Shader version: 500 0:10 Function Definition: fillOpaque( ( temp structure{ temp sampler smpl, temp texture2D tex}) 0:10 Function Parameters: 0:? Sequence -0:12 'g_tInputTexture_sampler' ( uniform sampler) -0:13 'g_tInputTexture' ( uniform texture2D) +0:12 move second child to first child ( temp sampler) +0:? 't.smpl' ( temp sampler) +0:12 'g_tInputTexture_sampler' ( uniform sampler) +0:13 move second child to first child ( temp texture2D) +0:? 't.tex' ( temp texture2D) +0:13 'g_tInputTexture' ( uniform texture2D) 0:14 Branch: Return with expression 0:14 't' ( temp structure{ temp sampler smpl, temp texture2D tex}) 0:18 Function Definition: @main( ( temp 4-component vector of float) 0:18 Function Parameters: 0:? Sequence +0:19 Sequence +0:19 Sequence +0:19 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 Construct structure ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 'g_tInputTexture_sampler' ( uniform sampler) +0:19 'g_tInputTexture' ( uniform texture2D) +0:19 move second child to first child ( temp sampler) +0:? 'tex1.smpl' ( temp sampler) +0:19 smpl: direct index for structure ( temp sampler) +0:19 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 Constant: +0:19 0 (const int) +0:19 move second child to first child ( temp texture2D) +0:? 'tex1.tex' ( temp texture2D) +0:19 tex: direct index for structure ( temp texture2D) +0:19 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex}) +0:19 Constant: +0:19 1 (const int) 0:20 Sequence 0:20 Sequence 0:20 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex}) @@ -106,8 +151,8 @@ Shader version: 500 0:20 1 (const int) 0:21 Branch: Return with expression 0:21 Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float) -0:? 'g_tInputTexture_sampler' ( uniform sampler) -0:? 'g_tInputTexture' ( uniform texture2D) +0:? 'tex1.smpl' ( temp sampler) +0:? 'tex1.tex' ( temp texture2D) 0:18 Function Definition: main( ( temp void) 0:18 Function Parameters: 0:? Sequence @@ -121,12 +166,12 @@ Shader version: 500 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 60 +// Id's are bound by 80 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 58 + EntryPoint Vertex 4 "main" 78 Source HLSL 500 Name 4 "main" Name 15 "lookUp(struct-FxaaTex-p1-t211;" @@ -137,23 +182,30 @@ Shader version: 500 MemberName 17(FxaaTex) 1 "tex" Name 19 "fillOpaque(" Name 22 "@main(" - Name 36 "g_tInputTexture_sampler" - Name 37 "g_tInputTexture" - Name 39 "t" - Name 43 "flattenTemp" - Name 45 "tex2.smpl" - Name 50 "tex2.tex" - Name 58 "@entryPointOutput" - Decorate 36(g_tInputTexture_sampler) DescriptorSet 0 - Decorate 37(g_tInputTexture) DescriptorSet 0 - Decorate 58(@entryPointOutput) Location 0 + Name 36 "t.smpl" + Name 38 "g_tInputTexture_sampler" + Name 40 "t.tex" + Name 42 "g_tInputTexture" + Name 45 "t" + Name 49 "flattenTemp" + Name 53 "tex1.smpl" + Name 58 "tex1.tex" + Name 62 "flattenTemp" + Name 64 "tex2.smpl" + Name 67 "tex2.tex" + Name 70 "param" + Name 72 "param" + Name 78 "@entryPointOutput" + Decorate 38(g_tInputTexture_sampler) DescriptorSet 0 + Decorate 42(g_tInputTexture) DescriptorSet 0 + Decorate 78(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeSampler - 7: TypePointer UniformConstant 6 + 7: TypePointer Function 6 8: TypeFloat 32 9: TypeImage 8(float) 2D sampled format:Unknown - 10: TypePointer UniformConstant 9 + 10: TypePointer Function 9 11: TypeVector 8(float) 4 12: TypeFunction 11(fvec4) 7(ptr) 10(ptr) 17(FxaaTex): TypeStruct 6 9 @@ -165,22 +217,20 @@ Shader version: 500 30: 8(float) Constant 1053609165 31: 28(fvec2) ConstantComposite 29 30 32: 8(float) Constant 0 -36(g_tInputTexture_sampler): 7(ptr) Variable UniformConstant -37(g_tInputTexture): 10(ptr) Variable UniformConstant - 38: TypePointer UniformConstant 17(FxaaTex) - 39(t): 38(ptr) Variable UniformConstant - 43(flattenTemp): 38(ptr) Variable UniformConstant - 45(tex2.smpl): 7(ptr) Variable UniformConstant - 46: TypeInt 32 1 - 47: 46(int) Constant 0 - 50(tex2.tex): 10(ptr) Variable UniformConstant - 51: 46(int) Constant 1 - 57: TypePointer Output 11(fvec4) -58(@entryPointOutput): 57(ptr) Variable Output + 37: TypePointer UniformConstant 6 +38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant + 41: TypePointer UniformConstant 9 +42(g_tInputTexture): 41(ptr) Variable UniformConstant + 44: TypePointer Function 17(FxaaTex) + 54: TypeInt 32 1 + 55: 54(int) Constant 0 + 59: 54(int) Constant 1 + 77: TypePointer Output 11(fvec4) +78(@entryPointOutput): 77(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 59: 11(fvec4) FunctionCall 22(@main() - Store 58(@entryPointOutput) 59 + 79: 11(fvec4) FunctionCall 22(@main() + Store 78(@entryPointOutput) 79 Return FunctionEnd 15(lookUp(struct-FxaaTex-p1-t211;): 11(fvec4) Function None 12 @@ -195,19 +245,48 @@ Shader version: 500 FunctionEnd 19(fillOpaque(): 17(FxaaTex) Function None 18 20: Label - 40: 17(FxaaTex) Load 39(t) - ReturnValue 40 + 36(t.smpl): 7(ptr) Variable Function + 40(t.tex): 10(ptr) Variable Function + 45(t): 44(ptr) Variable Function + 39: 6 Load 38(g_tInputTexture_sampler) + Store 36(t.smpl) 39 + 43: 9 Load 42(g_tInputTexture) + Store 40(t.tex) 43 + 46: 17(FxaaTex) Load 45(t) + ReturnValue 46 FunctionEnd 22(@main(): 11(fvec4) Function None 21 23: Label - 44: 17(FxaaTex) FunctionCall 19(fillOpaque() - Store 43(flattenTemp) 44 - 48: 7(ptr) AccessChain 43(flattenTemp) 47 - 49: 6 Load 48 - Store 45(tex2.smpl) 49 - 52: 10(ptr) AccessChain 43(flattenTemp) 51 - 53: 9 Load 52 - Store 50(tex2.tex) 53 - 54: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 36(g_tInputTexture_sampler) 37(g_tInputTexture) - ReturnValue 54 + 49(flattenTemp): 44(ptr) Variable Function + 53(tex1.smpl): 7(ptr) Variable Function + 58(tex1.tex): 10(ptr) Variable Function + 62(flattenTemp): 44(ptr) Variable Function + 64(tex2.smpl): 7(ptr) Variable Function + 67(tex2.tex): 10(ptr) Variable Function + 70(param): 7(ptr) Variable Function + 72(param): 10(ptr) Variable Function + 50: 6 Load 38(g_tInputTexture_sampler) + 51: 9 Load 42(g_tInputTexture) + 52: 17(FxaaTex) CompositeConstruct 50 51 + Store 49(flattenTemp) 52 + 56: 7(ptr) AccessChain 49(flattenTemp) 55 + 57: 6 Load 56 + Store 53(tex1.smpl) 57 + 60: 10(ptr) AccessChain 49(flattenTemp) 59 + 61: 9 Load 60 + Store 58(tex1.tex) 61 + 63: 17(FxaaTex) FunctionCall 19(fillOpaque() + Store 62(flattenTemp) 63 + 65: 7(ptr) AccessChain 62(flattenTemp) 55 + 66: 6 Load 65 + Store 64(tex2.smpl) 66 + 68: 10(ptr) AccessChain 62(flattenTemp) 59 + 69: 9 Load 68 + Store 67(tex2.tex) 69 + 71: 6 Load 53(tex1.smpl) + Store 70(param) 71 + 73: 9 Load 58(tex1.tex) + Store 72(param) 73 + 74: 11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 70(param) 72(param) + ReturnValue 74 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out index 1dbc3c357..7487cf03e 100755 --- a/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out @@ -1,4 +1,5 @@ hlsl.flattenOpaqueInitMix.vert +WARNING: AST will form illegal SPIR-V; need to transform to legalize Shader version: 500 0:? Sequence 0:5 Function Definition: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float) @@ -19,15 +20,36 @@ Shader version: 500 0:10 Function Parameters: 0:? Sequence 0:11 Sequence -0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Construct structure ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 'g_tInputTexture_sampler' ( uniform sampler) +0:11 'g_tInputTexture' ( uniform texture2D) +0:11 Constant: +0:11 0.500000 +0:11 move second child to first child ( temp sampler) +0:? 'tex.smpl' ( temp sampler) +0:11 smpl: direct index for structure ( temp sampler) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Constant: +0:11 0 (const int) +0:11 move second child to first child ( temp texture2D) +0:? 'tex.tex' ( temp texture2D) +0:11 tex: direct index for structure ( temp texture2D) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Constant: +0:11 1 (const int) 0:11 move second child to first child ( temp float) 0:? 'tex.f' ( temp float) -0:11 Constant: -0:11 0.500000 +0:11 f: direct index for structure ( temp float) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Constant: +0:11 2 (const int) 0:12 Branch: Return with expression 0:12 Function Call: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float) -0:? 'g_tInputTexture_sampler' ( uniform sampler) -0:? 'g_tInputTexture' ( uniform texture2D) +0:? 'tex.smpl' ( temp sampler) +0:? 'tex.tex' ( temp texture2D) 0:? 'tex.f' ( temp float) 0:10 Function Definition: main( ( temp void) 0:10 Function Parameters: @@ -64,15 +86,36 @@ Shader version: 500 0:10 Function Parameters: 0:? Sequence 0:11 Sequence -0:? Sequence +0:11 Sequence +0:11 move second child to first child ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Construct structure ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 'g_tInputTexture_sampler' ( uniform sampler) +0:11 'g_tInputTexture' ( uniform texture2D) +0:11 Constant: +0:11 0.500000 +0:11 move second child to first child ( temp sampler) +0:? 'tex.smpl' ( temp sampler) +0:11 smpl: direct index for structure ( temp sampler) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Constant: +0:11 0 (const int) +0:11 move second child to first child ( temp texture2D) +0:? 'tex.tex' ( temp texture2D) +0:11 tex: direct index for structure ( temp texture2D) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Constant: +0:11 1 (const int) 0:11 move second child to first child ( temp float) 0:? 'tex.f' ( temp float) -0:11 Constant: -0:11 0.500000 +0:11 f: direct index for structure ( temp float) +0:11 'flattenTemp' ( temp structure{ temp sampler smpl, temp texture2D tex, temp float f}) +0:11 Constant: +0:11 2 (const int) 0:12 Branch: Return with expression 0:12 Function Call: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float) -0:? 'g_tInputTexture_sampler' ( uniform sampler) -0:? 'g_tInputTexture' ( uniform texture2D) +0:? 'tex.smpl' ( temp sampler) +0:? 'tex.tex' ( temp texture2D) 0:? 'tex.f' ( temp float) 0:10 Function Definition: main( ( temp void) 0:10 Function Parameters: @@ -87,12 +130,12 @@ Shader version: 500 // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 46 +// Id's are bound by 70 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 4 "main" 44 + EntryPoint Vertex 4 "main" 68 Source HLSL 500 Name 4 "main" Name 17 "lookUp(struct-FxaaTex-p1-t21-f11;" @@ -100,21 +143,30 @@ Shader version: 500 Name 15 "tex.tex" Name 16 "tex.f" Name 20 "@main(" - Name 34 "tex.f" - Name 36 "g_tInputTexture_sampler" - Name 37 "g_tInputTexture" - Name 38 "param" - Name 44 "@entryPointOutput" - Decorate 36(g_tInputTexture_sampler) DescriptorSet 0 - Decorate 37(g_tInputTexture) DescriptorSet 0 - Decorate 44(@entryPointOutput) Location 0 + Name 34 "FxaaTex" + MemberName 34(FxaaTex) 0 "smpl" + MemberName 34(FxaaTex) 1 "tex" + MemberName 34(FxaaTex) 2 "f" + Name 36 "flattenTemp" + Name 38 "g_tInputTexture_sampler" + Name 41 "g_tInputTexture" + Name 45 "tex.smpl" + Name 50 "tex.tex" + Name 54 "tex.f" + Name 58 "param" + Name 60 "param" + Name 62 "param" + Name 68 "@entryPointOutput" + Decorate 38(g_tInputTexture_sampler) DescriptorSet 0 + Decorate 41(g_tInputTexture) DescriptorSet 0 + Decorate 68(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeSampler - 7: TypePointer UniformConstant 6 + 7: TypePointer Function 6 8: TypeFloat 32 9: TypeImage 8(float) 2D sampled format:Unknown - 10: TypePointer UniformConstant 9 + 10: TypePointer Function 9 11: TypePointer Function 8(float) 12: TypeVector 8(float) 4 13: TypeFunction 12(fvec4) 7(ptr) 10(ptr) 11(ptr) @@ -122,15 +174,23 @@ Shader version: 500 24: TypeSampledImage 9 28: TypeVector 8(float) 2 30: 8(float) Constant 0 - 35: 8(float) Constant 1056964608 -36(g_tInputTexture_sampler): 7(ptr) Variable UniformConstant -37(g_tInputTexture): 10(ptr) Variable UniformConstant - 43: TypePointer Output 12(fvec4) -44(@entryPointOutput): 43(ptr) Variable Output + 34(FxaaTex): TypeStruct 6 9 8(float) + 35: TypePointer Function 34(FxaaTex) + 37: TypePointer UniformConstant 6 +38(g_tInputTexture_sampler): 37(ptr) Variable UniformConstant + 40: TypePointer UniformConstant 9 +41(g_tInputTexture): 40(ptr) Variable UniformConstant + 43: 8(float) Constant 1056964608 + 46: TypeInt 32 1 + 47: 46(int) Constant 0 + 51: 46(int) Constant 1 + 55: 46(int) Constant 2 + 67: TypePointer Output 12(fvec4) +68(@entryPointOutput): 67(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 45: 12(fvec4) FunctionCall 20(@main() - Store 44(@entryPointOutput) 45 + 69: 12(fvec4) FunctionCall 20(@main() + Store 68(@entryPointOutput) 69 Return FunctionEnd 17(lookUp(struct-FxaaTex-p1-t21-f11;): 12(fvec4) Function None 13 @@ -149,11 +209,32 @@ Shader version: 500 FunctionEnd 20(@main(): 12(fvec4) Function None 19 21: Label - 34(tex.f): 11(ptr) Variable Function - 38(param): 11(ptr) Variable Function - Store 34(tex.f) 35 - 39: 8(float) Load 34(tex.f) - Store 38(param) 39 - 40: 12(fvec4) FunctionCall 17(lookUp(struct-FxaaTex-p1-t21-f11;) 36(g_tInputTexture_sampler) 37(g_tInputTexture) 38(param) - ReturnValue 40 + 36(flattenTemp): 35(ptr) Variable Function + 45(tex.smpl): 7(ptr) Variable Function + 50(tex.tex): 10(ptr) Variable Function + 54(tex.f): 11(ptr) Variable Function + 58(param): 7(ptr) Variable Function + 60(param): 10(ptr) Variable Function + 62(param): 11(ptr) Variable Function + 39: 6 Load 38(g_tInputTexture_sampler) + 42: 9 Load 41(g_tInputTexture) + 44: 34(FxaaTex) CompositeConstruct 39 42 43 + Store 36(flattenTemp) 44 + 48: 7(ptr) AccessChain 36(flattenTemp) 47 + 49: 6 Load 48 + Store 45(tex.smpl) 49 + 52: 10(ptr) AccessChain 36(flattenTemp) 51 + 53: 9 Load 52 + Store 50(tex.tex) 53 + 56: 11(ptr) AccessChain 36(flattenTemp) 55 + 57: 8(float) Load 56 + Store 54(tex.f) 57 + 59: 6 Load 45(tex.smpl) + Store 58(param) 59 + 61: 9 Load 50(tex.tex) + Store 60(param) 61 + 63: 8(float) Load 54(tex.f) + Store 62(param) 63 + 64: 12(fvec4) FunctionCall 17(lookUp(struct-FxaaTex-p1-t21-f11;) 58(param) 60(param) 62(param) + ReturnValue 64 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out index 996e07027..1493774f0 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:45 'txval001' ( temp 4-component vector of float) 0:45 textureGatherOffset ( temp 4-component vector of float) 0:45 Construct combined texture-sampler ( temp sampler2DShadow) -0:45 'g_tTex2df4' ( uniform texture2D) +0:45 'g_tTex2df4' ( uniform texture2DShadow) 0:45 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:45 c2: direct index for structure ( uniform 2-component vector of float) 0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -26,7 +26,7 @@ gl_FragCoord origin is upper left 0:46 'txval011' ( temp 4-component vector of int) 0:46 textureGatherOffset ( temp 4-component vector of int) 0:46 Construct combined texture-sampler ( temp isampler2DShadow) -0:46 'g_tTex2di4' ( uniform itexture2D) +0:46 'g_tTex2di4' ( uniform itexture2DShadow) 0:46 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:46 c2: direct index for structure ( uniform 2-component vector of float) 0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -42,7 +42,7 @@ gl_FragCoord origin is upper left 0:47 'txval021' ( temp 4-component vector of uint) 0:47 textureGatherOffset ( temp 4-component vector of uint) 0:47 Construct combined texture-sampler ( temp usampler2DShadow) -0:47 'g_tTex2du4' ( uniform utexture2D) +0:47 'g_tTex2du4' ( uniform utexture2DShadow) 0:47 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:47 c2: direct index for structure ( uniform 2-component vector of float) 0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -58,7 +58,7 @@ gl_FragCoord origin is upper left 0:49 'txval004' ( temp 4-component vector of float) 0:49 textureGatherOffsets ( temp 4-component vector of float) 0:49 Construct combined texture-sampler ( temp sampler2DShadow) -0:49 'g_tTex2df4' ( uniform texture2D) +0:49 'g_tTex2df4' ( uniform texture2DShadow) 0:49 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:49 c2: direct index for structure ( uniform 2-component vector of float) 0:49 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -80,7 +80,7 @@ gl_FragCoord origin is upper left 0:50 'txval014' ( temp 4-component vector of int) 0:50 textureGatherOffsets ( temp 4-component vector of int) 0:50 Construct combined texture-sampler ( temp isampler2DShadow) -0:50 'g_tTex2di4' ( uniform itexture2D) +0:50 'g_tTex2di4' ( uniform itexture2DShadow) 0:50 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:50 c2: direct index for structure ( uniform 2-component vector of float) 0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -102,7 +102,7 @@ gl_FragCoord origin is upper left 0:51 'txval024' ( temp 4-component vector of uint) 0:51 textureGatherOffsets ( temp 4-component vector of uint) 0:51 Construct combined texture-sampler ( temp usampler2DShadow) -0:51 'g_tTex2du4' ( uniform utexture2D) +0:51 'g_tTex2du4' ( uniform utexture2DShadow) 0:51 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:51 c2: direct index for structure ( uniform 2-component vector of float) 0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -124,7 +124,7 @@ gl_FragCoord origin is upper left 0:53 'txval401' ( temp 4-component vector of float) 0:53 textureGatherOffset ( temp 4-component vector of float) 0:53 Construct combined texture-sampler ( temp sampler2DShadow) -0:53 'g_tTex2df4' ( uniform texture2D) +0:53 'g_tTex2df4' ( uniform texture2DShadow) 0:53 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:53 c2: direct index for structure ( uniform 2-component vector of float) 0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -140,7 +140,7 @@ gl_FragCoord origin is upper left 0:54 'txval411' ( temp 4-component vector of int) 0:54 textureGatherOffset ( temp 4-component vector of int) 0:54 Construct combined texture-sampler ( temp isampler2DShadow) -0:54 'g_tTex2di4' ( uniform itexture2D) +0:54 'g_tTex2di4' ( uniform itexture2DShadow) 0:54 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:54 c2: direct index for structure ( uniform 2-component vector of float) 0:54 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -156,7 +156,7 @@ gl_FragCoord origin is upper left 0:55 'txval421' ( temp 4-component vector of uint) 0:55 textureGatherOffset ( temp 4-component vector of uint) 0:55 Construct combined texture-sampler ( temp usampler2DShadow) -0:55 'g_tTex2du4' ( uniform utexture2D) +0:55 'g_tTex2du4' ( uniform utexture2DShadow) 0:55 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:55 c2: direct index for structure ( uniform 2-component vector of float) 0:55 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -211,9 +211,9 @@ gl_FragCoord origin is upper left 0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:? 'g_tTex1di4' ( uniform itexture1D) 0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) @@ -239,7 +239,7 @@ gl_FragCoord origin is upper left 0:45 'txval001' ( temp 4-component vector of float) 0:45 textureGatherOffset ( temp 4-component vector of float) 0:45 Construct combined texture-sampler ( temp sampler2DShadow) -0:45 'g_tTex2df4' ( uniform texture2D) +0:45 'g_tTex2df4' ( uniform texture2DShadow) 0:45 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:45 c2: direct index for structure ( uniform 2-component vector of float) 0:45 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -255,7 +255,7 @@ gl_FragCoord origin is upper left 0:46 'txval011' ( temp 4-component vector of int) 0:46 textureGatherOffset ( temp 4-component vector of int) 0:46 Construct combined texture-sampler ( temp isampler2DShadow) -0:46 'g_tTex2di4' ( uniform itexture2D) +0:46 'g_tTex2di4' ( uniform itexture2DShadow) 0:46 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:46 c2: direct index for structure ( uniform 2-component vector of float) 0:46 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -271,7 +271,7 @@ gl_FragCoord origin is upper left 0:47 'txval021' ( temp 4-component vector of uint) 0:47 textureGatherOffset ( temp 4-component vector of uint) 0:47 Construct combined texture-sampler ( temp usampler2DShadow) -0:47 'g_tTex2du4' ( uniform utexture2D) +0:47 'g_tTex2du4' ( uniform utexture2DShadow) 0:47 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:47 c2: direct index for structure ( uniform 2-component vector of float) 0:47 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -287,7 +287,7 @@ gl_FragCoord origin is upper left 0:49 'txval004' ( temp 4-component vector of float) 0:49 textureGatherOffsets ( temp 4-component vector of float) 0:49 Construct combined texture-sampler ( temp sampler2DShadow) -0:49 'g_tTex2df4' ( uniform texture2D) +0:49 'g_tTex2df4' ( uniform texture2DShadow) 0:49 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:49 c2: direct index for structure ( uniform 2-component vector of float) 0:49 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -309,7 +309,7 @@ gl_FragCoord origin is upper left 0:50 'txval014' ( temp 4-component vector of int) 0:50 textureGatherOffsets ( temp 4-component vector of int) 0:50 Construct combined texture-sampler ( temp isampler2DShadow) -0:50 'g_tTex2di4' ( uniform itexture2D) +0:50 'g_tTex2di4' ( uniform itexture2DShadow) 0:50 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:50 c2: direct index for structure ( uniform 2-component vector of float) 0:50 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -331,7 +331,7 @@ gl_FragCoord origin is upper left 0:51 'txval024' ( temp 4-component vector of uint) 0:51 textureGatherOffsets ( temp 4-component vector of uint) 0:51 Construct combined texture-sampler ( temp usampler2DShadow) -0:51 'g_tTex2du4' ( uniform utexture2D) +0:51 'g_tTex2du4' ( uniform utexture2DShadow) 0:51 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:51 c2: direct index for structure ( uniform 2-component vector of float) 0:51 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -353,7 +353,7 @@ gl_FragCoord origin is upper left 0:53 'txval401' ( temp 4-component vector of float) 0:53 textureGatherOffset ( temp 4-component vector of float) 0:53 Construct combined texture-sampler ( temp sampler2DShadow) -0:53 'g_tTex2df4' ( uniform texture2D) +0:53 'g_tTex2df4' ( uniform texture2DShadow) 0:53 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:53 c2: direct index for structure ( uniform 2-component vector of float) 0:53 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -369,7 +369,7 @@ gl_FragCoord origin is upper left 0:54 'txval411' ( temp 4-component vector of int) 0:54 textureGatherOffset ( temp 4-component vector of int) 0:54 Construct combined texture-sampler ( temp isampler2DShadow) -0:54 'g_tTex2di4' ( uniform itexture2D) +0:54 'g_tTex2di4' ( uniform itexture2DShadow) 0:54 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:54 c2: direct index for structure ( uniform 2-component vector of float) 0:54 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -385,7 +385,7 @@ gl_FragCoord origin is upper left 0:55 'txval421' ( temp 4-component vector of uint) 0:55 textureGatherOffset ( temp 4-component vector of uint) 0:55 Construct combined texture-sampler ( temp usampler2DShadow) -0:55 'g_tTex2du4' ( uniform utexture2D) +0:55 'g_tTex2du4' ( uniform utexture2DShadow) 0:55 'g_sSampCmp' (layout( binding=0) uniform sampler) 0:55 c2: direct index for structure ( uniform 2-component vector of float) 0:55 'anon@0' (layout( row_major std140) uniform block{ uniform float c1, uniform 2-component vector of float c2, uniform 3-component vector of float c3, uniform 4-component vector of float c4}) @@ -440,9 +440,9 @@ gl_FragCoord origin is upper left 0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) 0:? 'g_tTex1di4' ( uniform itexture1D) 0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) @@ -455,13 +455,13 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 167 +// Id's are bound by 164 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 132 136 + EntryPoint Fragment 4 "main" 129 133 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -472,61 +472,61 @@ gl_FragCoord origin is upper left Name 13 "txval001" Name 16 "g_tTex2df4" Name 20 "g_sSampCmp" - Name 27 "$Global" - MemberName 27($Global) 0 "c1" - MemberName 27($Global) 1 "c2" - MemberName 27($Global) 2 "c3" - MemberName 27($Global) 3 "c4" - Name 29 "" - Name 42 "txval011" - Name 45 "g_tTex2di4" - Name 59 "txval021" - Name 62 "g_tTex2du4" - Name 72 "txval004" - Name 82 "txval014" - Name 90 "txval024" - Name 98 "txval401" - Name 105 "txval411" - Name 112 "txval421" - Name 120 "psout" - Name 129 "flattenTemp" - Name 132 "@entryPointOutput.Color" - Name 136 "@entryPointOutput.Depth" - Name 141 "g_tTex1df4a" - Name 142 "g_tTex1df4" - Name 145 "g_tTex1di4" - Name 148 "g_tTex1du4" - Name 151 "g_tTex3df4" - Name 154 "g_tTex3di4" - Name 157 "g_tTex3du4" - Name 160 "g_tTexcdf4" - Name 163 "g_tTexcdi4" - Name 166 "g_tTexcdu4" + Name 26 "$Global" + MemberName 26($Global) 0 "c1" + MemberName 26($Global) 1 "c2" + MemberName 26($Global) 2 "c3" + MemberName 26($Global) 3 "c4" + Name 28 "" + Name 41 "txval011" + Name 44 "g_tTex2di4" + Name 57 "txval021" + Name 60 "g_tTex2du4" + Name 69 "txval004" + Name 79 "txval014" + Name 87 "txval024" + Name 95 "txval401" + Name 102 "txval411" + Name 109 "txval421" + Name 117 "psout" + Name 126 "flattenTemp" + Name 129 "@entryPointOutput.Color" + Name 133 "@entryPointOutput.Depth" + Name 138 "g_tTex1df4a" + Name 139 "g_tTex1df4" + Name 142 "g_tTex1di4" + Name 145 "g_tTex1du4" + Name 148 "g_tTex3df4" + Name 151 "g_tTex3di4" + Name 154 "g_tTex3du4" + Name 157 "g_tTexcdf4" + Name 160 "g_tTexcdi4" + Name 163 "g_tTexcdu4" Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSampCmp) DescriptorSet 0 Decorate 20(g_sSampCmp) Binding 0 - MemberDecorate 27($Global) 0 Offset 0 - MemberDecorate 27($Global) 1 Offset 8 - MemberDecorate 27($Global) 2 Offset 16 - MemberDecorate 27($Global) 3 Offset 32 - Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 - Decorate 45(g_tTex2di4) DescriptorSet 0 - Decorate 62(g_tTex2du4) DescriptorSet 0 - Decorate 132(@entryPointOutput.Color) Location 0 - Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 141(g_tTex1df4a) DescriptorSet 0 - Decorate 141(g_tTex1df4a) Binding 1 - Decorate 142(g_tTex1df4) DescriptorSet 0 - Decorate 142(g_tTex1df4) Binding 0 - Decorate 145(g_tTex1di4) DescriptorSet 0 - Decorate 148(g_tTex1du4) DescriptorSet 0 - Decorate 151(g_tTex3df4) DescriptorSet 0 - Decorate 154(g_tTex3di4) DescriptorSet 0 - Decorate 157(g_tTex3du4) DescriptorSet 0 - Decorate 160(g_tTexcdf4) DescriptorSet 0 - Decorate 163(g_tTexcdi4) DescriptorSet 0 - Decorate 166(g_tTexcdu4) DescriptorSet 0 + MemberDecorate 26($Global) 0 Offset 0 + MemberDecorate 26($Global) 1 Offset 8 + MemberDecorate 26($Global) 2 Offset 16 + MemberDecorate 26($Global) 3 Offset 32 + Decorate 26($Global) Block + Decorate 28 DescriptorSet 0 + Decorate 44(g_tTex2di4) DescriptorSet 0 + Decorate 60(g_tTex2du4) DescriptorSet 0 + Decorate 129(@entryPointOutput.Color) Location 0 + Decorate 133(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 138(g_tTex1df4a) DescriptorSet 0 + Decorate 138(g_tTex1df4a) Binding 1 + Decorate 139(g_tTex1df4) DescriptorSet 0 + Decorate 139(g_tTex1df4) Binding 0 + Decorate 142(g_tTex1di4) DescriptorSet 0 + Decorate 145(g_tTex1du4) DescriptorSet 0 + Decorate 148(g_tTex3df4) DescriptorSet 0 + Decorate 151(g_tTex3di4) DescriptorSet 0 + Decorate 154(g_tTex3du4) DescriptorSet 0 + Decorate 157(g_tTexcdf4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 163(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -534,177 +534,174 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 7(fvec4) - 14: TypeImage 6(float) 2D sampled format:Unknown + 14: TypeImage 6(float) 2D depth sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex2df4): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSampCmp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 2D depth sampled format:Unknown - 23: TypeSampledImage 22 - 25: TypeVector 6(float) 2 - 26: TypeVector 6(float) 3 - 27($Global): TypeStruct 6(float) 25(fvec2) 26(fvec3) 7(fvec4) - 28: TypePointer Uniform 27($Global) - 29: 28(ptr) Variable Uniform - 30: TypeInt 32 1 - 31: 30(int) Constant 1 - 32: TypePointer Uniform 25(fvec2) - 35: 6(float) Constant 1061158912 - 36: TypeVector 30(int) 2 - 37: 30(int) Constant 0 - 38: 36(ivec2) ConstantComposite 31 37 - 40: TypeVector 30(int) 4 - 41: TypePointer Function 40(ivec4) - 43: TypeImage 30(int) 2D sampled format:Unknown - 44: TypePointer UniformConstant 43 - 45(g_tTex2di4): 44(ptr) Variable UniformConstant - 48: TypeImage 30(int) 2D depth sampled format:Unknown - 49: TypeSampledImage 48 - 53: 30(int) Constant 4294967295 - 54: 36(ivec2) ConstantComposite 31 53 - 56: TypeInt 32 0 - 57: TypeVector 56(int) 4 - 58: TypePointer Function 57(ivec4) - 60: TypeImage 56(int) 2D sampled format:Unknown - 61: TypePointer UniformConstant 60 - 62(g_tTex2du4): 61(ptr) Variable UniformConstant - 65: TypeImage 56(int) 2D depth sampled format:Unknown - 66: TypeSampledImage 65 - 70: 36(ivec2) ConstantComposite 31 31 - 78: 56(int) Constant 4 - 79: TypeArray 36(ivec2) 78 - 80: 79 ConstantComposite 38 38 38 38 - 88: 79 ConstantComposite 54 54 54 54 - 96: 79 ConstantComposite 70 70 70 70 - 119: TypePointer Function 8(PS_OUTPUT) - 121: 6(float) Constant 1065353216 - 122: 7(fvec4) ConstantComposite 121 121 121 121 - 124: TypePointer Function 6(float) - 131: TypePointer Output 7(fvec4) -132(@entryPointOutput.Color): 131(ptr) Variable Output - 135: TypePointer Output 6(float) -136(@entryPointOutput.Depth): 135(ptr) Variable Output - 139: TypeImage 6(float) 1D sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTex1df4a): 140(ptr) Variable UniformConstant - 142(g_tTex1df4): 140(ptr) Variable UniformConstant - 143: TypeImage 30(int) 1D sampled format:Unknown + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: TypeVector 6(float) 3 + 26($Global): TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) + 27: TypePointer Uniform 26($Global) + 28: 27(ptr) Variable Uniform + 29: TypeInt 32 1 + 30: 29(int) Constant 1 + 31: TypePointer Uniform 24(fvec2) + 34: 6(float) Constant 1061158912 + 35: TypeVector 29(int) 2 + 36: 29(int) Constant 0 + 37: 35(ivec2) ConstantComposite 30 36 + 39: TypeVector 29(int) 4 + 40: TypePointer Function 39(ivec4) + 42: TypeImage 29(int) 2D depth sampled format:Unknown + 43: TypePointer UniformConstant 42 + 44(g_tTex2di4): 43(ptr) Variable UniformConstant + 47: TypeSampledImage 42 + 51: 29(int) Constant 4294967295 + 52: 35(ivec2) ConstantComposite 30 51 + 54: TypeInt 32 0 + 55: TypeVector 54(int) 4 + 56: TypePointer Function 55(ivec4) + 58: TypeImage 54(int) 2D depth sampled format:Unknown + 59: TypePointer UniformConstant 58 + 60(g_tTex2du4): 59(ptr) Variable UniformConstant + 63: TypeSampledImage 58 + 67: 35(ivec2) ConstantComposite 30 30 + 75: 54(int) Constant 4 + 76: TypeArray 35(ivec2) 75 + 77: 76 ConstantComposite 37 37 37 37 + 85: 76 ConstantComposite 52 52 52 52 + 93: 76 ConstantComposite 67 67 67 67 + 116: TypePointer Function 8(PS_OUTPUT) + 118: 6(float) Constant 1065353216 + 119: 7(fvec4) ConstantComposite 118 118 118 118 + 121: TypePointer Function 6(float) + 128: TypePointer Output 7(fvec4) +129(@entryPointOutput.Color): 128(ptr) Variable Output + 132: TypePointer Output 6(float) +133(@entryPointOutput.Depth): 132(ptr) Variable Output + 136: TypeImage 6(float) 1D sampled format:Unknown + 137: TypePointer UniformConstant 136 +138(g_tTex1df4a): 137(ptr) Variable UniformConstant + 139(g_tTex1df4): 137(ptr) Variable UniformConstant + 140: TypeImage 29(int) 1D sampled format:Unknown + 141: TypePointer UniformConstant 140 + 142(g_tTex1di4): 141(ptr) Variable UniformConstant + 143: TypeImage 54(int) 1D sampled format:Unknown 144: TypePointer UniformConstant 143 - 145(g_tTex1di4): 144(ptr) Variable UniformConstant - 146: TypeImage 56(int) 1D sampled format:Unknown + 145(g_tTex1du4): 144(ptr) Variable UniformConstant + 146: TypeImage 6(float) 3D sampled format:Unknown 147: TypePointer UniformConstant 146 - 148(g_tTex1du4): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) 3D sampled format:Unknown + 148(g_tTex3df4): 147(ptr) Variable UniformConstant + 149: TypeImage 29(int) 3D sampled format:Unknown 150: TypePointer UniformConstant 149 - 151(g_tTex3df4): 150(ptr) Variable UniformConstant - 152: TypeImage 30(int) 3D sampled format:Unknown + 151(g_tTex3di4): 150(ptr) Variable UniformConstant + 152: TypeImage 54(int) 3D sampled format:Unknown 153: TypePointer UniformConstant 152 - 154(g_tTex3di4): 153(ptr) Variable UniformConstant - 155: TypeImage 56(int) 3D sampled format:Unknown + 154(g_tTex3du4): 153(ptr) Variable UniformConstant + 155: TypeImage 6(float) Cube sampled format:Unknown 156: TypePointer UniformConstant 155 - 157(g_tTex3du4): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) Cube sampled format:Unknown + 157(g_tTexcdf4): 156(ptr) Variable UniformConstant + 158: TypeImage 29(int) Cube sampled format:Unknown 159: TypePointer UniformConstant 158 - 160(g_tTexcdf4): 159(ptr) Variable UniformConstant - 161: TypeImage 30(int) Cube sampled format:Unknown + 160(g_tTexcdi4): 159(ptr) Variable UniformConstant + 161: TypeImage 54(int) Cube sampled format:Unknown 162: TypePointer UniformConstant 161 - 163(g_tTexcdi4): 162(ptr) Variable UniformConstant - 164: TypeImage 56(int) Cube sampled format:Unknown - 165: TypePointer UniformConstant 164 - 166(g_tTexcdu4): 165(ptr) Variable UniformConstant + 163(g_tTexcdu4): 162(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -129(flattenTemp): 119(ptr) Variable Function - 130:8(PS_OUTPUT) FunctionCall 10(@main() - Store 129(flattenTemp) 130 - 133: 12(ptr) AccessChain 129(flattenTemp) 37 - 134: 7(fvec4) Load 133 - Store 132(@entryPointOutput.Color) 134 - 137: 124(ptr) AccessChain 129(flattenTemp) 31 - 138: 6(float) Load 137 - Store 136(@entryPointOutput.Depth) 138 +126(flattenTemp): 116(ptr) Variable Function + 127:8(PS_OUTPUT) FunctionCall 10(@main() + Store 126(flattenTemp) 127 + 130: 12(ptr) AccessChain 126(flattenTemp) 36 + 131: 7(fvec4) Load 130 + Store 129(@entryPointOutput.Color) 131 + 134: 121(ptr) AccessChain 126(flattenTemp) 30 + 135: 6(float) Load 134 + Store 133(@entryPointOutput.Depth) 135 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(txval001): 12(ptr) Variable Function - 42(txval011): 41(ptr) Variable Function - 59(txval021): 58(ptr) Variable Function - 72(txval004): 12(ptr) Variable Function - 82(txval014): 41(ptr) Variable Function - 90(txval024): 58(ptr) Variable Function - 98(txval401): 12(ptr) Variable Function - 105(txval411): 41(ptr) Variable Function - 112(txval421): 58(ptr) Variable Function - 120(psout): 119(ptr) Variable Function + 41(txval011): 40(ptr) Variable Function + 57(txval021): 56(ptr) Variable Function + 69(txval004): 12(ptr) Variable Function + 79(txval014): 40(ptr) Variable Function + 87(txval024): 56(ptr) Variable Function + 95(txval401): 12(ptr) Variable Function + 102(txval411): 40(ptr) Variable Function + 109(txval421): 56(ptr) Variable Function + 117(psout): 116(ptr) Variable Function 17: 14 Load 16(g_tTex2df4) 21: 18 Load 20(g_sSampCmp) - 24: 23 SampledImage 17 21 - 33: 32(ptr) AccessChain 29 31 - 34: 25(fvec2) Load 33 - 39: 7(fvec4) ImageDrefGather 24 34 35 ConstOffset 38 - Store 13(txval001) 39 - 46: 43 Load 45(g_tTex2di4) - 47: 18 Load 20(g_sSampCmp) - 50: 49 SampledImage 46 47 - 51: 32(ptr) AccessChain 29 31 - 52: 25(fvec2) Load 51 - 55: 40(ivec4) ImageDrefGather 50 52 35 ConstOffset 54 - Store 42(txval011) 55 - 63: 60 Load 62(g_tTex2du4) - 64: 18 Load 20(g_sSampCmp) - 67: 66 SampledImage 63 64 - 68: 32(ptr) AccessChain 29 31 - 69: 25(fvec2) Load 68 - 71: 57(ivec4) ImageDrefGather 67 69 35 ConstOffset 70 - Store 59(txval021) 71 - 73: 14 Load 16(g_tTex2df4) - 74: 18 Load 20(g_sSampCmp) - 75: 23 SampledImage 73 74 - 76: 32(ptr) AccessChain 29 31 - 77: 25(fvec2) Load 76 - 81: 7(fvec4) ImageDrefGather 75 77 35 ConstOffsets 80 - Store 72(txval004) 81 - 83: 43 Load 45(g_tTex2di4) - 84: 18 Load 20(g_sSampCmp) - 85: 49 SampledImage 83 84 - 86: 32(ptr) AccessChain 29 31 - 87: 25(fvec2) Load 86 - 89: 40(ivec4) ImageDrefGather 85 87 35 ConstOffsets 88 - Store 82(txval014) 89 - 91: 60 Load 62(g_tTex2du4) - 92: 18 Load 20(g_sSampCmp) - 93: 66 SampledImage 91 92 - 94: 32(ptr) AccessChain 29 31 - 95: 25(fvec2) Load 94 - 97: 57(ivec4) ImageDrefGather 93 95 35 ConstOffsets 96 - Store 90(txval024) 97 - 99: 14 Load 16(g_tTex2df4) - 100: 18 Load 20(g_sSampCmp) - 101: 23 SampledImage 99 100 - 102: 32(ptr) AccessChain 29 31 - 103: 25(fvec2) Load 102 - 104: 7(fvec4) ImageDrefGather 101 103 35 ConstOffset 38 - Store 98(txval401) 104 - 106: 43 Load 45(g_tTex2di4) - 107: 18 Load 20(g_sSampCmp) - 108: 49 SampledImage 106 107 - 109: 32(ptr) AccessChain 29 31 - 110: 25(fvec2) Load 109 - 111: 40(ivec4) ImageDrefGather 108 110 35 ConstOffset 54 - Store 105(txval411) 111 - 113: 60 Load 62(g_tTex2du4) - 114: 18 Load 20(g_sSampCmp) - 115: 66 SampledImage 113 114 - 116: 32(ptr) AccessChain 29 31 - 117: 25(fvec2) Load 116 - 118: 57(ivec4) ImageDrefGather 115 117 35 ConstOffset 70 - Store 112(txval421) 118 - 123: 12(ptr) AccessChain 120(psout) 37 - Store 123 122 - 125: 124(ptr) AccessChain 120(psout) 31 - Store 125 121 - 126:8(PS_OUTPUT) Load 120(psout) - ReturnValue 126 + 23: 22 SampledImage 17 21 + 32: 31(ptr) AccessChain 28 30 + 33: 24(fvec2) Load 32 + 38: 7(fvec4) ImageDrefGather 23 33 34 ConstOffset 37 + Store 13(txval001) 38 + 45: 42 Load 44(g_tTex2di4) + 46: 18 Load 20(g_sSampCmp) + 48: 47 SampledImage 45 46 + 49: 31(ptr) AccessChain 28 30 + 50: 24(fvec2) Load 49 + 53: 39(ivec4) ImageDrefGather 48 50 34 ConstOffset 52 + Store 41(txval011) 53 + 61: 58 Load 60(g_tTex2du4) + 62: 18 Load 20(g_sSampCmp) + 64: 63 SampledImage 61 62 + 65: 31(ptr) AccessChain 28 30 + 66: 24(fvec2) Load 65 + 68: 55(ivec4) ImageDrefGather 64 66 34 ConstOffset 67 + Store 57(txval021) 68 + 70: 14 Load 16(g_tTex2df4) + 71: 18 Load 20(g_sSampCmp) + 72: 22 SampledImage 70 71 + 73: 31(ptr) AccessChain 28 30 + 74: 24(fvec2) Load 73 + 78: 7(fvec4) ImageDrefGather 72 74 34 ConstOffsets 77 + Store 69(txval004) 78 + 80: 42 Load 44(g_tTex2di4) + 81: 18 Load 20(g_sSampCmp) + 82: 47 SampledImage 80 81 + 83: 31(ptr) AccessChain 28 30 + 84: 24(fvec2) Load 83 + 86: 39(ivec4) ImageDrefGather 82 84 34 ConstOffsets 85 + Store 79(txval014) 86 + 88: 58 Load 60(g_tTex2du4) + 89: 18 Load 20(g_sSampCmp) + 90: 63 SampledImage 88 89 + 91: 31(ptr) AccessChain 28 30 + 92: 24(fvec2) Load 91 + 94: 55(ivec4) ImageDrefGather 90 92 34 ConstOffsets 93 + Store 87(txval024) 94 + 96: 14 Load 16(g_tTex2df4) + 97: 18 Load 20(g_sSampCmp) + 98: 22 SampledImage 96 97 + 99: 31(ptr) AccessChain 28 30 + 100: 24(fvec2) Load 99 + 101: 7(fvec4) ImageDrefGather 98 100 34 ConstOffset 37 + Store 95(txval401) 101 + 103: 42 Load 44(g_tTex2di4) + 104: 18 Load 20(g_sSampCmp) + 105: 47 SampledImage 103 104 + 106: 31(ptr) AccessChain 28 30 + 107: 24(fvec2) Load 106 + 108: 39(ivec4) ImageDrefGather 105 107 34 ConstOffset 52 + Store 102(txval411) 108 + 110: 58 Load 60(g_tTex2du4) + 111: 18 Load 20(g_sSampCmp) + 112: 63 SampledImage 110 111 + 113: 31(ptr) AccessChain 28 30 + 114: 24(fvec2) Load 113 + 115: 55(ivec4) ImageDrefGather 112 114 34 ConstOffset 67 + Store 109(txval421) 115 + 120: 12(ptr) AccessChain 117(psout) 36 + Store 120 119 + 122: 121(ptr) AccessChain 117(psout) 30 + Store 122 118 + 123:8(PS_OUTPUT) Load 117(psout) + ReturnValue 123 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.opaque-type-bug.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.opaque-type-bug.frag.out index 3eed75240..f57169e98 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.opaque-type-bug.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.opaque-type-bug.frag.out @@ -59,7 +59,7 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 26 +// Id's are bound by 27 Capability Shader 1: ExtInstImport "GLSL.std.450" @@ -68,44 +68,45 @@ gl_FragCoord origin is upper left ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" - Name 14 "TexFunc(t21;vf3;" - Name 12 "t2D" - Name 13 "RGB" - Name 16 "@main(" + Name 13 "TexFunc(t21;vf3;" + Name 11 "t2D" + Name 12 "RGB" + Name 15 "@main(" Name 20 "MyTexture" - Name 21 "final_RGB" - Name 22 "param" + Name 22 "final_RGB" + Name 23 "param" Decorate 20(MyTexture) DescriptorSet 0 Decorate 20(MyTexture) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeImage 6(float) 2D sampled format:Unknown - 8: TypePointer UniformConstant 7 - 9: TypeVector 6(float) 3 - 10: TypePointer Function 9(fvec3) - 11: TypeFunction 2 8(ptr) 10(ptr) - 18: 6(float) Constant 0 - 19: 9(fvec3) ConstantComposite 18 18 18 - 20(MyTexture): 8(ptr) Variable UniformConstant + 8: TypeVector 6(float) 3 + 9: TypePointer Function 8(fvec3) + 10: TypeFunction 2 7 9(ptr) + 17: 6(float) Constant 0 + 18: 8(fvec3) ConstantComposite 17 17 17 + 19: TypePointer UniformConstant 7 + 20(MyTexture): 19(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label - 25: 2 FunctionCall 16(@main() + 26: 2 FunctionCall 15(@main() Return FunctionEnd -14(TexFunc(t21;vf3;): 2 Function None 11 - 12(t2D): 8(ptr) FunctionParameter - 13(RGB): 10(ptr) FunctionParameter - 15: Label - Store 13(RGB) 19 +13(TexFunc(t21;vf3;): 2 Function None 10 + 11(t2D): 7 FunctionParameter + 12(RGB): 9(ptr) FunctionParameter + 14: Label + Store 12(RGB) 18 Return FunctionEnd - 16(@main(): 2 Function None 3 - 17: Label - 21(final_RGB): 10(ptr) Variable Function - 22(param): 10(ptr) Variable Function - 23: 2 FunctionCall 14(TexFunc(t21;vf3;) 20(MyTexture) 22(param) - 24: 9(fvec3) Load 22(param) - Store 21(final_RGB) 24 + 15(@main(): 2 Function None 3 + 16: Label + 22(final_RGB): 9(ptr) Variable Function + 23(param): 9(ptr) Variable Function + 21: 7 Load 20(MyTexture) + 24: 2 FunctionCall 13(TexFunc(t21;vf3;) 21 23(param) + 25: 8(fvec3) Load 23(param) + Store 22(final_RGB) 25 Return FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index 299cade76..43f6cfafa 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r10' ( temp float) 0:42 texture ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -23,7 +23,7 @@ gl_FragCoord origin is upper left 0:43 'r12' ( temp float) 0:43 texture ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -36,7 +36,7 @@ gl_FragCoord origin is upper left 0:44 'r14' ( temp float) 0:44 texture ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -49,7 +49,7 @@ gl_FragCoord origin is upper left 0:47 'r30' ( temp float) 0:47 texture ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -63,7 +63,7 @@ gl_FragCoord origin is upper left 0:48 'r32' ( temp float) 0:48 texture ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -77,7 +77,7 @@ gl_FragCoord origin is upper left 0:49 'r34' ( temp float) 0:49 texture ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -91,7 +91,7 @@ gl_FragCoord origin is upper left 0:52 'r60' ( temp float) 0:52 texture ( temp float) 0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) 0:52 'g_sSamp' (layout( binding=0) uniform sampler) 0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -106,7 +106,7 @@ gl_FragCoord origin is upper left 0:53 'r62' ( temp float) 0:53 texture ( temp float) 0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -121,7 +121,7 @@ gl_FragCoord origin is upper left 0:54 'r64' ( temp float) 0:54 texture ( temp float) 0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -183,15 +183,15 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) -0:? 'g_tTexcdf4a' ( uniform textureCubeArray) -0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) -0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) +0:? 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:? '@entryPointOutput.Depth' ( out float FragDepth) 0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float) @@ -210,7 +210,7 @@ gl_FragCoord origin is upper left 0:42 'r10' ( temp float) 0:42 texture ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -223,7 +223,7 @@ gl_FragCoord origin is upper left 0:43 'r12' ( temp float) 0:43 texture ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -236,7 +236,7 @@ gl_FragCoord origin is upper left 0:44 'r14' ( temp float) 0:44 texture ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -249,7 +249,7 @@ gl_FragCoord origin is upper left 0:47 'r30' ( temp float) 0:47 texture ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -263,7 +263,7 @@ gl_FragCoord origin is upper left 0:48 'r32' ( temp float) 0:48 texture ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -277,7 +277,7 @@ gl_FragCoord origin is upper left 0:49 'r34' ( temp float) 0:49 texture ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -291,7 +291,7 @@ gl_FragCoord origin is upper left 0:52 'r60' ( temp float) 0:52 texture ( temp float) 0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) 0:52 'g_sSamp' (layout( binding=0) uniform sampler) 0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -306,7 +306,7 @@ gl_FragCoord origin is upper left 0:53 'r62' ( temp float) 0:53 texture ( temp float) 0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -321,7 +321,7 @@ gl_FragCoord origin is upper left 0:54 'r64' ( temp float) 0:54 texture ( temp float) 0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -383,28 +383,28 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) -0:? 'g_tTexcdf4a' ( uniform textureCubeArray) -0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) -0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) +0:? 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:? '@entryPointOutput.Depth' ( out float FragDepth) 0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 218 +// Id's are bound by 209 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 175 179 + EntryPoint Fragment 4 "main" 166 170 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -415,64 +415,64 @@ gl_FragCoord origin is upper left Name 13 "r10" Name 16 "g_tTex1df4a" Name 20 "g_sSamp" - Name 36 "r12" - Name 40 "g_tTex1di4a" - Name 51 "r14" - Name 55 "g_tTex1du4a" - Name 66 "r30" - Name 69 "g_tTex2df4a" - Name 83 "r32" - Name 86 "g_tTex2di4a" - Name 98 "r34" - Name 101 "g_tTex2du4a" - Name 113 "r60" - Name 116 "g_tTexcdf4a" - Name 130 "r62" - Name 133 "g_tTexcdi4a" - Name 145 "r64" - Name 148 "g_tTexcdu4a" - Name 161 "psout" - Name 172 "flattenTemp" - Name 175 "@entryPointOutput.Color" - Name 179 "@entryPointOutput.Depth" - Name 184 "g_tTex1df4" - Name 187 "g_tTex1di4" - Name 190 "g_tTex1du4" - Name 193 "g_tTex2df4" - Name 196 "g_tTex2di4" - Name 199 "g_tTex2du4" - Name 202 "g_tTex3df4" - Name 205 "g_tTex3di4" - Name 208 "g_tTex3du4" - Name 211 "g_tTexcdf4" - Name 214 "g_tTexcdi4" - Name 217 "g_tTexcdu4" + Name 35 "r12" + Name 39 "g_tTex1di4a" + Name 49 "r14" + Name 53 "g_tTex1du4a" + Name 63 "r30" + Name 66 "g_tTex2df4a" + Name 79 "r32" + Name 82 "g_tTex2di4a" + Name 93 "r34" + Name 96 "g_tTex2du4a" + Name 107 "r60" + Name 110 "g_tTexcdf4a" + Name 123 "r62" + Name 126 "g_tTexcdi4a" + Name 137 "r64" + Name 140 "g_tTexcdu4a" + Name 152 "psout" + Name 163 "flattenTemp" + Name 166 "@entryPointOutput.Color" + Name 170 "@entryPointOutput.Depth" + Name 175 "g_tTex1df4" + Name 178 "g_tTex1di4" + Name 181 "g_tTex1du4" + Name 184 "g_tTex2df4" + Name 187 "g_tTex2di4" + Name 190 "g_tTex2du4" + Name 193 "g_tTex3df4" + Name 196 "g_tTex3di4" + Name 199 "g_tTex3du4" + Name 202 "g_tTexcdf4" + Name 205 "g_tTexcdi4" + Name 208 "g_tTexcdu4" Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex1di4a) DescriptorSet 0 - Decorate 55(g_tTex1du4a) DescriptorSet 0 - Decorate 69(g_tTex2df4a) DescriptorSet 0 - Decorate 86(g_tTex2di4a) DescriptorSet 0 - Decorate 101(g_tTex2du4a) DescriptorSet 0 - Decorate 116(g_tTexcdf4a) DescriptorSet 0 - Decorate 133(g_tTexcdi4a) DescriptorSet 0 - Decorate 148(g_tTexcdu4a) DescriptorSet 0 - Decorate 175(@entryPointOutput.Color) Location 0 - Decorate 179(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 184(g_tTex1df4) DescriptorSet 0 - Decorate 184(g_tTex1df4) Binding 0 - Decorate 187(g_tTex1di4) DescriptorSet 0 - Decorate 190(g_tTex1du4) DescriptorSet 0 - Decorate 193(g_tTex2df4) DescriptorSet 0 - Decorate 196(g_tTex2di4) DescriptorSet 0 - Decorate 199(g_tTex2du4) DescriptorSet 0 - Decorate 202(g_tTex3df4) DescriptorSet 0 - Decorate 205(g_tTex3di4) DescriptorSet 0 - Decorate 208(g_tTex3du4) DescriptorSet 0 - Decorate 211(g_tTexcdf4) DescriptorSet 0 - Decorate 214(g_tTexcdi4) DescriptorSet 0 - Decorate 217(g_tTexcdu4) DescriptorSet 0 + Decorate 39(g_tTex1di4a) DescriptorSet 0 + Decorate 53(g_tTex1du4a) DescriptorSet 0 + Decorate 66(g_tTex2df4a) DescriptorSet 0 + Decorate 82(g_tTex2di4a) DescriptorSet 0 + Decorate 96(g_tTex2du4a) DescriptorSet 0 + Decorate 110(g_tTexcdf4a) DescriptorSet 0 + Decorate 126(g_tTexcdi4a) DescriptorSet 0 + Decorate 140(g_tTexcdu4a) DescriptorSet 0 + Decorate 166(@entryPointOutput.Color) Location 0 + Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 175(g_tTex1df4) DescriptorSet 0 + Decorate 175(g_tTex1df4) Binding 0 + Decorate 178(g_tTex1di4) DescriptorSet 0 + Decorate 181(g_tTex1du4) DescriptorSet 0 + Decorate 184(g_tTex2df4) DescriptorSet 0 + Decorate 187(g_tTex2di4) DescriptorSet 0 + Decorate 190(g_tTex2du4) DescriptorSet 0 + Decorate 193(g_tTex3df4) DescriptorSet 0 + Decorate 196(g_tTex3di4) DescriptorSet 0 + Decorate 199(g_tTex3du4) DescriptorSet 0 + Decorate 202(g_tTexcdf4) DescriptorSet 0 + Decorate 205(g_tTexcdi4) DescriptorSet 0 + Decorate 208(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -480,228 +480,219 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D array sampled format:Unknown + 14: TypeImage 6(float) 1D depth array sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4a): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth array sampled format:Unknown - 23: TypeSampledImage 22 - 25: TypeVector 6(float) 2 - 26: 6(float) Constant 1036831949 - 27: 6(float) Constant 1045220557 - 28: 25(fvec2) ConstantComposite 26 27 - 29: 6(float) Constant 1061158912 - 30: TypeVector 6(float) 3 - 37: TypeInt 32 1 - 38: TypeImage 37(int) 1D array sampled format:Unknown - 39: TypePointer UniformConstant 38 - 40(g_tTex1di4a): 39(ptr) Variable UniformConstant - 43: TypeImage 37(int) 1D depth array sampled format:Unknown - 44: TypeSampledImage 43 - 52: TypeInt 32 0 - 53: TypeImage 52(int) 1D array sampled format:Unknown - 54: TypePointer UniformConstant 53 - 55(g_tTex1du4a): 54(ptr) Variable UniformConstant - 58: TypeImage 52(int) 1D depth array sampled format:Unknown - 59: TypeSampledImage 58 - 67: TypeImage 6(float) 2D array sampled format:Unknown - 68: TypePointer UniformConstant 67 - 69(g_tTex2df4a): 68(ptr) Variable UniformConstant - 72: TypeImage 6(float) 2D depth array sampled format:Unknown - 73: TypeSampledImage 72 - 75: 6(float) Constant 1050253722 - 76: 30(fvec3) ConstantComposite 26 27 75 - 84: TypeImage 37(int) 2D array sampled format:Unknown - 85: TypePointer UniformConstant 84 - 86(g_tTex2di4a): 85(ptr) Variable UniformConstant - 89: TypeImage 37(int) 2D depth array sampled format:Unknown - 90: TypeSampledImage 89 - 99: TypeImage 52(int) 2D array sampled format:Unknown - 100: TypePointer UniformConstant 99 -101(g_tTex2du4a): 100(ptr) Variable UniformConstant - 104: TypeImage 52(int) 2D depth array sampled format:Unknown - 105: TypeSampledImage 104 - 114: TypeImage 6(float) Cube array sampled format:Unknown - 115: TypePointer UniformConstant 114 -116(g_tTexcdf4a): 115(ptr) Variable UniformConstant - 119: TypeImage 6(float) Cube depth array sampled format:Unknown - 120: TypeSampledImage 119 - 122: 6(float) Constant 1053609165 - 123: 7(fvec4) ConstantComposite 26 27 75 122 - 131: TypeImage 37(int) Cube array sampled format:Unknown - 132: TypePointer UniformConstant 131 -133(g_tTexcdi4a): 132(ptr) Variable UniformConstant - 136: TypeImage 37(int) Cube depth array sampled format:Unknown - 137: TypeSampledImage 136 - 146: TypeImage 52(int) Cube array sampled format:Unknown - 147: TypePointer UniformConstant 146 -148(g_tTexcdu4a): 147(ptr) Variable UniformConstant - 151: TypeImage 52(int) Cube depth array sampled format:Unknown - 152: TypeSampledImage 151 - 160: TypePointer Function 8(PS_OUTPUT) - 162: 37(int) Constant 0 - 163: 6(float) Constant 1065353216 - 164: 7(fvec4) ConstantComposite 163 163 163 163 - 165: TypePointer Function 7(fvec4) - 167: 37(int) Constant 1 - 174: TypePointer Output 7(fvec4) -175(@entryPointOutput.Color): 174(ptr) Variable Output - 178: TypePointer Output 6(float) -179(@entryPointOutput.Depth): 178(ptr) Variable Output - 182: TypeImage 6(float) 1D sampled format:Unknown + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 29: TypeVector 6(float) 3 + 36: TypeInt 32 1 + 37: TypeImage 36(int) 1D depth array sampled format:Unknown + 38: TypePointer UniformConstant 37 + 39(g_tTex1di4a): 38(ptr) Variable UniformConstant + 42: TypeSampledImage 37 + 50: TypeInt 32 0 + 51: TypeImage 50(int) 1D depth array sampled format:Unknown + 52: TypePointer UniformConstant 51 + 53(g_tTex1du4a): 52(ptr) Variable UniformConstant + 56: TypeSampledImage 51 + 64: TypeImage 6(float) 2D depth array sampled format:Unknown + 65: TypePointer UniformConstant 64 + 66(g_tTex2df4a): 65(ptr) Variable UniformConstant + 69: TypeSampledImage 64 + 71: 6(float) Constant 1050253722 + 72: 29(fvec3) ConstantComposite 25 26 71 + 80: TypeImage 36(int) 2D depth array sampled format:Unknown + 81: TypePointer UniformConstant 80 + 82(g_tTex2di4a): 81(ptr) Variable UniformConstant + 85: TypeSampledImage 80 + 94: TypeImage 50(int) 2D depth array sampled format:Unknown + 95: TypePointer UniformConstant 94 + 96(g_tTex2du4a): 95(ptr) Variable UniformConstant + 99: TypeSampledImage 94 + 108: TypeImage 6(float) Cube depth array sampled format:Unknown + 109: TypePointer UniformConstant 108 +110(g_tTexcdf4a): 109(ptr) Variable UniformConstant + 113: TypeSampledImage 108 + 115: 6(float) Constant 1053609165 + 116: 7(fvec4) ConstantComposite 25 26 71 115 + 124: TypeImage 36(int) Cube depth array sampled format:Unknown + 125: TypePointer UniformConstant 124 +126(g_tTexcdi4a): 125(ptr) Variable UniformConstant + 129: TypeSampledImage 124 + 138: TypeImage 50(int) Cube depth array sampled format:Unknown + 139: TypePointer UniformConstant 138 +140(g_tTexcdu4a): 139(ptr) Variable UniformConstant + 143: TypeSampledImage 138 + 151: TypePointer Function 8(PS_OUTPUT) + 153: 36(int) Constant 0 + 154: 6(float) Constant 1065353216 + 155: 7(fvec4) ConstantComposite 154 154 154 154 + 156: TypePointer Function 7(fvec4) + 158: 36(int) Constant 1 + 165: TypePointer Output 7(fvec4) +166(@entryPointOutput.Color): 165(ptr) Variable Output + 169: TypePointer Output 6(float) +170(@entryPointOutput.Depth): 169(ptr) Variable Output + 173: TypeImage 6(float) 1D sampled format:Unknown + 174: TypePointer UniformConstant 173 + 175(g_tTex1df4): 174(ptr) Variable UniformConstant + 176: TypeImage 36(int) 1D sampled format:Unknown + 177: TypePointer UniformConstant 176 + 178(g_tTex1di4): 177(ptr) Variable UniformConstant + 179: TypeImage 50(int) 1D sampled format:Unknown + 180: TypePointer UniformConstant 179 + 181(g_tTex1du4): 180(ptr) Variable UniformConstant + 182: TypeImage 6(float) 2D sampled format:Unknown 183: TypePointer UniformConstant 182 - 184(g_tTex1df4): 183(ptr) Variable UniformConstant - 185: TypeImage 37(int) 1D sampled format:Unknown + 184(g_tTex2df4): 183(ptr) Variable UniformConstant + 185: TypeImage 36(int) 2D sampled format:Unknown 186: TypePointer UniformConstant 185 - 187(g_tTex1di4): 186(ptr) Variable UniformConstant - 188: TypeImage 52(int) 1D sampled format:Unknown + 187(g_tTex2di4): 186(ptr) Variable UniformConstant + 188: TypeImage 50(int) 2D sampled format:Unknown 189: TypePointer UniformConstant 188 - 190(g_tTex1du4): 189(ptr) Variable UniformConstant - 191: TypeImage 6(float) 2D sampled format:Unknown + 190(g_tTex2du4): 189(ptr) Variable UniformConstant + 191: TypeImage 6(float) 3D sampled format:Unknown 192: TypePointer UniformConstant 191 - 193(g_tTex2df4): 192(ptr) Variable UniformConstant - 194: TypeImage 37(int) 2D sampled format:Unknown + 193(g_tTex3df4): 192(ptr) Variable UniformConstant + 194: TypeImage 36(int) 3D sampled format:Unknown 195: TypePointer UniformConstant 194 - 196(g_tTex2di4): 195(ptr) Variable UniformConstant - 197: TypeImage 52(int) 2D sampled format:Unknown + 196(g_tTex3di4): 195(ptr) Variable UniformConstant + 197: TypeImage 50(int) 3D sampled format:Unknown 198: TypePointer UniformConstant 197 - 199(g_tTex2du4): 198(ptr) Variable UniformConstant - 200: TypeImage 6(float) 3D sampled format:Unknown + 199(g_tTex3du4): 198(ptr) Variable UniformConstant + 200: TypeImage 6(float) Cube sampled format:Unknown 201: TypePointer UniformConstant 200 - 202(g_tTex3df4): 201(ptr) Variable UniformConstant - 203: TypeImage 37(int) 3D sampled format:Unknown + 202(g_tTexcdf4): 201(ptr) Variable UniformConstant + 203: TypeImage 36(int) Cube sampled format:Unknown 204: TypePointer UniformConstant 203 - 205(g_tTex3di4): 204(ptr) Variable UniformConstant - 206: TypeImage 52(int) 3D sampled format:Unknown + 205(g_tTexcdi4): 204(ptr) Variable UniformConstant + 206: TypeImage 50(int) Cube sampled format:Unknown 207: TypePointer UniformConstant 206 - 208(g_tTex3du4): 207(ptr) Variable UniformConstant - 209: TypeImage 6(float) Cube sampled format:Unknown - 210: TypePointer UniformConstant 209 - 211(g_tTexcdf4): 210(ptr) Variable UniformConstant - 212: TypeImage 37(int) Cube sampled format:Unknown - 213: TypePointer UniformConstant 212 - 214(g_tTexcdi4): 213(ptr) Variable UniformConstant - 215: TypeImage 52(int) Cube sampled format:Unknown - 216: TypePointer UniformConstant 215 - 217(g_tTexcdu4): 216(ptr) Variable UniformConstant + 208(g_tTexcdu4): 207(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -172(flattenTemp): 160(ptr) Variable Function - 173:8(PS_OUTPUT) FunctionCall 10(@main() - Store 172(flattenTemp) 173 - 176: 165(ptr) AccessChain 172(flattenTemp) 162 - 177: 7(fvec4) Load 176 - Store 175(@entryPointOutput.Color) 177 - 180: 12(ptr) AccessChain 172(flattenTemp) 167 - 181: 6(float) Load 180 - Store 179(@entryPointOutput.Depth) 181 +163(flattenTemp): 151(ptr) Variable Function + 164:8(PS_OUTPUT) FunctionCall 10(@main() + Store 163(flattenTemp) 164 + 167: 156(ptr) AccessChain 163(flattenTemp) 153 + 168: 7(fvec4) Load 167 + Store 166(@entryPointOutput.Color) 168 + 171: 12(ptr) AccessChain 163(flattenTemp) 158 + 172: 6(float) Load 171 + Store 170(@entryPointOutput.Depth) 172 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r10): 12(ptr) Variable Function - 36(r12): 12(ptr) Variable Function - 51(r14): 12(ptr) Variable Function - 66(r30): 12(ptr) Variable Function - 83(r32): 12(ptr) Variable Function - 98(r34): 12(ptr) Variable Function - 113(r60): 12(ptr) Variable Function - 130(r62): 12(ptr) Variable Function - 145(r64): 12(ptr) Variable Function - 161(psout): 160(ptr) Variable Function + 35(r12): 12(ptr) Variable Function + 49(r14): 12(ptr) Variable Function + 63(r30): 12(ptr) Variable Function + 79(r32): 12(ptr) Variable Function + 93(r34): 12(ptr) Variable Function + 107(r60): 12(ptr) Variable Function + 123(r62): 12(ptr) Variable Function + 137(r64): 12(ptr) Variable Function + 152(psout): 151(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 31: 6(float) CompositeExtract 28 0 - 32: 6(float) CompositeExtract 28 1 - 33: 30(fvec3) CompositeConstruct 31 32 29 - 34: 6(float) CompositeExtract 33 2 - 35: 6(float) ImageSampleDrefImplicitLod 24 33 34 - Store 13(r10) 35 - 41: 38 Load 40(g_tTex1di4a) - 42: 18 Load 20(g_sSamp) - 45: 44 SampledImage 41 42 - 46: 6(float) CompositeExtract 28 0 - 47: 6(float) CompositeExtract 28 1 - 48: 30(fvec3) CompositeConstruct 46 47 29 - 49: 6(float) CompositeExtract 48 2 - 50: 6(float) ImageSampleDrefImplicitLod 45 48 49 - Store 36(r12) 50 - 56: 53 Load 55(g_tTex1du4a) - 57: 18 Load 20(g_sSamp) - 60: 59 SampledImage 56 57 - 61: 6(float) CompositeExtract 28 0 - 62: 6(float) CompositeExtract 28 1 - 63: 30(fvec3) CompositeConstruct 61 62 29 - 64: 6(float) CompositeExtract 63 2 - 65: 6(float) ImageSampleDrefImplicitLod 60 63 64 - Store 51(r14) 65 - 70: 67 Load 69(g_tTex2df4a) - 71: 18 Load 20(g_sSamp) - 74: 73 SampledImage 70 71 - 77: 6(float) CompositeExtract 76 0 - 78: 6(float) CompositeExtract 76 1 - 79: 6(float) CompositeExtract 76 2 - 80: 7(fvec4) CompositeConstruct 77 78 79 29 - 81: 6(float) CompositeExtract 80 3 - 82: 6(float) ImageSampleDrefImplicitLod 74 80 81 - Store 66(r30) 82 - 87: 84 Load 86(g_tTex2di4a) - 88: 18 Load 20(g_sSamp) - 91: 90 SampledImage 87 88 - 92: 6(float) CompositeExtract 76 0 - 93: 6(float) CompositeExtract 76 1 - 94: 6(float) CompositeExtract 76 2 - 95: 7(fvec4) CompositeConstruct 92 93 94 29 - 96: 6(float) CompositeExtract 95 3 - 97: 6(float) ImageSampleDrefImplicitLod 91 95 96 - Store 83(r32) 97 - 102: 99 Load 101(g_tTex2du4a) - 103: 18 Load 20(g_sSamp) - 106: 105 SampledImage 102 103 - 107: 6(float) CompositeExtract 76 0 - 108: 6(float) CompositeExtract 76 1 - 109: 6(float) CompositeExtract 76 2 - 110: 7(fvec4) CompositeConstruct 107 108 109 29 - 111: 6(float) CompositeExtract 110 3 - 112: 6(float) ImageSampleDrefImplicitLod 106 110 111 - Store 98(r34) 112 - 117: 114 Load 116(g_tTexcdf4a) - 118: 18 Load 20(g_sSamp) - 121: 120 SampledImage 117 118 - 124: 6(float) CompositeExtract 123 0 - 125: 6(float) CompositeExtract 123 1 - 126: 6(float) CompositeExtract 123 2 - 127: 6(float) CompositeExtract 123 3 - 128: 7(fvec4) CompositeConstruct 124 125 126 127 - 129: 6(float) ImageSampleDrefImplicitLod 121 128 29 - Store 113(r60) 129 - 134: 131 Load 133(g_tTexcdi4a) - 135: 18 Load 20(g_sSamp) - 138: 137 SampledImage 134 135 - 139: 6(float) CompositeExtract 123 0 - 140: 6(float) CompositeExtract 123 1 - 141: 6(float) CompositeExtract 123 2 - 142: 6(float) CompositeExtract 123 3 - 143: 7(fvec4) CompositeConstruct 139 140 141 142 - 144: 6(float) ImageSampleDrefImplicitLod 138 143 29 - Store 130(r62) 144 - 149: 146 Load 148(g_tTexcdu4a) - 150: 18 Load 20(g_sSamp) - 153: 152 SampledImage 149 150 - 154: 6(float) CompositeExtract 123 0 - 155: 6(float) CompositeExtract 123 1 - 156: 6(float) CompositeExtract 123 2 - 157: 6(float) CompositeExtract 123 3 - 158: 7(fvec4) CompositeConstruct 154 155 156 157 - 159: 6(float) ImageSampleDrefImplicitLod 153 158 29 - Store 145(r64) 159 - 166: 165(ptr) AccessChain 161(psout) 162 - Store 166 164 - 168: 12(ptr) AccessChain 161(psout) 167 - Store 168 163 - 169:8(PS_OUTPUT) Load 161(psout) - ReturnValue 169 + 23: 22 SampledImage 17 21 + 30: 6(float) CompositeExtract 27 0 + 31: 6(float) CompositeExtract 27 1 + 32: 29(fvec3) CompositeConstruct 30 31 28 + 33: 6(float) CompositeExtract 32 2 + 34: 6(float) ImageSampleDrefImplicitLod 23 32 33 + Store 13(r10) 34 + 40: 37 Load 39(g_tTex1di4a) + 41: 18 Load 20(g_sSamp) + 43: 42 SampledImage 40 41 + 44: 6(float) CompositeExtract 27 0 + 45: 6(float) CompositeExtract 27 1 + 46: 29(fvec3) CompositeConstruct 44 45 28 + 47: 6(float) CompositeExtract 46 2 + 48: 6(float) ImageSampleDrefImplicitLod 43 46 47 + Store 35(r12) 48 + 54: 51 Load 53(g_tTex1du4a) + 55: 18 Load 20(g_sSamp) + 57: 56 SampledImage 54 55 + 58: 6(float) CompositeExtract 27 0 + 59: 6(float) CompositeExtract 27 1 + 60: 29(fvec3) CompositeConstruct 58 59 28 + 61: 6(float) CompositeExtract 60 2 + 62: 6(float) ImageSampleDrefImplicitLod 57 60 61 + Store 49(r14) 62 + 67: 64 Load 66(g_tTex2df4a) + 68: 18 Load 20(g_sSamp) + 70: 69 SampledImage 67 68 + 73: 6(float) CompositeExtract 72 0 + 74: 6(float) CompositeExtract 72 1 + 75: 6(float) CompositeExtract 72 2 + 76: 7(fvec4) CompositeConstruct 73 74 75 28 + 77: 6(float) CompositeExtract 76 3 + 78: 6(float) ImageSampleDrefImplicitLod 70 76 77 + Store 63(r30) 78 + 83: 80 Load 82(g_tTex2di4a) + 84: 18 Load 20(g_sSamp) + 86: 85 SampledImage 83 84 + 87: 6(float) CompositeExtract 72 0 + 88: 6(float) CompositeExtract 72 1 + 89: 6(float) CompositeExtract 72 2 + 90: 7(fvec4) CompositeConstruct 87 88 89 28 + 91: 6(float) CompositeExtract 90 3 + 92: 6(float) ImageSampleDrefImplicitLod 86 90 91 + Store 79(r32) 92 + 97: 94 Load 96(g_tTex2du4a) + 98: 18 Load 20(g_sSamp) + 100: 99 SampledImage 97 98 + 101: 6(float) CompositeExtract 72 0 + 102: 6(float) CompositeExtract 72 1 + 103: 6(float) CompositeExtract 72 2 + 104: 7(fvec4) CompositeConstruct 101 102 103 28 + 105: 6(float) CompositeExtract 104 3 + 106: 6(float) ImageSampleDrefImplicitLod 100 104 105 + Store 93(r34) 106 + 111: 108 Load 110(g_tTexcdf4a) + 112: 18 Load 20(g_sSamp) + 114: 113 SampledImage 111 112 + 117: 6(float) CompositeExtract 116 0 + 118: 6(float) CompositeExtract 116 1 + 119: 6(float) CompositeExtract 116 2 + 120: 6(float) CompositeExtract 116 3 + 121: 7(fvec4) CompositeConstruct 117 118 119 120 + 122: 6(float) ImageSampleDrefImplicitLod 114 121 28 + Store 107(r60) 122 + 127: 124 Load 126(g_tTexcdi4a) + 128: 18 Load 20(g_sSamp) + 130: 129 SampledImage 127 128 + 131: 6(float) CompositeExtract 116 0 + 132: 6(float) CompositeExtract 116 1 + 133: 6(float) CompositeExtract 116 2 + 134: 6(float) CompositeExtract 116 3 + 135: 7(fvec4) CompositeConstruct 131 132 133 134 + 136: 6(float) ImageSampleDrefImplicitLod 130 135 28 + Store 123(r62) 136 + 141: 138 Load 140(g_tTexcdu4a) + 142: 18 Load 20(g_sSamp) + 144: 143 SampledImage 141 142 + 145: 6(float) CompositeExtract 116 0 + 146: 6(float) CompositeExtract 116 1 + 147: 6(float) CompositeExtract 116 2 + 148: 6(float) CompositeExtract 116 3 + 149: 7(fvec4) CompositeConstruct 145 146 147 148 + 150: 6(float) ImageSampleDrefImplicitLod 144 149 28 + Store 137(r64) 150 + 157: 156(ptr) AccessChain 152(psout) 153 + Store 157 155 + 159: 12(ptr) AccessChain 152(psout) 158 + Store 159 154 + 160:8(PS_OUTPUT) Load 152(psout) + ReturnValue 160 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index d6579ba0f..9e87410fc 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -22,7 +22,7 @@ gl_FragCoord origin is upper left 0:43 'r02' ( temp float) 0:43 texture ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -34,7 +34,7 @@ gl_FragCoord origin is upper left 0:44 'r04' ( temp float) 0:44 texture ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -46,7 +46,7 @@ gl_FragCoord origin is upper left 0:47 'r20' ( temp float) 0:47 texture ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -59,7 +59,7 @@ gl_FragCoord origin is upper left 0:48 'r22' ( temp float) 0:48 texture ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -72,7 +72,7 @@ gl_FragCoord origin is upper left 0:49 'r24' ( temp float) 0:49 texture ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -85,7 +85,7 @@ gl_FragCoord origin is upper left 0:53 'r50' ( temp float) 0:53 texture ( temp float) 0:53 Construct combined texture-sampler ( temp samplerCubeShadow) -0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_tTexcdf4' ( uniform textureCubeShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -99,7 +99,7 @@ gl_FragCoord origin is upper left 0:54 'r52' ( temp float) 0:54 texture ( temp float) 0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) -0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_tTexcdi4' ( uniform itextureCubeShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -113,7 +113,7 @@ gl_FragCoord origin is upper left 0:55 'r54' ( temp float) 0:55 texture ( temp float) 0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) -0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:55 'g_sSamp' (layout( binding=0) uniform sampler) 0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -162,18 +162,18 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) -0:? 'g_tTexcdf4' ( uniform textureCube) -0:? 'g_tTexcdi4' ( uniform itextureCube) -0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTexcdf4' ( uniform textureCubeShadow) +0:? 'g_tTexcdi4' ( uniform itextureCubeShadow) +0:? 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:? 'g_tTex1df4a' ( uniform texture1DArray) 0:? 'g_tTex1di4a' ( uniform itexture1DArray) 0:? 'g_tTex1du4a' ( uniform utexture1DArray) @@ -201,7 +201,7 @@ gl_FragCoord origin is upper left 0:42 'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -213,7 +213,7 @@ gl_FragCoord origin is upper left 0:43 'r02' ( temp float) 0:43 texture ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -225,7 +225,7 @@ gl_FragCoord origin is upper left 0:44 'r04' ( temp float) 0:44 texture ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -237,7 +237,7 @@ gl_FragCoord origin is upper left 0:47 'r20' ( temp float) 0:47 texture ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -250,7 +250,7 @@ gl_FragCoord origin is upper left 0:48 'r22' ( temp float) 0:48 texture ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -263,7 +263,7 @@ gl_FragCoord origin is upper left 0:49 'r24' ( temp float) 0:49 texture ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -276,7 +276,7 @@ gl_FragCoord origin is upper left 0:53 'r50' ( temp float) 0:53 texture ( temp float) 0:53 Construct combined texture-sampler ( temp samplerCubeShadow) -0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_tTexcdf4' ( uniform textureCubeShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -290,7 +290,7 @@ gl_FragCoord origin is upper left 0:54 'r52' ( temp float) 0:54 texture ( temp float) 0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) -0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_tTexcdi4' ( uniform itextureCubeShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -304,7 +304,7 @@ gl_FragCoord origin is upper left 0:55 'r54' ( temp float) 0:55 texture ( temp float) 0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) -0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:55 'g_sSamp' (layout( binding=0) uniform sampler) 0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -353,18 +353,18 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) -0:? 'g_tTexcdf4' ( uniform textureCube) -0:? 'g_tTexcdi4' ( uniform itextureCube) -0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTexcdf4' ( uniform textureCubeShadow) +0:? 'g_tTexcdi4' ( uniform itextureCubeShadow) +0:? 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:? 'g_tTex1df4a' ( uniform texture1DArray) 0:? 'g_tTex1di4a' ( uniform itexture1DArray) 0:? 'g_tTex1du4a' ( uniform utexture1DArray) @@ -379,14 +379,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 207 +// Id's are bound by 198 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 164 168 + EntryPoint Fragment 4 "main" 155 159 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -397,64 +397,64 @@ gl_FragCoord origin is upper left Name 13 "r00" Name 16 "g_tTex1df4" Name 20 "g_sSamp" - Name 31 "r02" - Name 35 "g_tTex1di4" - Name 44 "r04" - Name 48 "g_tTex1du4" - Name 57 "r20" - Name 60 "g_tTex2df4" - Name 74 "r22" - Name 77 "g_tTex2di4" - Name 88 "r24" - Name 91 "g_tTex2du4" - Name 102 "r50" - Name 105 "g_tTexcdf4" - Name 119 "r52" - Name 122 "g_tTexcdi4" - Name 134 "r54" - Name 137 "g_tTexcdu4" - Name 150 "psout" - Name 161 "flattenTemp" - Name 164 "@entryPointOutput.Color" - Name 168 "@entryPointOutput.Depth" - Name 173 "g_tTex3df4" - Name 176 "g_tTex3di4" - Name 179 "g_tTex3du4" - Name 182 "g_tTex1df4a" - Name 185 "g_tTex1di4a" - Name 188 "g_tTex1du4a" - Name 191 "g_tTex2df4a" - Name 194 "g_tTex2di4a" - Name 197 "g_tTex2du4a" - Name 200 "g_tTexcdf4a" - Name 203 "g_tTexcdi4a" - Name 206 "g_tTexcdu4a" + Name 30 "r02" + Name 34 "g_tTex1di4" + Name 42 "r04" + Name 46 "g_tTex1du4" + Name 54 "r20" + Name 57 "g_tTex2df4" + Name 70 "r22" + Name 73 "g_tTex2di4" + Name 83 "r24" + Name 86 "g_tTex2du4" + Name 96 "r50" + Name 99 "g_tTexcdf4" + Name 112 "r52" + Name 115 "g_tTexcdi4" + Name 126 "r54" + Name 129 "g_tTexcdu4" + Name 141 "psout" + Name 152 "flattenTemp" + Name 155 "@entryPointOutput.Color" + Name 159 "@entryPointOutput.Depth" + Name 164 "g_tTex3df4" + Name 167 "g_tTex3di4" + Name 170 "g_tTex3du4" + Name 173 "g_tTex1df4a" + Name 176 "g_tTex1di4a" + Name 179 "g_tTex1du4a" + Name 182 "g_tTex2df4a" + Name 185 "g_tTex2di4a" + Name 188 "g_tTex2du4a" + Name 191 "g_tTexcdf4a" + Name 194 "g_tTexcdi4a" + Name 197 "g_tTexcdu4a" Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 - Decorate 60(g_tTex2df4) DescriptorSet 0 - Decorate 77(g_tTex2di4) DescriptorSet 0 - Decorate 91(g_tTex2du4) DescriptorSet 0 - Decorate 105(g_tTexcdf4) DescriptorSet 0 - Decorate 122(g_tTexcdi4) DescriptorSet 0 - Decorate 137(g_tTexcdu4) DescriptorSet 0 - Decorate 164(@entryPointOutput.Color) Location 0 - Decorate 168(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 173(g_tTex3df4) DescriptorSet 0 - Decorate 176(g_tTex3di4) DescriptorSet 0 - Decorate 179(g_tTex3du4) DescriptorSet 0 - Decorate 182(g_tTex1df4a) DescriptorSet 0 - Decorate 185(g_tTex1di4a) DescriptorSet 0 - Decorate 188(g_tTex1du4a) DescriptorSet 0 - Decorate 191(g_tTex2df4a) DescriptorSet 0 - Decorate 194(g_tTex2di4a) DescriptorSet 0 - Decorate 197(g_tTex2du4a) DescriptorSet 0 - Decorate 200(g_tTexcdf4a) DescriptorSet 0 - Decorate 203(g_tTexcdi4a) DescriptorSet 0 - Decorate 206(g_tTexcdu4a) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 86(g_tTex2du4) DescriptorSet 0 + Decorate 99(g_tTexcdf4) DescriptorSet 0 + Decorate 115(g_tTexcdi4) DescriptorSet 0 + Decorate 129(g_tTexcdu4) DescriptorSet 0 + Decorate 155(@entryPointOutput.Color) Location 0 + Decorate 159(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 164(g_tTex3df4) DescriptorSet 0 + Decorate 167(g_tTex3di4) DescriptorSet 0 + Decorate 170(g_tTex3du4) DescriptorSet 0 + Decorate 173(g_tTex1df4a) DescriptorSet 0 + Decorate 176(g_tTex1di4a) DescriptorSet 0 + Decorate 179(g_tTex1du4a) DescriptorSet 0 + Decorate 182(g_tTex2df4a) DescriptorSet 0 + Decorate 185(g_tTex2di4a) DescriptorSet 0 + Decorate 188(g_tTex2du4a) DescriptorSet 0 + Decorate 191(g_tTexcdf4a) DescriptorSet 0 + Decorate 194(g_tTexcdi4a) DescriptorSet 0 + Decorate 197(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -462,217 +462,208 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D sampled format:Unknown + 14: TypeImage 6(float) 1D depth sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth sampled format:Unknown - 23: TypeSampledImage 22 - 25: 6(float) Constant 1036831949 - 26: 6(float) Constant 1061158912 - 27: TypeVector 6(float) 2 - 32: TypeInt 32 1 - 33: TypeImage 32(int) 1D sampled format:Unknown - 34: TypePointer UniformConstant 33 - 35(g_tTex1di4): 34(ptr) Variable UniformConstant - 38: TypeImage 32(int) 1D depth sampled format:Unknown - 39: TypeSampledImage 38 - 45: TypeInt 32 0 - 46: TypeImage 45(int) 1D sampled format:Unknown - 47: TypePointer UniformConstant 46 - 48(g_tTex1du4): 47(ptr) Variable UniformConstant - 51: TypeImage 45(int) 1D depth sampled format:Unknown - 52: TypeSampledImage 51 - 58: TypeImage 6(float) 2D sampled format:Unknown - 59: TypePointer UniformConstant 58 - 60(g_tTex2df4): 59(ptr) Variable UniformConstant - 63: TypeImage 6(float) 2D depth sampled format:Unknown - 64: TypeSampledImage 63 - 66: 6(float) Constant 1045220557 - 67: 27(fvec2) ConstantComposite 25 66 - 68: TypeVector 6(float) 3 - 75: TypeImage 32(int) 2D sampled format:Unknown - 76: TypePointer UniformConstant 75 - 77(g_tTex2di4): 76(ptr) Variable UniformConstant - 80: TypeImage 32(int) 2D depth sampled format:Unknown - 81: TypeSampledImage 80 - 89: TypeImage 45(int) 2D sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTex2du4): 90(ptr) Variable UniformConstant - 94: TypeImage 45(int) 2D depth sampled format:Unknown - 95: TypeSampledImage 94 - 103: TypeImage 6(float) Cube sampled format:Unknown - 104: TypePointer UniformConstant 103 - 105(g_tTexcdf4): 104(ptr) Variable UniformConstant - 108: TypeImage 6(float) Cube depth sampled format:Unknown - 109: TypeSampledImage 108 - 111: 6(float) Constant 1050253722 - 112: 68(fvec3) ConstantComposite 25 66 111 - 120: TypeImage 32(int) Cube sampled format:Unknown - 121: TypePointer UniformConstant 120 - 122(g_tTexcdi4): 121(ptr) Variable UniformConstant - 125: TypeImage 32(int) Cube depth sampled format:Unknown - 126: TypeSampledImage 125 - 135: TypeImage 45(int) Cube sampled format:Unknown - 136: TypePointer UniformConstant 135 - 137(g_tTexcdu4): 136(ptr) Variable UniformConstant - 140: TypeImage 45(int) Cube depth sampled format:Unknown - 141: TypeSampledImage 140 - 149: TypePointer Function 8(PS_OUTPUT) - 151: 32(int) Constant 0 - 152: 6(float) Constant 1065353216 - 153: 7(fvec4) ConstantComposite 152 152 152 152 - 154: TypePointer Function 7(fvec4) - 156: 32(int) Constant 1 - 163: TypePointer Output 7(fvec4) -164(@entryPointOutput.Color): 163(ptr) Variable Output - 167: TypePointer Output 6(float) -168(@entryPointOutput.Depth): 167(ptr) Variable Output - 171: TypeImage 6(float) 3D sampled format:Unknown + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 26: TypeVector 6(float) 2 + 31: TypeInt 32 1 + 32: TypeImage 31(int) 1D depth sampled format:Unknown + 33: TypePointer UniformConstant 32 + 34(g_tTex1di4): 33(ptr) Variable UniformConstant + 37: TypeSampledImage 32 + 43: TypeInt 32 0 + 44: TypeImage 43(int) 1D depth sampled format:Unknown + 45: TypePointer UniformConstant 44 + 46(g_tTex1du4): 45(ptr) Variable UniformConstant + 49: TypeSampledImage 44 + 55: TypeImage 6(float) 2D depth sampled format:Unknown + 56: TypePointer UniformConstant 55 + 57(g_tTex2df4): 56(ptr) Variable UniformConstant + 60: TypeSampledImage 55 + 62: 6(float) Constant 1045220557 + 63: 26(fvec2) ConstantComposite 24 62 + 64: TypeVector 6(float) 3 + 71: TypeImage 31(int) 2D depth sampled format:Unknown + 72: TypePointer UniformConstant 71 + 73(g_tTex2di4): 72(ptr) Variable UniformConstant + 76: TypeSampledImage 71 + 84: TypeImage 43(int) 2D depth sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex2du4): 85(ptr) Variable UniformConstant + 89: TypeSampledImage 84 + 97: TypeImage 6(float) Cube depth sampled format:Unknown + 98: TypePointer UniformConstant 97 + 99(g_tTexcdf4): 98(ptr) Variable UniformConstant + 102: TypeSampledImage 97 + 104: 6(float) Constant 1050253722 + 105: 64(fvec3) ConstantComposite 24 62 104 + 113: TypeImage 31(int) Cube depth sampled format:Unknown + 114: TypePointer UniformConstant 113 + 115(g_tTexcdi4): 114(ptr) Variable UniformConstant + 118: TypeSampledImage 113 + 127: TypeImage 43(int) Cube depth sampled format:Unknown + 128: TypePointer UniformConstant 127 + 129(g_tTexcdu4): 128(ptr) Variable UniformConstant + 132: TypeSampledImage 127 + 140: TypePointer Function 8(PS_OUTPUT) + 142: 31(int) Constant 0 + 143: 6(float) Constant 1065353216 + 144: 7(fvec4) ConstantComposite 143 143 143 143 + 145: TypePointer Function 7(fvec4) + 147: 31(int) Constant 1 + 154: TypePointer Output 7(fvec4) +155(@entryPointOutput.Color): 154(ptr) Variable Output + 158: TypePointer Output 6(float) +159(@entryPointOutput.Depth): 158(ptr) Variable Output + 162: TypeImage 6(float) 3D sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTex3df4): 163(ptr) Variable UniformConstant + 165: TypeImage 31(int) 3D sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTex3di4): 166(ptr) Variable UniformConstant + 168: TypeImage 43(int) 3D sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTex3du4): 169(ptr) Variable UniformConstant + 171: TypeImage 6(float) 1D array sampled format:Unknown 172: TypePointer UniformConstant 171 - 173(g_tTex3df4): 172(ptr) Variable UniformConstant - 174: TypeImage 32(int) 3D sampled format:Unknown +173(g_tTex1df4a): 172(ptr) Variable UniformConstant + 174: TypeImage 31(int) 1D array sampled format:Unknown 175: TypePointer UniformConstant 174 - 176(g_tTex3di4): 175(ptr) Variable UniformConstant - 177: TypeImage 45(int) 3D sampled format:Unknown +176(g_tTex1di4a): 175(ptr) Variable UniformConstant + 177: TypeImage 43(int) 1D array sampled format:Unknown 178: TypePointer UniformConstant 177 - 179(g_tTex3du4): 178(ptr) Variable UniformConstant - 180: TypeImage 6(float) 1D array sampled format:Unknown +179(g_tTex1du4a): 178(ptr) Variable UniformConstant + 180: TypeImage 6(float) 2D array sampled format:Unknown 181: TypePointer UniformConstant 180 -182(g_tTex1df4a): 181(ptr) Variable UniformConstant - 183: TypeImage 32(int) 1D array sampled format:Unknown +182(g_tTex2df4a): 181(ptr) Variable UniformConstant + 183: TypeImage 31(int) 2D array sampled format:Unknown 184: TypePointer UniformConstant 183 -185(g_tTex1di4a): 184(ptr) Variable UniformConstant - 186: TypeImage 45(int) 1D array sampled format:Unknown +185(g_tTex2di4a): 184(ptr) Variable UniformConstant + 186: TypeImage 43(int) 2D array sampled format:Unknown 187: TypePointer UniformConstant 186 -188(g_tTex1du4a): 187(ptr) Variable UniformConstant - 189: TypeImage 6(float) 2D array sampled format:Unknown +188(g_tTex2du4a): 187(ptr) Variable UniformConstant + 189: TypeImage 6(float) Cube array sampled format:Unknown 190: TypePointer UniformConstant 189 -191(g_tTex2df4a): 190(ptr) Variable UniformConstant - 192: TypeImage 32(int) 2D array sampled format:Unknown +191(g_tTexcdf4a): 190(ptr) Variable UniformConstant + 192: TypeImage 31(int) Cube array sampled format:Unknown 193: TypePointer UniformConstant 192 -194(g_tTex2di4a): 193(ptr) Variable UniformConstant - 195: TypeImage 45(int) 2D array sampled format:Unknown +194(g_tTexcdi4a): 193(ptr) Variable UniformConstant + 195: TypeImage 43(int) Cube array sampled format:Unknown 196: TypePointer UniformConstant 195 -197(g_tTex2du4a): 196(ptr) Variable UniformConstant - 198: TypeImage 6(float) Cube array sampled format:Unknown - 199: TypePointer UniformConstant 198 -200(g_tTexcdf4a): 199(ptr) Variable UniformConstant - 201: TypeImage 32(int) Cube array sampled format:Unknown - 202: TypePointer UniformConstant 201 -203(g_tTexcdi4a): 202(ptr) Variable UniformConstant - 204: TypeImage 45(int) Cube array sampled format:Unknown - 205: TypePointer UniformConstant 204 -206(g_tTexcdu4a): 205(ptr) Variable UniformConstant +197(g_tTexcdu4a): 196(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -161(flattenTemp): 149(ptr) Variable Function - 162:8(PS_OUTPUT) FunctionCall 10(@main() - Store 161(flattenTemp) 162 - 165: 154(ptr) AccessChain 161(flattenTemp) 151 - 166: 7(fvec4) Load 165 - Store 164(@entryPointOutput.Color) 166 - 169: 12(ptr) AccessChain 161(flattenTemp) 156 - 170: 6(float) Load 169 - Store 168(@entryPointOutput.Depth) 170 +152(flattenTemp): 140(ptr) Variable Function + 153:8(PS_OUTPUT) FunctionCall 10(@main() + Store 152(flattenTemp) 153 + 156: 145(ptr) AccessChain 152(flattenTemp) 142 + 157: 7(fvec4) Load 156 + Store 155(@entryPointOutput.Color) 157 + 160: 12(ptr) AccessChain 152(flattenTemp) 147 + 161: 6(float) Load 160 + Store 159(@entryPointOutput.Depth) 161 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r00): 12(ptr) Variable Function - 31(r02): 12(ptr) Variable Function - 44(r04): 12(ptr) Variable Function - 57(r20): 12(ptr) Variable Function - 74(r22): 12(ptr) Variable Function - 88(r24): 12(ptr) Variable Function - 102(r50): 12(ptr) Variable Function - 119(r52): 12(ptr) Variable Function - 134(r54): 12(ptr) Variable Function - 150(psout): 149(ptr) Variable Function + 30(r02): 12(ptr) Variable Function + 42(r04): 12(ptr) Variable Function + 54(r20): 12(ptr) Variable Function + 70(r22): 12(ptr) Variable Function + 83(r24): 12(ptr) Variable Function + 96(r50): 12(ptr) Variable Function + 112(r52): 12(ptr) Variable Function + 126(r54): 12(ptr) Variable Function + 141(psout): 140(ptr) Variable Function 17: 14 Load 16(g_tTex1df4) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 28: 27(fvec2) CompositeConstruct 25 26 - 29: 6(float) CompositeExtract 28 1 - 30: 6(float) ImageSampleDrefImplicitLod 24 28 29 - Store 13(r00) 30 - 36: 33 Load 35(g_tTex1di4) - 37: 18 Load 20(g_sSamp) - 40: 39 SampledImage 36 37 - 41: 27(fvec2) CompositeConstruct 25 26 - 42: 6(float) CompositeExtract 41 1 - 43: 6(float) ImageSampleDrefImplicitLod 40 41 42 - Store 31(r02) 43 - 49: 46 Load 48(g_tTex1du4) - 50: 18 Load 20(g_sSamp) - 53: 52 SampledImage 49 50 - 54: 27(fvec2) CompositeConstruct 25 26 - 55: 6(float) CompositeExtract 54 1 - 56: 6(float) ImageSampleDrefImplicitLod 53 54 55 - Store 44(r04) 56 - 61: 58 Load 60(g_tTex2df4) - 62: 18 Load 20(g_sSamp) - 65: 64 SampledImage 61 62 - 69: 6(float) CompositeExtract 67 0 - 70: 6(float) CompositeExtract 67 1 - 71: 68(fvec3) CompositeConstruct 69 70 26 - 72: 6(float) CompositeExtract 71 2 - 73: 6(float) ImageSampleDrefImplicitLod 65 71 72 - Store 57(r20) 73 - 78: 75 Load 77(g_tTex2di4) - 79: 18 Load 20(g_sSamp) - 82: 81 SampledImage 78 79 - 83: 6(float) CompositeExtract 67 0 - 84: 6(float) CompositeExtract 67 1 - 85: 68(fvec3) CompositeConstruct 83 84 26 - 86: 6(float) CompositeExtract 85 2 - 87: 6(float) ImageSampleDrefImplicitLod 82 85 86 - Store 74(r22) 87 - 92: 89 Load 91(g_tTex2du4) - 93: 18 Load 20(g_sSamp) - 96: 95 SampledImage 92 93 - 97: 6(float) CompositeExtract 67 0 - 98: 6(float) CompositeExtract 67 1 - 99: 68(fvec3) CompositeConstruct 97 98 26 - 100: 6(float) CompositeExtract 99 2 - 101: 6(float) ImageSampleDrefImplicitLod 96 99 100 - Store 88(r24) 101 - 106: 103 Load 105(g_tTexcdf4) - 107: 18 Load 20(g_sSamp) - 110: 109 SampledImage 106 107 - 113: 6(float) CompositeExtract 112 0 - 114: 6(float) CompositeExtract 112 1 - 115: 6(float) CompositeExtract 112 2 - 116: 7(fvec4) CompositeConstruct 113 114 115 26 - 117: 6(float) CompositeExtract 116 3 - 118: 6(float) ImageSampleDrefImplicitLod 110 116 117 - Store 102(r50) 118 - 123: 120 Load 122(g_tTexcdi4) - 124: 18 Load 20(g_sSamp) - 127: 126 SampledImage 123 124 - 128: 6(float) CompositeExtract 112 0 - 129: 6(float) CompositeExtract 112 1 - 130: 6(float) CompositeExtract 112 2 - 131: 7(fvec4) CompositeConstruct 128 129 130 26 - 132: 6(float) CompositeExtract 131 3 - 133: 6(float) ImageSampleDrefImplicitLod 127 131 132 - Store 119(r52) 133 - 138: 135 Load 137(g_tTexcdu4) - 139: 18 Load 20(g_sSamp) - 142: 141 SampledImage 138 139 - 143: 6(float) CompositeExtract 112 0 - 144: 6(float) CompositeExtract 112 1 - 145: 6(float) CompositeExtract 112 2 - 146: 7(fvec4) CompositeConstruct 143 144 145 26 - 147: 6(float) CompositeExtract 146 3 - 148: 6(float) ImageSampleDrefImplicitLod 142 146 147 - Store 134(r54) 148 - 155: 154(ptr) AccessChain 150(psout) 151 - Store 155 153 - 157: 12(ptr) AccessChain 150(psout) 156 - Store 157 152 - 158:8(PS_OUTPUT) Load 150(psout) - ReturnValue 158 + 23: 22 SampledImage 17 21 + 27: 26(fvec2) CompositeConstruct 24 25 + 28: 6(float) CompositeExtract 27 1 + 29: 6(float) ImageSampleDrefImplicitLod 23 27 28 + Store 13(r00) 29 + 35: 32 Load 34(g_tTex1di4) + 36: 18 Load 20(g_sSamp) + 38: 37 SampledImage 35 36 + 39: 26(fvec2) CompositeConstruct 24 25 + 40: 6(float) CompositeExtract 39 1 + 41: 6(float) ImageSampleDrefImplicitLod 38 39 40 + Store 30(r02) 41 + 47: 44 Load 46(g_tTex1du4) + 48: 18 Load 20(g_sSamp) + 50: 49 SampledImage 47 48 + 51: 26(fvec2) CompositeConstruct 24 25 + 52: 6(float) CompositeExtract 51 1 + 53: 6(float) ImageSampleDrefImplicitLod 50 51 52 + Store 42(r04) 53 + 58: 55 Load 57(g_tTex2df4) + 59: 18 Load 20(g_sSamp) + 61: 60 SampledImage 58 59 + 65: 6(float) CompositeExtract 63 0 + 66: 6(float) CompositeExtract 63 1 + 67: 64(fvec3) CompositeConstruct 65 66 25 + 68: 6(float) CompositeExtract 67 2 + 69: 6(float) ImageSampleDrefImplicitLod 61 67 68 + Store 54(r20) 69 + 74: 71 Load 73(g_tTex2di4) + 75: 18 Load 20(g_sSamp) + 77: 76 SampledImage 74 75 + 78: 6(float) CompositeExtract 63 0 + 79: 6(float) CompositeExtract 63 1 + 80: 64(fvec3) CompositeConstruct 78 79 25 + 81: 6(float) CompositeExtract 80 2 + 82: 6(float) ImageSampleDrefImplicitLod 77 80 81 + Store 70(r22) 82 + 87: 84 Load 86(g_tTex2du4) + 88: 18 Load 20(g_sSamp) + 90: 89 SampledImage 87 88 + 91: 6(float) CompositeExtract 63 0 + 92: 6(float) CompositeExtract 63 1 + 93: 64(fvec3) CompositeConstruct 91 92 25 + 94: 6(float) CompositeExtract 93 2 + 95: 6(float) ImageSampleDrefImplicitLod 90 93 94 + Store 83(r24) 95 + 100: 97 Load 99(g_tTexcdf4) + 101: 18 Load 20(g_sSamp) + 103: 102 SampledImage 100 101 + 106: 6(float) CompositeExtract 105 0 + 107: 6(float) CompositeExtract 105 1 + 108: 6(float) CompositeExtract 105 2 + 109: 7(fvec4) CompositeConstruct 106 107 108 25 + 110: 6(float) CompositeExtract 109 3 + 111: 6(float) ImageSampleDrefImplicitLod 103 109 110 + Store 96(r50) 111 + 116: 113 Load 115(g_tTexcdi4) + 117: 18 Load 20(g_sSamp) + 119: 118 SampledImage 116 117 + 120: 6(float) CompositeExtract 105 0 + 121: 6(float) CompositeExtract 105 1 + 122: 6(float) CompositeExtract 105 2 + 123: 7(fvec4) CompositeConstruct 120 121 122 25 + 124: 6(float) CompositeExtract 123 3 + 125: 6(float) ImageSampleDrefImplicitLod 119 123 124 + Store 112(r52) 125 + 130: 127 Load 129(g_tTexcdu4) + 131: 18 Load 20(g_sSamp) + 133: 132 SampledImage 130 131 + 134: 6(float) CompositeExtract 105 0 + 135: 6(float) CompositeExtract 105 1 + 136: 6(float) CompositeExtract 105 2 + 137: 7(fvec4) CompositeConstruct 134 135 136 25 + 138: 6(float) CompositeExtract 137 3 + 139: 6(float) ImageSampleDrefImplicitLod 133 137 138 + Store 126(r54) 139 + 146: 145(ptr) AccessChain 141(psout) 142 + Store 146 144 + 148: 12(ptr) AccessChain 141(psout) 147 + Store 148 143 + 149:8(PS_OUTPUT) Load 141(psout) + ReturnValue 149 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.negative.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.negative.frag.out index 99cfdbf6a..65a69e8f1 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.negative.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.negative.frag.out @@ -1,47 +1,48 @@ hlsl.samplecmp.negative.frag -ERROR: 0:9: '' : expected: SamplerComparisonState +ERROR: 0:10: '' : expected: SamplerComparisonState ERROR: 1 compilation errors. No code generated. Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:7 Function Definition: @main( ( temp 4-component vector of float) -0:7 Function Parameters: +0:8 Function Definition: @main( ( temp 4-component vector of float) +0:8 Function Parameters: 0:? Sequence -0:8 texture ( temp float) -0:8 Construct combined texture-sampler ( temp sampler2DShadow) -0:8 'g_shadowTex' ( uniform texture2D) -0:8 'g_shadowSamplerComp' ( uniform sampler) -0:8 Construct vec3 ( temp 3-component vector of float) +0:9 texture ( temp float) +0:9 Construct combined texture-sampler ( temp sampler2DShadow) +0:9 'g_shadowTex' ( uniform texture2DShadow) +0:9 'g_shadowSamplerComp' ( uniform sampler) +0:9 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.000000 -0:8 Constant: -0:8 0.000000 -0:9 ERROR: Bad aggregation op +0:9 Constant: +0:9 0.000000 +0:10 ERROR: Bad aggregation op ( temp float) -0:9 'g_shadowTex' ( uniform texture2D) -0:9 'g_shadowSampler' ( uniform sampler) +0:10 'g_nonShadowTex' ( uniform texture2D) +0:10 'g_shadowSampler' ( uniform sampler) 0:? Constant: 0:? 0.000000 0:? 0.000000 -0:9 Constant: -0:9 0.000000 -0:11 Branch: Return with expression -0:11 Constant: -0:11 0.000000 -0:11 0.000000 -0:11 0.000000 -0:11 0.000000 -0:7 Function Definition: main( ( temp void) -0:7 Function Parameters: +0:10 Constant: +0:10 0.000000 +0:12 Branch: Return with expression +0:12 Constant: +0:12 0.000000 +0:12 0.000000 +0:12 0.000000 +0:12 0.000000 +0:8 Function Definition: main( ( temp void) +0:8 Function Parameters: 0:? Sequence -0:7 move second child to first child ( temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) -0:7 Function Call: @main( ( temp 4-component vector of float) +0:8 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? 'g_shadowTex' ( uniform texture2D) +0:? 'g_nonShadowTex' ( uniform texture2D) +0:? 'g_shadowTex' ( uniform texture2DShadow) 0:? 'g_shadowSampler' ( uniform sampler) 0:? 'g_shadowSamplerComp' ( uniform sampler) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) @@ -53,42 +54,43 @@ Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left ERROR: node is still EOpNull! -0:7 Function Definition: @main( ( temp 4-component vector of float) -0:7 Function Parameters: +0:8 Function Definition: @main( ( temp 4-component vector of float) +0:8 Function Parameters: 0:? Sequence -0:8 texture ( temp float) -0:8 Construct combined texture-sampler ( temp sampler2DShadow) -0:8 'g_shadowTex' ( uniform texture2D) -0:8 'g_shadowSamplerComp' ( uniform sampler) -0:8 Construct vec3 ( temp 3-component vector of float) +0:9 texture ( temp float) +0:9 Construct combined texture-sampler ( temp sampler2DShadow) +0:9 'g_shadowTex' ( uniform texture2DShadow) +0:9 'g_shadowSamplerComp' ( uniform sampler) +0:9 Construct vec3 ( temp 3-component vector of float) 0:? Constant: 0:? 0.000000 0:? 0.000000 -0:8 Constant: -0:8 0.000000 -0:9 ERROR: Bad aggregation op +0:9 Constant: +0:9 0.000000 +0:10 ERROR: Bad aggregation op ( temp float) -0:9 'g_shadowTex' ( uniform texture2D) -0:9 'g_shadowSampler' ( uniform sampler) +0:10 'g_nonShadowTex' ( uniform texture2D) +0:10 'g_shadowSampler' ( uniform sampler) 0:? Constant: 0:? 0.000000 0:? 0.000000 -0:9 Constant: -0:9 0.000000 -0:11 Branch: Return with expression -0:11 Constant: -0:11 0.000000 -0:11 0.000000 -0:11 0.000000 -0:11 0.000000 -0:7 Function Definition: main( ( temp void) -0:7 Function Parameters: +0:10 Constant: +0:10 0.000000 +0:12 Branch: Return with expression +0:12 Constant: +0:12 0.000000 +0:12 0.000000 +0:12 0.000000 +0:12 0.000000 +0:8 Function Definition: main( ( temp void) +0:8 Function Parameters: 0:? Sequence -0:7 move second child to first child ( temp 4-component vector of float) +0:8 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) -0:7 Function Call: @main( ( temp 4-component vector of float) +0:8 Function Call: @main( ( temp 4-component vector of float) 0:? Linker Objects -0:? 'g_shadowTex' ( uniform texture2D) +0:? 'g_nonShadowTex' ( uniform texture2D) +0:? 'g_shadowTex' ( uniform texture2DShadow) 0:? 'g_shadowSampler' ( uniform sampler) 0:? 'g_shadowSamplerComp' ( uniform sampler) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index d9e1b77ff..a486db61a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -24,7 +24,7 @@ gl_FragCoord origin is upper left 0:43 'r03' ( temp float) 0:43 textureOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -38,7 +38,7 @@ gl_FragCoord origin is upper left 0:44 'r05' ( temp float) 0:44 textureOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -52,7 +52,7 @@ gl_FragCoord origin is upper left 0:47 'r21' ( temp float) 0:47 textureOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -68,7 +68,7 @@ gl_FragCoord origin is upper left 0:48 'r23' ( temp float) 0:48 textureOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -84,7 +84,7 @@ gl_FragCoord origin is upper left 0:49 'r25' ( temp float) 0:49 textureOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -135,12 +135,12 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) @@ -174,7 +174,7 @@ gl_FragCoord origin is upper left 0:42 'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -188,7 +188,7 @@ gl_FragCoord origin is upper left 0:43 'r03' ( temp float) 0:43 textureOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -202,7 +202,7 @@ gl_FragCoord origin is upper left 0:44 'r05' ( temp float) 0:44 textureOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -216,7 +216,7 @@ gl_FragCoord origin is upper left 0:47 'r21' ( temp float) 0:47 textureOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -232,7 +232,7 @@ gl_FragCoord origin is upper left 0:48 'r23' ( temp float) 0:48 textureOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -248,7 +248,7 @@ gl_FragCoord origin is upper left 0:49 'r25' ( temp float) 0:49 textureOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -299,12 +299,12 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) @@ -325,14 +325,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 173 +// Id's are bound by 167 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 121 125 + EntryPoint Fragment 4 "main" 115 119 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -343,61 +343,61 @@ gl_FragCoord origin is upper left Name 13 "r01" Name 16 "g_tTex1df4" Name 20 "g_sSamp" - Name 33 "r03" - Name 36 "g_tTex1di4" - Name 45 "r05" - Name 49 "g_tTex1du4" - Name 58 "r21" - Name 61 "g_tTex2df4" - Name 78 "r23" - Name 81 "g_tTex2di4" - Name 92 "r25" - Name 95 "g_tTex2du4" - Name 107 "psout" - Name 118 "flattenTemp" - Name 121 "@entryPointOutput.Color" - Name 125 "@entryPointOutput.Depth" - Name 130 "g_tTex3df4" - Name 133 "g_tTex3di4" - Name 136 "g_tTex3du4" - Name 139 "g_tTexcdf4" - Name 142 "g_tTexcdi4" - Name 145 "g_tTexcdu4" - Name 148 "g_tTex1df4a" - Name 151 "g_tTex1di4a" - Name 154 "g_tTex1du4a" - Name 157 "g_tTex2df4a" - Name 160 "g_tTex2di4a" - Name 163 "g_tTex2du4a" - Name 166 "g_tTexcdf4a" - Name 169 "g_tTexcdi4a" - Name 172 "g_tTexcdu4a" + Name 32 "r03" + Name 35 "g_tTex1di4" + Name 43 "r05" + Name 47 "g_tTex1du4" + Name 55 "r21" + Name 58 "g_tTex2df4" + Name 74 "r23" + Name 77 "g_tTex2di4" + Name 87 "r25" + Name 90 "g_tTex2du4" + Name 101 "psout" + Name 112 "flattenTemp" + Name 115 "@entryPointOutput.Color" + Name 119 "@entryPointOutput.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 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 - Decorate 49(g_tTex1du4) DescriptorSet 0 - Decorate 61(g_tTex2df4) DescriptorSet 0 - Decorate 81(g_tTex2di4) DescriptorSet 0 - Decorate 95(g_tTex2du4) DescriptorSet 0 - Decorate 121(@entryPointOutput.Color) Location 0 - Decorate 125(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 130(g_tTex3df4) DescriptorSet 0 - Decorate 133(g_tTex3di4) DescriptorSet 0 - Decorate 136(g_tTex3du4) DescriptorSet 0 - Decorate 139(g_tTexcdf4) DescriptorSet 0 - Decorate 142(g_tTexcdi4) DescriptorSet 0 - Decorate 145(g_tTexcdu4) DescriptorSet 0 - Decorate 148(g_tTex1df4a) DescriptorSet 0 - Decorate 151(g_tTex1di4a) DescriptorSet 0 - Decorate 154(g_tTex1du4a) DescriptorSet 0 - Decorate 157(g_tTex2df4a) DescriptorSet 0 - Decorate 160(g_tTex2di4a) DescriptorSet 0 - Decorate 163(g_tTex2du4a) DescriptorSet 0 - Decorate 166(g_tTexcdf4a) DescriptorSet 0 - Decorate 169(g_tTexcdi4a) DescriptorSet 0 - Decorate 172(g_tTexcdu4a) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 90(g_tTex2du4) DescriptorSet 0 + Decorate 115(@entryPointOutput.Color) Location 0 + Decorate 119(@entryPointOutput.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 @@ -405,180 +405,174 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D sampled format:Unknown + 14: TypeImage 6(float) 1D depth sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth sampled format:Unknown - 23: TypeSampledImage 22 - 25: 6(float) Constant 1036831949 - 26: 6(float) Constant 1061158912 - 27: TypeVector 6(float) 2 - 29: TypeInt 32 1 - 30: 29(int) Constant 2 - 34: TypeImage 29(int) 1D sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex1di4): 35(ptr) Variable UniformConstant - 39: TypeImage 29(int) 1D depth sampled format:Unknown - 40: TypeSampledImage 39 - 46: TypeInt 32 0 - 47: TypeImage 46(int) 1D sampled format:Unknown - 48: TypePointer UniformConstant 47 - 49(g_tTex1du4): 48(ptr) Variable UniformConstant - 52: TypeImage 46(int) 1D depth sampled format:Unknown - 53: TypeSampledImage 52 - 59: TypeImage 6(float) 2D sampled format:Unknown - 60: TypePointer UniformConstant 59 - 61(g_tTex2df4): 60(ptr) Variable UniformConstant - 64: TypeImage 6(float) 2D depth sampled format:Unknown - 65: TypeSampledImage 64 - 67: 6(float) Constant 1045220557 - 68: 27(fvec2) ConstantComposite 25 67 - 69: TypeVector 6(float) 3 - 73: TypeVector 29(int) 2 - 74: 29(int) Constant 3 - 75: 73(ivec2) ConstantComposite 30 74 - 79: TypeImage 29(int) 2D sampled format:Unknown - 80: TypePointer UniformConstant 79 - 81(g_tTex2di4): 80(ptr) Variable UniformConstant - 84: TypeImage 29(int) 2D depth sampled format:Unknown - 85: TypeSampledImage 84 - 93: TypeImage 46(int) 2D sampled format:Unknown - 94: TypePointer UniformConstant 93 - 95(g_tTex2du4): 94(ptr) Variable UniformConstant - 98: TypeImage 46(int) 2D depth sampled format:Unknown - 99: TypeSampledImage 98 - 106: TypePointer Function 8(PS_OUTPUT) - 108: 29(int) Constant 0 - 109: 6(float) Constant 1065353216 - 110: 7(fvec4) ConstantComposite 109 109 109 109 - 111: TypePointer Function 7(fvec4) - 113: 29(int) Constant 1 - 120: TypePointer Output 7(fvec4) -121(@entryPointOutput.Color): 120(ptr) Variable Output - 124: TypePointer Output 6(float) -125(@entryPointOutput.Depth): 124(ptr) Variable Output - 128: TypeImage 6(float) 3D sampled format:Unknown + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 26: TypeVector 6(float) 2 + 28: TypeInt 32 1 + 29: 28(int) Constant 2 + 33: TypeImage 28(int) 1D depth sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeSampledImage 33 + 44: TypeInt 32 0 + 45: TypeImage 44(int) 1D depth sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 56: TypeImage 6(float) 2D depth sampled format:Unknown + 57: TypePointer UniformConstant 56 + 58(g_tTex2df4): 57(ptr) Variable UniformConstant + 61: TypeSampledImage 56 + 63: 6(float) Constant 1045220557 + 64: 26(fvec2) ConstantComposite 24 63 + 65: TypeVector 6(float) 3 + 69: TypeVector 28(int) 2 + 70: 28(int) Constant 3 + 71: 69(ivec2) ConstantComposite 29 70 + 75: TypeImage 28(int) 2D depth sampled format:Unknown + 76: TypePointer UniformConstant 75 + 77(g_tTex2di4): 76(ptr) Variable UniformConstant + 80: TypeSampledImage 75 + 88: TypeImage 44(int) 2D depth sampled format:Unknown + 89: TypePointer UniformConstant 88 + 90(g_tTex2du4): 89(ptr) Variable UniformConstant + 93: TypeSampledImage 88 + 100: TypePointer Function 8(PS_OUTPUT) + 102: 28(int) Constant 0 + 103: 6(float) Constant 1065353216 + 104: 7(fvec4) ConstantComposite 103 103 103 103 + 105: TypePointer Function 7(fvec4) + 107: 28(int) Constant 1 + 114: TypePointer Output 7(fvec4) +115(@entryPointOutput.Color): 114(ptr) Variable Output + 118: TypePointer Output 6(float) +119(@entryPointOutput.Depth): 118(ptr) Variable Output + 122: TypeImage 6(float) 3D sampled format:Unknown + 123: TypePointer UniformConstant 122 + 124(g_tTex3df4): 123(ptr) Variable UniformConstant + 125: TypeImage 28(int) 3D sampled format:Unknown + 126: TypePointer UniformConstant 125 + 127(g_tTex3di4): 126(ptr) Variable UniformConstant + 128: TypeImage 44(int) 3D sampled format:Unknown 129: TypePointer UniformConstant 128 - 130(g_tTex3df4): 129(ptr) Variable UniformConstant - 131: TypeImage 29(int) 3D sampled format:Unknown + 130(g_tTex3du4): 129(ptr) Variable UniformConstant + 131: TypeImage 6(float) Cube sampled format:Unknown 132: TypePointer UniformConstant 131 - 133(g_tTex3di4): 132(ptr) Variable UniformConstant - 134: TypeImage 46(int) 3D sampled format:Unknown + 133(g_tTexcdf4): 132(ptr) Variable UniformConstant + 134: TypeImage 28(int) Cube sampled format:Unknown 135: TypePointer UniformConstant 134 - 136(g_tTex3du4): 135(ptr) Variable UniformConstant - 137: TypeImage 6(float) Cube sampled format:Unknown + 136(g_tTexcdi4): 135(ptr) Variable UniformConstant + 137: TypeImage 44(int) Cube sampled format:Unknown 138: TypePointer UniformConstant 137 - 139(g_tTexcdf4): 138(ptr) Variable UniformConstant - 140: TypeImage 29(int) Cube sampled format:Unknown + 139(g_tTexcdu4): 138(ptr) Variable UniformConstant + 140: TypeImage 6(float) 1D array sampled format:Unknown 141: TypePointer UniformConstant 140 - 142(g_tTexcdi4): 141(ptr) Variable UniformConstant - 143: TypeImage 46(int) Cube sampled format:Unknown +142(g_tTex1df4a): 141(ptr) Variable UniformConstant + 143: TypeImage 28(int) 1D array sampled format:Unknown 144: TypePointer UniformConstant 143 - 145(g_tTexcdu4): 144(ptr) Variable UniformConstant - 146: TypeImage 6(float) 1D array sampled format:Unknown +145(g_tTex1di4a): 144(ptr) Variable UniformConstant + 146: TypeImage 44(int) 1D array sampled format:Unknown 147: TypePointer UniformConstant 146 -148(g_tTex1df4a): 147(ptr) Variable UniformConstant - 149: TypeImage 29(int) 1D array sampled format:Unknown +148(g_tTex1du4a): 147(ptr) Variable UniformConstant + 149: TypeImage 6(float) 2D array sampled format:Unknown 150: TypePointer UniformConstant 149 -151(g_tTex1di4a): 150(ptr) Variable UniformConstant - 152: TypeImage 46(int) 1D array sampled format:Unknown +151(g_tTex2df4a): 150(ptr) Variable UniformConstant + 152: TypeImage 28(int) 2D array sampled format:Unknown 153: TypePointer UniformConstant 152 -154(g_tTex1du4a): 153(ptr) Variable UniformConstant - 155: TypeImage 6(float) 2D array sampled format:Unknown +154(g_tTex2di4a): 153(ptr) Variable UniformConstant + 155: TypeImage 44(int) 2D array sampled format:Unknown 156: TypePointer UniformConstant 155 -157(g_tTex2df4a): 156(ptr) Variable UniformConstant - 158: TypeImage 29(int) 2D array sampled format:Unknown +157(g_tTex2du4a): 156(ptr) Variable UniformConstant + 158: TypeImage 6(float) Cube array sampled format:Unknown 159: TypePointer UniformConstant 158 -160(g_tTex2di4a): 159(ptr) Variable UniformConstant - 161: TypeImage 46(int) 2D array sampled format:Unknown +160(g_tTexcdf4a): 159(ptr) Variable UniformConstant + 161: TypeImage 28(int) Cube array sampled format:Unknown 162: TypePointer UniformConstant 161 -163(g_tTex2du4a): 162(ptr) Variable UniformConstant - 164: TypeImage 6(float) Cube array sampled format:Unknown +163(g_tTexcdi4a): 162(ptr) Variable UniformConstant + 164: TypeImage 44(int) Cube array sampled format:Unknown 165: TypePointer UniformConstant 164 -166(g_tTexcdf4a): 165(ptr) Variable UniformConstant - 167: TypeImage 29(int) Cube array sampled format:Unknown - 168: TypePointer UniformConstant 167 -169(g_tTexcdi4a): 168(ptr) Variable UniformConstant - 170: TypeImage 46(int) Cube array sampled format:Unknown - 171: TypePointer UniformConstant 170 -172(g_tTexcdu4a): 171(ptr) Variable UniformConstant +166(g_tTexcdu4a): 165(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -118(flattenTemp): 106(ptr) Variable Function - 119:8(PS_OUTPUT) FunctionCall 10(@main() - Store 118(flattenTemp) 119 - 122: 111(ptr) AccessChain 118(flattenTemp) 108 - 123: 7(fvec4) Load 122 - Store 121(@entryPointOutput.Color) 123 - 126: 12(ptr) AccessChain 118(flattenTemp) 113 - 127: 6(float) Load 126 - Store 125(@entryPointOutput.Depth) 127 +112(flattenTemp): 100(ptr) Variable Function + 113:8(PS_OUTPUT) FunctionCall 10(@main() + Store 112(flattenTemp) 113 + 116: 105(ptr) AccessChain 112(flattenTemp) 102 + 117: 7(fvec4) Load 116 + Store 115(@entryPointOutput.Color) 117 + 120: 12(ptr) AccessChain 112(flattenTemp) 107 + 121: 6(float) Load 120 + Store 119(@entryPointOutput.Depth) 121 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r01): 12(ptr) Variable Function - 33(r03): 12(ptr) Variable Function - 45(r05): 12(ptr) Variable Function - 58(r21): 12(ptr) Variable Function - 78(r23): 12(ptr) Variable Function - 92(r25): 12(ptr) Variable Function - 107(psout): 106(ptr) Variable Function + 32(r03): 12(ptr) Variable Function + 43(r05): 12(ptr) Variable Function + 55(r21): 12(ptr) Variable Function + 74(r23): 12(ptr) Variable Function + 87(r25): 12(ptr) Variable Function + 101(psout): 100(ptr) Variable Function 17: 14 Load 16(g_tTex1df4) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 28: 27(fvec2) CompositeConstruct 25 26 - 31: 6(float) CompositeExtract 28 1 - 32: 6(float) ImageSampleDrefImplicitLod 24 28 31 ConstOffset 30 - Store 13(r01) 32 - 37: 34 Load 36(g_tTex1di4) - 38: 18 Load 20(g_sSamp) - 41: 40 SampledImage 37 38 - 42: 27(fvec2) CompositeConstruct 25 26 - 43: 6(float) CompositeExtract 42 1 - 44: 6(float) ImageSampleDrefImplicitLod 41 42 43 ConstOffset 30 - Store 33(r03) 44 - 50: 47 Load 49(g_tTex1du4) - 51: 18 Load 20(g_sSamp) - 54: 53 SampledImage 50 51 - 55: 27(fvec2) CompositeConstruct 25 26 - 56: 6(float) CompositeExtract 55 1 - 57: 6(float) ImageSampleDrefImplicitLod 54 55 56 ConstOffset 30 - Store 45(r05) 57 - 62: 59 Load 61(g_tTex2df4) - 63: 18 Load 20(g_sSamp) - 66: 65 SampledImage 62 63 - 70: 6(float) CompositeExtract 68 0 - 71: 6(float) CompositeExtract 68 1 - 72: 69(fvec3) CompositeConstruct 70 71 26 - 76: 6(float) CompositeExtract 72 2 - 77: 6(float) ImageSampleDrefImplicitLod 66 72 76 ConstOffset 75 - Store 58(r21) 77 - 82: 79 Load 81(g_tTex2di4) - 83: 18 Load 20(g_sSamp) - 86: 85 SampledImage 82 83 - 87: 6(float) CompositeExtract 68 0 - 88: 6(float) CompositeExtract 68 1 - 89: 69(fvec3) CompositeConstruct 87 88 26 - 90: 6(float) CompositeExtract 89 2 - 91: 6(float) ImageSampleDrefImplicitLod 86 89 90 ConstOffset 75 - Store 78(r23) 91 - 96: 93 Load 95(g_tTex2du4) - 97: 18 Load 20(g_sSamp) - 100: 99 SampledImage 96 97 - 101: 6(float) CompositeExtract 68 0 - 102: 6(float) CompositeExtract 68 1 - 103: 69(fvec3) CompositeConstruct 101 102 26 - 104: 6(float) CompositeExtract 103 2 - 105: 6(float) ImageSampleDrefImplicitLod 100 103 104 ConstOffset 75 - Store 92(r25) 105 - 112: 111(ptr) AccessChain 107(psout) 108 - Store 112 110 - 114: 12(ptr) AccessChain 107(psout) 113 - Store 114 109 - 115:8(PS_OUTPUT) Load 107(psout) - ReturnValue 115 + 23: 22 SampledImage 17 21 + 27: 26(fvec2) CompositeConstruct 24 25 + 30: 6(float) CompositeExtract 27 1 + 31: 6(float) ImageSampleDrefImplicitLod 23 27 30 ConstOffset 29 + Store 13(r01) 31 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 39: 38 SampledImage 36 37 + 40: 26(fvec2) CompositeConstruct 24 25 + 41: 6(float) CompositeExtract 40 1 + 42: 6(float) ImageSampleDrefImplicitLod 39 40 41 ConstOffset 29 + Store 32(r03) 42 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 52: 26(fvec2) CompositeConstruct 24 25 + 53: 6(float) CompositeExtract 52 1 + 54: 6(float) ImageSampleDrefImplicitLod 51 52 53 ConstOffset 29 + Store 43(r05) 54 + 59: 56 Load 58(g_tTex2df4) + 60: 18 Load 20(g_sSamp) + 62: 61 SampledImage 59 60 + 66: 6(float) CompositeExtract 64 0 + 67: 6(float) CompositeExtract 64 1 + 68: 65(fvec3) CompositeConstruct 66 67 25 + 72: 6(float) CompositeExtract 68 2 + 73: 6(float) ImageSampleDrefImplicitLod 62 68 72 ConstOffset 71 + Store 55(r21) 73 + 78: 75 Load 77(g_tTex2di4) + 79: 18 Load 20(g_sSamp) + 81: 80 SampledImage 78 79 + 82: 6(float) CompositeExtract 64 0 + 83: 6(float) CompositeExtract 64 1 + 84: 65(fvec3) CompositeConstruct 82 83 25 + 85: 6(float) CompositeExtract 84 2 + 86: 6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 71 + Store 74(r23) 86 + 91: 88 Load 90(g_tTex2du4) + 92: 18 Load 20(g_sSamp) + 94: 93 SampledImage 91 92 + 95: 6(float) CompositeExtract 64 0 + 96: 6(float) CompositeExtract 64 1 + 97: 65(fvec3) CompositeConstruct 95 96 25 + 98: 6(float) CompositeExtract 97 2 + 99: 6(float) ImageSampleDrefImplicitLod 94 97 98 ConstOffset 71 + Store 87(r25) 99 + 106: 105(ptr) AccessChain 101(psout) 102 + Store 106 104 + 108: 12(ptr) AccessChain 101(psout) 107 + Store 108 103 + 109:8(PS_OUTPUT) Load 101(psout) + ReturnValue 109 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 067c8a634..478fc7e1b 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r11' ( temp float) 0:42 textureOffset ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -25,7 +25,7 @@ gl_FragCoord origin is upper left 0:43 'r13' ( temp float) 0:43 textureOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -40,7 +40,7 @@ gl_FragCoord origin is upper left 0:44 'r15' ( temp float) 0:44 textureOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -55,7 +55,7 @@ gl_FragCoord origin is upper left 0:47 'r31' ( temp float) 0:47 textureOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -72,7 +72,7 @@ gl_FragCoord origin is upper left 0:48 'r33' ( temp float) 0:48 textureOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -89,7 +89,7 @@ gl_FragCoord origin is upper left 0:49 'r35' ( temp float) 0:49 textureOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -153,12 +153,12 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:? 'g_tTexcdf4a' ( uniform textureCubeArray) 0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) @@ -180,7 +180,7 @@ gl_FragCoord origin is upper left 0:42 'r11' ( temp float) 0:42 textureOffset ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -195,7 +195,7 @@ gl_FragCoord origin is upper left 0:43 'r13' ( temp float) 0:43 textureOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -210,7 +210,7 @@ gl_FragCoord origin is upper left 0:44 'r15' ( temp float) 0:44 textureOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -225,7 +225,7 @@ gl_FragCoord origin is upper left 0:47 'r31' ( temp float) 0:47 textureOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -242,7 +242,7 @@ gl_FragCoord origin is upper left 0:48 'r33' ( temp float) 0:48 textureOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -259,7 +259,7 @@ gl_FragCoord origin is upper left 0:49 'r35' ( temp float) 0:49 textureOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -323,12 +323,12 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:? 'g_tTexcdf4a' ( uniform textureCubeArray) 0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) @@ -337,14 +337,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 184 +// Id's are bound by 178 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 132 136 + EntryPoint Fragment 4 "main" 126 130 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -355,61 +355,61 @@ gl_FragCoord origin is upper left Name 13 "r11" Name 16 "g_tTex1df4a" Name 20 "g_sSamp" - Name 38 "r13" - Name 41 "g_tTex1di4a" - Name 52 "r15" - Name 56 "g_tTex1du4a" - Name 67 "r31" - Name 70 "g_tTex2df4a" - Name 87 "r33" - Name 90 "g_tTex2di4a" - Name 102 "r35" - Name 105 "g_tTex2du4a" - Name 118 "psout" - Name 129 "flattenTemp" - Name 132 "@entryPointOutput.Color" - Name 136 "@entryPointOutput.Depth" - Name 141 "g_tTex1df4" - Name 144 "g_tTex1di4" - Name 147 "g_tTex1du4" - Name 150 "g_tTex2df4" - Name 153 "g_tTex2di4" - Name 156 "g_tTex2du4" - Name 159 "g_tTex3df4" - Name 162 "g_tTex3di4" - Name 165 "g_tTex3du4" - Name 168 "g_tTexcdf4" - Name 171 "g_tTexcdi4" - Name 174 "g_tTexcdu4" - Name 177 "g_tTexcdf4a" - Name 180 "g_tTexcdi4a" - Name 183 "g_tTexcdu4a" + Name 37 "r13" + Name 40 "g_tTex1di4a" + Name 50 "r15" + Name 54 "g_tTex1du4a" + Name 64 "r31" + Name 67 "g_tTex2df4a" + Name 83 "r33" + Name 86 "g_tTex2di4a" + Name 97 "r35" + Name 100 "g_tTex2du4a" + Name 112 "psout" + Name 123 "flattenTemp" + Name 126 "@entryPointOutput.Color" + Name 130 "@entryPointOutput.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 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 41(g_tTex1di4a) DescriptorSet 0 - Decorate 56(g_tTex1du4a) DescriptorSet 0 - Decorate 70(g_tTex2df4a) DescriptorSet 0 - Decorate 90(g_tTex2di4a) DescriptorSet 0 - Decorate 105(g_tTex2du4a) DescriptorSet 0 - Decorate 132(@entryPointOutput.Color) Location 0 - Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 141(g_tTex1df4) DescriptorSet 0 - Decorate 141(g_tTex1df4) Binding 0 - Decorate 144(g_tTex1di4) DescriptorSet 0 - Decorate 147(g_tTex1du4) DescriptorSet 0 - Decorate 150(g_tTex2df4) DescriptorSet 0 - Decorate 153(g_tTex2di4) DescriptorSet 0 - Decorate 156(g_tTex2du4) DescriptorSet 0 - Decorate 159(g_tTex3df4) DescriptorSet 0 - Decorate 162(g_tTex3di4) DescriptorSet 0 - Decorate 165(g_tTex3du4) DescriptorSet 0 - Decorate 168(g_tTexcdf4) DescriptorSet 0 - Decorate 171(g_tTexcdi4) DescriptorSet 0 - Decorate 174(g_tTexcdu4) DescriptorSet 0 - Decorate 177(g_tTexcdf4a) DescriptorSet 0 - Decorate 180(g_tTexcdi4a) DescriptorSet 0 - Decorate 183(g_tTexcdu4a) DescriptorSet 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 54(g_tTex1du4a) DescriptorSet 0 + Decorate 67(g_tTex2df4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 100(g_tTex2du4a) DescriptorSet 0 + Decorate 126(@entryPointOutput.Color) Location 0 + Decorate 130(@entryPointOutput.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 @@ -417,191 +417,185 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D array sampled format:Unknown + 14: TypeImage 6(float) 1D depth array sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4a): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth array sampled format:Unknown - 23: TypeSampledImage 22 - 25: TypeVector 6(float) 2 - 26: 6(float) Constant 1036831949 - 27: 6(float) Constant 1045220557 - 28: 25(fvec2) ConstantComposite 26 27 - 29: 6(float) Constant 1061158912 - 30: TypeVector 6(float) 3 - 34: TypeInt 32 1 - 35: 34(int) Constant 2 - 39: TypeImage 34(int) 1D array sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41(g_tTex1di4a): 40(ptr) Variable UniformConstant - 44: TypeImage 34(int) 1D depth array sampled format:Unknown - 45: TypeSampledImage 44 - 53: TypeInt 32 0 - 54: TypeImage 53(int) 1D array sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex1du4a): 55(ptr) Variable UniformConstant - 59: TypeImage 53(int) 1D depth array sampled format:Unknown - 60: TypeSampledImage 59 - 68: TypeImage 6(float) 2D array sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTex2df4a): 69(ptr) Variable UniformConstant - 73: TypeImage 6(float) 2D depth array sampled format:Unknown - 74: TypeSampledImage 73 - 76: 6(float) Constant 1050253722 - 77: 30(fvec3) ConstantComposite 26 27 76 - 82: TypeVector 34(int) 2 - 83: 34(int) Constant 3 - 84: 82(ivec2) ConstantComposite 35 83 - 88: TypeImage 34(int) 2D array sampled format:Unknown - 89: TypePointer UniformConstant 88 - 90(g_tTex2di4a): 89(ptr) Variable UniformConstant - 93: TypeImage 34(int) 2D depth array sampled format:Unknown - 94: TypeSampledImage 93 - 103: TypeImage 53(int) 2D array sampled format:Unknown - 104: TypePointer UniformConstant 103 -105(g_tTex2du4a): 104(ptr) Variable UniformConstant - 108: TypeImage 53(int) 2D depth array sampled format:Unknown - 109: TypeSampledImage 108 - 117: TypePointer Function 8(PS_OUTPUT) - 119: 34(int) Constant 0 - 120: 6(float) Constant 1065353216 - 121: 7(fvec4) ConstantComposite 120 120 120 120 - 122: TypePointer Function 7(fvec4) - 124: 34(int) Constant 1 - 131: TypePointer Output 7(fvec4) -132(@entryPointOutput.Color): 131(ptr) Variable Output - 135: TypePointer Output 6(float) -136(@entryPointOutput.Depth): 135(ptr) Variable Output - 139: TypeImage 6(float) 1D sampled format:Unknown + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 29: TypeVector 6(float) 3 + 33: TypeInt 32 1 + 34: 33(int) Constant 2 + 38: TypeImage 33(int) 1D depth array sampled format:Unknown + 39: TypePointer UniformConstant 38 + 40(g_tTex1di4a): 39(ptr) Variable UniformConstant + 43: TypeSampledImage 38 + 51: TypeInt 32 0 + 52: TypeImage 51(int) 1D depth array sampled format:Unknown + 53: TypePointer UniformConstant 52 + 54(g_tTex1du4a): 53(ptr) Variable UniformConstant + 57: TypeSampledImage 52 + 65: TypeImage 6(float) 2D depth array sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2df4a): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1050253722 + 73: 29(fvec3) ConstantComposite 25 26 72 + 78: TypeVector 33(int) 2 + 79: 33(int) Constant 3 + 80: 78(ivec2) ConstantComposite 34 79 + 84: TypeImage 33(int) 2D depth array sampled format:Unknown + 85: TypePointer UniformConstant 84 + 86(g_tTex2di4a): 85(ptr) Variable UniformConstant + 89: TypeSampledImage 84 + 98: TypeImage 51(int) 2D depth array sampled format:Unknown + 99: TypePointer UniformConstant 98 +100(g_tTex2du4a): 99(ptr) Variable UniformConstant + 103: TypeSampledImage 98 + 111: TypePointer Function 8(PS_OUTPUT) + 113: 33(int) Constant 0 + 114: 6(float) Constant 1065353216 + 115: 7(fvec4) ConstantComposite 114 114 114 114 + 116: TypePointer Function 7(fvec4) + 118: 33(int) Constant 1 + 125: TypePointer Output 7(fvec4) +126(@entryPointOutput.Color): 125(ptr) Variable Output + 129: TypePointer Output 6(float) +130(@entryPointOutput.Depth): 129(ptr) Variable Output + 133: TypeImage 6(float) 1D sampled format:Unknown + 134: TypePointer UniformConstant 133 + 135(g_tTex1df4): 134(ptr) Variable UniformConstant + 136: TypeImage 33(int) 1D sampled format:Unknown + 137: TypePointer UniformConstant 136 + 138(g_tTex1di4): 137(ptr) Variable UniformConstant + 139: TypeImage 51(int) 1D sampled format:Unknown 140: TypePointer UniformConstant 139 - 141(g_tTex1df4): 140(ptr) Variable UniformConstant - 142: TypeImage 34(int) 1D sampled format:Unknown + 141(g_tTex1du4): 140(ptr) Variable UniformConstant + 142: TypeImage 6(float) 2D sampled format:Unknown 143: TypePointer UniformConstant 142 - 144(g_tTex1di4): 143(ptr) Variable UniformConstant - 145: TypeImage 53(int) 1D sampled format:Unknown + 144(g_tTex2df4): 143(ptr) Variable UniformConstant + 145: TypeImage 33(int) 2D sampled format:Unknown 146: TypePointer UniformConstant 145 - 147(g_tTex1du4): 146(ptr) Variable UniformConstant - 148: TypeImage 6(float) 2D sampled format:Unknown + 147(g_tTex2di4): 146(ptr) Variable UniformConstant + 148: TypeImage 51(int) 2D sampled format:Unknown 149: TypePointer UniformConstant 148 - 150(g_tTex2df4): 149(ptr) Variable UniformConstant - 151: TypeImage 34(int) 2D sampled format:Unknown + 150(g_tTex2du4): 149(ptr) Variable UniformConstant + 151: TypeImage 6(float) 3D sampled format:Unknown 152: TypePointer UniformConstant 151 - 153(g_tTex2di4): 152(ptr) Variable UniformConstant - 154: TypeImage 53(int) 2D sampled format:Unknown + 153(g_tTex3df4): 152(ptr) Variable UniformConstant + 154: TypeImage 33(int) 3D sampled format:Unknown 155: TypePointer UniformConstant 154 - 156(g_tTex2du4): 155(ptr) Variable UniformConstant - 157: TypeImage 6(float) 3D sampled format:Unknown + 156(g_tTex3di4): 155(ptr) Variable UniformConstant + 157: TypeImage 51(int) 3D sampled format:Unknown 158: TypePointer UniformConstant 157 - 159(g_tTex3df4): 158(ptr) Variable UniformConstant - 160: TypeImage 34(int) 3D sampled format:Unknown + 159(g_tTex3du4): 158(ptr) Variable UniformConstant + 160: TypeImage 6(float) Cube sampled format:Unknown 161: TypePointer UniformConstant 160 - 162(g_tTex3di4): 161(ptr) Variable UniformConstant - 163: TypeImage 53(int) 3D sampled format:Unknown + 162(g_tTexcdf4): 161(ptr) Variable UniformConstant + 163: TypeImage 33(int) Cube sampled format:Unknown 164: TypePointer UniformConstant 163 - 165(g_tTex3du4): 164(ptr) Variable UniformConstant - 166: TypeImage 6(float) Cube sampled format:Unknown + 165(g_tTexcdi4): 164(ptr) Variable UniformConstant + 166: TypeImage 51(int) Cube sampled format:Unknown 167: TypePointer UniformConstant 166 - 168(g_tTexcdf4): 167(ptr) Variable UniformConstant - 169: TypeImage 34(int) Cube sampled format:Unknown + 168(g_tTexcdu4): 167(ptr) Variable UniformConstant + 169: TypeImage 6(float) Cube array sampled format:Unknown 170: TypePointer UniformConstant 169 - 171(g_tTexcdi4): 170(ptr) Variable UniformConstant - 172: TypeImage 53(int) Cube sampled format:Unknown +171(g_tTexcdf4a): 170(ptr) Variable UniformConstant + 172: TypeImage 33(int) Cube array sampled format:Unknown 173: TypePointer UniformConstant 172 - 174(g_tTexcdu4): 173(ptr) Variable UniformConstant - 175: TypeImage 6(float) Cube array sampled format:Unknown +174(g_tTexcdi4a): 173(ptr) Variable UniformConstant + 175: TypeImage 51(int) Cube array sampled format:Unknown 176: TypePointer UniformConstant 175 -177(g_tTexcdf4a): 176(ptr) Variable UniformConstant - 178: TypeImage 34(int) Cube array sampled format:Unknown - 179: TypePointer UniformConstant 178 -180(g_tTexcdi4a): 179(ptr) Variable UniformConstant - 181: TypeImage 53(int) Cube array sampled format:Unknown - 182: TypePointer UniformConstant 181 -183(g_tTexcdu4a): 182(ptr) Variable UniformConstant +177(g_tTexcdu4a): 176(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -129(flattenTemp): 117(ptr) Variable Function - 130:8(PS_OUTPUT) FunctionCall 10(@main() - Store 129(flattenTemp) 130 - 133: 122(ptr) AccessChain 129(flattenTemp) 119 - 134: 7(fvec4) Load 133 - Store 132(@entryPointOutput.Color) 134 - 137: 12(ptr) AccessChain 129(flattenTemp) 124 - 138: 6(float) Load 137 - Store 136(@entryPointOutput.Depth) 138 +123(flattenTemp): 111(ptr) Variable Function + 124:8(PS_OUTPUT) FunctionCall 10(@main() + Store 123(flattenTemp) 124 + 127: 116(ptr) AccessChain 123(flattenTemp) 113 + 128: 7(fvec4) Load 127 + Store 126(@entryPointOutput.Color) 128 + 131: 12(ptr) AccessChain 123(flattenTemp) 118 + 132: 6(float) Load 131 + Store 130(@entryPointOutput.Depth) 132 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r11): 12(ptr) Variable Function - 38(r13): 12(ptr) Variable Function - 52(r15): 12(ptr) Variable Function - 67(r31): 12(ptr) Variable Function - 87(r33): 12(ptr) Variable Function - 102(r35): 12(ptr) Variable Function - 118(psout): 117(ptr) Variable Function + 37(r13): 12(ptr) Variable Function + 50(r15): 12(ptr) Variable Function + 64(r31): 12(ptr) Variable Function + 83(r33): 12(ptr) Variable Function + 97(r35): 12(ptr) Variable Function + 112(psout): 111(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 31: 6(float) CompositeExtract 28 0 - 32: 6(float) CompositeExtract 28 1 - 33: 30(fvec3) CompositeConstruct 31 32 29 - 36: 6(float) CompositeExtract 33 2 - 37: 6(float) ImageSampleDrefImplicitLod 24 33 36 ConstOffset 35 - Store 13(r11) 37 - 42: 39 Load 41(g_tTex1di4a) - 43: 18 Load 20(g_sSamp) - 46: 45 SampledImage 42 43 - 47: 6(float) CompositeExtract 28 0 - 48: 6(float) CompositeExtract 28 1 - 49: 30(fvec3) CompositeConstruct 47 48 29 - 50: 6(float) CompositeExtract 49 2 - 51: 6(float) ImageSampleDrefImplicitLod 46 49 50 ConstOffset 35 - Store 38(r13) 51 - 57: 54 Load 56(g_tTex1du4a) - 58: 18 Load 20(g_sSamp) - 61: 60 SampledImage 57 58 - 62: 6(float) CompositeExtract 28 0 - 63: 6(float) CompositeExtract 28 1 - 64: 30(fvec3) CompositeConstruct 62 63 29 - 65: 6(float) CompositeExtract 64 2 - 66: 6(float) ImageSampleDrefImplicitLod 61 64 65 ConstOffset 35 - Store 52(r15) 66 - 71: 68 Load 70(g_tTex2df4a) - 72: 18 Load 20(g_sSamp) - 75: 74 SampledImage 71 72 - 78: 6(float) CompositeExtract 77 0 - 79: 6(float) CompositeExtract 77 1 - 80: 6(float) CompositeExtract 77 2 - 81: 7(fvec4) CompositeConstruct 78 79 80 29 - 85: 6(float) CompositeExtract 81 3 - 86: 6(float) ImageSampleDrefImplicitLod 75 81 85 ConstOffset 84 - Store 67(r31) 86 - 91: 88 Load 90(g_tTex2di4a) - 92: 18 Load 20(g_sSamp) - 95: 94 SampledImage 91 92 - 96: 6(float) CompositeExtract 77 0 - 97: 6(float) CompositeExtract 77 1 - 98: 6(float) CompositeExtract 77 2 - 99: 7(fvec4) CompositeConstruct 96 97 98 29 - 100: 6(float) CompositeExtract 99 3 - 101: 6(float) ImageSampleDrefImplicitLod 95 99 100 ConstOffset 84 - Store 87(r33) 101 - 106: 103 Load 105(g_tTex2du4a) - 107: 18 Load 20(g_sSamp) - 110: 109 SampledImage 106 107 - 111: 6(float) CompositeExtract 77 0 - 112: 6(float) CompositeExtract 77 1 - 113: 6(float) CompositeExtract 77 2 - 114: 7(fvec4) CompositeConstruct 111 112 113 29 - 115: 6(float) CompositeExtract 114 3 - 116: 6(float) ImageSampleDrefImplicitLod 110 114 115 ConstOffset 84 - Store 102(r35) 116 - 123: 122(ptr) AccessChain 118(psout) 119 - Store 123 121 - 125: 12(ptr) AccessChain 118(psout) 124 - Store 125 120 - 126:8(PS_OUTPUT) Load 118(psout) - ReturnValue 126 + 23: 22 SampledImage 17 21 + 30: 6(float) CompositeExtract 27 0 + 31: 6(float) CompositeExtract 27 1 + 32: 29(fvec3) CompositeConstruct 30 31 28 + 35: 6(float) CompositeExtract 32 2 + 36: 6(float) ImageSampleDrefImplicitLod 23 32 35 ConstOffset 34 + Store 13(r11) 36 + 41: 38 Load 40(g_tTex1di4a) + 42: 18 Load 20(g_sSamp) + 44: 43 SampledImage 41 42 + 45: 6(float) CompositeExtract 27 0 + 46: 6(float) CompositeExtract 27 1 + 47: 29(fvec3) CompositeConstruct 45 46 28 + 48: 6(float) CompositeExtract 47 2 + 49: 6(float) ImageSampleDrefImplicitLod 44 47 48 ConstOffset 34 + Store 37(r13) 49 + 55: 52 Load 54(g_tTex1du4a) + 56: 18 Load 20(g_sSamp) + 58: 57 SampledImage 55 56 + 59: 6(float) CompositeExtract 27 0 + 60: 6(float) CompositeExtract 27 1 + 61: 29(fvec3) CompositeConstruct 59 60 28 + 62: 6(float) CompositeExtract 61 2 + 63: 6(float) ImageSampleDrefImplicitLod 58 61 62 ConstOffset 34 + Store 50(r15) 63 + 68: 65 Load 67(g_tTex2df4a) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 6(float) CompositeExtract 73 0 + 75: 6(float) CompositeExtract 73 1 + 76: 6(float) CompositeExtract 73 2 + 77: 7(fvec4) CompositeConstruct 74 75 76 28 + 81: 6(float) CompositeExtract 77 3 + 82: 6(float) ImageSampleDrefImplicitLod 71 77 81 ConstOffset 80 + Store 64(r31) 82 + 87: 84 Load 86(g_tTex2di4a) + 88: 18 Load 20(g_sSamp) + 90: 89 SampledImage 87 88 + 91: 6(float) CompositeExtract 73 0 + 92: 6(float) CompositeExtract 73 1 + 93: 6(float) CompositeExtract 73 2 + 94: 7(fvec4) CompositeConstruct 91 92 93 28 + 95: 6(float) CompositeExtract 94 3 + 96: 6(float) ImageSampleDrefImplicitLod 90 94 95 ConstOffset 80 + Store 83(r33) 96 + 101: 98 Load 100(g_tTex2du4a) + 102: 18 Load 20(g_sSamp) + 104: 103 SampledImage 101 102 + 105: 6(float) CompositeExtract 73 0 + 106: 6(float) CompositeExtract 73 1 + 107: 6(float) CompositeExtract 73 2 + 108: 7(fvec4) CompositeConstruct 105 106 107 28 + 109: 6(float) CompositeExtract 108 3 + 110: 6(float) ImageSampleDrefImplicitLod 104 108 109 ConstOffset 80 + Store 97(r35) 110 + 117: 116(ptr) AccessChain 112(psout) 113 + Store 117 115 + 119: 12(ptr) AccessChain 112(psout) 118 + Store 119 114 + 120:8(PS_OUTPUT) Load 112(psout) + ReturnValue 120 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 40a8202ab..bed1d919a 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r10' ( temp float) 0:42 textureLod ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -25,7 +25,7 @@ gl_FragCoord origin is upper left 0:43 'r12' ( temp float) 0:43 textureLod ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -40,7 +40,7 @@ gl_FragCoord origin is upper left 0:44 'r14' ( temp float) 0:44 textureLod ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -55,7 +55,7 @@ gl_FragCoord origin is upper left 0:47 'r30' ( temp float) 0:47 textureLod ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -71,7 +71,7 @@ gl_FragCoord origin is upper left 0:48 'r32' ( temp float) 0:48 textureLod ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -87,7 +87,7 @@ gl_FragCoord origin is upper left 0:49 'r34' ( temp float) 0:49 textureLod ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -103,7 +103,7 @@ gl_FragCoord origin is upper left 0:52 'r60' ( temp float) 0:52 textureLod ( temp float) 0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) 0:52 'g_sSamp' (layout( binding=0) uniform sampler) 0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -120,7 +120,7 @@ gl_FragCoord origin is upper left 0:53 'r62' ( temp float) 0:53 textureLod ( temp float) 0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -137,7 +137,7 @@ gl_FragCoord origin is upper left 0:54 'r64' ( temp float) 0:54 textureLod ( temp float) 0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -201,15 +201,15 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) -0:? 'g_tTexcdf4a' ( uniform textureCubeArray) -0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) -0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) +0:? 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:? '@entryPointOutput.Depth' ( out float FragDepth) 0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float) @@ -228,7 +228,7 @@ gl_FragCoord origin is upper left 0:42 'r10' ( temp float) 0:42 textureLod ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -243,7 +243,7 @@ gl_FragCoord origin is upper left 0:43 'r12' ( temp float) 0:43 textureLod ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -258,7 +258,7 @@ gl_FragCoord origin is upper left 0:44 'r14' ( temp float) 0:44 textureLod ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -273,7 +273,7 @@ gl_FragCoord origin is upper left 0:47 'r30' ( temp float) 0:47 textureLod ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -289,7 +289,7 @@ gl_FragCoord origin is upper left 0:48 'r32' ( temp float) 0:48 textureLod ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -305,7 +305,7 @@ gl_FragCoord origin is upper left 0:49 'r34' ( temp float) 0:49 textureLod ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -321,7 +321,7 @@ gl_FragCoord origin is upper left 0:52 'r60' ( temp float) 0:52 textureLod ( temp float) 0:52 Construct combined texture-sampler ( temp samplerCubeArrayShadow) -0:52 'g_tTexcdf4a' ( uniform textureCubeArray) +0:52 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) 0:52 'g_sSamp' (layout( binding=0) uniform sampler) 0:52 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -338,7 +338,7 @@ gl_FragCoord origin is upper left 0:53 'r62' ( temp float) 0:53 textureLod ( temp float) 0:53 Construct combined texture-sampler ( temp isamplerCubeArrayShadow) -0:53 'g_tTexcdi4a' ( uniform itextureCubeArray) +0:53 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -355,7 +355,7 @@ gl_FragCoord origin is upper left 0:54 'r64' ( temp float) 0:54 textureLod ( temp float) 0:54 Construct combined texture-sampler ( temp usamplerCubeArrayShadow) -0:54 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:54 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -419,28 +419,28 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) -0:? 'g_tTexcdf4a' ( uniform textureCubeArray) -0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) -0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) +0:? 'g_tTexcdf4a' ( uniform textureCubeArrayShadow) +0:? 'g_tTexcdi4a' ( uniform itextureCubeArrayShadow) +0:? 'g_tTexcdu4a' ( uniform utextureCubeArrayShadow) 0:? '@entryPointOutput.Depth' ( out float FragDepth) 0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 219 +// Id's are bound by 210 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 176 180 + EntryPoint Fragment 4 "main" 167 171 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -451,64 +451,64 @@ gl_FragCoord origin is upper left Name 13 "r10" Name 16 "g_tTex1df4a" Name 20 "g_sSamp" - Name 37 "r12" - Name 41 "g_tTex1di4a" - Name 52 "r14" - Name 56 "g_tTex1du4a" - Name 67 "r30" - Name 70 "g_tTex2df4a" - Name 84 "r32" - Name 87 "g_tTex2di4a" - Name 99 "r34" - Name 102 "g_tTex2du4a" - Name 114 "r60" - Name 117 "g_tTexcdf4a" - Name 131 "r62" - Name 134 "g_tTexcdi4a" - Name 146 "r64" - Name 149 "g_tTexcdu4a" - Name 162 "psout" - Name 173 "flattenTemp" - Name 176 "@entryPointOutput.Color" - Name 180 "@entryPointOutput.Depth" - Name 185 "g_tTex1df4" - Name 188 "g_tTex1di4" - Name 191 "g_tTex1du4" - Name 194 "g_tTex2df4" - Name 197 "g_tTex2di4" - Name 200 "g_tTex2du4" - Name 203 "g_tTex3df4" - Name 206 "g_tTex3di4" - Name 209 "g_tTex3du4" - Name 212 "g_tTexcdf4" - Name 215 "g_tTexcdi4" - Name 218 "g_tTexcdu4" + Name 36 "r12" + Name 40 "g_tTex1di4a" + Name 50 "r14" + Name 54 "g_tTex1du4a" + Name 64 "r30" + Name 67 "g_tTex2df4a" + Name 80 "r32" + Name 83 "g_tTex2di4a" + Name 94 "r34" + Name 97 "g_tTex2du4a" + Name 108 "r60" + Name 111 "g_tTexcdf4a" + Name 124 "r62" + Name 127 "g_tTexcdi4a" + Name 138 "r64" + Name 141 "g_tTexcdu4a" + Name 153 "psout" + Name 164 "flattenTemp" + Name 167 "@entryPointOutput.Color" + Name 171 "@entryPointOutput.Depth" + Name 176 "g_tTex1df4" + Name 179 "g_tTex1di4" + Name 182 "g_tTex1du4" + Name 185 "g_tTex2df4" + Name 188 "g_tTex2di4" + Name 191 "g_tTex2du4" + Name 194 "g_tTex3df4" + Name 197 "g_tTex3di4" + Name 200 "g_tTex3du4" + Name 203 "g_tTexcdf4" + Name 206 "g_tTexcdi4" + Name 209 "g_tTexcdu4" Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 41(g_tTex1di4a) DescriptorSet 0 - Decorate 56(g_tTex1du4a) DescriptorSet 0 - Decorate 70(g_tTex2df4a) DescriptorSet 0 - Decorate 87(g_tTex2di4a) DescriptorSet 0 - Decorate 102(g_tTex2du4a) DescriptorSet 0 - Decorate 117(g_tTexcdf4a) DescriptorSet 0 - Decorate 134(g_tTexcdi4a) DescriptorSet 0 - Decorate 149(g_tTexcdu4a) DescriptorSet 0 - Decorate 176(@entryPointOutput.Color) Location 0 - Decorate 180(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 185(g_tTex1df4) DescriptorSet 0 - Decorate 185(g_tTex1df4) Binding 0 - Decorate 188(g_tTex1di4) DescriptorSet 0 - Decorate 191(g_tTex1du4) DescriptorSet 0 - Decorate 194(g_tTex2df4) DescriptorSet 0 - Decorate 197(g_tTex2di4) DescriptorSet 0 - Decorate 200(g_tTex2du4) DescriptorSet 0 - Decorate 203(g_tTex3df4) DescriptorSet 0 - Decorate 206(g_tTex3di4) DescriptorSet 0 - Decorate 209(g_tTex3du4) DescriptorSet 0 - Decorate 212(g_tTexcdf4) DescriptorSet 0 - Decorate 215(g_tTexcdi4) DescriptorSet 0 - Decorate 218(g_tTexcdu4) DescriptorSet 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 54(g_tTex1du4a) DescriptorSet 0 + Decorate 67(g_tTex2df4a) DescriptorSet 0 + Decorate 83(g_tTex2di4a) DescriptorSet 0 + Decorate 97(g_tTex2du4a) DescriptorSet 0 + Decorate 111(g_tTexcdf4a) DescriptorSet 0 + Decorate 127(g_tTexcdi4a) DescriptorSet 0 + Decorate 141(g_tTexcdu4a) DescriptorSet 0 + Decorate 167(@entryPointOutput.Color) Location 0 + Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 176(g_tTex1df4) DescriptorSet 0 + Decorate 176(g_tTex1df4) Binding 0 + Decorate 179(g_tTex1di4) DescriptorSet 0 + Decorate 182(g_tTex1du4) DescriptorSet 0 + Decorate 185(g_tTex2df4) DescriptorSet 0 + Decorate 188(g_tTex2di4) DescriptorSet 0 + Decorate 191(g_tTex2du4) DescriptorSet 0 + Decorate 194(g_tTex3df4) DescriptorSet 0 + Decorate 197(g_tTex3di4) DescriptorSet 0 + Decorate 200(g_tTex3du4) DescriptorSet 0 + Decorate 203(g_tTexcdf4) DescriptorSet 0 + Decorate 206(g_tTexcdi4) DescriptorSet 0 + Decorate 209(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -516,229 +516,220 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D array sampled format:Unknown + 14: TypeImage 6(float) 1D depth array sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4a): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth array sampled format:Unknown - 23: TypeSampledImage 22 - 25: TypeVector 6(float) 2 - 26: 6(float) Constant 1036831949 - 27: 6(float) Constant 1045220557 - 28: 25(fvec2) ConstantComposite 26 27 - 29: 6(float) Constant 1061158912 - 30: TypeVector 6(float) 3 - 34: 6(float) Constant 0 - 38: TypeInt 32 1 - 39: TypeImage 38(int) 1D array sampled format:Unknown - 40: TypePointer UniformConstant 39 - 41(g_tTex1di4a): 40(ptr) Variable UniformConstant - 44: TypeImage 38(int) 1D depth array sampled format:Unknown - 45: TypeSampledImage 44 - 53: TypeInt 32 0 - 54: TypeImage 53(int) 1D array sampled format:Unknown - 55: TypePointer UniformConstant 54 - 56(g_tTex1du4a): 55(ptr) Variable UniformConstant - 59: TypeImage 53(int) 1D depth array sampled format:Unknown - 60: TypeSampledImage 59 - 68: TypeImage 6(float) 2D array sampled format:Unknown - 69: TypePointer UniformConstant 68 - 70(g_tTex2df4a): 69(ptr) Variable UniformConstant - 73: TypeImage 6(float) 2D depth array sampled format:Unknown - 74: TypeSampledImage 73 - 76: 6(float) Constant 1050253722 - 77: 30(fvec3) ConstantComposite 26 27 76 - 85: TypeImage 38(int) 2D array sampled format:Unknown - 86: TypePointer UniformConstant 85 - 87(g_tTex2di4a): 86(ptr) Variable UniformConstant - 90: TypeImage 38(int) 2D depth array sampled format:Unknown - 91: TypeSampledImage 90 - 100: TypeImage 53(int) 2D array sampled format:Unknown - 101: TypePointer UniformConstant 100 -102(g_tTex2du4a): 101(ptr) Variable UniformConstant - 105: TypeImage 53(int) 2D depth array sampled format:Unknown - 106: TypeSampledImage 105 - 115: TypeImage 6(float) Cube array sampled format:Unknown - 116: TypePointer UniformConstant 115 -117(g_tTexcdf4a): 116(ptr) Variable UniformConstant - 120: TypeImage 6(float) Cube depth array sampled format:Unknown - 121: TypeSampledImage 120 - 123: 6(float) Constant 1053609165 - 124: 7(fvec4) ConstantComposite 26 27 76 123 - 132: TypeImage 38(int) Cube array sampled format:Unknown - 133: TypePointer UniformConstant 132 -134(g_tTexcdi4a): 133(ptr) Variable UniformConstant - 137: TypeImage 38(int) Cube depth array sampled format:Unknown - 138: TypeSampledImage 137 - 147: TypeImage 53(int) Cube array sampled format:Unknown - 148: TypePointer UniformConstant 147 -149(g_tTexcdu4a): 148(ptr) Variable UniformConstant - 152: TypeImage 53(int) Cube depth array sampled format:Unknown - 153: TypeSampledImage 152 - 161: TypePointer Function 8(PS_OUTPUT) - 163: 38(int) Constant 0 - 164: 6(float) Constant 1065353216 - 165: 7(fvec4) ConstantComposite 164 164 164 164 - 166: TypePointer Function 7(fvec4) - 168: 38(int) Constant 1 - 175: TypePointer Output 7(fvec4) -176(@entryPointOutput.Color): 175(ptr) Variable Output - 179: TypePointer Output 6(float) -180(@entryPointOutput.Depth): 179(ptr) Variable Output - 183: TypeImage 6(float) 1D sampled format:Unknown + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 29: TypeVector 6(float) 3 + 33: 6(float) Constant 0 + 37: TypeInt 32 1 + 38: TypeImage 37(int) 1D depth array sampled format:Unknown + 39: TypePointer UniformConstant 38 + 40(g_tTex1di4a): 39(ptr) Variable UniformConstant + 43: TypeSampledImage 38 + 51: TypeInt 32 0 + 52: TypeImage 51(int) 1D depth array sampled format:Unknown + 53: TypePointer UniformConstant 52 + 54(g_tTex1du4a): 53(ptr) Variable UniformConstant + 57: TypeSampledImage 52 + 65: TypeImage 6(float) 2D depth array sampled format:Unknown + 66: TypePointer UniformConstant 65 + 67(g_tTex2df4a): 66(ptr) Variable UniformConstant + 70: TypeSampledImage 65 + 72: 6(float) Constant 1050253722 + 73: 29(fvec3) ConstantComposite 25 26 72 + 81: TypeImage 37(int) 2D depth array sampled format:Unknown + 82: TypePointer UniformConstant 81 + 83(g_tTex2di4a): 82(ptr) Variable UniformConstant + 86: TypeSampledImage 81 + 95: TypeImage 51(int) 2D depth array sampled format:Unknown + 96: TypePointer UniformConstant 95 + 97(g_tTex2du4a): 96(ptr) Variable UniformConstant + 100: TypeSampledImage 95 + 109: TypeImage 6(float) Cube depth array sampled format:Unknown + 110: TypePointer UniformConstant 109 +111(g_tTexcdf4a): 110(ptr) Variable UniformConstant + 114: TypeSampledImage 109 + 116: 6(float) Constant 1053609165 + 117: 7(fvec4) ConstantComposite 25 26 72 116 + 125: TypeImage 37(int) Cube depth array sampled format:Unknown + 126: TypePointer UniformConstant 125 +127(g_tTexcdi4a): 126(ptr) Variable UniformConstant + 130: TypeSampledImage 125 + 139: TypeImage 51(int) Cube depth array sampled format:Unknown + 140: TypePointer UniformConstant 139 +141(g_tTexcdu4a): 140(ptr) Variable UniformConstant + 144: TypeSampledImage 139 + 152: TypePointer Function 8(PS_OUTPUT) + 154: 37(int) Constant 0 + 155: 6(float) Constant 1065353216 + 156: 7(fvec4) ConstantComposite 155 155 155 155 + 157: TypePointer Function 7(fvec4) + 159: 37(int) Constant 1 + 166: TypePointer Output 7(fvec4) +167(@entryPointOutput.Color): 166(ptr) Variable Output + 170: TypePointer Output 6(float) +171(@entryPointOutput.Depth): 170(ptr) Variable Output + 174: TypeImage 6(float) 1D sampled format:Unknown + 175: TypePointer UniformConstant 174 + 176(g_tTex1df4): 175(ptr) Variable UniformConstant + 177: TypeImage 37(int) 1D sampled format:Unknown + 178: TypePointer UniformConstant 177 + 179(g_tTex1di4): 178(ptr) Variable UniformConstant + 180: TypeImage 51(int) 1D sampled format:Unknown + 181: TypePointer UniformConstant 180 + 182(g_tTex1du4): 181(ptr) Variable UniformConstant + 183: TypeImage 6(float) 2D sampled format:Unknown 184: TypePointer UniformConstant 183 - 185(g_tTex1df4): 184(ptr) Variable UniformConstant - 186: TypeImage 38(int) 1D sampled format:Unknown + 185(g_tTex2df4): 184(ptr) Variable UniformConstant + 186: TypeImage 37(int) 2D sampled format:Unknown 187: TypePointer UniformConstant 186 - 188(g_tTex1di4): 187(ptr) Variable UniformConstant - 189: TypeImage 53(int) 1D sampled format:Unknown + 188(g_tTex2di4): 187(ptr) Variable UniformConstant + 189: TypeImage 51(int) 2D sampled format:Unknown 190: TypePointer UniformConstant 189 - 191(g_tTex1du4): 190(ptr) Variable UniformConstant - 192: TypeImage 6(float) 2D sampled format:Unknown + 191(g_tTex2du4): 190(ptr) Variable UniformConstant + 192: TypeImage 6(float) 3D sampled format:Unknown 193: TypePointer UniformConstant 192 - 194(g_tTex2df4): 193(ptr) Variable UniformConstant - 195: TypeImage 38(int) 2D sampled format:Unknown + 194(g_tTex3df4): 193(ptr) Variable UniformConstant + 195: TypeImage 37(int) 3D sampled format:Unknown 196: TypePointer UniformConstant 195 - 197(g_tTex2di4): 196(ptr) Variable UniformConstant - 198: TypeImage 53(int) 2D sampled format:Unknown + 197(g_tTex3di4): 196(ptr) Variable UniformConstant + 198: TypeImage 51(int) 3D sampled format:Unknown 199: TypePointer UniformConstant 198 - 200(g_tTex2du4): 199(ptr) Variable UniformConstant - 201: TypeImage 6(float) 3D sampled format:Unknown + 200(g_tTex3du4): 199(ptr) Variable UniformConstant + 201: TypeImage 6(float) Cube sampled format:Unknown 202: TypePointer UniformConstant 201 - 203(g_tTex3df4): 202(ptr) Variable UniformConstant - 204: TypeImage 38(int) 3D sampled format:Unknown + 203(g_tTexcdf4): 202(ptr) Variable UniformConstant + 204: TypeImage 37(int) Cube sampled format:Unknown 205: TypePointer UniformConstant 204 - 206(g_tTex3di4): 205(ptr) Variable UniformConstant - 207: TypeImage 53(int) 3D sampled format:Unknown + 206(g_tTexcdi4): 205(ptr) Variable UniformConstant + 207: TypeImage 51(int) Cube sampled format:Unknown 208: TypePointer UniformConstant 207 - 209(g_tTex3du4): 208(ptr) Variable UniformConstant - 210: TypeImage 6(float) Cube sampled format:Unknown - 211: TypePointer UniformConstant 210 - 212(g_tTexcdf4): 211(ptr) Variable UniformConstant - 213: TypeImage 38(int) Cube sampled format:Unknown - 214: TypePointer UniformConstant 213 - 215(g_tTexcdi4): 214(ptr) Variable UniformConstant - 216: TypeImage 53(int) Cube sampled format:Unknown - 217: TypePointer UniformConstant 216 - 218(g_tTexcdu4): 217(ptr) Variable UniformConstant + 209(g_tTexcdu4): 208(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -173(flattenTemp): 161(ptr) Variable Function - 174:8(PS_OUTPUT) FunctionCall 10(@main() - Store 173(flattenTemp) 174 - 177: 166(ptr) AccessChain 173(flattenTemp) 163 - 178: 7(fvec4) Load 177 - Store 176(@entryPointOutput.Color) 178 - 181: 12(ptr) AccessChain 173(flattenTemp) 168 - 182: 6(float) Load 181 - Store 180(@entryPointOutput.Depth) 182 +164(flattenTemp): 152(ptr) Variable Function + 165:8(PS_OUTPUT) FunctionCall 10(@main() + Store 164(flattenTemp) 165 + 168: 157(ptr) AccessChain 164(flattenTemp) 154 + 169: 7(fvec4) Load 168 + Store 167(@entryPointOutput.Color) 169 + 172: 12(ptr) AccessChain 164(flattenTemp) 159 + 173: 6(float) Load 172 + Store 171(@entryPointOutput.Depth) 173 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r10): 12(ptr) Variable Function - 37(r12): 12(ptr) Variable Function - 52(r14): 12(ptr) Variable Function - 67(r30): 12(ptr) Variable Function - 84(r32): 12(ptr) Variable Function - 99(r34): 12(ptr) Variable Function - 114(r60): 12(ptr) Variable Function - 131(r62): 12(ptr) Variable Function - 146(r64): 12(ptr) Variable Function - 162(psout): 161(ptr) Variable Function + 36(r12): 12(ptr) Variable Function + 50(r14): 12(ptr) Variable Function + 64(r30): 12(ptr) Variable Function + 80(r32): 12(ptr) Variable Function + 94(r34): 12(ptr) Variable Function + 108(r60): 12(ptr) Variable Function + 124(r62): 12(ptr) Variable Function + 138(r64): 12(ptr) Variable Function + 153(psout): 152(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 31: 6(float) CompositeExtract 28 0 - 32: 6(float) CompositeExtract 28 1 - 33: 30(fvec3) CompositeConstruct 31 32 29 - 35: 6(float) CompositeExtract 33 2 - 36: 6(float) ImageSampleDrefExplicitLod 24 33 35 Lod 34 - Store 13(r10) 36 - 42: 39 Load 41(g_tTex1di4a) - 43: 18 Load 20(g_sSamp) - 46: 45 SampledImage 42 43 - 47: 6(float) CompositeExtract 28 0 - 48: 6(float) CompositeExtract 28 1 - 49: 30(fvec3) CompositeConstruct 47 48 29 - 50: 6(float) CompositeExtract 49 2 - 51: 6(float) ImageSampleDrefExplicitLod 46 49 50 Lod 34 - Store 37(r12) 51 - 57: 54 Load 56(g_tTex1du4a) - 58: 18 Load 20(g_sSamp) - 61: 60 SampledImage 57 58 - 62: 6(float) CompositeExtract 28 0 - 63: 6(float) CompositeExtract 28 1 - 64: 30(fvec3) CompositeConstruct 62 63 29 - 65: 6(float) CompositeExtract 64 2 - 66: 6(float) ImageSampleDrefExplicitLod 61 64 65 Lod 34 - Store 52(r14) 66 - 71: 68 Load 70(g_tTex2df4a) - 72: 18 Load 20(g_sSamp) - 75: 74 SampledImage 71 72 - 78: 6(float) CompositeExtract 77 0 - 79: 6(float) CompositeExtract 77 1 - 80: 6(float) CompositeExtract 77 2 - 81: 7(fvec4) CompositeConstruct 78 79 80 29 - 82: 6(float) CompositeExtract 81 3 - 83: 6(float) ImageSampleDrefExplicitLod 75 81 82 Lod 34 - Store 67(r30) 83 - 88: 85 Load 87(g_tTex2di4a) - 89: 18 Load 20(g_sSamp) - 92: 91 SampledImage 88 89 - 93: 6(float) CompositeExtract 77 0 - 94: 6(float) CompositeExtract 77 1 - 95: 6(float) CompositeExtract 77 2 - 96: 7(fvec4) CompositeConstruct 93 94 95 29 - 97: 6(float) CompositeExtract 96 3 - 98: 6(float) ImageSampleDrefExplicitLod 92 96 97 Lod 34 - Store 84(r32) 98 - 103: 100 Load 102(g_tTex2du4a) - 104: 18 Load 20(g_sSamp) - 107: 106 SampledImage 103 104 - 108: 6(float) CompositeExtract 77 0 - 109: 6(float) CompositeExtract 77 1 - 110: 6(float) CompositeExtract 77 2 - 111: 7(fvec4) CompositeConstruct 108 109 110 29 - 112: 6(float) CompositeExtract 111 3 - 113: 6(float) ImageSampleDrefExplicitLod 107 111 112 Lod 34 - Store 99(r34) 113 - 118: 115 Load 117(g_tTexcdf4a) - 119: 18 Load 20(g_sSamp) - 122: 121 SampledImage 118 119 - 125: 6(float) CompositeExtract 124 0 - 126: 6(float) CompositeExtract 124 1 - 127: 6(float) CompositeExtract 124 2 - 128: 6(float) CompositeExtract 124 3 - 129: 7(fvec4) CompositeConstruct 125 126 127 128 - 130: 6(float) ImageSampleDrefExplicitLod 122 129 29 Lod 34 - Store 114(r60) 130 - 135: 132 Load 134(g_tTexcdi4a) - 136: 18 Load 20(g_sSamp) - 139: 138 SampledImage 135 136 - 140: 6(float) CompositeExtract 124 0 - 141: 6(float) CompositeExtract 124 1 - 142: 6(float) CompositeExtract 124 2 - 143: 6(float) CompositeExtract 124 3 - 144: 7(fvec4) CompositeConstruct 140 141 142 143 - 145: 6(float) ImageSampleDrefExplicitLod 139 144 29 Lod 34 - Store 131(r62) 145 - 150: 147 Load 149(g_tTexcdu4a) - 151: 18 Load 20(g_sSamp) - 154: 153 SampledImage 150 151 - 155: 6(float) CompositeExtract 124 0 - 156: 6(float) CompositeExtract 124 1 - 157: 6(float) CompositeExtract 124 2 - 158: 6(float) CompositeExtract 124 3 - 159: 7(fvec4) CompositeConstruct 155 156 157 158 - 160: 6(float) ImageSampleDrefExplicitLod 154 159 29 Lod 34 - Store 146(r64) 160 - 167: 166(ptr) AccessChain 162(psout) 163 - Store 167 165 - 169: 12(ptr) AccessChain 162(psout) 168 - Store 169 164 - 170:8(PS_OUTPUT) Load 162(psout) - ReturnValue 170 + 23: 22 SampledImage 17 21 + 30: 6(float) CompositeExtract 27 0 + 31: 6(float) CompositeExtract 27 1 + 32: 29(fvec3) CompositeConstruct 30 31 28 + 34: 6(float) CompositeExtract 32 2 + 35: 6(float) ImageSampleDrefExplicitLod 23 32 34 Lod 33 + Store 13(r10) 35 + 41: 38 Load 40(g_tTex1di4a) + 42: 18 Load 20(g_sSamp) + 44: 43 SampledImage 41 42 + 45: 6(float) CompositeExtract 27 0 + 46: 6(float) CompositeExtract 27 1 + 47: 29(fvec3) CompositeConstruct 45 46 28 + 48: 6(float) CompositeExtract 47 2 + 49: 6(float) ImageSampleDrefExplicitLod 44 47 48 Lod 33 + Store 36(r12) 49 + 55: 52 Load 54(g_tTex1du4a) + 56: 18 Load 20(g_sSamp) + 58: 57 SampledImage 55 56 + 59: 6(float) CompositeExtract 27 0 + 60: 6(float) CompositeExtract 27 1 + 61: 29(fvec3) CompositeConstruct 59 60 28 + 62: 6(float) CompositeExtract 61 2 + 63: 6(float) ImageSampleDrefExplicitLod 58 61 62 Lod 33 + Store 50(r14) 63 + 68: 65 Load 67(g_tTex2df4a) + 69: 18 Load 20(g_sSamp) + 71: 70 SampledImage 68 69 + 74: 6(float) CompositeExtract 73 0 + 75: 6(float) CompositeExtract 73 1 + 76: 6(float) CompositeExtract 73 2 + 77: 7(fvec4) CompositeConstruct 74 75 76 28 + 78: 6(float) CompositeExtract 77 3 + 79: 6(float) ImageSampleDrefExplicitLod 71 77 78 Lod 33 + Store 64(r30) 79 + 84: 81 Load 83(g_tTex2di4a) + 85: 18 Load 20(g_sSamp) + 87: 86 SampledImage 84 85 + 88: 6(float) CompositeExtract 73 0 + 89: 6(float) CompositeExtract 73 1 + 90: 6(float) CompositeExtract 73 2 + 91: 7(fvec4) CompositeConstruct 88 89 90 28 + 92: 6(float) CompositeExtract 91 3 + 93: 6(float) ImageSampleDrefExplicitLod 87 91 92 Lod 33 + Store 80(r32) 93 + 98: 95 Load 97(g_tTex2du4a) + 99: 18 Load 20(g_sSamp) + 101: 100 SampledImage 98 99 + 102: 6(float) CompositeExtract 73 0 + 103: 6(float) CompositeExtract 73 1 + 104: 6(float) CompositeExtract 73 2 + 105: 7(fvec4) CompositeConstruct 102 103 104 28 + 106: 6(float) CompositeExtract 105 3 + 107: 6(float) ImageSampleDrefExplicitLod 101 105 106 Lod 33 + Store 94(r34) 107 + 112: 109 Load 111(g_tTexcdf4a) + 113: 18 Load 20(g_sSamp) + 115: 114 SampledImage 112 113 + 118: 6(float) CompositeExtract 117 0 + 119: 6(float) CompositeExtract 117 1 + 120: 6(float) CompositeExtract 117 2 + 121: 6(float) CompositeExtract 117 3 + 122: 7(fvec4) CompositeConstruct 118 119 120 121 + 123: 6(float) ImageSampleDrefExplicitLod 115 122 28 Lod 33 + Store 108(r60) 123 + 128: 125 Load 127(g_tTexcdi4a) + 129: 18 Load 20(g_sSamp) + 131: 130 SampledImage 128 129 + 132: 6(float) CompositeExtract 117 0 + 133: 6(float) CompositeExtract 117 1 + 134: 6(float) CompositeExtract 117 2 + 135: 6(float) CompositeExtract 117 3 + 136: 7(fvec4) CompositeConstruct 132 133 134 135 + 137: 6(float) ImageSampleDrefExplicitLod 131 136 28 Lod 33 + Store 124(r62) 137 + 142: 139 Load 141(g_tTexcdu4a) + 143: 18 Load 20(g_sSamp) + 145: 144 SampledImage 142 143 + 146: 6(float) CompositeExtract 117 0 + 147: 6(float) CompositeExtract 117 1 + 148: 6(float) CompositeExtract 117 2 + 149: 6(float) CompositeExtract 117 3 + 150: 7(fvec4) CompositeConstruct 146 147 148 149 + 151: 6(float) ImageSampleDrefExplicitLod 145 150 28 Lod 33 + Store 138(r64) 151 + 158: 157(ptr) AccessChain 153(psout) 154 + Store 158 156 + 160: 12(ptr) AccessChain 153(psout) 159 + Store 160 155 + 161:8(PS_OUTPUT) Load 153(psout) + ReturnValue 161 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index 87dee8887..9ff15ea3d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -24,7 +24,7 @@ gl_FragCoord origin is upper left 0:43 'r02' ( temp float) 0:43 textureLod ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -38,7 +38,7 @@ gl_FragCoord origin is upper left 0:44 'r04' ( temp float) 0:44 textureLod ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -52,7 +52,7 @@ gl_FragCoord origin is upper left 0:47 'r20' ( temp float) 0:47 textureLod ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -67,7 +67,7 @@ gl_FragCoord origin is upper left 0:48 'r22' ( temp float) 0:48 textureLod ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -82,7 +82,7 @@ gl_FragCoord origin is upper left 0:49 'r24' ( temp float) 0:49 textureLod ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -97,7 +97,7 @@ gl_FragCoord origin is upper left 0:53 'r50' ( temp float) 0:53 textureLod ( temp float) 0:53 Construct combined texture-sampler ( temp samplerCubeShadow) -0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_tTexcdf4' ( uniform textureCubeShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -113,7 +113,7 @@ gl_FragCoord origin is upper left 0:54 'r52' ( temp float) 0:54 textureLod ( temp float) 0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) -0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_tTexcdi4' ( uniform itextureCubeShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -129,7 +129,7 @@ gl_FragCoord origin is upper left 0:55 'r54' ( temp float) 0:55 textureLod ( temp float) 0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) -0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:55 'g_sSamp' (layout( binding=0) uniform sampler) 0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -180,18 +180,18 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) -0:? 'g_tTexcdf4' ( uniform textureCube) -0:? 'g_tTexcdi4' ( uniform itextureCube) -0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTexcdf4' ( uniform textureCubeShadow) +0:? 'g_tTexcdi4' ( uniform itextureCubeShadow) +0:? 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:? 'g_tTex1df4a' ( uniform texture1DArray) 0:? 'g_tTex1di4a' ( uniform itexture1DArray) 0:? 'g_tTex1du4a' ( uniform utexture1DArray) @@ -219,7 +219,7 @@ gl_FragCoord origin is upper left 0:42 'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -233,7 +233,7 @@ gl_FragCoord origin is upper left 0:43 'r02' ( temp float) 0:43 textureLod ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -247,7 +247,7 @@ gl_FragCoord origin is upper left 0:44 'r04' ( temp float) 0:44 textureLod ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -261,7 +261,7 @@ gl_FragCoord origin is upper left 0:47 'r20' ( temp float) 0:47 textureLod ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -276,7 +276,7 @@ gl_FragCoord origin is upper left 0:48 'r22' ( temp float) 0:48 textureLod ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -291,7 +291,7 @@ gl_FragCoord origin is upper left 0:49 'r24' ( temp float) 0:49 textureLod ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -306,7 +306,7 @@ gl_FragCoord origin is upper left 0:53 'r50' ( temp float) 0:53 textureLod ( temp float) 0:53 Construct combined texture-sampler ( temp samplerCubeShadow) -0:53 'g_tTexcdf4' ( uniform textureCube) +0:53 'g_tTexcdf4' ( uniform textureCubeShadow) 0:53 'g_sSamp' (layout( binding=0) uniform sampler) 0:53 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -322,7 +322,7 @@ gl_FragCoord origin is upper left 0:54 'r52' ( temp float) 0:54 textureLod ( temp float) 0:54 Construct combined texture-sampler ( temp isamplerCubeShadow) -0:54 'g_tTexcdi4' ( uniform itextureCube) +0:54 'g_tTexcdi4' ( uniform itextureCubeShadow) 0:54 'g_sSamp' (layout( binding=0) uniform sampler) 0:54 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -338,7 +338,7 @@ gl_FragCoord origin is upper left 0:55 'r54' ( temp float) 0:55 textureLod ( temp float) 0:55 Construct combined texture-sampler ( temp usamplerCubeShadow) -0:55 'g_tTexcdu4' ( uniform utextureCube) +0:55 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:55 'g_sSamp' (layout( binding=0) uniform sampler) 0:55 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -389,18 +389,18 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) -0:? 'g_tTexcdf4' ( uniform textureCube) -0:? 'g_tTexcdi4' ( uniform itextureCube) -0:? 'g_tTexcdu4' ( uniform utextureCube) +0:? 'g_tTexcdf4' ( uniform textureCubeShadow) +0:? 'g_tTexcdi4' ( uniform itextureCubeShadow) +0:? 'g_tTexcdu4' ( uniform utextureCubeShadow) 0:? 'g_tTex1df4a' ( uniform texture1DArray) 0:? 'g_tTex1di4a' ( uniform itexture1DArray) 0:? 'g_tTex1du4a' ( uniform utexture1DArray) @@ -415,14 +415,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 208 +// Id's are bound by 199 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 165 169 + EntryPoint Fragment 4 "main" 156 160 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -433,64 +433,64 @@ gl_FragCoord origin is upper left Name 13 "r00" Name 16 "g_tTex1df4" Name 20 "g_sSamp" - Name 32 "r02" - Name 36 "g_tTex1di4" - Name 45 "r04" - Name 49 "g_tTex1du4" - Name 58 "r20" - Name 61 "g_tTex2df4" - Name 75 "r22" - Name 78 "g_tTex2di4" - Name 89 "r24" - Name 92 "g_tTex2du4" - Name 103 "r50" - Name 106 "g_tTexcdf4" - Name 120 "r52" - Name 123 "g_tTexcdi4" - Name 135 "r54" - Name 138 "g_tTexcdu4" - Name 151 "psout" - Name 162 "flattenTemp" - Name 165 "@entryPointOutput.Color" - Name 169 "@entryPointOutput.Depth" - Name 174 "g_tTex3df4" - Name 177 "g_tTex3di4" - Name 180 "g_tTex3du4" - Name 183 "g_tTex1df4a" - Name 186 "g_tTex1di4a" - Name 189 "g_tTex1du4a" - Name 192 "g_tTex2df4a" - Name 195 "g_tTex2di4a" - Name 198 "g_tTex2du4a" - Name 201 "g_tTexcdf4a" - Name 204 "g_tTexcdi4a" - Name 207 "g_tTexcdu4a" + Name 31 "r02" + Name 35 "g_tTex1di4" + Name 43 "r04" + Name 47 "g_tTex1du4" + Name 55 "r20" + Name 58 "g_tTex2df4" + Name 71 "r22" + Name 74 "g_tTex2di4" + Name 84 "r24" + Name 87 "g_tTex2du4" + Name 97 "r50" + Name 100 "g_tTexcdf4" + Name 113 "r52" + Name 116 "g_tTexcdi4" + Name 127 "r54" + Name 130 "g_tTexcdu4" + Name 142 "psout" + Name 153 "flattenTemp" + Name 156 "@entryPointOutput.Color" + Name 160 "@entryPointOutput.Depth" + Name 165 "g_tTex3df4" + Name 168 "g_tTex3di4" + Name 171 "g_tTex3du4" + Name 174 "g_tTex1df4a" + Name 177 "g_tTex1di4a" + Name 180 "g_tTex1du4a" + Name 183 "g_tTex2df4a" + Name 186 "g_tTex2di4a" + Name 189 "g_tTex2du4a" + Name 192 "g_tTexcdf4a" + Name 195 "g_tTexcdi4a" + Name 198 "g_tTexcdu4a" Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 - Decorate 49(g_tTex1du4) DescriptorSet 0 - Decorate 61(g_tTex2df4) DescriptorSet 0 - Decorate 78(g_tTex2di4) DescriptorSet 0 - Decorate 92(g_tTex2du4) DescriptorSet 0 - Decorate 106(g_tTexcdf4) DescriptorSet 0 - Decorate 123(g_tTexcdi4) DescriptorSet 0 - Decorate 138(g_tTexcdu4) DescriptorSet 0 - Decorate 165(@entryPointOutput.Color) Location 0 - Decorate 169(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 174(g_tTex3df4) DescriptorSet 0 - Decorate 177(g_tTex3di4) DescriptorSet 0 - Decorate 180(g_tTex3du4) DescriptorSet 0 - Decorate 183(g_tTex1df4a) DescriptorSet 0 - Decorate 186(g_tTex1di4a) DescriptorSet 0 - Decorate 189(g_tTex1du4a) DescriptorSet 0 - Decorate 192(g_tTex2df4a) DescriptorSet 0 - Decorate 195(g_tTex2di4a) DescriptorSet 0 - Decorate 198(g_tTex2du4a) DescriptorSet 0 - Decorate 201(g_tTexcdf4a) DescriptorSet 0 - Decorate 204(g_tTexcdi4a) DescriptorSet 0 - Decorate 207(g_tTexcdu4a) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 74(g_tTex2di4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 100(g_tTexcdf4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 130(g_tTexcdu4) DescriptorSet 0 + Decorate 156(@entryPointOutput.Color) Location 0 + Decorate 160(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 165(g_tTex3df4) DescriptorSet 0 + Decorate 168(g_tTex3di4) DescriptorSet 0 + Decorate 171(g_tTex3du4) DescriptorSet 0 + Decorate 174(g_tTex1df4a) DescriptorSet 0 + Decorate 177(g_tTex1di4a) DescriptorSet 0 + Decorate 180(g_tTex1du4a) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 186(g_tTex2di4a) DescriptorSet 0 + Decorate 189(g_tTex2du4a) DescriptorSet 0 + Decorate 192(g_tTexcdf4a) DescriptorSet 0 + Decorate 195(g_tTexcdi4a) DescriptorSet 0 + Decorate 198(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -498,218 +498,209 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D sampled format:Unknown + 14: TypeImage 6(float) 1D depth sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth sampled format:Unknown - 23: TypeSampledImage 22 - 25: 6(float) Constant 1036831949 - 26: 6(float) Constant 1061158912 - 27: TypeVector 6(float) 2 - 29: 6(float) Constant 0 - 33: TypeInt 32 1 - 34: TypeImage 33(int) 1D sampled format:Unknown - 35: TypePointer UniformConstant 34 - 36(g_tTex1di4): 35(ptr) Variable UniformConstant - 39: TypeImage 33(int) 1D depth sampled format:Unknown - 40: TypeSampledImage 39 - 46: TypeInt 32 0 - 47: TypeImage 46(int) 1D sampled format:Unknown - 48: TypePointer UniformConstant 47 - 49(g_tTex1du4): 48(ptr) Variable UniformConstant - 52: TypeImage 46(int) 1D depth sampled format:Unknown - 53: TypeSampledImage 52 - 59: TypeImage 6(float) 2D sampled format:Unknown - 60: TypePointer UniformConstant 59 - 61(g_tTex2df4): 60(ptr) Variable UniformConstant - 64: TypeImage 6(float) 2D depth sampled format:Unknown - 65: TypeSampledImage 64 - 67: 6(float) Constant 1045220557 - 68: 27(fvec2) ConstantComposite 25 67 - 69: TypeVector 6(float) 3 - 76: TypeImage 33(int) 2D sampled format:Unknown - 77: TypePointer UniformConstant 76 - 78(g_tTex2di4): 77(ptr) Variable UniformConstant - 81: TypeImage 33(int) 2D depth sampled format:Unknown - 82: TypeSampledImage 81 - 90: TypeImage 46(int) 2D sampled format:Unknown - 91: TypePointer UniformConstant 90 - 92(g_tTex2du4): 91(ptr) Variable UniformConstant - 95: TypeImage 46(int) 2D depth sampled format:Unknown - 96: TypeSampledImage 95 - 104: TypeImage 6(float) Cube sampled format:Unknown - 105: TypePointer UniformConstant 104 - 106(g_tTexcdf4): 105(ptr) Variable UniformConstant - 109: TypeImage 6(float) Cube depth sampled format:Unknown - 110: TypeSampledImage 109 - 112: 6(float) Constant 1050253722 - 113: 69(fvec3) ConstantComposite 25 67 112 - 121: TypeImage 33(int) Cube sampled format:Unknown - 122: TypePointer UniformConstant 121 - 123(g_tTexcdi4): 122(ptr) Variable UniformConstant - 126: TypeImage 33(int) Cube depth sampled format:Unknown - 127: TypeSampledImage 126 - 136: TypeImage 46(int) Cube sampled format:Unknown - 137: TypePointer UniformConstant 136 - 138(g_tTexcdu4): 137(ptr) Variable UniformConstant - 141: TypeImage 46(int) Cube depth sampled format:Unknown - 142: TypeSampledImage 141 - 150: TypePointer Function 8(PS_OUTPUT) - 152: 33(int) Constant 0 - 153: 6(float) Constant 1065353216 - 154: 7(fvec4) ConstantComposite 153 153 153 153 - 155: TypePointer Function 7(fvec4) - 157: 33(int) Constant 1 - 164: TypePointer Output 7(fvec4) -165(@entryPointOutput.Color): 164(ptr) Variable Output - 168: TypePointer Output 6(float) -169(@entryPointOutput.Depth): 168(ptr) Variable Output - 172: TypeImage 6(float) 3D sampled format:Unknown + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 26: TypeVector 6(float) 2 + 28: 6(float) Constant 0 + 32: TypeInt 32 1 + 33: TypeImage 32(int) 1D depth sampled format:Unknown + 34: TypePointer UniformConstant 33 + 35(g_tTex1di4): 34(ptr) Variable UniformConstant + 38: TypeSampledImage 33 + 44: TypeInt 32 0 + 45: TypeImage 44(int) 1D depth sampled format:Unknown + 46: TypePointer UniformConstant 45 + 47(g_tTex1du4): 46(ptr) Variable UniformConstant + 50: TypeSampledImage 45 + 56: TypeImage 6(float) 2D depth sampled format:Unknown + 57: TypePointer UniformConstant 56 + 58(g_tTex2df4): 57(ptr) Variable UniformConstant + 61: TypeSampledImage 56 + 63: 6(float) Constant 1045220557 + 64: 26(fvec2) ConstantComposite 24 63 + 65: TypeVector 6(float) 3 + 72: TypeImage 32(int) 2D depth sampled format:Unknown + 73: TypePointer UniformConstant 72 + 74(g_tTex2di4): 73(ptr) Variable UniformConstant + 77: TypeSampledImage 72 + 85: TypeImage 44(int) 2D depth sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2du4): 86(ptr) Variable UniformConstant + 90: TypeSampledImage 85 + 98: TypeImage 6(float) Cube depth sampled format:Unknown + 99: TypePointer UniformConstant 98 + 100(g_tTexcdf4): 99(ptr) Variable UniformConstant + 103: TypeSampledImage 98 + 105: 6(float) Constant 1050253722 + 106: 65(fvec3) ConstantComposite 24 63 105 + 114: TypeImage 32(int) Cube depth sampled format:Unknown + 115: TypePointer UniformConstant 114 + 116(g_tTexcdi4): 115(ptr) Variable UniformConstant + 119: TypeSampledImage 114 + 128: TypeImage 44(int) Cube depth sampled format:Unknown + 129: TypePointer UniformConstant 128 + 130(g_tTexcdu4): 129(ptr) Variable UniformConstant + 133: TypeSampledImage 128 + 141: TypePointer Function 8(PS_OUTPUT) + 143: 32(int) Constant 0 + 144: 6(float) Constant 1065353216 + 145: 7(fvec4) ConstantComposite 144 144 144 144 + 146: TypePointer Function 7(fvec4) + 148: 32(int) Constant 1 + 155: TypePointer Output 7(fvec4) +156(@entryPointOutput.Color): 155(ptr) Variable Output + 159: TypePointer Output 6(float) +160(@entryPointOutput.Depth): 159(ptr) Variable Output + 163: TypeImage 6(float) 3D sampled format:Unknown + 164: TypePointer UniformConstant 163 + 165(g_tTex3df4): 164(ptr) Variable UniformConstant + 166: TypeImage 32(int) 3D sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTex3di4): 167(ptr) Variable UniformConstant + 169: TypeImage 44(int) 3D sampled format:Unknown + 170: TypePointer UniformConstant 169 + 171(g_tTex3du4): 170(ptr) Variable UniformConstant + 172: TypeImage 6(float) 1D array sampled format:Unknown 173: TypePointer UniformConstant 172 - 174(g_tTex3df4): 173(ptr) Variable UniformConstant - 175: TypeImage 33(int) 3D sampled format:Unknown +174(g_tTex1df4a): 173(ptr) Variable UniformConstant + 175: TypeImage 32(int) 1D array sampled format:Unknown 176: TypePointer UniformConstant 175 - 177(g_tTex3di4): 176(ptr) Variable UniformConstant - 178: TypeImage 46(int) 3D sampled format:Unknown +177(g_tTex1di4a): 176(ptr) Variable UniformConstant + 178: TypeImage 44(int) 1D array sampled format:Unknown 179: TypePointer UniformConstant 178 - 180(g_tTex3du4): 179(ptr) Variable UniformConstant - 181: TypeImage 6(float) 1D array sampled format:Unknown +180(g_tTex1du4a): 179(ptr) Variable UniformConstant + 181: TypeImage 6(float) 2D array sampled format:Unknown 182: TypePointer UniformConstant 181 -183(g_tTex1df4a): 182(ptr) Variable UniformConstant - 184: TypeImage 33(int) 1D array sampled format:Unknown +183(g_tTex2df4a): 182(ptr) Variable UniformConstant + 184: TypeImage 32(int) 2D array sampled format:Unknown 185: TypePointer UniformConstant 184 -186(g_tTex1di4a): 185(ptr) Variable UniformConstant - 187: TypeImage 46(int) 1D array sampled format:Unknown +186(g_tTex2di4a): 185(ptr) Variable UniformConstant + 187: TypeImage 44(int) 2D array sampled format:Unknown 188: TypePointer UniformConstant 187 -189(g_tTex1du4a): 188(ptr) Variable UniformConstant - 190: TypeImage 6(float) 2D array sampled format:Unknown +189(g_tTex2du4a): 188(ptr) Variable UniformConstant + 190: TypeImage 6(float) Cube array sampled format:Unknown 191: TypePointer UniformConstant 190 -192(g_tTex2df4a): 191(ptr) Variable UniformConstant - 193: TypeImage 33(int) 2D array sampled format:Unknown +192(g_tTexcdf4a): 191(ptr) Variable UniformConstant + 193: TypeImage 32(int) Cube array sampled format:Unknown 194: TypePointer UniformConstant 193 -195(g_tTex2di4a): 194(ptr) Variable UniformConstant - 196: TypeImage 46(int) 2D array sampled format:Unknown +195(g_tTexcdi4a): 194(ptr) Variable UniformConstant + 196: TypeImage 44(int) Cube array sampled format:Unknown 197: TypePointer UniformConstant 196 -198(g_tTex2du4a): 197(ptr) Variable UniformConstant - 199: TypeImage 6(float) Cube array sampled format:Unknown - 200: TypePointer UniformConstant 199 -201(g_tTexcdf4a): 200(ptr) Variable UniformConstant - 202: TypeImage 33(int) Cube array sampled format:Unknown - 203: TypePointer UniformConstant 202 -204(g_tTexcdi4a): 203(ptr) Variable UniformConstant - 205: TypeImage 46(int) Cube array sampled format:Unknown - 206: TypePointer UniformConstant 205 -207(g_tTexcdu4a): 206(ptr) Variable UniformConstant +198(g_tTexcdu4a): 197(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -162(flattenTemp): 150(ptr) Variable Function - 163:8(PS_OUTPUT) FunctionCall 10(@main() - Store 162(flattenTemp) 163 - 166: 155(ptr) AccessChain 162(flattenTemp) 152 - 167: 7(fvec4) Load 166 - Store 165(@entryPointOutput.Color) 167 - 170: 12(ptr) AccessChain 162(flattenTemp) 157 - 171: 6(float) Load 170 - Store 169(@entryPointOutput.Depth) 171 +153(flattenTemp): 141(ptr) Variable Function + 154:8(PS_OUTPUT) FunctionCall 10(@main() + Store 153(flattenTemp) 154 + 157: 146(ptr) AccessChain 153(flattenTemp) 143 + 158: 7(fvec4) Load 157 + Store 156(@entryPointOutput.Color) 158 + 161: 12(ptr) AccessChain 153(flattenTemp) 148 + 162: 6(float) Load 161 + Store 160(@entryPointOutput.Depth) 162 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r00): 12(ptr) Variable Function - 32(r02): 12(ptr) Variable Function - 45(r04): 12(ptr) Variable Function - 58(r20): 12(ptr) Variable Function - 75(r22): 12(ptr) Variable Function - 89(r24): 12(ptr) Variable Function - 103(r50): 12(ptr) Variable Function - 120(r52): 12(ptr) Variable Function - 135(r54): 12(ptr) Variable Function - 151(psout): 150(ptr) Variable Function + 31(r02): 12(ptr) Variable Function + 43(r04): 12(ptr) Variable Function + 55(r20): 12(ptr) Variable Function + 71(r22): 12(ptr) Variable Function + 84(r24): 12(ptr) Variable Function + 97(r50): 12(ptr) Variable Function + 113(r52): 12(ptr) Variable Function + 127(r54): 12(ptr) Variable Function + 142(psout): 141(ptr) Variable Function 17: 14 Load 16(g_tTex1df4) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 28: 27(fvec2) CompositeConstruct 25 26 - 30: 6(float) CompositeExtract 28 1 - 31: 6(float) ImageSampleDrefExplicitLod 24 28 30 Lod 29 - Store 13(r00) 31 - 37: 34 Load 36(g_tTex1di4) - 38: 18 Load 20(g_sSamp) - 41: 40 SampledImage 37 38 - 42: 27(fvec2) CompositeConstruct 25 26 - 43: 6(float) CompositeExtract 42 1 - 44: 6(float) ImageSampleDrefExplicitLod 41 42 43 Lod 29 - Store 32(r02) 44 - 50: 47 Load 49(g_tTex1du4) - 51: 18 Load 20(g_sSamp) - 54: 53 SampledImage 50 51 - 55: 27(fvec2) CompositeConstruct 25 26 - 56: 6(float) CompositeExtract 55 1 - 57: 6(float) ImageSampleDrefExplicitLod 54 55 56 Lod 29 - Store 45(r04) 57 - 62: 59 Load 61(g_tTex2df4) - 63: 18 Load 20(g_sSamp) - 66: 65 SampledImage 62 63 - 70: 6(float) CompositeExtract 68 0 - 71: 6(float) CompositeExtract 68 1 - 72: 69(fvec3) CompositeConstruct 70 71 26 - 73: 6(float) CompositeExtract 72 2 - 74: 6(float) ImageSampleDrefExplicitLod 66 72 73 Lod 29 - Store 58(r20) 74 - 79: 76 Load 78(g_tTex2di4) - 80: 18 Load 20(g_sSamp) - 83: 82 SampledImage 79 80 - 84: 6(float) CompositeExtract 68 0 - 85: 6(float) CompositeExtract 68 1 - 86: 69(fvec3) CompositeConstruct 84 85 26 - 87: 6(float) CompositeExtract 86 2 - 88: 6(float) ImageSampleDrefExplicitLod 83 86 87 Lod 29 - Store 75(r22) 88 - 93: 90 Load 92(g_tTex2du4) - 94: 18 Load 20(g_sSamp) - 97: 96 SampledImage 93 94 - 98: 6(float) CompositeExtract 68 0 - 99: 6(float) CompositeExtract 68 1 - 100: 69(fvec3) CompositeConstruct 98 99 26 - 101: 6(float) CompositeExtract 100 2 - 102: 6(float) ImageSampleDrefExplicitLod 97 100 101 Lod 29 - Store 89(r24) 102 - 107: 104 Load 106(g_tTexcdf4) - 108: 18 Load 20(g_sSamp) - 111: 110 SampledImage 107 108 - 114: 6(float) CompositeExtract 113 0 - 115: 6(float) CompositeExtract 113 1 - 116: 6(float) CompositeExtract 113 2 - 117: 7(fvec4) CompositeConstruct 114 115 116 26 - 118: 6(float) CompositeExtract 117 3 - 119: 6(float) ImageSampleDrefExplicitLod 111 117 118 Lod 29 - Store 103(r50) 119 - 124: 121 Load 123(g_tTexcdi4) - 125: 18 Load 20(g_sSamp) - 128: 127 SampledImage 124 125 - 129: 6(float) CompositeExtract 113 0 - 130: 6(float) CompositeExtract 113 1 - 131: 6(float) CompositeExtract 113 2 - 132: 7(fvec4) CompositeConstruct 129 130 131 26 - 133: 6(float) CompositeExtract 132 3 - 134: 6(float) ImageSampleDrefExplicitLod 128 132 133 Lod 29 - Store 120(r52) 134 - 139: 136 Load 138(g_tTexcdu4) - 140: 18 Load 20(g_sSamp) - 143: 142 SampledImage 139 140 - 144: 6(float) CompositeExtract 113 0 - 145: 6(float) CompositeExtract 113 1 - 146: 6(float) CompositeExtract 113 2 - 147: 7(fvec4) CompositeConstruct 144 145 146 26 - 148: 6(float) CompositeExtract 147 3 - 149: 6(float) ImageSampleDrefExplicitLod 143 147 148 Lod 29 - Store 135(r54) 149 - 156: 155(ptr) AccessChain 151(psout) 152 - Store 156 154 - 158: 12(ptr) AccessChain 151(psout) 157 - Store 158 153 - 159:8(PS_OUTPUT) Load 151(psout) - ReturnValue 159 + 23: 22 SampledImage 17 21 + 27: 26(fvec2) CompositeConstruct 24 25 + 29: 6(float) CompositeExtract 27 1 + 30: 6(float) ImageSampleDrefExplicitLod 23 27 29 Lod 28 + Store 13(r00) 30 + 36: 33 Load 35(g_tTex1di4) + 37: 18 Load 20(g_sSamp) + 39: 38 SampledImage 36 37 + 40: 26(fvec2) CompositeConstruct 24 25 + 41: 6(float) CompositeExtract 40 1 + 42: 6(float) ImageSampleDrefExplicitLod 39 40 41 Lod 28 + Store 31(r02) 42 + 48: 45 Load 47(g_tTex1du4) + 49: 18 Load 20(g_sSamp) + 51: 50 SampledImage 48 49 + 52: 26(fvec2) CompositeConstruct 24 25 + 53: 6(float) CompositeExtract 52 1 + 54: 6(float) ImageSampleDrefExplicitLod 51 52 53 Lod 28 + Store 43(r04) 54 + 59: 56 Load 58(g_tTex2df4) + 60: 18 Load 20(g_sSamp) + 62: 61 SampledImage 59 60 + 66: 6(float) CompositeExtract 64 0 + 67: 6(float) CompositeExtract 64 1 + 68: 65(fvec3) CompositeConstruct 66 67 25 + 69: 6(float) CompositeExtract 68 2 + 70: 6(float) ImageSampleDrefExplicitLod 62 68 69 Lod 28 + Store 55(r20) 70 + 75: 72 Load 74(g_tTex2di4) + 76: 18 Load 20(g_sSamp) + 78: 77 SampledImage 75 76 + 79: 6(float) CompositeExtract 64 0 + 80: 6(float) CompositeExtract 64 1 + 81: 65(fvec3) CompositeConstruct 79 80 25 + 82: 6(float) CompositeExtract 81 2 + 83: 6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 28 + Store 71(r22) 83 + 88: 85 Load 87(g_tTex2du4) + 89: 18 Load 20(g_sSamp) + 91: 90 SampledImage 88 89 + 92: 6(float) CompositeExtract 64 0 + 93: 6(float) CompositeExtract 64 1 + 94: 65(fvec3) CompositeConstruct 92 93 25 + 95: 6(float) CompositeExtract 94 2 + 96: 6(float) ImageSampleDrefExplicitLod 91 94 95 Lod 28 + Store 84(r24) 96 + 101: 98 Load 100(g_tTexcdf4) + 102: 18 Load 20(g_sSamp) + 104: 103 SampledImage 101 102 + 107: 6(float) CompositeExtract 106 0 + 108: 6(float) CompositeExtract 106 1 + 109: 6(float) CompositeExtract 106 2 + 110: 7(fvec4) CompositeConstruct 107 108 109 25 + 111: 6(float) CompositeExtract 110 3 + 112: 6(float) ImageSampleDrefExplicitLod 104 110 111 Lod 28 + Store 97(r50) 112 + 117: 114 Load 116(g_tTexcdi4) + 118: 18 Load 20(g_sSamp) + 120: 119 SampledImage 117 118 + 121: 6(float) CompositeExtract 106 0 + 122: 6(float) CompositeExtract 106 1 + 123: 6(float) CompositeExtract 106 2 + 124: 7(fvec4) CompositeConstruct 121 122 123 25 + 125: 6(float) CompositeExtract 124 3 + 126: 6(float) ImageSampleDrefExplicitLod 120 124 125 Lod 28 + Store 113(r52) 126 + 131: 128 Load 130(g_tTexcdu4) + 132: 18 Load 20(g_sSamp) + 134: 133 SampledImage 131 132 + 135: 6(float) CompositeExtract 106 0 + 136: 6(float) CompositeExtract 106 1 + 137: 6(float) CompositeExtract 106 2 + 138: 7(fvec4) CompositeConstruct 135 136 137 25 + 139: 6(float) CompositeExtract 138 3 + 140: 6(float) ImageSampleDrefExplicitLod 134 138 139 Lod 28 + Store 127(r54) 140 + 147: 146(ptr) AccessChain 142(psout) 143 + Store 147 145 + 149: 12(ptr) AccessChain 142(psout) 148 + Store 149 144 + 150:8(PS_OUTPUT) Load 142(psout) + ReturnValue 150 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index ad5225c67..9ea93ee13 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -26,7 +26,7 @@ gl_FragCoord origin is upper left 0:43 'r03' ( temp float) 0:43 textureLodOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -42,7 +42,7 @@ gl_FragCoord origin is upper left 0:44 'r05' ( temp float) 0:44 textureLodOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -58,7 +58,7 @@ gl_FragCoord origin is upper left 0:47 'r21' ( temp float) 0:47 textureLodOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -76,7 +76,7 @@ gl_FragCoord origin is upper left 0:48 'r23' ( temp float) 0:48 textureLodOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -94,7 +94,7 @@ gl_FragCoord origin is upper left 0:49 'r25' ( temp float) 0:49 textureLodOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -147,12 +147,12 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) @@ -186,7 +186,7 @@ gl_FragCoord origin is upper left 0:42 'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec2 ( temp 2-component vector of float) 0:42 Constant: @@ -202,7 +202,7 @@ gl_FragCoord origin is upper left 0:43 'r03' ( temp float) 0:43 textureLodOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DShadow) -0:43 'g_tTex1di4' ( uniform itexture1D) +0:43 'g_tTex1di4' ( uniform itexture1DShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec2 ( temp 2-component vector of float) 0:43 Constant: @@ -218,7 +218,7 @@ gl_FragCoord origin is upper left 0:44 'r05' ( temp float) 0:44 textureLodOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DShadow) -0:44 'g_tTex1du4' ( uniform utexture1D) +0:44 'g_tTex1du4' ( uniform utexture1DShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec2 ( temp 2-component vector of float) 0:44 Constant: @@ -234,7 +234,7 @@ gl_FragCoord origin is upper left 0:47 'r21' ( temp float) 0:47 textureLodOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DShadow) -0:47 'g_tTex2df4' ( uniform texture2D) +0:47 'g_tTex2df4' ( uniform texture2DShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -252,7 +252,7 @@ gl_FragCoord origin is upper left 0:48 'r23' ( temp float) 0:48 textureLodOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DShadow) -0:48 'g_tTex2di4' ( uniform itexture2D) +0:48 'g_tTex2di4' ( uniform itexture2DShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -270,7 +270,7 @@ gl_FragCoord origin is upper left 0:49 'r25' ( temp float) 0:49 textureLodOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DShadow) -0:49 'g_tTex2du4' ( uniform utexture2D) +0:49 'g_tTex2du4' ( uniform utexture2DShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -323,12 +323,12 @@ gl_FragCoord origin is upper left 0:38 1 (const int) 0:? Linker Objects 0:? 'g_sSamp' (layout( binding=0) uniform sampler) -0:? 'g_tTex1df4' (layout( binding=0) uniform texture1D) -0:? 'g_tTex1di4' ( uniform itexture1D) -0:? 'g_tTex1du4' ( uniform utexture1D) -0:? 'g_tTex2df4' ( uniform texture2D) -0:? 'g_tTex2di4' ( uniform itexture2D) -0:? 'g_tTex2du4' ( uniform utexture2D) +0:? 'g_tTex1df4' (layout( binding=0) uniform texture1DShadow) +0:? 'g_tTex1di4' ( uniform itexture1DShadow) +0:? 'g_tTex1du4' ( uniform utexture1DShadow) +0:? 'g_tTex2df4' ( uniform texture2DShadow) +0:? 'g_tTex2di4' ( uniform itexture2DShadow) +0:? 'g_tTex2du4' ( uniform utexture2DShadow) 0:? 'g_tTex3df4' ( uniform texture3D) 0:? 'g_tTex3di4' ( uniform itexture3D) 0:? 'g_tTex3du4' ( uniform utexture3D) @@ -349,14 +349,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 174 +// Id's are bound by 168 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 122 126 + EntryPoint Fragment 4 "main" 116 120 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -367,61 +367,61 @@ gl_FragCoord origin is upper left Name 13 "r01" Name 16 "g_tTex1df4" Name 20 "g_sSamp" - Name 34 "r03" - Name 37 "g_tTex1di4" - Name 46 "r05" - Name 50 "g_tTex1du4" - Name 59 "r21" - Name 62 "g_tTex2df4" - Name 79 "r23" - Name 82 "g_tTex2di4" - Name 93 "r25" - Name 96 "g_tTex2du4" - Name 108 "psout" - Name 119 "flattenTemp" - Name 122 "@entryPointOutput.Color" - Name 126 "@entryPointOutput.Depth" - Name 131 "g_tTex3df4" - Name 134 "g_tTex3di4" - Name 137 "g_tTex3du4" - Name 140 "g_tTexcdf4" - Name 143 "g_tTexcdi4" - Name 146 "g_tTexcdu4" - Name 149 "g_tTex1df4a" - Name 152 "g_tTex1di4a" - Name 155 "g_tTex1du4a" - Name 158 "g_tTex2df4a" - Name 161 "g_tTex2di4a" - Name 164 "g_tTex2du4a" - Name 167 "g_tTexcdf4a" - Name 170 "g_tTexcdi4a" - Name 173 "g_tTexcdu4a" + Name 33 "r03" + Name 36 "g_tTex1di4" + Name 44 "r05" + Name 48 "g_tTex1du4" + Name 56 "r21" + Name 59 "g_tTex2df4" + Name 75 "r23" + Name 78 "g_tTex2di4" + Name 88 "r25" + Name 91 "g_tTex2du4" + Name 102 "psout" + Name 113 "flattenTemp" + Name 116 "@entryPointOutput.Color" + Name 120 "@entryPointOutput.Depth" + Name 125 "g_tTex3df4" + Name 128 "g_tTex3di4" + Name 131 "g_tTex3du4" + Name 134 "g_tTexcdf4" + Name 137 "g_tTexcdi4" + Name 140 "g_tTexcdu4" + Name 143 "g_tTex1df4a" + Name 146 "g_tTex1di4a" + Name 149 "g_tTex1du4a" + Name 152 "g_tTex2df4a" + Name 155 "g_tTex2di4a" + Name 158 "g_tTex2du4a" + Name 161 "g_tTexcdf4a" + Name 164 "g_tTexcdi4a" + Name 167 "g_tTexcdu4a" Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 - Decorate 50(g_tTex1du4) DescriptorSet 0 - Decorate 62(g_tTex2df4) DescriptorSet 0 - Decorate 82(g_tTex2di4) DescriptorSet 0 - Decorate 96(g_tTex2du4) DescriptorSet 0 - Decorate 122(@entryPointOutput.Color) Location 0 - Decorate 126(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 131(g_tTex3df4) DescriptorSet 0 - Decorate 134(g_tTex3di4) DescriptorSet 0 - Decorate 137(g_tTex3du4) DescriptorSet 0 - Decorate 140(g_tTexcdf4) DescriptorSet 0 - Decorate 143(g_tTexcdi4) DescriptorSet 0 - Decorate 146(g_tTexcdu4) DescriptorSet 0 - Decorate 149(g_tTex1df4a) DescriptorSet 0 - Decorate 152(g_tTex1di4a) DescriptorSet 0 - Decorate 155(g_tTex1du4a) DescriptorSet 0 - Decorate 158(g_tTex2df4a) DescriptorSet 0 - Decorate 161(g_tTex2di4a) DescriptorSet 0 - Decorate 164(g_tTex2du4a) DescriptorSet 0 - Decorate 167(g_tTexcdf4a) DescriptorSet 0 - Decorate 170(g_tTexcdi4a) DescriptorSet 0 - Decorate 173(g_tTexcdu4a) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 91(g_tTex2du4) DescriptorSet 0 + Decorate 116(@entryPointOutput.Color) Location 0 + Decorate 120(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 125(g_tTex3df4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 131(g_tTex3du4) DescriptorSet 0 + Decorate 134(g_tTexcdf4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 140(g_tTexcdu4) DescriptorSet 0 + Decorate 143(g_tTex1df4a) DescriptorSet 0 + Decorate 146(g_tTex1di4a) DescriptorSet 0 + Decorate 149(g_tTex1du4a) DescriptorSet 0 + Decorate 152(g_tTex2df4a) DescriptorSet 0 + Decorate 155(g_tTex2di4a) DescriptorSet 0 + Decorate 158(g_tTex2du4a) DescriptorSet 0 + Decorate 161(g_tTexcdf4a) DescriptorSet 0 + Decorate 164(g_tTexcdi4a) DescriptorSet 0 + Decorate 167(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -429,181 +429,175 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D sampled format:Unknown + 14: TypeImage 6(float) 1D depth sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth sampled format:Unknown - 23: TypeSampledImage 22 - 25: 6(float) Constant 1036831949 - 26: 6(float) Constant 1061158912 - 27: TypeVector 6(float) 2 - 29: 6(float) Constant 0 - 30: TypeInt 32 1 - 31: 30(int) Constant 2 - 35: TypeImage 30(int) 1D sampled format:Unknown - 36: TypePointer UniformConstant 35 - 37(g_tTex1di4): 36(ptr) Variable UniformConstant - 40: TypeImage 30(int) 1D depth sampled format:Unknown - 41: TypeSampledImage 40 - 47: TypeInt 32 0 - 48: TypeImage 47(int) 1D sampled format:Unknown - 49: TypePointer UniformConstant 48 - 50(g_tTex1du4): 49(ptr) Variable UniformConstant - 53: TypeImage 47(int) 1D depth sampled format:Unknown - 54: TypeSampledImage 53 - 60: TypeImage 6(float) 2D sampled format:Unknown - 61: TypePointer UniformConstant 60 - 62(g_tTex2df4): 61(ptr) Variable UniformConstant - 65: TypeImage 6(float) 2D depth sampled format:Unknown - 66: TypeSampledImage 65 - 68: 6(float) Constant 1045220557 - 69: 27(fvec2) ConstantComposite 25 68 - 70: TypeVector 6(float) 3 - 74: TypeVector 30(int) 2 - 75: 30(int) Constant 3 - 76: 74(ivec2) ConstantComposite 31 75 - 80: TypeImage 30(int) 2D sampled format:Unknown - 81: TypePointer UniformConstant 80 - 82(g_tTex2di4): 81(ptr) Variable UniformConstant - 85: TypeImage 30(int) 2D depth sampled format:Unknown - 86: TypeSampledImage 85 - 94: TypeImage 47(int) 2D sampled format:Unknown - 95: TypePointer UniformConstant 94 - 96(g_tTex2du4): 95(ptr) Variable UniformConstant - 99: TypeImage 47(int) 2D depth sampled format:Unknown - 100: TypeSampledImage 99 - 107: TypePointer Function 8(PS_OUTPUT) - 109: 30(int) Constant 0 - 110: 6(float) Constant 1065353216 - 111: 7(fvec4) ConstantComposite 110 110 110 110 - 112: TypePointer Function 7(fvec4) - 114: 30(int) Constant 1 - 121: TypePointer Output 7(fvec4) -122(@entryPointOutput.Color): 121(ptr) Variable Output - 125: TypePointer Output 6(float) -126(@entryPointOutput.Depth): 125(ptr) Variable Output - 129: TypeImage 6(float) 3D sampled format:Unknown + 22: TypeSampledImage 14 + 24: 6(float) Constant 1036831949 + 25: 6(float) Constant 1061158912 + 26: TypeVector 6(float) 2 + 28: 6(float) Constant 0 + 29: TypeInt 32 1 + 30: 29(int) Constant 2 + 34: TypeImage 29(int) 1D depth sampled format:Unknown + 35: TypePointer UniformConstant 34 + 36(g_tTex1di4): 35(ptr) Variable UniformConstant + 39: TypeSampledImage 34 + 45: TypeInt 32 0 + 46: TypeImage 45(int) 1D depth sampled format:Unknown + 47: TypePointer UniformConstant 46 + 48(g_tTex1du4): 47(ptr) Variable UniformConstant + 51: TypeSampledImage 46 + 57: TypeImage 6(float) 2D depth sampled format:Unknown + 58: TypePointer UniformConstant 57 + 59(g_tTex2df4): 58(ptr) Variable UniformConstant + 62: TypeSampledImage 57 + 64: 6(float) Constant 1045220557 + 65: 26(fvec2) ConstantComposite 24 64 + 66: TypeVector 6(float) 3 + 70: TypeVector 29(int) 2 + 71: 29(int) Constant 3 + 72: 70(ivec2) ConstantComposite 30 71 + 76: TypeImage 29(int) 2D depth sampled format:Unknown + 77: TypePointer UniformConstant 76 + 78(g_tTex2di4): 77(ptr) Variable UniformConstant + 81: TypeSampledImage 76 + 89: TypeImage 45(int) 2D depth sampled format:Unknown + 90: TypePointer UniformConstant 89 + 91(g_tTex2du4): 90(ptr) Variable UniformConstant + 94: TypeSampledImage 89 + 101: TypePointer Function 8(PS_OUTPUT) + 103: 29(int) Constant 0 + 104: 6(float) Constant 1065353216 + 105: 7(fvec4) ConstantComposite 104 104 104 104 + 106: TypePointer Function 7(fvec4) + 108: 29(int) Constant 1 + 115: TypePointer Output 7(fvec4) +116(@entryPointOutput.Color): 115(ptr) Variable Output + 119: TypePointer Output 6(float) +120(@entryPointOutput.Depth): 119(ptr) Variable Output + 123: TypeImage 6(float) 3D sampled format:Unknown + 124: TypePointer UniformConstant 123 + 125(g_tTex3df4): 124(ptr) Variable UniformConstant + 126: TypeImage 29(int) 3D sampled format:Unknown + 127: TypePointer UniformConstant 126 + 128(g_tTex3di4): 127(ptr) Variable UniformConstant + 129: TypeImage 45(int) 3D sampled format:Unknown 130: TypePointer UniformConstant 129 - 131(g_tTex3df4): 130(ptr) Variable UniformConstant - 132: TypeImage 30(int) 3D sampled format:Unknown + 131(g_tTex3du4): 130(ptr) Variable UniformConstant + 132: TypeImage 6(float) Cube sampled format:Unknown 133: TypePointer UniformConstant 132 - 134(g_tTex3di4): 133(ptr) Variable UniformConstant - 135: TypeImage 47(int) 3D sampled format:Unknown + 134(g_tTexcdf4): 133(ptr) Variable UniformConstant + 135: TypeImage 29(int) Cube sampled format:Unknown 136: TypePointer UniformConstant 135 - 137(g_tTex3du4): 136(ptr) Variable UniformConstant - 138: TypeImage 6(float) Cube sampled format:Unknown + 137(g_tTexcdi4): 136(ptr) Variable UniformConstant + 138: TypeImage 45(int) Cube sampled format:Unknown 139: TypePointer UniformConstant 138 - 140(g_tTexcdf4): 139(ptr) Variable UniformConstant - 141: TypeImage 30(int) Cube sampled format:Unknown + 140(g_tTexcdu4): 139(ptr) Variable UniformConstant + 141: TypeImage 6(float) 1D array sampled format:Unknown 142: TypePointer UniformConstant 141 - 143(g_tTexcdi4): 142(ptr) Variable UniformConstant - 144: TypeImage 47(int) Cube sampled format:Unknown +143(g_tTex1df4a): 142(ptr) Variable UniformConstant + 144: TypeImage 29(int) 1D array sampled format:Unknown 145: TypePointer UniformConstant 144 - 146(g_tTexcdu4): 145(ptr) Variable UniformConstant - 147: TypeImage 6(float) 1D array sampled format:Unknown +146(g_tTex1di4a): 145(ptr) Variable UniformConstant + 147: TypeImage 45(int) 1D array sampled format:Unknown 148: TypePointer UniformConstant 147 -149(g_tTex1df4a): 148(ptr) Variable UniformConstant - 150: TypeImage 30(int) 1D array sampled format:Unknown +149(g_tTex1du4a): 148(ptr) Variable UniformConstant + 150: TypeImage 6(float) 2D array sampled format:Unknown 151: TypePointer UniformConstant 150 -152(g_tTex1di4a): 151(ptr) Variable UniformConstant - 153: TypeImage 47(int) 1D array sampled format:Unknown +152(g_tTex2df4a): 151(ptr) Variable UniformConstant + 153: TypeImage 29(int) 2D array sampled format:Unknown 154: TypePointer UniformConstant 153 -155(g_tTex1du4a): 154(ptr) Variable UniformConstant - 156: TypeImage 6(float) 2D array sampled format:Unknown +155(g_tTex2di4a): 154(ptr) Variable UniformConstant + 156: TypeImage 45(int) 2D array sampled format:Unknown 157: TypePointer UniformConstant 156 -158(g_tTex2df4a): 157(ptr) Variable UniformConstant - 159: TypeImage 30(int) 2D array sampled format:Unknown +158(g_tTex2du4a): 157(ptr) Variable UniformConstant + 159: TypeImage 6(float) Cube array sampled format:Unknown 160: TypePointer UniformConstant 159 -161(g_tTex2di4a): 160(ptr) Variable UniformConstant - 162: TypeImage 47(int) 2D array sampled format:Unknown +161(g_tTexcdf4a): 160(ptr) Variable UniformConstant + 162: TypeImage 29(int) Cube array sampled format:Unknown 163: TypePointer UniformConstant 162 -164(g_tTex2du4a): 163(ptr) Variable UniformConstant - 165: TypeImage 6(float) Cube array sampled format:Unknown +164(g_tTexcdi4a): 163(ptr) Variable UniformConstant + 165: TypeImage 45(int) Cube array sampled format:Unknown 166: TypePointer UniformConstant 165 -167(g_tTexcdf4a): 166(ptr) Variable UniformConstant - 168: TypeImage 30(int) Cube array sampled format:Unknown - 169: TypePointer UniformConstant 168 -170(g_tTexcdi4a): 169(ptr) Variable UniformConstant - 171: TypeImage 47(int) Cube array sampled format:Unknown - 172: TypePointer UniformConstant 171 -173(g_tTexcdu4a): 172(ptr) Variable UniformConstant +167(g_tTexcdu4a): 166(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -119(flattenTemp): 107(ptr) Variable Function - 120:8(PS_OUTPUT) FunctionCall 10(@main() - Store 119(flattenTemp) 120 - 123: 112(ptr) AccessChain 119(flattenTemp) 109 - 124: 7(fvec4) Load 123 - Store 122(@entryPointOutput.Color) 124 - 127: 12(ptr) AccessChain 119(flattenTemp) 114 - 128: 6(float) Load 127 - Store 126(@entryPointOutput.Depth) 128 +113(flattenTemp): 101(ptr) Variable Function + 114:8(PS_OUTPUT) FunctionCall 10(@main() + Store 113(flattenTemp) 114 + 117: 106(ptr) AccessChain 113(flattenTemp) 103 + 118: 7(fvec4) Load 117 + Store 116(@entryPointOutput.Color) 118 + 121: 12(ptr) AccessChain 113(flattenTemp) 108 + 122: 6(float) Load 121 + Store 120(@entryPointOutput.Depth) 122 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r01): 12(ptr) Variable Function - 34(r03): 12(ptr) Variable Function - 46(r05): 12(ptr) Variable Function - 59(r21): 12(ptr) Variable Function - 79(r23): 12(ptr) Variable Function - 93(r25): 12(ptr) Variable Function - 108(psout): 107(ptr) Variable Function + 33(r03): 12(ptr) Variable Function + 44(r05): 12(ptr) Variable Function + 56(r21): 12(ptr) Variable Function + 75(r23): 12(ptr) Variable Function + 88(r25): 12(ptr) Variable Function + 102(psout): 101(ptr) Variable Function 17: 14 Load 16(g_tTex1df4) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 28: 27(fvec2) CompositeConstruct 25 26 - 32: 6(float) CompositeExtract 28 1 - 33: 6(float) ImageSampleDrefExplicitLod 24 28 32 Lod ConstOffset 29 31 - Store 13(r01) 33 - 38: 35 Load 37(g_tTex1di4) - 39: 18 Load 20(g_sSamp) - 42: 41 SampledImage 38 39 - 43: 27(fvec2) CompositeConstruct 25 26 - 44: 6(float) CompositeExtract 43 1 - 45: 6(float) ImageSampleDrefExplicitLod 42 43 44 Lod ConstOffset 29 31 - Store 34(r03) 45 - 51: 48 Load 50(g_tTex1du4) - 52: 18 Load 20(g_sSamp) - 55: 54 SampledImage 51 52 - 56: 27(fvec2) CompositeConstruct 25 26 - 57: 6(float) CompositeExtract 56 1 - 58: 6(float) ImageSampleDrefExplicitLod 55 56 57 Lod ConstOffset 29 31 - Store 46(r05) 58 - 63: 60 Load 62(g_tTex2df4) - 64: 18 Load 20(g_sSamp) - 67: 66 SampledImage 63 64 - 71: 6(float) CompositeExtract 69 0 - 72: 6(float) CompositeExtract 69 1 - 73: 70(fvec3) CompositeConstruct 71 72 26 - 77: 6(float) CompositeExtract 73 2 - 78: 6(float) ImageSampleDrefExplicitLod 67 73 77 Lod ConstOffset 29 76 - Store 59(r21) 78 - 83: 80 Load 82(g_tTex2di4) - 84: 18 Load 20(g_sSamp) - 87: 86 SampledImage 83 84 - 88: 6(float) CompositeExtract 69 0 - 89: 6(float) CompositeExtract 69 1 - 90: 70(fvec3) CompositeConstruct 88 89 26 - 91: 6(float) CompositeExtract 90 2 - 92: 6(float) ImageSampleDrefExplicitLod 87 90 91 Lod ConstOffset 29 76 - Store 79(r23) 92 - 97: 94 Load 96(g_tTex2du4) - 98: 18 Load 20(g_sSamp) - 101: 100 SampledImage 97 98 - 102: 6(float) CompositeExtract 69 0 - 103: 6(float) CompositeExtract 69 1 - 104: 70(fvec3) CompositeConstruct 102 103 26 - 105: 6(float) CompositeExtract 104 2 - 106: 6(float) ImageSampleDrefExplicitLod 101 104 105 Lod ConstOffset 29 76 - Store 93(r25) 106 - 113: 112(ptr) AccessChain 108(psout) 109 - Store 113 111 - 115: 12(ptr) AccessChain 108(psout) 114 - Store 115 110 - 116:8(PS_OUTPUT) Load 108(psout) - ReturnValue 116 + 23: 22 SampledImage 17 21 + 27: 26(fvec2) CompositeConstruct 24 25 + 31: 6(float) CompositeExtract 27 1 + 32: 6(float) ImageSampleDrefExplicitLod 23 27 31 Lod ConstOffset 28 30 + Store 13(r01) 32 + 37: 34 Load 36(g_tTex1di4) + 38: 18 Load 20(g_sSamp) + 40: 39 SampledImage 37 38 + 41: 26(fvec2) CompositeConstruct 24 25 + 42: 6(float) CompositeExtract 41 1 + 43: 6(float) ImageSampleDrefExplicitLod 40 41 42 Lod ConstOffset 28 30 + Store 33(r03) 43 + 49: 46 Load 48(g_tTex1du4) + 50: 18 Load 20(g_sSamp) + 52: 51 SampledImage 49 50 + 53: 26(fvec2) CompositeConstruct 24 25 + 54: 6(float) CompositeExtract 53 1 + 55: 6(float) ImageSampleDrefExplicitLod 52 53 54 Lod ConstOffset 28 30 + Store 44(r05) 55 + 60: 57 Load 59(g_tTex2df4) + 61: 18 Load 20(g_sSamp) + 63: 62 SampledImage 60 61 + 67: 6(float) CompositeExtract 65 0 + 68: 6(float) CompositeExtract 65 1 + 69: 66(fvec3) CompositeConstruct 67 68 25 + 73: 6(float) CompositeExtract 69 2 + 74: 6(float) ImageSampleDrefExplicitLod 63 69 73 Lod ConstOffset 28 72 + Store 56(r21) 74 + 79: 76 Load 78(g_tTex2di4) + 80: 18 Load 20(g_sSamp) + 82: 81 SampledImage 79 80 + 83: 6(float) CompositeExtract 65 0 + 84: 6(float) CompositeExtract 65 1 + 85: 66(fvec3) CompositeConstruct 83 84 25 + 86: 6(float) CompositeExtract 85 2 + 87: 6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 28 72 + Store 75(r23) 87 + 92: 89 Load 91(g_tTex2du4) + 93: 18 Load 20(g_sSamp) + 95: 94 SampledImage 92 93 + 96: 6(float) CompositeExtract 65 0 + 97: 6(float) CompositeExtract 65 1 + 98: 66(fvec3) CompositeConstruct 96 97 25 + 99: 6(float) CompositeExtract 98 2 + 100: 6(float) ImageSampleDrefExplicitLod 95 98 99 Lod ConstOffset 28 72 + Store 88(r25) 100 + 107: 106(ptr) AccessChain 102(psout) 103 + Store 107 105 + 109: 12(ptr) AccessChain 102(psout) 108 + Store 109 104 + 110:8(PS_OUTPUT) Load 102(psout) + ReturnValue 110 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 7246fe72b..16a8cfc0b 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -10,7 +10,7 @@ gl_FragCoord origin is upper left 0:42 'r11' ( temp float) 0:42 textureLodOffset ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -27,7 +27,7 @@ gl_FragCoord origin is upper left 0:43 'r13' ( temp float) 0:43 textureLodOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -44,7 +44,7 @@ gl_FragCoord origin is upper left 0:44 'r15' ( temp float) 0:44 textureLodOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -61,7 +61,7 @@ gl_FragCoord origin is upper left 0:47 'r31' ( temp float) 0:47 textureLodOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -80,7 +80,7 @@ gl_FragCoord origin is upper left 0:48 'r33' ( temp float) 0:48 textureLodOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -99,7 +99,7 @@ gl_FragCoord origin is upper left 0:49 'r35' ( temp float) 0:49 textureLodOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -165,12 +165,12 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:? 'g_tTexcdf4a' ( uniform textureCubeArray) 0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) @@ -192,7 +192,7 @@ gl_FragCoord origin is upper left 0:42 'r11' ( temp float) 0:42 textureLodOffset ( temp float) 0:42 Construct combined texture-sampler ( temp sampler1DArrayShadow) -0:42 'g_tTex1df4a' ( uniform texture1DArray) +0:42 'g_tTex1df4a' ( uniform texture1DArrayShadow) 0:42 'g_sSamp' (layout( binding=0) uniform sampler) 0:42 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -209,7 +209,7 @@ gl_FragCoord origin is upper left 0:43 'r13' ( temp float) 0:43 textureLodOffset ( temp float) 0:43 Construct combined texture-sampler ( temp isampler1DArrayShadow) -0:43 'g_tTex1di4a' ( uniform itexture1DArray) +0:43 'g_tTex1di4a' ( uniform itexture1DArrayShadow) 0:43 'g_sSamp' (layout( binding=0) uniform sampler) 0:43 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -226,7 +226,7 @@ gl_FragCoord origin is upper left 0:44 'r15' ( temp float) 0:44 textureLodOffset ( temp float) 0:44 Construct combined texture-sampler ( temp usampler1DArrayShadow) -0:44 'g_tTex1du4a' ( uniform utexture1DArray) +0:44 'g_tTex1du4a' ( uniform utexture1DArrayShadow) 0:44 'g_sSamp' (layout( binding=0) uniform sampler) 0:44 Construct vec3 ( temp 3-component vector of float) 0:? Constant: @@ -243,7 +243,7 @@ gl_FragCoord origin is upper left 0:47 'r31' ( temp float) 0:47 textureLodOffset ( temp float) 0:47 Construct combined texture-sampler ( temp sampler2DArrayShadow) -0:47 'g_tTex2df4a' ( uniform texture2DArray) +0:47 'g_tTex2df4a' ( uniform texture2DArrayShadow) 0:47 'g_sSamp' (layout( binding=0) uniform sampler) 0:47 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -262,7 +262,7 @@ gl_FragCoord origin is upper left 0:48 'r33' ( temp float) 0:48 textureLodOffset ( temp float) 0:48 Construct combined texture-sampler ( temp isampler2DArrayShadow) -0:48 'g_tTex2di4a' ( uniform itexture2DArray) +0:48 'g_tTex2di4a' ( uniform itexture2DArrayShadow) 0:48 'g_sSamp' (layout( binding=0) uniform sampler) 0:48 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -281,7 +281,7 @@ gl_FragCoord origin is upper left 0:49 'r35' ( temp float) 0:49 textureLodOffset ( temp float) 0:49 Construct combined texture-sampler ( temp usampler2DArrayShadow) -0:49 'g_tTex2du4a' ( uniform utexture2DArray) +0:49 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:49 'g_sSamp' (layout( binding=0) uniform sampler) 0:49 Construct vec4 ( temp 4-component vector of float) 0:? Constant: @@ -347,12 +347,12 @@ gl_FragCoord origin is upper left 0:? 'g_tTexcdf4' ( uniform textureCube) 0:? 'g_tTexcdi4' ( uniform itextureCube) 0:? 'g_tTexcdu4' ( uniform utextureCube) -0:? 'g_tTex1df4a' ( uniform texture1DArray) -0:? 'g_tTex1di4a' ( uniform itexture1DArray) -0:? 'g_tTex1du4a' ( uniform utexture1DArray) -0:? 'g_tTex2df4a' ( uniform texture2DArray) -0:? 'g_tTex2di4a' ( uniform itexture2DArray) -0:? 'g_tTex2du4a' ( uniform utexture2DArray) +0:? 'g_tTex1df4a' ( uniform texture1DArrayShadow) +0:? 'g_tTex1di4a' ( uniform itexture1DArrayShadow) +0:? 'g_tTex1du4a' ( uniform utexture1DArrayShadow) +0:? 'g_tTex2df4a' ( uniform texture2DArrayShadow) +0:? 'g_tTex2di4a' ( uniform itexture2DArrayShadow) +0:? 'g_tTex2du4a' ( uniform utexture2DArrayShadow) 0:? 'g_tTexcdf4a' ( uniform textureCubeArray) 0:? 'g_tTexcdi4a' ( uniform itextureCubeArray) 0:? 'g_tTexcdu4a' ( uniform utextureCubeArray) @@ -361,14 +361,14 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 185 +// Id's are bound by 179 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 133 137 + EntryPoint Fragment 4 "main" 127 131 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -379,61 +379,61 @@ gl_FragCoord origin is upper left Name 13 "r11" Name 16 "g_tTex1df4a" Name 20 "g_sSamp" - Name 39 "r13" - Name 42 "g_tTex1di4a" - Name 53 "r15" - Name 57 "g_tTex1du4a" - Name 68 "r31" - Name 71 "g_tTex2df4a" - Name 88 "r33" - Name 91 "g_tTex2di4a" - Name 103 "r35" - Name 106 "g_tTex2du4a" - Name 119 "psout" - Name 130 "flattenTemp" - Name 133 "@entryPointOutput.Color" - Name 137 "@entryPointOutput.Depth" - Name 142 "g_tTex1df4" - Name 145 "g_tTex1di4" - Name 148 "g_tTex1du4" - Name 151 "g_tTex2df4" - Name 154 "g_tTex2di4" - Name 157 "g_tTex2du4" - Name 160 "g_tTex3df4" - Name 163 "g_tTex3di4" - Name 166 "g_tTex3du4" - Name 169 "g_tTexcdf4" - Name 172 "g_tTexcdi4" - Name 175 "g_tTexcdu4" - Name 178 "g_tTexcdf4a" - Name 181 "g_tTexcdi4a" - Name 184 "g_tTexcdu4a" + Name 38 "r13" + Name 41 "g_tTex1di4a" + Name 51 "r15" + Name 55 "g_tTex1du4a" + Name 65 "r31" + Name 68 "g_tTex2df4a" + Name 84 "r33" + Name 87 "g_tTex2di4a" + Name 98 "r35" + Name 101 "g_tTex2du4a" + Name 113 "psout" + Name 124 "flattenTemp" + Name 127 "@entryPointOutput.Color" + Name 131 "@entryPointOutput.Depth" + Name 136 "g_tTex1df4" + Name 139 "g_tTex1di4" + Name 142 "g_tTex1du4" + Name 145 "g_tTex2df4" + Name 148 "g_tTex2di4" + Name 151 "g_tTex2du4" + Name 154 "g_tTex3df4" + Name 157 "g_tTex3di4" + Name 160 "g_tTex3du4" + Name 163 "g_tTexcdf4" + Name 166 "g_tTexcdi4" + Name 169 "g_tTexcdu4" + Name 172 "g_tTexcdf4a" + Name 175 "g_tTexcdi4a" + Name 178 "g_tTexcdu4a" Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 42(g_tTex1di4a) DescriptorSet 0 - Decorate 57(g_tTex1du4a) DescriptorSet 0 - Decorate 71(g_tTex2df4a) DescriptorSet 0 - Decorate 91(g_tTex2di4a) DescriptorSet 0 - Decorate 106(g_tTex2du4a) DescriptorSet 0 - Decorate 133(@entryPointOutput.Color) Location 0 - Decorate 137(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 142(g_tTex1df4) DescriptorSet 0 - Decorate 142(g_tTex1df4) Binding 0 - Decorate 145(g_tTex1di4) DescriptorSet 0 - Decorate 148(g_tTex1du4) DescriptorSet 0 - Decorate 151(g_tTex2df4) DescriptorSet 0 - Decorate 154(g_tTex2di4) DescriptorSet 0 - Decorate 157(g_tTex2du4) DescriptorSet 0 - Decorate 160(g_tTex3df4) DescriptorSet 0 - Decorate 163(g_tTex3di4) DescriptorSet 0 - Decorate 166(g_tTex3du4) DescriptorSet 0 - Decorate 169(g_tTexcdf4) DescriptorSet 0 - Decorate 172(g_tTexcdi4) DescriptorSet 0 - Decorate 175(g_tTexcdu4) DescriptorSet 0 - Decorate 178(g_tTexcdf4a) DescriptorSet 0 - Decorate 181(g_tTexcdi4a) DescriptorSet 0 - Decorate 184(g_tTexcdu4a) DescriptorSet 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 55(g_tTex1du4a) DescriptorSet 0 + Decorate 68(g_tTex2df4a) DescriptorSet 0 + Decorate 87(g_tTex2di4a) DescriptorSet 0 + Decorate 101(g_tTex2du4a) DescriptorSet 0 + Decorate 127(@entryPointOutput.Color) Location 0 + Decorate 131(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 136(g_tTex1df4) DescriptorSet 0 + Decorate 136(g_tTex1df4) Binding 0 + Decorate 139(g_tTex1di4) DescriptorSet 0 + Decorate 142(g_tTex1du4) DescriptorSet 0 + Decorate 145(g_tTex2df4) DescriptorSet 0 + Decorate 148(g_tTex2di4) DescriptorSet 0 + Decorate 151(g_tTex2du4) DescriptorSet 0 + Decorate 154(g_tTex3df4) DescriptorSet 0 + Decorate 157(g_tTex3di4) DescriptorSet 0 + Decorate 160(g_tTex3du4) DescriptorSet 0 + Decorate 163(g_tTexcdf4) DescriptorSet 0 + Decorate 166(g_tTexcdi4) DescriptorSet 0 + Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -441,192 +441,186 @@ gl_FragCoord origin is upper left 8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 9: TypeFunction 8(PS_OUTPUT) 12: TypePointer Function 6(float) - 14: TypeImage 6(float) 1D array sampled format:Unknown + 14: TypeImage 6(float) 1D depth array sampled format:Unknown 15: TypePointer UniformConstant 14 16(g_tTex1df4a): 15(ptr) Variable UniformConstant 18: TypeSampler 19: TypePointer UniformConstant 18 20(g_sSamp): 19(ptr) Variable UniformConstant - 22: TypeImage 6(float) 1D depth array sampled format:Unknown - 23: TypeSampledImage 22 - 25: TypeVector 6(float) 2 - 26: 6(float) Constant 1036831949 - 27: 6(float) Constant 1045220557 - 28: 25(fvec2) ConstantComposite 26 27 - 29: 6(float) Constant 1061158912 - 30: TypeVector 6(float) 3 - 34: 6(float) Constant 0 - 35: TypeInt 32 1 - 36: 35(int) Constant 2 - 40: TypeImage 35(int) 1D array sampled format:Unknown - 41: TypePointer UniformConstant 40 - 42(g_tTex1di4a): 41(ptr) Variable UniformConstant - 45: TypeImage 35(int) 1D depth array sampled format:Unknown - 46: TypeSampledImage 45 - 54: TypeInt 32 0 - 55: TypeImage 54(int) 1D array sampled format:Unknown - 56: TypePointer UniformConstant 55 - 57(g_tTex1du4a): 56(ptr) Variable UniformConstant - 60: TypeImage 54(int) 1D depth array sampled format:Unknown - 61: TypeSampledImage 60 - 69: TypeImage 6(float) 2D array sampled format:Unknown - 70: TypePointer UniformConstant 69 - 71(g_tTex2df4a): 70(ptr) Variable UniformConstant - 74: TypeImage 6(float) 2D depth array sampled format:Unknown - 75: TypeSampledImage 74 - 77: 6(float) Constant 1050253722 - 78: 30(fvec3) ConstantComposite 26 27 77 - 83: TypeVector 35(int) 2 - 84: 35(int) Constant 3 - 85: 83(ivec2) ConstantComposite 36 84 - 89: TypeImage 35(int) 2D array sampled format:Unknown - 90: TypePointer UniformConstant 89 - 91(g_tTex2di4a): 90(ptr) Variable UniformConstant - 94: TypeImage 35(int) 2D depth array sampled format:Unknown - 95: TypeSampledImage 94 - 104: TypeImage 54(int) 2D array sampled format:Unknown - 105: TypePointer UniformConstant 104 -106(g_tTex2du4a): 105(ptr) Variable UniformConstant - 109: TypeImage 54(int) 2D depth array sampled format:Unknown - 110: TypeSampledImage 109 - 118: TypePointer Function 8(PS_OUTPUT) - 120: 35(int) Constant 0 - 121: 6(float) Constant 1065353216 - 122: 7(fvec4) ConstantComposite 121 121 121 121 - 123: TypePointer Function 7(fvec4) - 125: 35(int) Constant 1 - 132: TypePointer Output 7(fvec4) -133(@entryPointOutput.Color): 132(ptr) Variable Output - 136: TypePointer Output 6(float) -137(@entryPointOutput.Depth): 136(ptr) Variable Output - 140: TypeImage 6(float) 1D sampled format:Unknown + 22: TypeSampledImage 14 + 24: TypeVector 6(float) 2 + 25: 6(float) Constant 1036831949 + 26: 6(float) Constant 1045220557 + 27: 24(fvec2) ConstantComposite 25 26 + 28: 6(float) Constant 1061158912 + 29: TypeVector 6(float) 3 + 33: 6(float) Constant 0 + 34: TypeInt 32 1 + 35: 34(int) Constant 2 + 39: TypeImage 34(int) 1D depth array sampled format:Unknown + 40: TypePointer UniformConstant 39 + 41(g_tTex1di4a): 40(ptr) Variable UniformConstant + 44: TypeSampledImage 39 + 52: TypeInt 32 0 + 53: TypeImage 52(int) 1D depth array sampled format:Unknown + 54: TypePointer UniformConstant 53 + 55(g_tTex1du4a): 54(ptr) Variable UniformConstant + 58: TypeSampledImage 53 + 66: TypeImage 6(float) 2D depth array sampled format:Unknown + 67: TypePointer UniformConstant 66 + 68(g_tTex2df4a): 67(ptr) Variable UniformConstant + 71: TypeSampledImage 66 + 73: 6(float) Constant 1050253722 + 74: 29(fvec3) ConstantComposite 25 26 73 + 79: TypeVector 34(int) 2 + 80: 34(int) Constant 3 + 81: 79(ivec2) ConstantComposite 35 80 + 85: TypeImage 34(int) 2D depth array sampled format:Unknown + 86: TypePointer UniformConstant 85 + 87(g_tTex2di4a): 86(ptr) Variable UniformConstant + 90: TypeSampledImage 85 + 99: TypeImage 52(int) 2D depth array sampled format:Unknown + 100: TypePointer UniformConstant 99 +101(g_tTex2du4a): 100(ptr) Variable UniformConstant + 104: TypeSampledImage 99 + 112: TypePointer Function 8(PS_OUTPUT) + 114: 34(int) Constant 0 + 115: 6(float) Constant 1065353216 + 116: 7(fvec4) ConstantComposite 115 115 115 115 + 117: TypePointer Function 7(fvec4) + 119: 34(int) Constant 1 + 126: TypePointer Output 7(fvec4) +127(@entryPointOutput.Color): 126(ptr) Variable Output + 130: TypePointer Output 6(float) +131(@entryPointOutput.Depth): 130(ptr) Variable Output + 134: TypeImage 6(float) 1D sampled format:Unknown + 135: TypePointer UniformConstant 134 + 136(g_tTex1df4): 135(ptr) Variable UniformConstant + 137: TypeImage 34(int) 1D sampled format:Unknown + 138: TypePointer UniformConstant 137 + 139(g_tTex1di4): 138(ptr) Variable UniformConstant + 140: TypeImage 52(int) 1D sampled format:Unknown 141: TypePointer UniformConstant 140 - 142(g_tTex1df4): 141(ptr) Variable UniformConstant - 143: TypeImage 35(int) 1D sampled format:Unknown + 142(g_tTex1du4): 141(ptr) Variable UniformConstant + 143: TypeImage 6(float) 2D sampled format:Unknown 144: TypePointer UniformConstant 143 - 145(g_tTex1di4): 144(ptr) Variable UniformConstant - 146: TypeImage 54(int) 1D sampled format:Unknown + 145(g_tTex2df4): 144(ptr) Variable UniformConstant + 146: TypeImage 34(int) 2D sampled format:Unknown 147: TypePointer UniformConstant 146 - 148(g_tTex1du4): 147(ptr) Variable UniformConstant - 149: TypeImage 6(float) 2D sampled format:Unknown + 148(g_tTex2di4): 147(ptr) Variable UniformConstant + 149: TypeImage 52(int) 2D sampled format:Unknown 150: TypePointer UniformConstant 149 - 151(g_tTex2df4): 150(ptr) Variable UniformConstant - 152: TypeImage 35(int) 2D sampled format:Unknown + 151(g_tTex2du4): 150(ptr) Variable UniformConstant + 152: TypeImage 6(float) 3D sampled format:Unknown 153: TypePointer UniformConstant 152 - 154(g_tTex2di4): 153(ptr) Variable UniformConstant - 155: TypeImage 54(int) 2D sampled format:Unknown + 154(g_tTex3df4): 153(ptr) Variable UniformConstant + 155: TypeImage 34(int) 3D sampled format:Unknown 156: TypePointer UniformConstant 155 - 157(g_tTex2du4): 156(ptr) Variable UniformConstant - 158: TypeImage 6(float) 3D sampled format:Unknown + 157(g_tTex3di4): 156(ptr) Variable UniformConstant + 158: TypeImage 52(int) 3D sampled format:Unknown 159: TypePointer UniformConstant 158 - 160(g_tTex3df4): 159(ptr) Variable UniformConstant - 161: TypeImage 35(int) 3D sampled format:Unknown + 160(g_tTex3du4): 159(ptr) Variable UniformConstant + 161: TypeImage 6(float) Cube sampled format:Unknown 162: TypePointer UniformConstant 161 - 163(g_tTex3di4): 162(ptr) Variable UniformConstant - 164: TypeImage 54(int) 3D sampled format:Unknown + 163(g_tTexcdf4): 162(ptr) Variable UniformConstant + 164: TypeImage 34(int) Cube sampled format:Unknown 165: TypePointer UniformConstant 164 - 166(g_tTex3du4): 165(ptr) Variable UniformConstant - 167: TypeImage 6(float) Cube sampled format:Unknown + 166(g_tTexcdi4): 165(ptr) Variable UniformConstant + 167: TypeImage 52(int) Cube sampled format:Unknown 168: TypePointer UniformConstant 167 - 169(g_tTexcdf4): 168(ptr) Variable UniformConstant - 170: TypeImage 35(int) Cube sampled format:Unknown + 169(g_tTexcdu4): 168(ptr) Variable UniformConstant + 170: TypeImage 6(float) Cube array sampled format:Unknown 171: TypePointer UniformConstant 170 - 172(g_tTexcdi4): 171(ptr) Variable UniformConstant - 173: TypeImage 54(int) Cube sampled format:Unknown +172(g_tTexcdf4a): 171(ptr) Variable UniformConstant + 173: TypeImage 34(int) Cube array sampled format:Unknown 174: TypePointer UniformConstant 173 - 175(g_tTexcdu4): 174(ptr) Variable UniformConstant - 176: TypeImage 6(float) Cube array sampled format:Unknown +175(g_tTexcdi4a): 174(ptr) Variable UniformConstant + 176: TypeImage 52(int) Cube array sampled format:Unknown 177: TypePointer UniformConstant 176 -178(g_tTexcdf4a): 177(ptr) Variable UniformConstant - 179: TypeImage 35(int) Cube array sampled format:Unknown - 180: TypePointer UniformConstant 179 -181(g_tTexcdi4a): 180(ptr) Variable UniformConstant - 182: TypeImage 54(int) Cube array sampled format:Unknown - 183: TypePointer UniformConstant 182 -184(g_tTexcdu4a): 183(ptr) Variable UniformConstant +178(g_tTexcdu4a): 177(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -130(flattenTemp): 118(ptr) Variable Function - 131:8(PS_OUTPUT) FunctionCall 10(@main() - Store 130(flattenTemp) 131 - 134: 123(ptr) AccessChain 130(flattenTemp) 120 - 135: 7(fvec4) Load 134 - Store 133(@entryPointOutput.Color) 135 - 138: 12(ptr) AccessChain 130(flattenTemp) 125 - 139: 6(float) Load 138 - Store 137(@entryPointOutput.Depth) 139 +124(flattenTemp): 112(ptr) Variable Function + 125:8(PS_OUTPUT) FunctionCall 10(@main() + Store 124(flattenTemp) 125 + 128: 117(ptr) AccessChain 124(flattenTemp) 114 + 129: 7(fvec4) Load 128 + Store 127(@entryPointOutput.Color) 129 + 132: 12(ptr) AccessChain 124(flattenTemp) 119 + 133: 6(float) Load 132 + Store 131(@entryPointOutput.Depth) 133 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 11: Label 13(r11): 12(ptr) Variable Function - 39(r13): 12(ptr) Variable Function - 53(r15): 12(ptr) Variable Function - 68(r31): 12(ptr) Variable Function - 88(r33): 12(ptr) Variable Function - 103(r35): 12(ptr) Variable Function - 119(psout): 118(ptr) Variable Function + 38(r13): 12(ptr) Variable Function + 51(r15): 12(ptr) Variable Function + 65(r31): 12(ptr) Variable Function + 84(r33): 12(ptr) Variable Function + 98(r35): 12(ptr) Variable Function + 113(psout): 112(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) - 24: 23 SampledImage 17 21 - 31: 6(float) CompositeExtract 28 0 - 32: 6(float) CompositeExtract 28 1 - 33: 30(fvec3) CompositeConstruct 31 32 29 - 37: 6(float) CompositeExtract 33 2 - 38: 6(float) ImageSampleDrefExplicitLod 24 33 37 Lod ConstOffset 34 36 - Store 13(r11) 38 - 43: 40 Load 42(g_tTex1di4a) - 44: 18 Load 20(g_sSamp) - 47: 46 SampledImage 43 44 - 48: 6(float) CompositeExtract 28 0 - 49: 6(float) CompositeExtract 28 1 - 50: 30(fvec3) CompositeConstruct 48 49 29 - 51: 6(float) CompositeExtract 50 2 - 52: 6(float) ImageSampleDrefExplicitLod 47 50 51 Lod ConstOffset 34 36 - Store 39(r13) 52 - 58: 55 Load 57(g_tTex1du4a) - 59: 18 Load 20(g_sSamp) - 62: 61 SampledImage 58 59 - 63: 6(float) CompositeExtract 28 0 - 64: 6(float) CompositeExtract 28 1 - 65: 30(fvec3) CompositeConstruct 63 64 29 - 66: 6(float) CompositeExtract 65 2 - 67: 6(float) ImageSampleDrefExplicitLod 62 65 66 Lod ConstOffset 34 36 - Store 53(r15) 67 - 72: 69 Load 71(g_tTex2df4a) - 73: 18 Load 20(g_sSamp) - 76: 75 SampledImage 72 73 - 79: 6(float) CompositeExtract 78 0 - 80: 6(float) CompositeExtract 78 1 - 81: 6(float) CompositeExtract 78 2 - 82: 7(fvec4) CompositeConstruct 79 80 81 29 - 86: 6(float) CompositeExtract 82 3 - 87: 6(float) ImageSampleDrefExplicitLod 76 82 86 Lod ConstOffset 34 85 - Store 68(r31) 87 - 92: 89 Load 91(g_tTex2di4a) - 93: 18 Load 20(g_sSamp) - 96: 95 SampledImage 92 93 - 97: 6(float) CompositeExtract 78 0 - 98: 6(float) CompositeExtract 78 1 - 99: 6(float) CompositeExtract 78 2 - 100: 7(fvec4) CompositeConstruct 97 98 99 29 - 101: 6(float) CompositeExtract 100 3 - 102: 6(float) ImageSampleDrefExplicitLod 96 100 101 Lod ConstOffset 34 85 - Store 88(r33) 102 - 107: 104 Load 106(g_tTex2du4a) - 108: 18 Load 20(g_sSamp) - 111: 110 SampledImage 107 108 - 112: 6(float) CompositeExtract 78 0 - 113: 6(float) CompositeExtract 78 1 - 114: 6(float) CompositeExtract 78 2 - 115: 7(fvec4) CompositeConstruct 112 113 114 29 - 116: 6(float) CompositeExtract 115 3 - 117: 6(float) ImageSampleDrefExplicitLod 111 115 116 Lod ConstOffset 34 85 - Store 103(r35) 117 - 124: 123(ptr) AccessChain 119(psout) 120 - Store 124 122 - 126: 12(ptr) AccessChain 119(psout) 125 - Store 126 121 - 127:8(PS_OUTPUT) Load 119(psout) - ReturnValue 127 + 23: 22 SampledImage 17 21 + 30: 6(float) CompositeExtract 27 0 + 31: 6(float) CompositeExtract 27 1 + 32: 29(fvec3) CompositeConstruct 30 31 28 + 36: 6(float) CompositeExtract 32 2 + 37: 6(float) ImageSampleDrefExplicitLod 23 32 36 Lod ConstOffset 33 35 + Store 13(r11) 37 + 42: 39 Load 41(g_tTex1di4a) + 43: 18 Load 20(g_sSamp) + 45: 44 SampledImage 42 43 + 46: 6(float) CompositeExtract 27 0 + 47: 6(float) CompositeExtract 27 1 + 48: 29(fvec3) CompositeConstruct 46 47 28 + 49: 6(float) CompositeExtract 48 2 + 50: 6(float) ImageSampleDrefExplicitLod 45 48 49 Lod ConstOffset 33 35 + Store 38(r13) 50 + 56: 53 Load 55(g_tTex1du4a) + 57: 18 Load 20(g_sSamp) + 59: 58 SampledImage 56 57 + 60: 6(float) CompositeExtract 27 0 + 61: 6(float) CompositeExtract 27 1 + 62: 29(fvec3) CompositeConstruct 60 61 28 + 63: 6(float) CompositeExtract 62 2 + 64: 6(float) ImageSampleDrefExplicitLod 59 62 63 Lod ConstOffset 33 35 + Store 51(r15) 64 + 69: 66 Load 68(g_tTex2df4a) + 70: 18 Load 20(g_sSamp) + 72: 71 SampledImage 69 70 + 75: 6(float) CompositeExtract 74 0 + 76: 6(float) CompositeExtract 74 1 + 77: 6(float) CompositeExtract 74 2 + 78: 7(fvec4) CompositeConstruct 75 76 77 28 + 82: 6(float) CompositeExtract 78 3 + 83: 6(float) ImageSampleDrefExplicitLod 72 78 82 Lod ConstOffset 33 81 + Store 65(r31) 83 + 88: 85 Load 87(g_tTex2di4a) + 89: 18 Load 20(g_sSamp) + 91: 90 SampledImage 88 89 + 92: 6(float) CompositeExtract 74 0 + 93: 6(float) CompositeExtract 74 1 + 94: 6(float) CompositeExtract 74 2 + 95: 7(fvec4) CompositeConstruct 92 93 94 28 + 96: 6(float) CompositeExtract 95 3 + 97: 6(float) ImageSampleDrefExplicitLod 91 95 96 Lod ConstOffset 33 81 + Store 84(r33) 97 + 102: 99 Load 101(g_tTex2du4a) + 103: 18 Load 20(g_sSamp) + 105: 104 SampledImage 102 103 + 106: 6(float) CompositeExtract 74 0 + 107: 6(float) CompositeExtract 74 1 + 108: 6(float) CompositeExtract 74 2 + 109: 7(fvec4) CompositeConstruct 106 107 108 28 + 110: 6(float) CompositeExtract 109 3 + 111: 6(float) ImageSampleDrefExplicitLod 105 109 110 Lod ConstOffset 33 81 + Store 98(r35) 111 + 118: 117(ptr) AccessChain 113(psout) 114 + Store 118 116 + 120: 12(ptr) AccessChain 113(psout) 119 + Store 120 115 + 121:8(PS_OUTPUT) Load 113(psout) + ReturnValue 121 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.append.fn.frag.out index 039d4e051..34a4ca843 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.append.fn.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.append.fn.frag.out @@ -151,12 +151,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 70 +// Id's are bound by 76 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 58 61 + EntryPoint Fragment 4 "main" 64 67 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -171,51 +171,55 @@ gl_FragCoord origin is upper left Name 18 "arg_c@count" Name 25 "@main(u1;" Name 24 "pos" - Name 49 "sbuf_a" - Name 50 "sbuf_a@count" - Name 51 "sbuf_c" - Name 52 "sbuf_c@count" - Name 56 "pos" - Name 58 "pos" - Name 61 "@entryPointOutput" - Name 62 "param" - Name 65 "sbuf_a@count" - MemberName 65(sbuf_a@count) 0 "@count" - Name 67 "sbuf_a@count" - Name 68 "sbuf_c@count" - Name 69 "sbuf_unused" + Name 50 "sbuf_a" + Name 52 "sbuf_a@count" + Name 53 "sbuf_c" + Name 54 "sbuf_c@count" + Name 55 "param" + Name 56 "param" + Name 57 "param" + Name 58 "param" + Name 62 "pos" + Name 64 "pos" + Name 67 "@entryPointOutput" + Name 68 "param" + Name 71 "sbuf_a@count" + MemberName 71(sbuf_a@count) 0 "@count" + Name 73 "sbuf_a@count" + Name 74 "sbuf_c@count" + Name 75 "sbuf_unused" Decorate 8 ArrayStride 16 MemberDecorate 9 0 Offset 0 Decorate 9 BufferBlock Decorate 12 BufferBlock - Decorate 49(sbuf_a) DescriptorSet 0 - Decorate 50(sbuf_a@count) DescriptorSet 0 - Decorate 51(sbuf_c) DescriptorSet 0 - Decorate 52(sbuf_c@count) DescriptorSet 0 - Decorate 58(pos) Flat - Decorate 58(pos) Location 0 - Decorate 61(@entryPointOutput) Location 0 - MemberDecorate 65(sbuf_a@count) 0 Offset 0 - Decorate 65(sbuf_a@count) BufferBlock - Decorate 67(sbuf_a@count) DescriptorSet 0 - Decorate 68(sbuf_c@count) DescriptorSet 0 - Decorate 69(sbuf_unused) DescriptorSet 0 + Decorate 50(sbuf_a) DescriptorSet 0 + Decorate 52(sbuf_a@count) DescriptorSet 0 + Decorate 53(sbuf_c) DescriptorSet 0 + Decorate 54(sbuf_c@count) DescriptorSet 0 + Decorate 64(pos) Flat + Decorate 64(pos) Location 0 + Decorate 67(@entryPointOutput) Location 0 + MemberDecorate 71(sbuf_a@count) 0 Offset 0 + Decorate 71(sbuf_a@count) BufferBlock + Decorate 73(sbuf_a@count) DescriptorSet 0 + Decorate 74(sbuf_c@count) DescriptorSet 0 + Decorate 75(sbuf_unused) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeRuntimeArray 7(fvec4) 9: TypeStruct 8 - 10: TypePointer Uniform 9(struct) + 10: TypePointer Function 9(struct) 11: TypeInt 32 1 12: TypeStruct 11(int) - 13: TypePointer Uniform 12(struct) + 13: TypePointer Function 12(struct) 14: TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr) 21: TypeInt 32 0 22: TypePointer Function 21(int) 23: TypeFunction 7(fvec4) 22(ptr) 27: 11(int) Constant 0 - 28: TypePointer Uniform 11(int) + 28: TypePointer Function 11(int) 30: 11(int) Constant 1 31: 21(int) Constant 1 32: 21(int) Constant 0 @@ -224,31 +228,33 @@ gl_FragCoord origin is upper left 36: 6(float) Constant 1077936128 37: 6(float) Constant 1082130432 38: 7(fvec4) ConstantComposite 34 35 36 37 - 39: TypePointer Uniform 7(fvec4) + 39: TypePointer Function 7(fvec4) 42: 11(int) Constant 4294967295 - 49(sbuf_a): 10(ptr) Variable Uniform -50(sbuf_a@count): 13(ptr) Variable Uniform - 51(sbuf_c): 10(ptr) Variable Uniform -52(sbuf_c@count): 13(ptr) Variable Uniform - 57: TypePointer Input 21(int) - 58(pos): 57(ptr) Variable Input - 60: TypePointer Output 7(fvec4) -61(@entryPointOutput): 60(ptr) Variable Output -65(sbuf_a@count): TypeStruct 11(int) - 66: TypePointer Uniform 65(sbuf_a@count) -67(sbuf_a@count): 66(ptr) Variable Uniform -68(sbuf_c@count): 66(ptr) Variable Uniform - 69(sbuf_unused): 10(ptr) Variable Uniform + 49: TypePointer Uniform 9(struct) + 50(sbuf_a): 49(ptr) Variable Uniform + 51: TypePointer Uniform 12(struct) +52(sbuf_a@count): 51(ptr) Variable Uniform + 53(sbuf_c): 49(ptr) Variable Uniform +54(sbuf_c@count): 51(ptr) Variable Uniform + 63: TypePointer Input 21(int) + 64(pos): 63(ptr) Variable Input + 66: TypePointer Output 7(fvec4) +67(@entryPointOutput): 66(ptr) Variable Output +71(sbuf_a@count): TypeStruct 11(int) + 72: TypePointer Uniform 71(sbuf_a@count) +73(sbuf_a@count): 72(ptr) Variable Uniform +74(sbuf_c@count): 72(ptr) Variable Uniform + 75(sbuf_unused): 49(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 56(pos): 22(ptr) Variable Function - 62(param): 22(ptr) Variable Function - 59: 21(int) Load 58(pos) - Store 56(pos) 59 - 63: 21(int) Load 56(pos) - Store 62(param) 63 - 64: 7(fvec4) FunctionCall 25(@main(u1;) 62(param) - Store 61(@entryPointOutput) 64 + 62(pos): 22(ptr) Variable Function + 68(param): 22(ptr) Variable Function + 65: 21(int) Load 64(pos) + Store 62(pos) 65 + 69: 21(int) Load 62(pos) + Store 68(param) 69 + 70: 7(fvec4) FunctionCall 25(@main(u1;) 68(param) + Store 67(@entryPointOutput) 70 Return FunctionEnd 19(Fn2(block--vf4[0]1;block--vf4[0]1;): 7(fvec4) Function None 14 @@ -271,6 +277,10 @@ gl_FragCoord origin is upper left 25(@main(u1;): 7(fvec4) Function None 23 24(pos): 22(ptr) FunctionParameter 26: Label - 53: 7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 49(sbuf_a) 50(sbuf_a@count) 51(sbuf_c) 52(sbuf_c@count) - ReturnValue 53 + 55(param): 10(ptr) Variable Function + 56(param): 13(ptr) Variable Function + 57(param): 10(ptr) Variable Function + 58(param): 13(ptr) Variable Function + 59: 7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 55(param) 56(param) 57(param) 58(param) + ReturnValue 59 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out index 2e2a44fb9..112a68996 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn.frag.out @@ -139,12 +139,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 78 +// Id's are bound by 83 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 63 66 + EntryPoint Fragment 4 "main" 68 71 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -165,21 +165,24 @@ gl_FragCoord origin is upper left Name 35 "@main(u1;" Name 34 "pos" Name 47 "sbuf2" - Name 48 "sbuf2@count" - Name 50 "sbuf" - Name 52 "param" + Name 49 "sbuf2@count" + Name 52 "sbuf" Name 54 "param" Name 55 "param" - Name 61 "pos" - Name 63 "pos" - Name 66 "@entryPointOutput" - Name 67 "param" - Name 70 "sbuf2@count" - MemberName 70(sbuf2@count) 0 "@count" - Name 72 "sbuf2@count" - Name 75 "sbuf3" - MemberName 75(sbuf3) 0 "@data" - Name 77 "sbuf3" + Name 57 "param" + Name 58 "param" + Name 59 "param" + Name 60 "param" + Name 66 "pos" + Name 68 "pos" + Name 71 "@entryPointOutput" + Name 72 "param" + Name 75 "sbuf2@count" + MemberName 75(sbuf2@count) 0 "@count" + Name 77 "sbuf2@count" + Name 80 "sbuf3" + MemberName 80(sbuf3) 0 "@data" + Name 82 "sbuf3" Decorate 8 ArrayStride 16 MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 @@ -190,72 +193,74 @@ gl_FragCoord origin is upper left Decorate 18 BufferBlock Decorate 21 BufferBlock Decorate 47(sbuf2) DescriptorSet 0 - Decorate 48(sbuf2@count) DescriptorSet 0 - Decorate 50(sbuf) DescriptorSet 0 - Decorate 50(sbuf) Binding 10 - Decorate 63(pos) Flat - Decorate 63(pos) Location 0 - Decorate 66(@entryPointOutput) Location 0 - MemberDecorate 70(sbuf2@count) 0 Offset 0 - Decorate 70(sbuf2@count) BufferBlock - Decorate 72(sbuf2@count) DescriptorSet 0 - Decorate 74 ArrayStride 16 - MemberDecorate 75(sbuf3) 0 NonWritable - MemberDecorate 75(sbuf3) 0 Offset 0 - Decorate 75(sbuf3) BufferBlock - Decorate 77(sbuf3) DescriptorSet 0 - Decorate 77(sbuf3) Binding 12 + Decorate 49(sbuf2@count) DescriptorSet 0 + Decorate 52(sbuf) DescriptorSet 0 + Decorate 52(sbuf) Binding 10 + Decorate 68(pos) Flat + Decorate 68(pos) Location 0 + Decorate 71(@entryPointOutput) Location 0 + MemberDecorate 75(sbuf2@count) 0 Offset 0 + Decorate 75(sbuf2@count) BufferBlock + Decorate 77(sbuf2@count) DescriptorSet 0 + Decorate 79 ArrayStride 16 + MemberDecorate 80(sbuf3) 0 NonWritable + MemberDecorate 80(sbuf3) 0 Offset 0 + Decorate 80(sbuf3) BufferBlock + Decorate 82(sbuf3) DescriptorSet 0 + Decorate 82(sbuf3) Binding 12 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypeVector 6(int) 4 8: TypeRuntimeArray 7(ivec4) 9: TypeStruct 8 - 10: TypePointer Uniform 9(struct) + 10: TypePointer Function 9(struct) 11: TypePointer Function 6(int) 12: TypeFunction 7(ivec4) 10(ptr) 11(ptr) 17: TypeRuntimeArray 7(ivec4) 18: TypeStruct 17 - 19: TypePointer Uniform 18(struct) + 19: TypePointer Function 18(struct) 20: TypeInt 32 1 21: TypeStruct 20(int) - 22: TypePointer Uniform 21(struct) + 22: TypePointer Function 21(struct) 23: TypePointer Function 7(ivec4) 24: TypeFunction 2 19(ptr) 22(ptr) 11(ptr) 23(ptr) 31: TypeFloat 32 32: TypeVector 31(float) 4 33: TypeFunction 32(fvec4) 11(ptr) 37: 20(int) Constant 0 - 39: TypePointer Uniform 7(ivec4) - 47(sbuf2): 19(ptr) Variable Uniform - 48(sbuf2@count): 22(ptr) Variable Uniform - 49: 6(int) Constant 2 - 50(sbuf): 10(ptr) Variable Uniform - 51: 6(int) Constant 3 - 57: 31(float) Constant 0 - 58: 32(fvec4) ConstantComposite 57 57 57 57 - 62: TypePointer Input 6(int) - 63(pos): 62(ptr) Variable Input - 65: TypePointer Output 32(fvec4) -66(@entryPointOutput): 65(ptr) Variable Output - 70(sbuf2@count): TypeStruct 20(int) - 71: TypePointer Uniform 70(sbuf2@count) - 72(sbuf2@count): 71(ptr) Variable Uniform - 73: TypeVector 6(int) 3 - 74: TypeRuntimeArray 73(ivec3) - 75(sbuf3): TypeStruct 74 - 76: TypePointer Uniform 75(sbuf3) - 77(sbuf3): 76(ptr) Variable Uniform + 46: TypePointer Uniform 18(struct) + 47(sbuf2): 46(ptr) Variable Uniform + 48: TypePointer Uniform 21(struct) + 49(sbuf2@count): 48(ptr) Variable Uniform + 50: 6(int) Constant 2 + 51: TypePointer Uniform 9(struct) + 52(sbuf): 51(ptr) Variable Uniform + 53: 6(int) Constant 3 + 62: 31(float) Constant 0 + 63: 32(fvec4) ConstantComposite 62 62 62 62 + 67: TypePointer Input 6(int) + 68(pos): 67(ptr) Variable Input + 70: TypePointer Output 32(fvec4) +71(@entryPointOutput): 70(ptr) Variable Output + 75(sbuf2@count): TypeStruct 20(int) + 76: TypePointer Uniform 75(sbuf2@count) + 77(sbuf2@count): 76(ptr) Variable Uniform + 78: TypeVector 6(int) 3 + 79: TypeRuntimeArray 78(ivec3) + 80(sbuf3): TypeStruct 79 + 81: TypePointer Uniform 80(sbuf3) + 82(sbuf3): 81(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 61(pos): 11(ptr) Variable Function - 67(param): 11(ptr) Variable Function - 64: 6(int) Load 63(pos) - Store 61(pos) 64 - 68: 6(int) Load 61(pos) - Store 67(param) 68 - 69: 32(fvec4) FunctionCall 35(@main(u1;) 67(param) - Store 66(@entryPointOutput) 69 + 66(pos): 11(ptr) Variable Function + 72(param): 11(ptr) Variable Function + 69: 6(int) Load 68(pos) + Store 66(pos) 69 + 73: 6(int) Load 66(pos) + Store 72(param) 73 + 74: 32(fvec4) FunctionCall 35(@main(u1;) 72(param) + Store 71(@entryPointOutput) 74 Return FunctionEnd 15(get(block--vu4[0]1;u1;): 7(ivec4) Function None 12 @@ -263,9 +268,9 @@ gl_FragCoord origin is upper left 14(bufferOffset): 11(ptr) FunctionParameter 16: Label 38: 6(int) Load 14(bufferOffset) - 40: 39(ptr) AccessChain 13(sb) 37 38 - 41: 7(ivec4) Load 40 - ReturnValue 41 + 39: 23(ptr) AccessChain 13(sb) 37 38 + 40: 7(ivec4) Load 39 + ReturnValue 40 FunctionEnd 29(set(block--vu4[0]1;u1;vu4;): 2 Function None 24 25(sb): 19(ptr) FunctionParameter @@ -273,22 +278,25 @@ gl_FragCoord origin is upper left 27(bufferOffset): 11(ptr) FunctionParameter 28(data): 23(ptr) FunctionParameter 30: Label - 44: 6(int) Load 27(bufferOffset) - 45: 7(ivec4) Load 28(data) - 46: 39(ptr) AccessChain 25(sb) 37 44 - Store 46 45 + 43: 6(int) Load 27(bufferOffset) + 44: 7(ivec4) Load 28(data) + 45: 23(ptr) AccessChain 25(sb) 37 43 + Store 45 44 Return FunctionEnd 35(@main(u1;): 32(fvec4) Function None 33 34(pos): 11(ptr) FunctionParameter 36: Label - 52(param): 11(ptr) Variable Function - 54(param): 11(ptr) Variable Function - 55(param): 23(ptr) Variable Function - Store 52(param) 51 - 53: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 50(sbuf) 52(param) - Store 54(param) 49 + 54(param): 10(ptr) Variable Function + 55(param): 11(ptr) Variable Function + 57(param): 19(ptr) Variable Function + 58(param): 22(ptr) Variable Function + 59(param): 11(ptr) Variable Function + 60(param): 23(ptr) Variable Function Store 55(param) 53 - 56: 2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 47(sbuf2) 48(sbuf2@count) 54(param) 55(param) - ReturnValue 58 + 56: 7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 54(param) 55(param) + Store 59(param) 50 + Store 60(param) 56 + 61: 2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 57(param) 58(param) 59(param) 60(param) + ReturnValue 63 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn2.comp.out index efe5fe3c1..96374cdbf 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn2.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.structbuffer.fn2.comp.out @@ -135,14 +135,14 @@ local_size = (256, 1, 1) // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 61 +// Id's are bound by 62 Capability Shader Capability ImageBuffer Capability StorageImageExtendedFormats 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 4 "main" 56 + EntryPoint GLCompute 4 "main" 57 ExecutionMode 4 LocalSize 256 1 1 Source HLSL 500 Name 4 "main" @@ -155,13 +155,14 @@ local_size = (256, 1, 1) Name 18 "dispatchId" Name 22 "result" Name 25 "byteAddrTemp" - Name 43 "result" + Name 42 "result" Name 44 "g_input" Name 45 "param" - Name 50 "g_output" - Name 54 "dispatchId" - Name 56 "dispatchId" - Name 58 "param" + Name 47 "param" + Name 51 "g_output" + Name 55 "dispatchId" + Name 57 "dispatchId" + Name 59 "param" Decorate 8 ArrayStride 4 MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 @@ -169,16 +170,16 @@ local_size = (256, 1, 1) Decorate 14(buffer) NonWritable Decorate 44(g_input) DescriptorSet 0 Decorate 44(g_input) Binding 0 - Decorate 50(g_output) DescriptorSet 0 - Decorate 50(g_output) Binding 1 - Decorate 56(dispatchId) BuiltIn GlobalInvocationId + Decorate 51(g_output) DescriptorSet 0 + Decorate 51(g_output) Binding 1 + Decorate 57(dispatchId) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypePointer Function 6(int) 8: TypeRuntimeArray 6(int) 9: TypeStruct 8 - 10: TypePointer Uniform 9(struct) + 10: TypePointer Function 9(struct) 11: TypeVector 6(int) 2 12: TypeFunction 11(ivec2) 7(ptr) 10(ptr) 17: TypeFunction 2 7(ptr) @@ -187,23 +188,23 @@ local_size = (256, 1, 1) 24: TypePointer Function 23(int) 27: 23(int) Constant 2 29: 23(int) Constant 0 - 31: TypePointer Uniform 6(int) - 35: 23(int) Constant 1 - 44(g_input): 10(ptr) Variable Uniform - 48: TypeImage 6(int) Buffer nonsampled format:Rg32ui - 49: TypePointer UniformConstant 48 - 50(g_output): 49(ptr) Variable UniformConstant - 55: TypePointer Input 6(int) - 56(dispatchId): 55(ptr) Variable Input + 34: 23(int) Constant 1 + 43: TypePointer Uniform 9(struct) + 44(g_input): 43(ptr) Variable Uniform + 49: TypeImage 6(int) Buffer nonsampled format:Rg32ui + 50: TypePointer UniformConstant 49 + 51(g_output): 50(ptr) Variable UniformConstant + 56: TypePointer Input 6(int) + 57(dispatchId): 56(ptr) Variable Input 4(main): 2 Function None 3 5: Label - 54(dispatchId): 7(ptr) Variable Function - 58(param): 7(ptr) Variable Function - 57: 6(int) Load 56(dispatchId) - Store 54(dispatchId) 57 - 59: 6(int) Load 54(dispatchId) - Store 58(param) 59 - 60: 2 FunctionCall 19(@main(u1;) 58(param) + 55(dispatchId): 7(ptr) Variable Function + 59(param): 7(ptr) Variable Function + 58: 6(int) Load 57(dispatchId) + Store 55(dispatchId) 58 + 60: 6(int) Load 55(dispatchId) + Store 59(param) 60 + 61: 2 FunctionCall 19(@main(u1;) 59(param) Return FunctionEnd 15(testLoad(u1;block--u1[0]1;): 11(ivec2) Function None 12 @@ -216,29 +217,30 @@ local_size = (256, 1, 1) 28: 23(int) ShiftRightLogical 26 27 Store 25(byteAddrTemp) 28 30: 23(int) Load 25(byteAddrTemp) - 32: 31(ptr) AccessChain 14(buffer) 29 30 - 33: 6(int) Load 32 - 34: 23(int) Load 25(byteAddrTemp) - 36: 23(int) IAdd 34 35 - 37: 31(ptr) AccessChain 14(buffer) 29 36 - 38: 6(int) Load 37 - 39: 11(ivec2) CompositeConstruct 33 38 - Store 22(result) 39 - 40: 11(ivec2) Load 22(result) - ReturnValue 40 + 31: 7(ptr) AccessChain 14(buffer) 29 30 + 32: 6(int) Load 31 + 33: 23(int) Load 25(byteAddrTemp) + 35: 23(int) IAdd 33 34 + 36: 7(ptr) AccessChain 14(buffer) 29 35 + 37: 6(int) Load 36 + 38: 11(ivec2) CompositeConstruct 32 37 + Store 22(result) 38 + 39: 11(ivec2) Load 22(result) + ReturnValue 39 FunctionEnd 19(@main(u1;): 2 Function None 17 18(dispatchId): 7(ptr) FunctionParameter 20: Label - 43(result): 21(ptr) Variable Function + 42(result): 21(ptr) Variable Function 45(param): 7(ptr) Variable Function + 47(param): 10(ptr) Variable Function 46: 6(int) Load 18(dispatchId) Store 45(param) 46 - 47: 11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 44(g_input) - Store 43(result) 47 - 51: 48 Load 50(g_output) - 52: 6(int) Load 18(dispatchId) - 53: 11(ivec2) Load 43(result) - ImageWrite 51 52 53 + 48: 11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 47(param) + Store 42(result) 48 + 52: 49 Load 51(g_output) + 53: 6(int) Load 18(dispatchId) + 54: 11(ivec2) Load 42(result) + ImageWrite 52 53 54 Return FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.texture.struct.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.texture.struct.frag.out index 09af45153..f532c9f56 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.texture.struct.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.texture.struct.frag.out @@ -839,12 +839,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 233 +// Id's are bound by 240 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 231 + EntryPoint Fragment 4 "main" 238 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -867,52 +867,55 @@ gl_FragCoord origin is upper left Name 71 "@sampleStructTemp" Name 87 "s1" Name 88 "@sampleResultShadow" - Name 89 "g_tTex2s1" - Name 97 "@sampleStructTemp" - Name 111 "s2" - Name 112 "@sampleResultShadow" - Name 113 "g_tTex2s2" - Name 121 "@sampleStructTemp" - Name 135 "s3_t" - MemberName 135(s3_t) 0 "c0" - MemberName 135(s3_t) 1 "c1" - Name 137 "s3" - Name 138 "@sampleResultShadow" - Name 139 "g_tTex2s3" - Name 147 "@sampleStructTemp" - Name 159 "s4_t" - MemberName 159(s4_t) 0 "c0" - MemberName 159(s4_t) 1 "c1" - MemberName 159(s4_t) 2 "c2" - Name 161 "s4" - Name 164 "@sampleResultShadow" - Name 167 "g_tTex2s4" - Name 176 "@sampleStructTemp" - Name 193 "s5_t" - MemberName 193(s5_t) 0 "c0" - MemberName 193(s5_t) 1 "c1" - Name 195 "s5" - Name 198 "@sampleResultShadow" - Name 201 "g_tTex2s5" - Name 210 "@sampleStructTemp" - Name 219 "r0" - Name 221 "r1" - Name 223 "r2" - Name 224 "g_tTex2s1a" - Name 231 "@entryPointOutput" + Name 90 "g_tTex2s1" + Name 98 "@sampleStructTemp" + Name 112 "s2" + Name 113 "@sampleResultShadow" + Name 114 "g_tTex2s2" + Name 122 "@sampleStructTemp" + Name 136 "s3_t" + MemberName 136(s3_t) 0 "c0" + MemberName 136(s3_t) 1 "c1" + Name 138 "s3" + Name 139 "@sampleResultShadow" + Name 140 "g_tTex2s3" + Name 148 "@sampleStructTemp" + Name 160 "s4_t" + MemberName 160(s4_t) 0 "c0" + MemberName 160(s4_t) 1 "c1" + MemberName 160(s4_t) 2 "c2" + Name 162 "s4" + Name 165 "@sampleResultShadow" + Name 168 "g_tTex2s4" + Name 177 "@sampleStructTemp" + Name 194 "s5_t" + MemberName 194(s5_t) 0 "c0" + MemberName 194(s5_t) 1 "c1" + Name 196 "s5" + Name 199 "@sampleResultShadow" + Name 202 "g_tTex2s5" + Name 211 "@sampleStructTemp" + Name 220 "r0" + Name 221 "param" + Name 224 "r1" + Name 225 "param" + Name 228 "r2" + Name 229 "g_tTex2s1a" + Name 230 "param" + Name 238 "@entryPointOutput" Decorate 30(g_sSamp) DescriptorSet 0 - Decorate 89(g_tTex2s1) DescriptorSet 0 - Decorate 113(g_tTex2s2) DescriptorSet 0 - Decorate 139(g_tTex2s3) DescriptorSet 0 - Decorate 167(g_tTex2s4) DescriptorSet 0 - Decorate 201(g_tTex2s5) DescriptorSet 0 - Decorate 224(g_tTex2s1a) DescriptorSet 0 - Decorate 231(@entryPointOutput) Location 0 + Decorate 90(g_tTex2s1) DescriptorSet 0 + Decorate 114(g_tTex2s2) DescriptorSet 0 + Decorate 140(g_tTex2s3) DescriptorSet 0 + Decorate 168(g_tTex2s4) DescriptorSet 0 + Decorate 202(g_tTex2s5) DescriptorSet 0 + Decorate 229(g_tTex2s1a) DescriptorSet 0 + Decorate 238(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeImage 6(float) 2D sampled format:Unknown - 8: TypePointer UniformConstant 7 + 8: TypePointer Function 7 9: TypeVector 6(float) 2 10(s1_t): TypeStruct 6(float) 9(fvec2) 6(float) 11: TypeFunction 10(s1_t) 8(ptr) @@ -941,54 +944,55 @@ gl_FragCoord origin is upper left 57: 40(int) Constant 2 58: 42(int) Constant 3 70: TypePointer Function 16(s2_t) - 89(g_tTex2s1): 8(ptr) Variable UniformConstant - 93: 6(float) Constant 1036831949 - 94: 6(float) Constant 1038174126 - 95: 9(fvec2) ConstantComposite 93 94 - 113(g_tTex2s2): 8(ptr) Variable UniformConstant - 117: 6(float) Constant 1045220557 - 118: 6(float) Constant 1045891645 - 119: 9(fvec2) ConstantComposite 117 118 - 135(s3_t): TypeStruct 9(fvec2) 6(float) - 136: TypePointer Function 135(s3_t) - 139(g_tTex2s3): 8(ptr) Variable UniformConstant - 143: 6(float) Constant 1050253722 - 144: 6(float) Constant 1050589266 - 145: 9(fvec2) ConstantComposite 143 144 - 158: TypeVector 40(int) 2 - 159(s4_t): TypeStruct 40(int) 158(ivec2) 40(int) - 160: TypePointer Function 159(s4_t) - 162: TypeVector 40(int) 4 - 163: TypePointer Function 162(ivec4) - 165: TypeImage 40(int) 2D sampled format:Unknown - 166: TypePointer UniformConstant 165 - 167(g_tTex2s4): 166(ptr) Variable UniformConstant - 170: TypeSampledImage 165 - 172: 6(float) Constant 1053609165 - 173: 6(float) Constant 1053944709 - 174: 9(fvec2) ConstantComposite 172 173 - 177: TypePointer Function 40(int) - 193(s5_t): TypeStruct 42(int) 42(int) - 194: TypePointer Function 193(s5_t) - 196: TypeVector 42(int) 4 - 197: TypePointer Function 196(ivec4) - 199: TypeImage 42(int) 2D sampled format:Unknown - 200: TypePointer UniformConstant 199 - 201(g_tTex2s5): 200(ptr) Variable UniformConstant - 204: TypeSampledImage 199 - 206: 6(float) Constant 1056964608 - 207: 6(float) Constant 1057132380 - 208: 9(fvec2) ConstantComposite 206 207 - 211: TypePointer Function 42(int) - 224(g_tTex2s1a): 8(ptr) Variable UniformConstant - 226: 6(float) Constant 0 - 227: 21(fvec4) ConstantComposite 226 226 226 226 - 230: TypePointer Output 21(fvec4) -231(@entryPointOutput): 230(ptr) Variable Output + 89: TypePointer UniformConstant 7 + 90(g_tTex2s1): 89(ptr) Variable UniformConstant + 94: 6(float) Constant 1036831949 + 95: 6(float) Constant 1038174126 + 96: 9(fvec2) ConstantComposite 94 95 + 114(g_tTex2s2): 89(ptr) Variable UniformConstant + 118: 6(float) Constant 1045220557 + 119: 6(float) Constant 1045891645 + 120: 9(fvec2) ConstantComposite 118 119 + 136(s3_t): TypeStruct 9(fvec2) 6(float) + 137: TypePointer Function 136(s3_t) + 140(g_tTex2s3): 89(ptr) Variable UniformConstant + 144: 6(float) Constant 1050253722 + 145: 6(float) Constant 1050589266 + 146: 9(fvec2) ConstantComposite 144 145 + 159: TypeVector 40(int) 2 + 160(s4_t): TypeStruct 40(int) 159(ivec2) 40(int) + 161: TypePointer Function 160(s4_t) + 163: TypeVector 40(int) 4 + 164: TypePointer Function 163(ivec4) + 166: TypeImage 40(int) 2D sampled format:Unknown + 167: TypePointer UniformConstant 166 + 168(g_tTex2s4): 167(ptr) Variable UniformConstant + 171: TypeSampledImage 166 + 173: 6(float) Constant 1053609165 + 174: 6(float) Constant 1053944709 + 175: 9(fvec2) ConstantComposite 173 174 + 178: TypePointer Function 40(int) + 194(s5_t): TypeStruct 42(int) 42(int) + 195: TypePointer Function 194(s5_t) + 197: TypeVector 42(int) 4 + 198: TypePointer Function 197(ivec4) + 200: TypeImage 42(int) 2D sampled format:Unknown + 201: TypePointer UniformConstant 200 + 202(g_tTex2s5): 201(ptr) Variable UniformConstant + 205: TypeSampledImage 200 + 207: 6(float) Constant 1056964608 + 208: 6(float) Constant 1057132380 + 209: 9(fvec2) ConstantComposite 207 208 + 212: TypePointer Function 42(int) + 229(g_tTex2s1a): 89(ptr) Variable UniformConstant + 233: 6(float) Constant 0 + 234: 21(fvec4) ConstantComposite 233 233 233 233 + 237: TypePointer Output 21(fvec4) +238(@entryPointOutput): 237(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 232: 21(fvec4) FunctionCall 23(@main() - Store 231(@entryPointOutput) 232 + 239: 21(fvec4) FunctionCall 23(@main() + Store 238(@entryPointOutput) 239 Return FunctionEnd 13(fn1(t2-tx-struct0-1;): 10(s1_t) Function None 11 @@ -1053,132 +1057,141 @@ gl_FragCoord origin is upper left 24: Label 87(s1): 38(ptr) Variable Function 88(@sampleResultShadow): 25(ptr) Variable Function -97(@sampleStructTemp): 38(ptr) Variable Function - 111(s2): 70(ptr) Variable Function -112(@sampleResultShadow): 25(ptr) Variable Function -121(@sampleStructTemp): 70(ptr) Variable Function - 137(s3): 136(ptr) Variable Function -138(@sampleResultShadow): 25(ptr) Variable Function -147(@sampleStructTemp): 136(ptr) Variable Function - 161(s4): 160(ptr) Variable Function -164(@sampleResultShadow): 163(ptr) Variable Function -176(@sampleStructTemp): 160(ptr) Variable Function - 195(s5): 194(ptr) Variable Function -198(@sampleResultShadow): 197(ptr) Variable Function -210(@sampleStructTemp): 194(ptr) Variable Function - 219(r0): 38(ptr) Variable Function - 221(r1): 70(ptr) Variable Function - 223(r2): 38(ptr) Variable Function - 90: 7 Load 89(g_tTex2s1) - 91: 28 Load 30(g_sSamp) - 92: 32 SampledImage 90 91 - 96: 21(fvec4) ImageSampleImplicitLod 92 95 - Store 88(@sampleResultShadow) 96 - 98: 44(ptr) AccessChain 88(@sampleResultShadow) 43 - 99: 6(float) Load 98 - 100: 44(ptr) AccessChain 97(@sampleStructTemp) 41 - Store 100 99 - 101: 44(ptr) AccessChain 88(@sampleResultShadow) 49 - 102: 6(float) Load 101 - 103: 44(ptr) AccessChain 97(@sampleStructTemp) 48 43 - Store 103 102 - 104: 44(ptr) AccessChain 88(@sampleResultShadow) 53 - 105: 6(float) Load 104 - 106: 44(ptr) AccessChain 97(@sampleStructTemp) 48 49 - Store 106 105 - 107: 44(ptr) AccessChain 88(@sampleResultShadow) 58 - 108: 6(float) Load 107 - 109: 44(ptr) AccessChain 97(@sampleStructTemp) 57 - Store 109 108 - 110: 10(s1_t) Load 97(@sampleStructTemp) - Store 87(s1) 110 - 114: 7 Load 113(g_tTex2s2) - 115: 28 Load 30(g_sSamp) - 116: 32 SampledImage 114 115 - 120: 21(fvec4) ImageSampleImplicitLod 116 119 - Store 112(@sampleResultShadow) 120 - 122: 44(ptr) AccessChain 112(@sampleResultShadow) 43 - 123: 6(float) Load 122 - 124: 44(ptr) AccessChain 121(@sampleStructTemp) 41 - Store 124 123 - 125: 44(ptr) AccessChain 112(@sampleResultShadow) 49 - 126: 6(float) Load 125 - 127: 44(ptr) AccessChain 121(@sampleStructTemp) 48 43 - Store 127 126 - 128: 44(ptr) AccessChain 112(@sampleResultShadow) 53 - 129: 6(float) Load 128 - 130: 44(ptr) AccessChain 121(@sampleStructTemp) 48 49 - Store 130 129 - 131: 44(ptr) AccessChain 112(@sampleResultShadow) 58 - 132: 6(float) Load 131 - 133: 44(ptr) AccessChain 121(@sampleStructTemp) 48 53 - Store 133 132 - 134: 16(s2_t) Load 121(@sampleStructTemp) - Store 111(s2) 134 - 140: 7 Load 139(g_tTex2s3) - 141: 28 Load 30(g_sSamp) - 142: 32 SampledImage 140 141 - 146: 21(fvec4) ImageSampleImplicitLod 142 145 - Store 138(@sampleResultShadow) 146 - 148: 44(ptr) AccessChain 138(@sampleResultShadow) 43 - 149: 6(float) Load 148 - 150: 44(ptr) AccessChain 147(@sampleStructTemp) 41 43 - Store 150 149 - 151: 44(ptr) AccessChain 138(@sampleResultShadow) 49 - 152: 6(float) Load 151 - 153: 44(ptr) AccessChain 147(@sampleStructTemp) 41 49 - Store 153 152 - 154: 44(ptr) AccessChain 138(@sampleResultShadow) 53 - 155: 6(float) Load 154 - 156: 44(ptr) AccessChain 147(@sampleStructTemp) 48 - Store 156 155 - 157: 135(s3_t) Load 147(@sampleStructTemp) - Store 137(s3) 157 - 168: 165 Load 167(g_tTex2s4) - 169: 28 Load 30(g_sSamp) - 171: 170 SampledImage 168 169 - 175: 162(ivec4) ImageSampleImplicitLod 171 174 - Store 164(@sampleResultShadow) 175 - 178: 177(ptr) AccessChain 164(@sampleResultShadow) 43 - 179: 40(int) Load 178 - 180: 177(ptr) AccessChain 176(@sampleStructTemp) 41 - Store 180 179 - 181: 177(ptr) AccessChain 164(@sampleResultShadow) 49 - 182: 40(int) Load 181 - 183: 6(float) ConvertSToF 182 - 184: 177(ptr) AccessChain 176(@sampleStructTemp) 48 43 - Store 184 183 - 185: 177(ptr) AccessChain 164(@sampleResultShadow) 53 - 186: 40(int) Load 185 - 187: 6(float) ConvertSToF 186 - 188: 177(ptr) AccessChain 176(@sampleStructTemp) 48 49 - Store 188 187 - 189: 177(ptr) AccessChain 164(@sampleResultShadow) 58 - 190: 40(int) Load 189 - 191: 177(ptr) AccessChain 176(@sampleStructTemp) 57 - Store 191 190 - 192: 159(s4_t) Load 176(@sampleStructTemp) - Store 161(s4) 192 - 202: 199 Load 201(g_tTex2s5) - 203: 28 Load 30(g_sSamp) - 205: 204 SampledImage 202 203 - 209: 196(ivec4) ImageSampleImplicitLod 205 208 - Store 198(@sampleResultShadow) 209 - 212: 211(ptr) AccessChain 198(@sampleResultShadow) 43 - 213: 42(int) Load 212 - 214: 211(ptr) AccessChain 210(@sampleStructTemp) 41 - Store 214 213 - 215: 211(ptr) AccessChain 198(@sampleResultShadow) 49 - 216: 42(int) Load 215 - 217: 211(ptr) AccessChain 210(@sampleStructTemp) 48 - Store 217 216 - 218: 193(s5_t) Load 210(@sampleStructTemp) - Store 195(s5) 218 - 220: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 89(g_tTex2s1) - Store 219(r0) 220 - 222: 16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 113(g_tTex2s2) - Store 221(r1) 222 - 225: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 224(g_tTex2s1a) - Store 223(r2) 225 - ReturnValue 227 +98(@sampleStructTemp): 38(ptr) Variable Function + 112(s2): 70(ptr) Variable Function +113(@sampleResultShadow): 25(ptr) Variable Function +122(@sampleStructTemp): 70(ptr) Variable Function + 138(s3): 137(ptr) Variable Function +139(@sampleResultShadow): 25(ptr) Variable Function +148(@sampleStructTemp): 137(ptr) Variable Function + 162(s4): 161(ptr) Variable Function +165(@sampleResultShadow): 164(ptr) Variable Function +177(@sampleStructTemp): 161(ptr) Variable Function + 196(s5): 195(ptr) Variable Function +199(@sampleResultShadow): 198(ptr) Variable Function +211(@sampleStructTemp): 195(ptr) Variable Function + 220(r0): 38(ptr) Variable Function + 221(param): 8(ptr) Variable Function + 224(r1): 70(ptr) Variable Function + 225(param): 8(ptr) Variable Function + 228(r2): 38(ptr) Variable Function + 230(param): 8(ptr) Variable Function + 91: 7 Load 90(g_tTex2s1) + 92: 28 Load 30(g_sSamp) + 93: 32 SampledImage 91 92 + 97: 21(fvec4) ImageSampleImplicitLod 93 96 + Store 88(@sampleResultShadow) 97 + 99: 44(ptr) AccessChain 88(@sampleResultShadow) 43 + 100: 6(float) Load 99 + 101: 44(ptr) AccessChain 98(@sampleStructTemp) 41 + Store 101 100 + 102: 44(ptr) AccessChain 88(@sampleResultShadow) 49 + 103: 6(float) Load 102 + 104: 44(ptr) AccessChain 98(@sampleStructTemp) 48 43 + Store 104 103 + 105: 44(ptr) AccessChain 88(@sampleResultShadow) 53 + 106: 6(float) Load 105 + 107: 44(ptr) AccessChain 98(@sampleStructTemp) 48 49 + Store 107 106 + 108: 44(ptr) AccessChain 88(@sampleResultShadow) 58 + 109: 6(float) Load 108 + 110: 44(ptr) AccessChain 98(@sampleStructTemp) 57 + Store 110 109 + 111: 10(s1_t) Load 98(@sampleStructTemp) + Store 87(s1) 111 + 115: 7 Load 114(g_tTex2s2) + 116: 28 Load 30(g_sSamp) + 117: 32 SampledImage 115 116 + 121: 21(fvec4) ImageSampleImplicitLod 117 120 + Store 113(@sampleResultShadow) 121 + 123: 44(ptr) AccessChain 113(@sampleResultShadow) 43 + 124: 6(float) Load 123 + 125: 44(ptr) AccessChain 122(@sampleStructTemp) 41 + Store 125 124 + 126: 44(ptr) AccessChain 113(@sampleResultShadow) 49 + 127: 6(float) Load 126 + 128: 44(ptr) AccessChain 122(@sampleStructTemp) 48 43 + Store 128 127 + 129: 44(ptr) AccessChain 113(@sampleResultShadow) 53 + 130: 6(float) Load 129 + 131: 44(ptr) AccessChain 122(@sampleStructTemp) 48 49 + Store 131 130 + 132: 44(ptr) AccessChain 113(@sampleResultShadow) 58 + 133: 6(float) Load 132 + 134: 44(ptr) AccessChain 122(@sampleStructTemp) 48 53 + Store 134 133 + 135: 16(s2_t) Load 122(@sampleStructTemp) + Store 112(s2) 135 + 141: 7 Load 140(g_tTex2s3) + 142: 28 Load 30(g_sSamp) + 143: 32 SampledImage 141 142 + 147: 21(fvec4) ImageSampleImplicitLod 143 146 + Store 139(@sampleResultShadow) 147 + 149: 44(ptr) AccessChain 139(@sampleResultShadow) 43 + 150: 6(float) Load 149 + 151: 44(ptr) AccessChain 148(@sampleStructTemp) 41 43 + Store 151 150 + 152: 44(ptr) AccessChain 139(@sampleResultShadow) 49 + 153: 6(float) Load 152 + 154: 44(ptr) AccessChain 148(@sampleStructTemp) 41 49 + Store 154 153 + 155: 44(ptr) AccessChain 139(@sampleResultShadow) 53 + 156: 6(float) Load 155 + 157: 44(ptr) AccessChain 148(@sampleStructTemp) 48 + Store 157 156 + 158: 136(s3_t) Load 148(@sampleStructTemp) + Store 138(s3) 158 + 169: 166 Load 168(g_tTex2s4) + 170: 28 Load 30(g_sSamp) + 172: 171 SampledImage 169 170 + 176: 163(ivec4) ImageSampleImplicitLod 172 175 + Store 165(@sampleResultShadow) 176 + 179: 178(ptr) AccessChain 165(@sampleResultShadow) 43 + 180: 40(int) Load 179 + 181: 178(ptr) AccessChain 177(@sampleStructTemp) 41 + Store 181 180 + 182: 178(ptr) AccessChain 165(@sampleResultShadow) 49 + 183: 40(int) Load 182 + 184: 6(float) ConvertSToF 183 + 185: 178(ptr) AccessChain 177(@sampleStructTemp) 48 43 + Store 185 184 + 186: 178(ptr) AccessChain 165(@sampleResultShadow) 53 + 187: 40(int) Load 186 + 188: 6(float) ConvertSToF 187 + 189: 178(ptr) AccessChain 177(@sampleStructTemp) 48 49 + Store 189 188 + 190: 178(ptr) AccessChain 165(@sampleResultShadow) 58 + 191: 40(int) Load 190 + 192: 178(ptr) AccessChain 177(@sampleStructTemp) 57 + Store 192 191 + 193: 160(s4_t) Load 177(@sampleStructTemp) + Store 162(s4) 193 + 203: 200 Load 202(g_tTex2s5) + 204: 28 Load 30(g_sSamp) + 206: 205 SampledImage 203 204 + 210: 197(ivec4) ImageSampleImplicitLod 206 209 + Store 199(@sampleResultShadow) 210 + 213: 212(ptr) AccessChain 199(@sampleResultShadow) 43 + 214: 42(int) Load 213 + 215: 212(ptr) AccessChain 211(@sampleStructTemp) 41 + Store 215 214 + 216: 212(ptr) AccessChain 199(@sampleResultShadow) 49 + 217: 42(int) Load 216 + 218: 212(ptr) AccessChain 211(@sampleStructTemp) 48 + Store 218 217 + 219: 194(s5_t) Load 211(@sampleStructTemp) + Store 196(s5) 219 + 222: 7 Load 90(g_tTex2s1) + Store 221(param) 222 + 223: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 221(param) + Store 220(r0) 223 + 226: 7 Load 114(g_tTex2s2) + Store 225(param) 226 + 227: 16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 225(param) + Store 224(r1) 227 + 231: 7 Load 229(g_tTex2s1a) + Store 230(param) 231 + 232: 10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 230(param) + Store 228(r2) 232 + ReturnValue 234 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/hlsl.tx.overload.frag.out b/3rdparty/glslang/Test/baseResults/hlsl.tx.overload.frag.out index 3dafcd926..8a3ed0a7d 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.tx.overload.frag.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.tx.overload.frag.out @@ -135,12 +135,12 @@ gl_FragCoord origin is upper left // Module Version 10000 // Generated by (magic number): 80001 -// Id's are bound by 62 +// Id's are bound by 73 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 60 + EntryPoint Fragment 4 "main" 71 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" @@ -153,44 +153,51 @@ gl_FragCoord origin is upper left Name 28 "Func(I21;" Name 27 "DummyTex" Name 31 "@main(" - Name 44 "tf1" - Name 46 "tf4" - Name 50 "twf1" - Name 54 "twf4" - Name 60 "@entryPointOutput" - Decorate 44(tf1) DescriptorSet 0 - Decorate 46(tf4) DescriptorSet 0 - Decorate 50(twf1) DescriptorSet 0 - Decorate 54(twf4) DescriptorSet 0 - Decorate 60(@entryPointOutput) Location 0 + Name 45 "tf1" + Name 46 "param" + Name 49 "tf4" + Name 50 "param" + Name 56 "twf1" + Name 57 "param" + Name 63 "twf4" + Name 64 "param" + Name 71 "@entryPointOutput" + Decorate 45(tf1) DescriptorSet 0 + Decorate 49(tf4) DescriptorSet 0 + Decorate 56(twf1) DescriptorSet 0 + Decorate 63(twf4) DescriptorSet 0 + Decorate 71(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeImage 6(float) 2D sampled format:Unknown - 8: TypePointer UniformConstant 7 + 8: TypePointer Function 7 9: TypeFunction 6(float) 8(ptr) 13: TypeVector 6(float) 4 14: TypeFunction 13(fvec4) 8(ptr) 18: TypeImage 6(float) 2D nonsampled format:R32f - 19: TypePointer UniformConstant 18 + 19: TypePointer Function 18 20: TypeFunction 6(float) 19(ptr) 24: TypeImage 6(float) 2D nonsampled format:Rgba32f - 25: TypePointer UniformConstant 24 + 25: TypePointer Function 24 26: TypeFunction 13(fvec4) 25(ptr) 30: TypeFunction 13(fvec4) 33: 6(float) Constant 1065353216 36: 6(float) Constant 0 37: 13(fvec4) ConstantComposite 36 36 36 36 - 44(tf1): 8(ptr) Variable UniformConstant - 46(tf4): 8(ptr) Variable UniformConstant - 50(twf1): 19(ptr) Variable UniformConstant - 54(twf4): 25(ptr) Variable UniformConstant - 59: TypePointer Output 13(fvec4) -60(@entryPointOutput): 59(ptr) Variable Output + 44: TypePointer UniformConstant 7 + 45(tf1): 44(ptr) Variable UniformConstant + 49(tf4): 44(ptr) Variable UniformConstant + 55: TypePointer UniformConstant 18 + 56(twf1): 55(ptr) Variable UniformConstant + 62: TypePointer UniformConstant 24 + 63(twf4): 62(ptr) Variable UniformConstant + 70: TypePointer Output 13(fvec4) +71(@entryPointOutput): 70(ptr) Variable Output 4(main): 2 Function None 3 5: Label - 61: 13(fvec4) FunctionCall 31(@main() - Store 60(@entryPointOutput) 61 + 72: 13(fvec4) FunctionCall 31(@main() + Store 71(@entryPointOutput) 72 Return FunctionEnd 11(Func(t211;): 6(float) Function None 9 @@ -215,14 +222,26 @@ gl_FragCoord origin is upper left FunctionEnd 31(@main(): 13(fvec4) Function None 30 32: Label - 45: 6(float) FunctionCall 11(Func(t211;) 44(tf1) - 47: 13(fvec4) FunctionCall 16(Func(t21;) 46(tf4) - 48: 13(fvec4) CompositeConstruct 45 45 45 45 - 49: 13(fvec4) FAdd 48 47 - 51: 6(float) FunctionCall 22(Func(I211;) 50(twf1) - 52: 13(fvec4) CompositeConstruct 51 51 51 51 - 53: 13(fvec4) FAdd 49 52 - 55: 13(fvec4) FunctionCall 28(Func(I21;) 54(twf4) - 56: 13(fvec4) FAdd 53 55 - ReturnValue 56 + 46(param): 8(ptr) Variable Function + 50(param): 8(ptr) Variable Function + 57(param): 19(ptr) Variable Function + 64(param): 25(ptr) Variable Function + 47: 7 Load 45(tf1) + Store 46(param) 47 + 48: 6(float) FunctionCall 11(Func(t211;) 46(param) + 51: 7 Load 49(tf4) + Store 50(param) 51 + 52: 13(fvec4) FunctionCall 16(Func(t21;) 50(param) + 53: 13(fvec4) CompositeConstruct 48 48 48 48 + 54: 13(fvec4) FAdd 53 52 + 58: 18 Load 56(twf1) + Store 57(param) 58 + 59: 6(float) FunctionCall 22(Func(I211;) 57(param) + 60: 13(fvec4) CompositeConstruct 59 59 59 59 + 61: 13(fvec4) FAdd 54 60 + 65: 24 Load 63(twf4) + Store 64(param) 65 + 66: 13(fvec4) FunctionCall 28(Func(I21;) 64(param) + 67: 13(fvec4) FAdd 61 66 + ReturnValue 67 FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/remap.invalid-spirv-1.out b/3rdparty/glslang/Test/baseResults/remap.invalid-spirv-1.out new file mode 100644 index 000000000..91b4b6d90 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/remap.invalid-spirv-1.out @@ -0,0 +1 @@ +ID out of range: 4160749568 diff --git a/3rdparty/glslang/Test/baseResults/remap.invalid-spirv-2.out b/3rdparty/glslang/Test/baseResults/remap.invalid-spirv-2.out new file mode 100644 index 000000000..808b9b870 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/remap.invalid-spirv-2.out @@ -0,0 +1 @@ +ID not found diff --git a/3rdparty/glslang/Test/baseResults/spv.atomicInt64.comp.out b/3rdparty/glslang/Test/baseResults/spv.atomicInt64.comp.out new file mode 100644 index 000000000..31a1d632f --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.atomicInt64.comp.out @@ -0,0 +1,215 @@ +spv.atomicInt64.comp +// Module Version 10000 +// Generated by (magic number): 80001 +// Id's are bound by 149 + + Capability Shader + Capability Int64 + Capability Int64Atomics + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 16 16 1 + Source GLSL 450 + SourceExtension "GL_ARB_gpu_shader_int64" + SourceExtension "GL_NV_shader_atomic_int64" + Name 4 "main" + Name 8 "i64" + Name 12 "u64" + Name 14 "Buffer" + MemberName 14(Buffer) 0 "i64" + MemberName 14(Buffer) 1 "u64" + Name 16 "buf" + Name 84 "Struct" + MemberName 84(Struct) 0 "i64" + MemberName 84(Struct) 1 "u64" + Name 86 "s" + MemberDecorate 14(Buffer) 0 Offset 0 + MemberDecorate 14(Buffer) 1 Offset 8 + Decorate 14(Buffer) BufferBlock + Decorate 16(buf) DescriptorSet 0 + Decorate 16(buf) Binding 0 + Decorate 148 BuiltIn WorkgroupSize + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 64 1 + 7: TypePointer Function 6(int) + 9: 6(int) Constant 0 0 + 10: TypeInt 64 0 + 11: TypePointer Function 10(int) + 13: 10(int) Constant 0 0 + 14(Buffer): TypeStruct 6(int) 10(int) + 15: TypePointer Uniform 14(Buffer) + 16(buf): 15(ptr) Variable Uniform + 17: TypeInt 32 1 + 18: 17(int) Constant 0 + 19: TypePointer Uniform 6(int) + 21: 6(int) Constant 4294967272 4294967295 + 22: TypeInt 32 0 + 23: 22(int) Constant 1 + 24: 22(int) Constant 0 + 28: 17(int) Constant 1 + 29: TypePointer Uniform 10(int) + 31: 10(int) Constant 15 0 + 84(Struct): TypeStruct 6(int) 10(int) + 85: TypePointer Workgroup 84(Struct) + 86(s): 85(ptr) Variable Workgroup + 87: TypePointer Workgroup 6(int) + 92: TypePointer Workgroup 10(int) + 146: TypeVector 22(int) 3 + 147: 22(int) Constant 16 + 148: 146(ivec3) ConstantComposite 147 147 23 + 4(main): 2 Function None 3 + 5: Label + 8(i64): 7(ptr) Variable Function + 12(u64): 11(ptr) Variable Function + Store 8(i64) 9 + Store 12(u64) 13 + 20: 19(ptr) AccessChain 16(buf) 18 + 25: 6(int) AtomicSMin 20 23 24 21 + 26: 6(int) Load 8(i64) + 27: 6(int) IAdd 26 25 + Store 8(i64) 27 + 30: 29(ptr) AccessChain 16(buf) 28 + 32: 10(int) AtomicUMin 30 23 24 31 + 33: 10(int) Load 12(u64) + 34: 10(int) IAdd 33 32 + Store 12(u64) 34 + 35: 19(ptr) AccessChain 16(buf) 18 + 36: 6(int) AtomicSMax 35 23 24 21 + 37: 6(int) Load 8(i64) + 38: 6(int) IAdd 37 36 + Store 8(i64) 38 + 39: 29(ptr) AccessChain 16(buf) 28 + 40: 10(int) AtomicUMax 39 23 24 31 + 41: 10(int) Load 12(u64) + 42: 10(int) IAdd 41 40 + Store 12(u64) 42 + 43: 19(ptr) AccessChain 16(buf) 18 + 44: 6(int) AtomicAnd 43 23 24 21 + 45: 6(int) Load 8(i64) + 46: 6(int) IAdd 45 44 + Store 8(i64) 46 + 47: 29(ptr) AccessChain 16(buf) 28 + 48: 10(int) AtomicAnd 47 23 24 31 + 49: 10(int) Load 12(u64) + 50: 10(int) IAdd 49 48 + Store 12(u64) 50 + 51: 19(ptr) AccessChain 16(buf) 18 + 52: 6(int) AtomicOr 51 23 24 21 + 53: 6(int) Load 8(i64) + 54: 6(int) IAdd 53 52 + Store 8(i64) 54 + 55: 29(ptr) AccessChain 16(buf) 28 + 56: 10(int) AtomicOr 55 23 24 31 + 57: 10(int) Load 12(u64) + 58: 10(int) IAdd 57 56 + Store 12(u64) 58 + 59: 19(ptr) AccessChain 16(buf) 18 + 60: 6(int) AtomicXor 59 23 24 21 + 61: 6(int) Load 8(i64) + 62: 6(int) IAdd 61 60 + Store 8(i64) 62 + 63: 29(ptr) AccessChain 16(buf) 28 + 64: 10(int) AtomicXor 63 23 24 31 + 65: 10(int) Load 12(u64) + 66: 10(int) IAdd 65 64 + Store 12(u64) 66 + 67: 19(ptr) AccessChain 16(buf) 18 + 68: 6(int) AtomicIAdd 67 23 24 21 + 69: 6(int) Load 8(i64) + 70: 6(int) IAdd 69 68 + Store 8(i64) 70 + 71: 19(ptr) AccessChain 16(buf) 18 + 72: 6(int) AtomicExchange 71 23 24 21 + 73: 6(int) Load 8(i64) + 74: 6(int) IAdd 73 72 + Store 8(i64) 74 + 75: 19(ptr) AccessChain 16(buf) 18 + 76: 6(int) Load 8(i64) + 77: 6(int) AtomicCompareExchange 75 23 24 24 76 21 + 78: 6(int) Load 8(i64) + 79: 6(int) IAdd 78 77 + Store 8(i64) 79 + 80: 6(int) Load 8(i64) + 81: 19(ptr) AccessChain 16(buf) 18 + Store 81 80 + 82: 10(int) Load 12(u64) + 83: 29(ptr) AccessChain 16(buf) 28 + Store 83 82 + Store 8(i64) 9 + Store 12(u64) 13 + 88: 87(ptr) AccessChain 86(s) 18 + 89: 6(int) AtomicSMin 88 23 24 21 + 90: 6(int) Load 8(i64) + 91: 6(int) IAdd 90 89 + Store 8(i64) 91 + 93: 92(ptr) AccessChain 86(s) 28 + 94: 10(int) AtomicUMin 93 23 24 31 + 95: 10(int) Load 12(u64) + 96: 10(int) IAdd 95 94 + Store 12(u64) 96 + 97: 87(ptr) AccessChain 86(s) 18 + 98: 6(int) AtomicSMax 97 23 24 21 + 99: 6(int) Load 8(i64) + 100: 6(int) IAdd 99 98 + Store 8(i64) 100 + 101: 92(ptr) AccessChain 86(s) 28 + 102: 10(int) AtomicUMax 101 23 24 31 + 103: 10(int) Load 12(u64) + 104: 10(int) IAdd 103 102 + Store 12(u64) 104 + 105: 87(ptr) AccessChain 86(s) 18 + 106: 6(int) AtomicAnd 105 23 24 21 + 107: 6(int) Load 8(i64) + 108: 6(int) IAdd 107 106 + Store 8(i64) 108 + 109: 92(ptr) AccessChain 86(s) 28 + 110: 10(int) AtomicAnd 109 23 24 31 + 111: 10(int) Load 12(u64) + 112: 10(int) IAdd 111 110 + Store 12(u64) 112 + 113: 87(ptr) AccessChain 86(s) 18 + 114: 6(int) AtomicOr 113 23 24 21 + 115: 6(int) Load 8(i64) + 116: 6(int) IAdd 115 114 + Store 8(i64) 116 + 117: 92(ptr) AccessChain 86(s) 28 + 118: 10(int) AtomicOr 117 23 24 31 + 119: 10(int) Load 12(u64) + 120: 10(int) IAdd 119 118 + Store 12(u64) 120 + 121: 87(ptr) AccessChain 86(s) 18 + 122: 6(int) AtomicXor 121 23 24 21 + 123: 6(int) Load 8(i64) + 124: 6(int) IAdd 123 122 + Store 8(i64) 124 + 125: 92(ptr) AccessChain 86(s) 28 + 126: 10(int) AtomicXor 125 23 24 31 + 127: 10(int) Load 12(u64) + 128: 10(int) IAdd 127 126 + Store 12(u64) 128 + 129: 87(ptr) AccessChain 86(s) 18 + 130: 6(int) AtomicIAdd 129 23 24 21 + 131: 6(int) Load 8(i64) + 132: 6(int) IAdd 131 130 + Store 8(i64) 132 + 133: 87(ptr) AccessChain 86(s) 18 + 134: 6(int) AtomicExchange 133 23 24 21 + 135: 6(int) Load 8(i64) + 136: 6(int) IAdd 135 134 + Store 8(i64) 136 + 137: 87(ptr) AccessChain 86(s) 18 + 138: 6(int) Load 8(i64) + 139: 6(int) AtomicCompareExchange 137 23 24 24 138 21 + 140: 6(int) Load 8(i64) + 141: 6(int) IAdd 140 139 + Store 8(i64) 141 + 142: 6(int) Load 8(i64) + 143: 87(ptr) AccessChain 86(s) 18 + Store 143 142 + 144: 10(int) Load 12(u64) + 145: 92(ptr) AccessChain 86(s) 28 + Store 145 144 + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/hlsl.samplecmp.negative.frag b/3rdparty/glslang/Test/hlsl.samplecmp.negative.frag index cea87bd6d..885198212 100644 --- a/3rdparty/glslang/Test/hlsl.samplecmp.negative.frag +++ b/3rdparty/glslang/Test/hlsl.samplecmp.negative.frag @@ -1,4 +1,5 @@ +Texture2D g_nonShadowTex; Texture2D g_shadowTex; SamplerState g_shadowSampler; SamplerComparisonState g_shadowSamplerComp; @@ -6,7 +7,7 @@ SamplerComparisonState g_shadowSamplerComp; float4 main() : SV_Target0 { g_shadowTex.SampleCmp(g_shadowSamplerComp, float2(0,0), 0); // OK - g_shadowTex.SampleCmp(g_shadowSampler, float2(0,0), 0); // ERROR (should be comparison sampler) + g_nonShadowTex.SampleCmp(g_shadowSampler, float2(0,0), 0); // ERROR (should be comparison sampler) return 0; } diff --git a/3rdparty/glslang/Test/remap.invalid-spirv-1.spv b/3rdparty/glslang/Test/remap.invalid-spirv-1.spv new file mode 100644 index 0000000000000000000000000000000000000000..e5d59d4fbf88b8ea5f91a9fa540e3d9f38c5a82c GIT binary patch literal 219 zcmYk0OA3H65JS_SwJrn^441$TK5|A=@-xEQ^YldvnR=lB;NVcjxN|XPd?E2+ed1G1t5qqnv?q4*)||5V KKa1boT3HXnG78-Q literal 0 HcmV?d00001 diff --git a/3rdparty/glslang/Test/remap.invalid-spirv-2.spv b/3rdparty/glslang/Test/remap.invalid-spirv-2.spv new file mode 100644 index 0000000000000000000000000000000000000000..df8c96d8aa1578b7496475a0dd855f03b88a209c GIT binary patch literal 212 zcmYj~OA3H65JTg)>Ov6l1TNi+OYeUn6%ovniUy|5yqUCFItC?)q@czp>XZu7Dtmf- zAK9SXPFh_|nN2DlmfOFY&6pJtu)BM!^u0M5B0p98MSlNO*^))IiyZ9m%^p4c-@`Ab G7S|1^mI}K7 literal 0 HcmV?d00001 diff --git a/3rdparty/glslang/Test/runtests b/3rdparty/glslang/Test/runtests index 3cceb4301..acba825d7 100755 --- a/3rdparty/glslang/Test/runtests +++ b/3rdparty/glslang/Test/runtests @@ -3,6 +3,7 @@ TARGETDIR=localResults BASEDIR=baseResults EXE=../build/install/bin/glslangValidator +REMAPEXE=../build/install/bin/spirv-remap HASERROR=0 mkdir -p localResults @@ -31,11 +32,11 @@ diff -b $BASEDIR/badMacroArgs.frag.out $TARGETDIR/badMacroArgs.frag.out || HASER echo Running reflection... $EXE -l -q -C reflection.vert > $TARGETDIR/reflection.vert.out diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1 -$EXE -D -e flizv -l -q -C -V hlsl.reflection.vert > $TARGETDIR/hlsl.reflection.vert.out +$EXE -D -e flizv -l -q -C -V -Od hlsl.reflection.vert > $TARGETDIR/hlsl.reflection.vert.out diff -b $BASEDIR/hlsl.reflection.vert.out $TARGETDIR/hlsl.reflection.vert.out || HASERROR=1 -$EXE -D -e main -l -q -C -V hlsl.reflection.binding.frag > $TARGETDIR/hlsl.reflection.binding.frag.out +$EXE -D -e main -l -q -C -V -Od hlsl.reflection.binding.frag > $TARGETDIR/hlsl.reflection.binding.frag.out diff -b $BASEDIR/hlsl.reflection.binding.frag.out $TARGETDIR/hlsl.reflection.binding.frag.out || HASERROR=1 -$EXE -D -e main -l -q --hlsl-iomap --auto-map-bindings --stb 10 --sbb 20 --ssb 30 --suavb 40 --scb 50 -D -V -e main hlsl.automap.frag > $TARGETDIR/hlsl.automap.frag.out +$EXE -D -e main -l -q --hlsl-iomap --auto-map-bindings --stb 10 --sbb 20 --ssb 30 --suavb 40 --scb 50 -D -V -e main -Od hlsl.automap.frag > $TARGETDIR/hlsl.automap.frag.out diff -b $BASEDIR/hlsl.automap.frag.out $TARGETDIR/hlsl.automap.frag.out || HASERROR=1 # @@ -55,14 +56,14 @@ fi # entry point renaming tests # echo Running entry-point renaming tests -$EXE -i -H -V -D -e main_in_spv --ku --source-entrypoint main hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out +$EXE -i -H -V -D -e main_in_spv --ku --source-entrypoint main -Od hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out diff -b $BASEDIR/hlsl.entry.rename.frag.out $TARGETDIR/hlsl.entry.rename.frag.out || HASERROR=1 # # Testing ill-defined uncalled function # echo Running ill-defined uncalled function -$EXE -D -e main -H hlsl.deadFunctionMissingBody.vert > $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out +$EXE -D -e main -H -Od hlsl.deadFunctionMissingBody.vert > $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out diff -b $BASEDIR/hlsl.deadFunctionMissingBody.vert.out $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out || HASERROR=1 if [ $HASERROR -eq 0 ] @@ -87,20 +88,20 @@ $EXE -i --hlsl-offsets -H spv.hlslOffsets.vert > $TARGETDIR/spv.hlslOffsets.vert diff -b $BASEDIR/spv.hlslOffsets.vert.out $TARGETDIR/spv.hlslOffsets.vert.out || HASERROR=1 echo Running hlsl offsets -$EXE -i --hlsl-offsets -D -e main -H hlsl.hlslOffset.vert > $TARGETDIR/hlsl.hlslOffset.vert.out +$EXE -i --hlsl-offsets -D -e main -H -Od hlsl.hlslOffset.vert > $TARGETDIR/hlsl.hlslOffset.vert.out diff -b $BASEDIR/hlsl.hlslOffset.vert.out $TARGETDIR/hlsl.hlslOffset.vert.out || HASERROR=1 # # Testing --resource-set-binding # echo Configuring HLSL descriptor set and binding number manually -$EXE -V -D -e main -H hlsl.multiDescriptorSet.frag --rsb frag t0 0 0 t1 1 0 s0 0 1 s1 1 1 b0 2 0 b1 2 1 b2 2 2 > $TARGETDIR/hlsl.multiDescriptorSet.frag.out +$EXE -V -D -e main -H -Od hlsl.multiDescriptorSet.frag --rsb frag t0 0 0 t1 1 0 s0 0 1 s1 1 1 b0 2 0 b1 2 1 b2 2 2 > $TARGETDIR/hlsl.multiDescriptorSet.frag.out diff -b $BASEDIR/hlsl.multiDescriptorSet.frag.out $TARGETDIR/hlsl.multiDescriptorSet.frag.out || HASERROR=1 -$EXE -V -D -e main -H hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb 4 > $TARGETDIR/hlsl.explicitDescriptorSet.frag.out +$EXE -V -D -e main -H -Od hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb 4 > $TARGETDIR/hlsl.explicitDescriptorSet.frag.out diff -b $BASEDIR/hlsl.explicitDescriptorSet.frag.out $TARGETDIR/hlsl.explicitDescriptorSet.frag.out || HASERROR=1 -$EXE -V -D -e main -H hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb frag 3 > $TARGETDIR/hlsl.explicitDescriptorSet-2.frag.out +$EXE -V -D -e main -H -Od hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb frag 3 > $TARGETDIR/hlsl.explicitDescriptorSet-2.frag.out diff -b $BASEDIR/hlsl.explicitDescriptorSet-2.frag.out $TARGETDIR/hlsl.explicitDescriptorSet-2.frag.out || HASERROR=1 # @@ -122,33 +123,35 @@ $EXE -g --relaxed-errors --suppress-warnings --aml --hlsl-offsets --nsf \ -G -H spv.debugInfo.frag --rsb frag 3 > $TARGETDIR/spv.debugInfo.frag.out diff -b $BASEDIR/spv.debugInfo.frag.out $TARGETDIR/spv.debugInfo.frag.out || HASERROR=1 $EXE -g -D -e newMain -g --amb --aml --fua --hlsl-iomap --nsf --sib 1 --ssb 2 --sbb 3 --stb 4 --suavb 5 --sub 6 \ - --sep origMain -H spv.hlslDebugInfo.vert --rsb vert t0 0 0 > $TARGETDIR/spv.hlslDebugInfo.frag.out + --sep origMain -H -Od spv.hlslDebugInfo.vert --rsb vert t0 0 0 > $TARGETDIR/spv.hlslDebugInfo.frag.out diff -b $BASEDIR/spv.hlslDebugInfo.frag.out $TARGETDIR/spv.hlslDebugInfo.frag.out || HASERROR=1 # # Testing Includer # echo Testing Includer -$EXE -D -e main -H ../Test/hlsl.include.vert > $TARGETDIR/hlsl.include.vert.out +$EXE -D -e main -H -Od ../Test/hlsl.include.vert > $TARGETDIR/hlsl.include.vert.out diff -b $BASEDIR/hlsl.include.vert.out $TARGETDIR/hlsl.include.vert.out || HASERROR=1 -$EXE -D -e main -H hlsl.includeNegative.vert > $TARGETDIR/hlsl.includeNegative.vert.out +$EXE -D -e main -H -Od hlsl.includeNegative.vert > $TARGETDIR/hlsl.includeNegative.vert.out diff -b $BASEDIR/hlsl.includeNegative.vert.out $TARGETDIR/hlsl.includeNegative.vert.out || HASERROR=1 $EXE -l -i include.vert > $TARGETDIR/include.vert.out diff -b $BASEDIR/include.vert.out $TARGETDIR/include.vert.out || HASERROR=1 -$EXE -D -e main -H -Iinc1/path1 -Iinc1/path2 hlsl.dashI.vert > $TARGETDIR/hlsl.dashI.vert.out +$EXE -D -e main -H -Od -Iinc1/path1 -Iinc1/path2 hlsl.dashI.vert > $TARGETDIR/hlsl.dashI.vert.out diff -b $BASEDIR/hlsl.dashI.vert.out $TARGETDIR/hlsl.dashI.vert.out || HASERROR=1 # # Testing -D and -U # +echo "Testing -D and -U" $EXE -DUNDEFED -UIN_SHADER -DFOO=200 -i -l -UUNDEFED -DMUL=FOO*2 glsl.-D-U.frag > $TARGETDIR/glsl.-D-U.frag.out diff -b $BASEDIR/glsl.-D-U.frag.out $TARGETDIR/glsl.-D-U.frag.out || HASERROR=1 -$EXE -D -e main -V -i -DUNDEFED -UIN_SHADER -DFOO=200 -UUNDEFED hlsl.-D-U.frag > $TARGETDIR/hlsl.-D-U.frag.out +$EXE -D -e main -V -i -DUNDEFED -UIN_SHADER -DFOO=200 -UUNDEFED -Od hlsl.-D-U.frag > $TARGETDIR/hlsl.-D-U.frag.out diff -b $BASEDIR/hlsl.-D-U.frag.out $TARGETDIR/hlsl.-D-U.frag.out || HASERROR=1 # # Test --client and --target-env # +echo "Testing --client and --target-env" $EXE --client vulkan100 spv.targetVulkan.vert || HASERROR=1 $EXE --client opengl100 spv.targetOpenGL.vert || HASERROR=1 $EXE --target-env vulkan1.0 spv.targetVulkan.vert || HASERROR=1 @@ -159,6 +162,7 @@ $EXE -G100 spv.targetOpenGL.vert || HASERROR=1 # # Testing GLSL entry point rename # +echo "Testing GLSL entry point rename" $EXE -H -e foo --source-entrypoint main glsl.entryPointRename.vert > $TARGETDIR/glsl.entryPointRename.vert.out diff -b $BASEDIR/glsl.entryPointRename.vert.out $TARGETDIR/glsl.entryPointRename.vert.out || HASERROR=1 $EXE -H -e foo --source-entrypoint bar glsl.entryPointRename.vert > $TARGETDIR/glsl.entryPointRename.vert.bad.out @@ -166,6 +170,15 @@ diff -b $BASEDIR/glsl.entryPointRename.vert.bad.out $TARGETDIR/glsl.entryPointRe $EXE -H -e foo --source-entrypoint main glsl.entryPointRename2.vert > $TARGETDIR/glsl.entryPointRename2.vert.out diff -b $BASEDIR/glsl.entryPointRename2.vert.out $TARGETDIR/glsl.entryPointRename2.vert.out || HASERROR=1 +# +# Testing remapper error handling +# +echo "Testing remapper error handling" +$REMAPEXE --do-everything -i remap.invalid-spirv-1.spv -o $TARGETDIR > $TARGETDIR/remap.invalid-spirv-1.out && HASERROR=1 +diff -b $BASEDIR/remap.invalid-spirv-1.out $TARGETDIR/remap.invalid-spirv-1.out || HASERROR=1 +$REMAPEXE --do-everything -i remap.invalid-spirv-2.spv -o $TARGETDIR > $TARGETDIR/remap.invalid-spirv-2.out && HASERROR=1 +diff -b $BASEDIR/remap.invalid-spirv-2.out $TARGETDIR/remap.invalid-spirv-2.out || HASERROR=1 + # # Final checking # diff --git a/3rdparty/glslang/Test/spv.atomicInt64.comp b/3rdparty/glslang/Test/spv.atomicInt64.comp new file mode 100644 index 000000000..a56c7ec03 --- /dev/null +++ b/3rdparty/glslang/Test/spv.atomicInt64.comp @@ -0,0 +1,79 @@ +#version 450 core + +#extension GL_ARB_gpu_shader_int64: enable +#extension GL_NV_shader_atomic_int64: enable + +layout(local_size_x = 16, local_size_y = 16) in; + +layout(binding = 0) buffer Buffer +{ + int64_t i64; + uint64_t u64; +} buf; + +struct Struct +{ + int64_t i64; + uint64_t u64; +}; + +shared Struct s; + +void main() +{ + const int64_t i64c = -24; + const uint64_t u64c = 0xF00000000F; + + // Test shader storage block + int64_t i64 = 0; + uint64_t u64 = 0; + + i64 += atomicMin(buf.i64, i64c); + u64 += atomicMin(buf.u64, u64c); + + i64 += atomicMax(buf.i64, i64c); + u64 += atomicMax(buf.u64, u64c); + + i64 += atomicAnd(buf.i64, i64c); + u64 += atomicAnd(buf.u64, u64c); + + i64 += atomicOr(buf.i64, i64c); + u64 += atomicOr(buf.u64, u64c); + + i64 += atomicXor(buf.i64, i64c); + u64 += atomicXor(buf.u64, u64c); + + i64 += atomicAdd(buf.i64, i64c); + i64 += atomicExchange(buf.i64, i64c); + i64 += atomicCompSwap(buf.i64, i64c, i64); + + buf.i64 = i64; + buf.u64 = u64; + + // Test shared variable + i64 = 0; + u64 = 0; + + i64 += atomicMin(s.i64, i64c); + u64 += atomicMin(s.u64, u64c); + + i64 += atomicMax(s.i64, i64c); + u64 += atomicMax(s.u64, u64c); + + i64 += atomicAnd(s.i64, i64c); + u64 += atomicAnd(s.u64, u64c); + + i64 += atomicOr(s.i64, i64c); + u64 += atomicOr(s.u64, u64c); + + i64 += atomicXor(s.i64, i64c); + u64 += atomicXor(s.u64, u64c); + + i64 += atomicAdd(s.i64, i64c); + i64 += atomicExchange(s.i64, i64c); + i64 += atomicCompSwap(s.i64, i64c, i64); + + s.i64 = i64; + s.u64 = u64; +} + diff --git a/3rdparty/glslang/glslang/Include/intermediate.h b/3rdparty/glslang/glslang/Include/intermediate.h index 97e3e4780..4a2b53047 100644 --- a/3rdparty/glslang/glslang/Include/intermediate.h +++ b/3rdparty/glslang/glslang/Include/intermediate.h @@ -1286,7 +1286,7 @@ protected: }; typedef TVector TIntermSequence; -typedef TVector TQualifierList; +typedef TVector TQualifierList; // // Nodes that operate on an arbitrary sized set of children. // diff --git a/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp b/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp index f8138ffc2..a837efddb 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp @@ -923,6 +923,32 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "\n"); } +#ifdef NV_EXTENSIONS + if (profile != EEsProfile && version >= 440) { + commonBuiltins.append( + "uint64_t atomicMin(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicMin(coherent volatile inout int64_t, int64_t);" + + "uint64_t atomicMax(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicMax(coherent volatile inout int64_t, int64_t);" + + "uint64_t atomicAnd(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicAnd(coherent volatile inout int64_t, int64_t);" + + "uint64_t atomicOr (coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicOr (coherent volatile inout int64_t, int64_t);" + + "uint64_t atomicXor(coherent volatile inout uint64_t, uint64_t);" + " int64_t atomicXor(coherent volatile inout int64_t, int64_t);" + + " int64_t atomicAdd(coherent volatile inout int64_t, int64_t);" + " int64_t atomicExchange(coherent volatile inout int64_t, int64_t);" + " int64_t atomicCompSwap(coherent volatile inout int64_t, int64_t, int64_t);" + + "\n"); + } +#endif + if ((profile == EEsProfile && version >= 310) || (profile != EEsProfile && version >= 450)) { commonBuiltins.append( diff --git a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp index 7f721a04f..33e35e875 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp @@ -1551,6 +1551,23 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan break; } +#ifdef NV_EXTENSIONS + case EOpAtomicAdd: + case EOpAtomicMin: + case EOpAtomicMax: + case EOpAtomicAnd: + case EOpAtomicOr: + case EOpAtomicXor: + case EOpAtomicExchange: + case EOpAtomicCompSwap: + { + if (arg0->getType().getBasicType() == EbtInt64 || arg0->getType().getBasicType() == EbtUint64) + requireExtensions(loc, 1, &E_GL_NV_shader_atomic_int64, fnCandidate.getName().c_str()); + + break; + } +#endif + case EOpInterpolateAtCentroid: case EOpInterpolateAtSample: case EOpInterpolateAtOffset: diff --git a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h index fb6d0bc2b..2a054c1c1 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h +++ b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h @@ -152,7 +152,7 @@ public: { // Replace the entry point name given in the shader with the real entry point name, // if there is a substitution. - if (name != nullptr && *name == sourceEntryPointName) + if (name != nullptr && *name == sourceEntryPointName && intermediate.getEntryPointName().size() > 0) name = NewPoolTString(intermediate.getEntryPointName().c_str()); } diff --git a/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp b/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp index 807fe42b6..b1893b37e 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp @@ -211,6 +211,7 @@ void TParseVersions::initializeExtensionBehavior() extensionBehavior[E_GL_NV_viewport_array2] = EBhDisable; extensionBehavior[E_GL_NV_stereo_view_rendering] = EBhDisable; extensionBehavior[E_GL_NVX_multiview_per_view_attributes] = EBhDisable; + extensionBehavior[E_GL_NV_shader_atomic_int64] = EBhDisable; #endif // AEP @@ -343,6 +344,7 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_NV_sample_mask_override_coverage 1\n" "#define GL_NV_geometry_shader_passthrough 1\n" "#define GL_NV_viewport_array2 1\n" + "#define GL_NV_shader_atomic_int64 1\n" #endif ; diff --git a/3rdparty/glslang/glslang/MachineIndependent/Versions.h b/3rdparty/glslang/glslang/MachineIndependent/Versions.h index 9399e9dd2..bd57103af 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Versions.h +++ b/3rdparty/glslang/glslang/MachineIndependent/Versions.h @@ -182,6 +182,7 @@ const char* const E_SPV_NV_geometry_shader_passthrough = "GL_NV_geometr const char* const E_GL_NV_viewport_array2 = "GL_NV_viewport_array2"; const char* const E_GL_NV_stereo_view_rendering = "GL_NV_stereo_view_rendering"; const char* const E_GL_NVX_multiview_per_view_attributes = "GL_NVX_multiview_per_view_attributes"; +const char* const E_GL_NV_shader_atomic_int64 = "GL_NV_shader_atomic_int64"; // Arrays of extensions for the above viewportEXTs duplications diff --git a/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h b/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h index 9f6e3da25..e0133dc80 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h +++ b/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h @@ -234,7 +234,8 @@ public: hlslOffsets(false), useStorageBuffer(false), hlslIoMapping(false), - textureSamplerTransformMode(EShTexSampTransKeep) + textureSamplerTransformMode(EShTexSampTransKeep), + needToLegalize(false) { localSize[0] = 1; localSize[1] = 1; @@ -610,6 +611,9 @@ public: void addProcessArgument(const std::string& arg) { processes.addArgument(arg); } const std::vector& getProcesses() const { return processes.getProcesses(); } + void setNeedsLegalization() { needToLegalize = true; } + bool needsLegalization() const { return needToLegalize; } + const char* const implicitThisName; protected: @@ -708,6 +712,8 @@ protected: // for OpModuleProcessed, or equivalent TProcesses processes; + bool needToLegalize; + private: void operator=(TIntermediate&); // prevent assignments }; diff --git a/3rdparty/glslang/gtests/Hlsl.FromFile.cpp b/3rdparty/glslang/gtests/Hlsl.FromFile.cpp index 14a7890a2..4e810ded8 100644 --- a/3rdparty/glslang/gtests/Hlsl.FromFile.cpp +++ b/3rdparty/glslang/gtests/Hlsl.FromFile.cpp @@ -59,9 +59,10 @@ std::string FileNameAsCustomTestSuffix( using HlslCompileTest = GlslangTest<::testing::TestWithParam>; using HlslCompileAndFlattenTest = GlslangTest<::testing::TestWithParam>; +using HlslLegalizeTest = GlslangTest<::testing::TestWithParam>; -// Compiling HLSL to SPIR-V under Vulkan semantics. Expected to successfully -// generate both AST and SPIR-V. +// Compiling HLSL to pre-legalized SPIR-V under Vulkan semantics. Expected +// to successfully generate both AST and SPIR-V. TEST_P(HlslCompileTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName, @@ -76,6 +77,16 @@ TEST_P(HlslCompileAndFlattenTest, FromFile) Target::BothASTAndSpv, GetParam().entryPoint); } +// Compiling HLSL to legal SPIR-V under Vulkan semantics. Expected to +// successfully generate SPIR-V. +TEST_P(HlslLegalizeTest, FromFile) +{ + loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName, + Source::HLSL, Semantics::Vulkan, + Target::Spv, GetParam().entryPoint, + "/baseLegalResults/", false); +} + // clang-format off INSTANTIATE_TEST_CASE_P( ToSpirv, HlslCompileTest, @@ -353,7 +364,22 @@ INSTANTIATE_TEST_CASE_P( }), FileNameAsCustomTestSuffix ); - // clang-format on + +#ifdef ENABLE_OPT +// clang-format off +INSTANTIATE_TEST_CASE_P( + ToSpirv, HlslLegalizeTest, + ::testing::ValuesIn(std::vector{ + {"hlsl.aliasOpaque.frag", "main"}, + {"hlsl.flattenOpaque.frag", "main"}, + {"hlsl.flattenOpaqueInit.vert", "main"}, + {"hlsl.flattenOpaqueInitMix.vert", "main"} + }), + FileNameAsCustomTestSuffix +); +// clang-format on +#endif + } // anonymous namespace } // namespace glslangtest diff --git a/3rdparty/glslang/gtests/Spv.FromFile.cpp b/3rdparty/glslang/gtests/Spv.FromFile.cpp index 4cfcf48bc..c37e46081 100644 --- a/3rdparty/glslang/gtests/Spv.FromFile.cpp +++ b/3rdparty/glslang/gtests/Spv.FromFile.cpp @@ -410,7 +410,7 @@ INSTANTIATE_TEST_CASE_P( "spv.int16.frag", "spv.shaderBallotAMD.comp", "spv.shaderFragMaskAMD.frag", - "spv.textureGatherBiasLod.frag" + "spv.textureGatherBiasLod.frag", })), FileNameAsCustomTestSuffix ); @@ -428,6 +428,7 @@ INSTANTIATE_TEST_CASE_P( "spv.stereoViewRendering.tesc", "spv.multiviewPerViewAttributes.vert", "spv.multiviewPerViewAttributes.tesc", + "spv.atomicInt64.comp", })), FileNameAsCustomTestSuffix ); diff --git a/3rdparty/glslang/gtests/TestFixture.h b/3rdparty/glslang/gtests/TestFixture.h index a503b5fb2..2dac99bca 100644 --- a/3rdparty/glslang/gtests/TestFixture.h +++ b/3rdparty/glslang/gtests/TestFixture.h @@ -198,7 +198,8 @@ public: const std::string shaderName, const std::string& code, const std::string& entryPointName, EShMessages controls, bool flattenUniformArrays = false, - EShTextureSamplerTransformMode texSampTransMode = EShTexSampTransKeep) + EShTextureSamplerTransformMode texSampTransMode = EShTexSampTransKeep, + bool disableOptimizer = true) { const EShLanguage kind = GetShaderStage(GetSuffix(shaderName)); @@ -217,8 +218,10 @@ public: if (success && (controls & EShMsgSpvRules)) { std::vector spirv_binary; + glslang::SpvOptions options; + options.disableOptimizer = disableOptimizer; glslang::GlslangToSpv(*program.getIntermediate(kind), - spirv_binary, &logger); + spirv_binary, &logger, &options); std::ostringstream disassembly_stream; spv::Parameterize(); @@ -381,18 +384,20 @@ public: Source source, Semantics semantics, Target target, - const std::string& entryPointName="") + const std::string& entryPointName="", + const std::string& baseDir="/baseResults/", + const bool disableOptimizer = true) { const std::string inputFname = testDir + "/" + testName; const std::string expectedOutputFname = - testDir + "/baseResults/" + testName + ".out"; + testDir + baseDir + testName + ".out"; std::string input, expectedOutput; tryLoadFile(inputFname, "input", &input); tryLoadFile(expectedOutputFname, "expected output", &expectedOutput); const EShMessages controls = DeriveOptions(source, semantics, target); - GlslangResult result = compileAndLink(testName, input, entryPointName, controls); + GlslangResult result = compileAndLink(testName, input, entryPointName, controls, false, EShTexSampTransKeep, disableOptimizer); // Generate the hybrid output in the way of glslangValidator. std::ostringstream stream; diff --git a/3rdparty/glslang/hlsl/hlslParseHelper.cpp b/3rdparty/glslang/hlsl/hlslParseHelper.cpp index e6b98615f..6f023de58 100755 --- a/3rdparty/glslang/hlsl/hlslParseHelper.cpp +++ b/3rdparty/glslang/hlsl/hlslParseHelper.cpp @@ -166,11 +166,6 @@ bool HlslParseContext::shouldConvertLValue(const TIntermNode* node) const if (lhsAsAggregate != nullptr && lhsAsAggregate->getOp() == EOpImageLoad) return true; - // If it's a syntactic write to a sampler, we will use that to establish - // a compile-time alias. - if (node->getAsTyped()->getBasicType() == EbtSampler) - return true; - return false; } @@ -239,6 +234,13 @@ bool HlslParseContext::lValueErrorCheck(const TSourceLoc& loc, const char* op, T } } + // We tolerate samplers as l-values, even though they are nominally + // illegal, because we expect a later optimization to eliminate them. + if (node->getType().getBasicType() == EbtSampler) { + intermediate.setNeedsLegalization(); + return false; + } + // Let the base class check errors return TParseContextBase::lValueErrorCheck(loc, op, node); } @@ -274,10 +276,6 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* // *** If we get here, we're going to apply some conversion to an l-value. - // Spin off sampler aliasing - if (node->getAsTyped()->getBasicType() == EbtSampler) - return handleSamplerLvalue(loc, op, node); - // Helper to create a load. const auto makeLoad = [&](TIntermSymbol* rhsTmp, TIntermTyped* object, TIntermTyped* coord, const TType& derefType) { TIntermAggregate* loadOp = new TIntermAggregate(EOpImageLoad); @@ -524,58 +522,6 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char* return node; } -// Deal with sampler aliasing: turning assignments into aliases -// Return a placeholder node for higher-level code that think assignments must -// generate code. -TIntermTyped* HlslParseContext::handleSamplerLvalue(const TSourceLoc& loc, const char* op, TIntermTyped*& node) -{ - // Can only alias an assignment: "s1 = s2" - TIntermBinary* binary = node->getAsBinaryNode(); - if (binary == nullptr || node->getAsOperator()->getOp() != EOpAssign || - binary->getLeft()->getAsSymbolNode() == nullptr || - binary->getRight()->getAsSymbolNode() == nullptr) { - error(loc, "can't modify sampler", op, ""); - return node; - } - - if (controlFlowNestingLevel > 0) - warn(loc, "sampler or image aliased under control flow; consumption must be in same path", op, ""); - - TIntermTyped* set = setOpaqueLvalue(binary->getLeft(), binary->getRight()); - if (set == nullptr) - warn(loc, "could not create alias for sampler", op, ""); - else - node = set; - - return node; -} - -// Do an opaque assignment that needs to turn into an alias. -// Return nullptr if it can't be done, otherwise return a placeholder -// node for higher-level code that think assignments must generate code. -TIntermTyped* HlslParseContext::setOpaqueLvalue(TIntermTyped* leftTyped, TIntermTyped* rightTyped) -{ - // Best is if we are aliasing a flattened struct member "S.s1 = s2", - // in which case we want to update the flattening information with the alias, - // making everything else work seamlessly. - TIntermSymbol* left = leftTyped->getAsSymbolNode(); - TIntermSymbol* right = rightTyped->getAsSymbolNode(); - for (auto fit = flattenMap.begin(); fit != flattenMap.end(); ++fit) { - for (auto mit = fit->second.members.begin(); mit != fit->second.members.end(); ++mit) { - if ((*mit)->getUniqueId() == left->getId()) { - // found it: update with alias to the existing variable, and don't emit any code - (*mit) = new TVariable(&right->getName(), right->getType()); - (*mit)->setUniqueId(right->getId()); - // replace node (rest of compiler expects either an error or code to generate) - // with pointless access - return right; - } - } - } - - return nullptr; -} - void HlslParseContext::handlePragma(const TSourceLoc& loc, const TVector& tokens) { if (pragmaCallback) @@ -2513,41 +2459,6 @@ TIntermAggregate* HlslParseContext::assignClipCullDistance(const TSourceLoc& loc return assignList; } -// For a declaration with an initializer, where the initialized symbol is flattened, -// and possibly contains opaque values, such that the initializer should never exist -// as emitted code, because even creating the initializer would write opaques. -// -// If possible, decompose this into individual member-wise assignments, which themselves -// are expected to then not exist for opaque types, because they will turn into aliases. -// -// Return a node that contains the non-aliased assignments that must continue to exist. -TIntermTyped* HlslParseContext::executeFlattenedInitializer(const TSourceLoc& loc, TIntermSymbol* symbol, - TIntermAggregate& initializer) -{ - // We need individual RHS initializers per member to do this - const TTypeList* typeList = symbol->getType().getStruct(); - if (typeList == nullptr || initializer.getSequence().size() != typeList->size()) { - warn(loc, "cannot do member-wise aliasing for opaque members with this initializer", "=", ""); - return handleAssign(loc, EOpAssign, symbol, &initializer); - } - - TIntermAggregate* initList = nullptr; - // synthesize an access to each member, and then an assignment to it - for (int member = 0; member < (int)typeList->size(); ++member) { - TIntermTyped* memberInitializer = initializer.getSequence()[member]->getAsTyped(); - TIntermTyped* flattenedMember = flattenAccess(symbol, member); - if (flattenedMember->getType().containsOpaque()) - setOpaqueLvalue(flattenedMember, memberInitializer); - else - initList = intermediate.growAggregate(initList, handleAssign(loc, EOpAssign, flattenedMember, - memberInitializer)); - } - - if (initList) - initList->setOperator(EOpSequence); - return initList; -} - // Some simple source assignments need to be flattened to a sequence // of AST assignments. Catch these and flatten, otherwise, pass through // to intermediate.addAssign(). @@ -2560,6 +2471,10 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op if (left == nullptr || right == nullptr) return nullptr; + // writing to opaques will require fixing transforms + if (left->getType().containsOpaque()) + intermediate.setNeedsLegalization(); + if (left->getAsOperator() && left->getAsOperator()->getOp() == EOpMatrixSwizzle) return handleAssignToMatrixSwizzle(loc, op, left, right); @@ -2720,7 +2635,8 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op const int elementsL = left->getType().isArray() ? left->getType().getOuterArraySize() : 1; const int elementsR = right->getType().isArray() ? right->getType().getOuterArraySize() : 1; - // The arrays may not be the same size, e.g, if the size has been forced for EbvTessLevelInner or Outer. + // The arrays might not be the same size, + // e.g., if the size has been forced for EbvTessLevelInner/Outer. const int elementsToCopy = std::min(elementsL, elementsR); // array case @@ -2946,6 +2862,36 @@ TIntermAggregate* HlslParseContext::handleSamplerTextureCombine(const TSourceLoc samplerType.combined = true; samplerType.shadow = argSampler->getType().getSampler().shadow; + { + // ** TODO: ** + // This forces the texture's shadow state to be the sampler's + // shadow state. This can't work if a single texture is used with + // both comparison and non-comparison samplers, so an error is + // reported if the shader does that. + // + // If this code is ever removed (possibly due to a relaxation in the + // SPIR-V rules), also remove the textureShadowMode member variable. + TIntermSymbol* texSymbol = argTex->getAsSymbolNode(); + + if (texSymbol == nullptr) + texSymbol = argTex->getAsBinaryNode()->getLeft()->getAsSymbolNode(); + + if (texSymbol != nullptr) { + const auto textureShadowModeEntry = textureShadowMode.find(texSymbol->getId()); + + // Check to see if this texture has been given a different shadow mode already. + if (textureShadowModeEntry != textureShadowMode.end() && + textureShadowModeEntry->second != samplerType.shadow) { + error(loc, "all uses of texture must use the same shadow mode", "", ""); + return nullptr; + } + + argTex->getWritableType().getSampler().shadow = samplerType.shadow; + textureShadowMode[texSymbol->getId()] = samplerType.shadow; + } + } + + txcombine->setType(TType(samplerType, EvqTemporary)); txcombine->setLoc(loc); @@ -7586,20 +7532,10 @@ TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TInterm // normal assigning of a value to a variable... specializationCheck(loc, initializer->getType(), "initializer"); TIntermSymbol* intermSymbol = intermediate.addSymbol(*variable, loc); - - // If we are flattening, it could be due to setting opaques, which must be handled - // as aliases, and the 'initializer' node cannot actually be emitted, because it - // itself stores the result of the constructor, and we can't store to opaques. - // handleAssign() will emit the initializer. - TIntermNode* initNode = nullptr; - if (flattened && intermSymbol->getType().containsOpaque()) - return executeFlattenedInitializer(loc, intermSymbol, *initializer->getAsAggregate()); - else { - initNode = handleAssign(loc, EOpAssign, intermSymbol, initializer); - if (initNode == nullptr) - assignError(loc, "=", intermSymbol->getCompleteString(), initializer->getCompleteString()); - return initNode; - } + TIntermNode* initNode = handleAssign(loc, EOpAssign, intermSymbol, initializer); + if (initNode == nullptr) + assignError(loc, "=", intermSymbol->getCompleteString(), initializer->getCompleteString()); + return initNode; } return nullptr; @@ -9463,6 +9399,21 @@ void HlslParseContext::removeUnusedStructBufferCounters() linkageSymbols.erase(endIt, linkageSymbols.end()); } +// Finalization step: patch texture shadow modes to match samplers they were combined with +void HlslParseContext::fixTextureShadowModes() +{ + for (auto symbol = linkageSymbols.begin(); symbol != linkageSymbols.end(); ++symbol) { + TSampler& sampler = (*symbol)->getWritableType().getSampler(); + + if (sampler.isTexture()) { + const auto shadowMode = textureShadowMode.find((*symbol)->getUniqueId()); + if (shadowMode != textureShadowMode.end()) + sampler.shadow = shadowMode->second; + } + } +} + + // post-processing void HlslParseContext::finish() { @@ -9472,8 +9423,14 @@ void HlslParseContext::finish() error(mipsOperatorMipArg.back().loc, "unterminated mips operator:", "", ""); } + // Communicate out (esp. for command line) that we formed AST that will make + // illegal AST SPIR-V and it needs transforms to legalize it. + if (intermediate.needsLegalization()) + infoSink.info << "WARNING: AST will form illegal SPIR-V; need to transform to legalize"; + removeUnusedStructBufferCounters(); addPatchConstantInvocation(); + fixTextureShadowModes(); TParseContextBase::finish(); } diff --git a/3rdparty/glslang/hlsl/hlslParseHelper.h b/3rdparty/glslang/hlsl/hlslParseHelper.h index 3c8106754..077beb918 100755 --- a/3rdparty/glslang/hlsl/hlslParseHelper.h +++ b/3rdparty/glslang/hlsl/hlslParseHelper.h @@ -88,7 +88,6 @@ public: void remapNonEntryPointIO(TFunction& function); TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*); void handleFunctionArgument(TFunction*, TIntermTyped*& arguments, TIntermTyped* newArg); - TIntermTyped* executeFlattenedInitializer(const TSourceLoc&, TIntermSymbol*, TIntermAggregate&); TIntermTyped* handleAssign(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right); TIntermTyped* handleAssignToMatrixSwizzle(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right); TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermTyped*); @@ -191,8 +190,6 @@ public: // Apply L-value conversions. E.g, turning a write to a RWTexture into an ImageStore. TIntermTyped* handleLvalue(const TSourceLoc&, const char* op, TIntermTyped*& node); - TIntermTyped* handleSamplerLvalue(const TSourceLoc&, const char* op, TIntermTyped*& node); - TIntermTyped* setOpaqueLvalue(TIntermTyped* left, TIntermTyped* right); bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override; TLayoutFormat getLayoutFromTxType(const TSourceLoc&, const TType&); @@ -262,6 +259,7 @@ protected: bool wasSplit(int id) const { return splitNonIoVars.find(id) != splitNonIoVars.end(); } TVariable* getSplitNonIoVar(int id) const; void addPatchConstantInvocation(); + void fixTextureShadowModes(); TIntermTyped* makeIntegerIndex(TIntermTyped*); void fixBuiltInIoType(TType&); @@ -455,6 +453,11 @@ protected: }; TVector mipsOperatorMipArg; + + // This can be removed if and when the texture shadow workarounnd in + // HlslParseContext::handleSamplerTextureCombine is removed. It maps + // texture symbol IDs to the shadow modes of samplers they were combined with. + TMap textureShadowMode; }; // This is the prefix we use for built-in methods to avoid namespace collisions with diff --git a/3rdparty/glslang/known_good.json b/3rdparty/glslang/known_good.json new file mode 100644 index 000000000..4e59cd344 --- /dev/null +++ b/3rdparty/glslang/known_good.json @@ -0,0 +1,18 @@ +{ + "commits" : [ + { + "name" : "spirv-tools", + "site" : "github", + "subrepo" : "KhronosGroup/SPIRV-Tools", + "subdir" : "External/spirv-tools", + "commit" : "99cd25c4139e0dc914ab8a5a3b75e6fed0ad1329" + }, + { + "name" : "spirv-tools/external/spirv-headers", + "site" : "github", + "subrepo" : "KhronosGroup/SPIRV-Headers", + "subdir" : "External/spirv-tools/external/spirv-headers", + "commit" : "2bb92e6fe2c6aa410152fc6c63443f452acb1a65" + } + ] +} diff --git a/3rdparty/glslang/update_glslang_sources.py b/3rdparty/glslang/update_glslang_sources.py new file mode 100755 index 000000000..b2988f92f --- /dev/null +++ b/3rdparty/glslang/update_glslang_sources.py @@ -0,0 +1,151 @@ +#!/usr/bin/env python + +# Copyright 2017 The Glslang Authors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Get source files for Glslang and its dependencies from public repositories. +""" + +from __future__ import print_function + +import argparse +import json +import distutils.dir_util +import os.path +import subprocess +import sys + +KNOWN_GOOD_FILE = 'known_good.json' + +# Maps a site name to its hostname. +SITE_TO_HOST = { 'github' : 'github.com' } + +VERBOSE = True + + +def command_output(cmd, directory, fail_ok=False): + """Runs a command in a directory and returns its standard output stream. + + Captures the standard error stream. + + Raises a RuntimeError if the command fails to launch or otherwise fails. + """ + if VERBOSE: + print('In {d}: {cmd}'.format(d=directory, cmd=cmd)) + p = subprocess.Popen(cmd, + cwd=directory, + stdout=subprocess.PIPE) + (stdout, _) = p.communicate() + if p.returncode != 0 and not fail_ok: + raise RuntimeError('Failed to run {} in {}'.format(cmd, directory)) + if VERBOSE: + print(stdout) + return stdout + + +def command_retval(cmd, directory): + """Runs a command in a directory and returns its return value. + + Captures the standard error stream. + """ + p = subprocess.Popen(cmd, + cwd=directory, + stdout=subprocess.PIPE) + (stdout, _) = p.communicate() + return p.returncode + + +class GoodCommit(object): + """Represents a good commit for a repository.""" + + def __init__(self, json): + """Initializes this good commit object. + + Args: + 'json': A fully populated JSON object describing the commit. + """ + self._json = json + self.name = json['name'] + self.site = json['site'] + self.subrepo = json['subrepo'] + self.subdir = json['subdir'] if ('subdir' in json) else '.' + self.commit = json['commit'] + + def GetUrl(self, style='https'): + """Returns the URL for the repository.""" + host = SITE_TO_HOST[self.site] + sep = '/' if (style is 'https') else ':' + return '{style}://{host}{sep}{subrepo}'.format( + style=style, + host=host, + sep=sep, + subrepo=self.subrepo) + + def AddRemote(self): + """Add the remote 'known-good' if it does not exist.""" + print('Ignore "fatal" errors for missing known-good remote:') + if command_retval(['git', 'remote', 'show', 'known-good'], self.subdir) != 0: + command_output(['git', 'remote', 'add', 'known-good', self.GetUrl()], self.subdir) + + def HasCommit(self): + """Check if the repository contains the known-good commit.""" + return 0 == subprocess.call(['git', 'rev-parse', '--verify', '--quiet', + self.commit + "^{commit}"], + cwd=self.subdir) + + def Clone(self): + distutils.dir_util.mkpath(self.subdir) + command_output(['git', 'clone', self.GetUrl(), '.'], self.subdir) + + def Fetch(self): + command_output(['git', 'fetch', 'known-good'], self.subdir) + + def Checkout(self): + if not os.path.exists(os.path.join(self.subdir,'.git')): + self.Clone() + self.AddRemote() + if not self.HasCommit(): + self.Fetch() + command_output(['git', 'checkout', self.commit], self.subdir) + + +def GetGoodCommits(): + """Returns the latest list of GoodCommit objects.""" + with open(KNOWN_GOOD_FILE) as known_good: + return [GoodCommit(c) for c in json.loads(known_good.read())['commits']] + + +def main(): + parser = argparse.ArgumentParser(description='Get Glslang source dependencies at a known-good commit') + parser.add_argument('--dir', dest='dir', default='.', + help="Set target directory for Glslang source root. Default is \'.\'.") + + args = parser.parse_args() + + commits = GetGoodCommits() + + distutils.dir_util.mkpath(args.dir) + print('Change directory to {d}'.format(d=args.dir)) + os.chdir(args.dir) + + # Create the subdirectories in sorted order so that parent git repositories + # are created first. + for c in sorted(commits, cmp=lambda x,y: cmp(x.subdir, y.subdir)): + print('Get {n}\n'.format(n=c.name)) + c.Checkout() + sys.exit(0) + + +if __name__ == '__main__': + main()