Updated glslang.

This commit is contained in:
Branimir Karadžić
2017-09-29 21:22:46 -07:00
parent e187ac319d
commit 3708ed0d16
58 changed files with 4574 additions and 3365 deletions

View File

@@ -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

View File

@@ -7,3 +7,4 @@ TAGS
build/
Test/localResults/
External/googletest
External/spirv-tools

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -74,6 +74,14 @@ cd <the directory glslang was cloned to, "External" will be a subdirectory>
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

View File

@@ -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(&paramType);
// 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<unsigned int>& spirv, const char* baseName,
out.close();
}
#ifdef ENABLE_OPT
void errHandler(const std::string& str) {
std::cerr << str << std::endl;
}
#endif
//
// Set up the glslang traversal
//
@@ -5985,6 +6024,49 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
it.finishSpv();
it.dumpSpv(spirv);
#ifdef ENABLE_OPT
// If from HLSL, run spirv-opt to "legalize" the SPIR-V for Vulkan
// eg. forward and remove memory writes of opaque types.
if ((intermediate.getSource() == EShSourceHlsl ||
options->optimizeSize) &&
!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();
}

View File

@@ -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&);

View File

@@ -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 <id> 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<numLiteralIdPairs; ++arg) {
word += literalSize; // literal
idFn(asId(word++)); // label
@@ -631,9 +683,13 @@ namespace spv {
// basic parsing and InstructionDesc table borrowed from SpvDisassemble.cpp...
unsigned nextInst = unsigned(spv.size());
for (unsigned word = begin; word < end; word = nextInst)
for (unsigned word = begin; word < end; word = nextInst) {
nextInst = processInstruction(word, instFn, idFn);
if (errorLatch)
return *this;
}
return *this;
}
@@ -648,8 +704,11 @@ namespace spv {
for (const char c : name.first)
hashval = hashval * 1009 + c;
if (isOldIdUnmapped(name.second))
if (isOldIdUnmapped(name.second)) {
localId(name.second, nextUnusedId(hashval % softTypeIdLimit + firstMappedID));
if (errorLatch)
return;
}
}
}
@@ -671,6 +730,9 @@ namespace spv {
[&](spv::Op, unsigned start) { instPos.push_back(start); return true; },
op_fn_nop);
if (errorLatch)
return;
// Window size for context-sensitive canonicalization values
// Empirical best size from a single data set. TODO: Would be a good tunable.
// We essentially perform a little convolution around each instruction,
@@ -706,8 +768,12 @@ namespace spv {
hashval = hashval * 30103 + asOpCodeHash(instPos[i]); // 30103 = semiarbitrary prime
}
if (isOldIdUnmapped(resId))
if (isOldIdUnmapped(resId)) {
localId(resId, nextUnusedId(hashval % softTypeIdLimit + firstMappedID));
if (errorLatch)
return;
}
}
}
}
@@ -800,6 +866,9 @@ namespace spv {
[&](spv::Id& id) { if (idMap.find(id) != idMap.end()) id = idMap[id]; }
);
if (errorLatch)
return;
// EXPERIMENTAL: Implicit output stores
fnLocalVars.clear();
idMap.clear();
@@ -820,11 +889,17 @@ namespace spv {
},
op_fn_nop);
if (errorLatch)
return;
process(
inst_fn_nop,
[&](spv::Id& id) { if (idMap.find(id) != idMap.end()) id = idMap[id]; }
);
if (errorLatch)
return;
strip(); // strip out data we decided to eliminate
}
@@ -924,6 +999,9 @@ namespace spv {
}
);
if (errorLatch)
return;
process(
[&](spv::Op opCode, unsigned start) {
if (opCode == spv::OpLoad && fnLocalVars.count(asId(start+3)) > 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;
}
}

View File

@@ -39,6 +39,7 @@
#include <string>
#include <vector>
#include <cstdlib>
#include <exception>
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<spv::Id, unsigned> 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;
};

View File

@@ -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<std::unique_ptr<glslang::TWorkItem>>& workItem
case 'I':
IncludeDirectoryList.push_back(getStringOperand("-I<dir> 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 <stage> specified for -S");
@@ -767,8 +781,12 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> 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 <name>'.\n");
shader->setSourceEntryPoint(sourceEntryPointName);
}
if (UserPreamble.isSet())
shader->setPreamble(UserPreamble.get());
shader->addProcesses(Processes);
@@ -882,6 +900,8 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> 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<dir> 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 <stage> uses specified stage rather than parsing the file extension\n"
" choices for <stage> are vert, tesc, tese, geom, frag, or comp\n"
" -U<macro> undefine a pre-processor macro\n"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1 @@
ID out of range: 4160749568

View File

@@ -0,0 +1 @@
ID not found

View File

@@ -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

View File

@@ -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;
}

Binary file not shown.

Binary file not shown.

View File

@@ -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
#

View File

@@ -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;
}

View File

@@ -1286,7 +1286,7 @@ protected:
};
typedef TVector<TIntermNode*> TIntermSequence;
typedef TVector<int> TQualifierList;
typedef TVector<TStorageQualifier> TQualifierList;
//
// Nodes that operate on an arbitrary sized set of children.
//

View File

@@ -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(

View File

@@ -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:

View File

@@ -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());
}

View File

@@ -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
;

View File

@@ -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

View File

@@ -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<std::string>& 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
};

View File

@@ -59,9 +59,10 @@ std::string FileNameAsCustomTestSuffix(
using HlslCompileTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
using HlslCompileAndFlattenTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
using HlslLegalizeTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
// 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<FileNameEntryPointPair>{
{"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

View File

@@ -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
);

View File

@@ -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<uint32_t> 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;

View File

@@ -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<TString>& 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();
}

View File

@@ -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<tMipsOperatorData> 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<int, bool> textureShadowMode;
};
// This is the prefix we use for built-in methods to avoid namespace collisions with

18
3rdparty/glslang/known_good.json vendored Normal file
View File

@@ -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"
}
]
}

151
3rdparty/glslang/update_glslang_sources.py vendored Executable file
View File

@@ -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()