Updated glslang.
This commit is contained in:
parent
db5dbddf99
commit
15a4bcda82
2
3rdparty/glslang/BUILD.gn
vendored
2
3rdparty/glslang/BUILD.gn
vendored
@ -60,8 +60,10 @@ source_set("glslang_sources") {
|
||||
sources = [
|
||||
"OGLCompilersDLL/InitializeDll.cpp",
|
||||
"OGLCompilersDLL/InitializeDll.h",
|
||||
"SPIRV/GLSL.ext.AMD.h",
|
||||
"SPIRV/GLSL.ext.EXT.h",
|
||||
"SPIRV/GLSL.ext.KHR.h",
|
||||
"SPIRV/GLSL.ext.NV.h",
|
||||
"SPIRV/GLSL.std.450.h",
|
||||
"SPIRV/GlslangToSpv.cpp",
|
||||
"SPIRV/GlslangToSpv.h",
|
||||
|
11
3rdparty/glslang/CMakeLists.txt
vendored
11
3rdparty/glslang/CMakeLists.txt
vendored
@ -41,6 +41,7 @@ CMAKE_DEPENDENT_OPTION(ENABLE_HLSL "Enables HLSL input support" ON "NOT ENABLE_G
|
||||
|
||||
option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
|
||||
option(ENABLE_PCH "Enables Precompiled header" ON)
|
||||
option(ENABLE_CTEST "Enables testing" ON)
|
||||
|
||||
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32)
|
||||
set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "..." FORCE)
|
||||
@ -67,8 +68,10 @@ macro(glslang_pch SRCS PCHCPP)
|
||||
endmacro(glslang_pch)
|
||||
|
||||
project(glslang)
|
||||
# make testing optional
|
||||
include(CTest)
|
||||
|
||||
if(ENABLE_CTEST)
|
||||
include(CTest)
|
||||
endif()
|
||||
|
||||
if(ENABLE_HLSL)
|
||||
add_definitions(-DENABLE_HLSL)
|
||||
@ -183,7 +186,9 @@ add_subdirectory(SPIRV)
|
||||
if(ENABLE_HLSL)
|
||||
add_subdirectory(hlsl)
|
||||
endif(ENABLE_HLSL)
|
||||
add_subdirectory(gtests)
|
||||
if(ENABLE_CTEST)
|
||||
add_subdirectory(gtests)
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTING)
|
||||
# glslang-testsuite runs a bash script on Windows.
|
||||
|
9
3rdparty/glslang/SPIRV/GlslangToSpv.cpp
vendored
Normal file → Executable file
9
3rdparty/glslang/SPIRV/GlslangToSpv.cpp
vendored
Normal file → Executable file
@ -1630,11 +1630,11 @@ void TGlslangToSpvTraverser::finishSpv()
|
||||
for (auto it = iOSet.cbegin(); it != iOSet.cend(); ++it)
|
||||
entryPoint->addIdOperand(*it);
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
// Add capabilities, extensions, remove unneeded decorations, etc.,
|
||||
// Add capabilities, extensions, remove unneeded decorations, etc.,
|
||||
// based on the resulting SPIR-V.
|
||||
// Note: WebGPU code generation must have the opportunity to aggressively
|
||||
// prune unreachable merge blocks and continue targets.
|
||||
builder.postProcess();
|
||||
#endif
|
||||
}
|
||||
|
||||
// Write the SPV into 'out'.
|
||||
@ -8197,7 +8197,8 @@ int GetSpirvGeneratorVersion()
|
||||
// return 5; // make OpArrayLength result type be an int with signedness of 0
|
||||
// return 6; // revert version 5 change, which makes a different (new) kind of incorrect code,
|
||||
// versions 4 and 6 each generate OpArrayLength as it has long been done
|
||||
return 7; // GLSL volatile keyword maps to both SPIR-V decorations Volatile and Coherent
|
||||
// return 7; // GLSL volatile keyword maps to both SPIR-V decorations Volatile and Coherent
|
||||
return 8; // switch to new dead block eliminator; use OpUnreachable
|
||||
}
|
||||
|
||||
// Write SPIR-V out to a binary file
|
||||
|
44
3rdparty/glslang/SPIRV/InReadableOrder.cpp
vendored
44
3rdparty/glslang/SPIRV/InReadableOrder.cpp
vendored
@ -61,17 +61,22 @@ namespace {
|
||||
// Use by calling visit() on the root block.
|
||||
class ReadableOrderTraverser {
|
||||
public:
|
||||
explicit ReadableOrderTraverser(std::function<void(Block*)> callback) : callback_(callback) {}
|
||||
ReadableOrderTraverser(std::function<void(Block*, spv::ReachReason, Block*)> callback)
|
||||
: callback_(callback) {}
|
||||
// Visits the block if it hasn't been visited already and isn't currently
|
||||
// being delayed. Invokes callback(block), then descends into its
|
||||
// being delayed. Invokes callback(block, why, header), then descends into its
|
||||
// successors. Delays merge-block and continue-block processing until all
|
||||
// the branches have been completed.
|
||||
void visit(Block* block)
|
||||
// the branches have been completed. If |block| is an unreachable merge block or
|
||||
// an unreachable continue target, then |header| is the corresponding header block.
|
||||
void visit(Block* block, spv::ReachReason why, Block* header)
|
||||
{
|
||||
assert(block);
|
||||
if (why == spv::ReachViaControlFlow) {
|
||||
reachableViaControlFlow_.insert(block);
|
||||
}
|
||||
if (visited_.count(block) || delayed_.count(block))
|
||||
return;
|
||||
callback_(block);
|
||||
callback_(block, why, header);
|
||||
visited_.insert(block);
|
||||
Block* mergeBlock = nullptr;
|
||||
Block* continueBlock = nullptr;
|
||||
@ -87,27 +92,40 @@ public:
|
||||
delayed_.insert(continueBlock);
|
||||
}
|
||||
}
|
||||
const auto successors = block->getSuccessors();
|
||||
for (auto it = successors.cbegin(); it != successors.cend(); ++it)
|
||||
visit(*it);
|
||||
if (why == spv::ReachViaControlFlow) {
|
||||
const auto& successors = block->getSuccessors();
|
||||
for (auto it = successors.cbegin(); it != successors.cend(); ++it)
|
||||
visit(*it, why, nullptr);
|
||||
}
|
||||
if (continueBlock) {
|
||||
const spv::ReachReason continueWhy =
|
||||
(reachableViaControlFlow_.count(continueBlock) > 0)
|
||||
? spv::ReachViaControlFlow
|
||||
: spv::ReachDeadContinue;
|
||||
delayed_.erase(continueBlock);
|
||||
visit(continueBlock);
|
||||
visit(continueBlock, continueWhy, block);
|
||||
}
|
||||
if (mergeBlock) {
|
||||
const spv::ReachReason mergeWhy =
|
||||
(reachableViaControlFlow_.count(mergeBlock) > 0)
|
||||
? spv::ReachViaControlFlow
|
||||
: spv::ReachDeadMerge;
|
||||
delayed_.erase(mergeBlock);
|
||||
visit(mergeBlock);
|
||||
visit(mergeBlock, mergeWhy, block);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
std::function<void(Block*)> callback_;
|
||||
std::function<void(Block*, spv::ReachReason, Block*)> callback_;
|
||||
// Whether a block has already been visited or is being delayed.
|
||||
std::unordered_set<Block *> visited_, delayed_;
|
||||
|
||||
// The set of blocks that actually are reached via control flow.
|
||||
std::unordered_set<Block *> reachableViaControlFlow_;
|
||||
};
|
||||
}
|
||||
|
||||
void spv::inReadableOrder(Block* root, std::function<void(Block*)> callback)
|
||||
void spv::inReadableOrder(Block* root, std::function<void(Block*, spv::ReachReason, Block*)> callback)
|
||||
{
|
||||
ReadableOrderTraverser(callback).visit(root);
|
||||
ReadableOrderTraverser(callback).visit(root, spv::ReachViaControlFlow, nullptr);
|
||||
}
|
||||
|
4
3rdparty/glslang/SPIRV/SpvBuilder.h
vendored
4
3rdparty/glslang/SPIRV/SpvBuilder.h
vendored
@ -683,14 +683,12 @@ public:
|
||||
// based on the type of the base and the chain of dereferences.
|
||||
Id accessChainGetInferredType();
|
||||
|
||||
// Add capabilities, extensions, remove unneeded decorations, etc.,
|
||||
// Add capabilities, extensions, remove unneeded decorations, etc.,
|
||||
// based on the resulting SPIR-V.
|
||||
void postProcess();
|
||||
|
||||
// Hook to visit each instruction in a block in a function
|
||||
void postProcess(Instruction&);
|
||||
// Hook to visit each instruction in a reachable block in a function.
|
||||
void postProcessReachable(const Instruction&);
|
||||
// Hook to visit each non-32-bit sized float/int operation in a block.
|
||||
void postProcessType(const Instruction&, spv::Id typeId);
|
||||
|
||||
|
49
3rdparty/glslang/SPIRV/SpvPostProcess.cpp
vendored
49
3rdparty/glslang/SPIRV/SpvPostProcess.cpp
vendored
@ -39,6 +39,7 @@
|
||||
#include <cassert>
|
||||
#include <cstdlib>
|
||||
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
#include <algorithm>
|
||||
|
||||
@ -319,16 +320,14 @@ void Builder::postProcess(Instruction& inst)
|
||||
}
|
||||
}
|
||||
|
||||
// Called for each instruction in a reachable block.
|
||||
void Builder::postProcessReachable(const Instruction&)
|
||||
{
|
||||
// did have code here, but questionable to do so without deleting the instructions
|
||||
}
|
||||
|
||||
// comment in header
|
||||
void Builder::postProcess()
|
||||
{
|
||||
// reachableBlocks is the set of blockss reached via control flow, or which are
|
||||
// unreachable continue targert or unreachable merge.
|
||||
std::unordered_set<const Block*> reachableBlocks;
|
||||
std::unordered_map<Block*, Block*> headerForUnreachableContinue;
|
||||
std::unordered_set<Block*> unreachableMerges;
|
||||
std::unordered_set<Id> unreachableDefinitions;
|
||||
// Collect IDs defined in unreachable blocks. For each function, label the
|
||||
// reachable blocks first. Then for each unreachable block, collect the
|
||||
@ -336,16 +335,41 @@ void Builder::postProcess()
|
||||
for (auto fi = module.getFunctions().cbegin(); fi != module.getFunctions().cend(); fi++) {
|
||||
Function* f = *fi;
|
||||
Block* entry = f->getEntryBlock();
|
||||
inReadableOrder(entry, [&reachableBlocks](const Block* b) { reachableBlocks.insert(b); });
|
||||
inReadableOrder(entry,
|
||||
[&reachableBlocks, &unreachableMerges, &headerForUnreachableContinue]
|
||||
(Block* b, ReachReason why, Block* header) {
|
||||
reachableBlocks.insert(b);
|
||||
if (why == ReachDeadContinue) headerForUnreachableContinue[b] = header;
|
||||
if (why == ReachDeadMerge) unreachableMerges.insert(b);
|
||||
});
|
||||
for (auto bi = f->getBlocks().cbegin(); bi != f->getBlocks().cend(); bi++) {
|
||||
Block* b = *bi;
|
||||
if (reachableBlocks.count(b) == 0) {
|
||||
for (auto ii = b->getInstructions().cbegin(); ii != b->getInstructions().cend(); ii++)
|
||||
if (unreachableMerges.count(b) != 0 || headerForUnreachableContinue.count(b) != 0) {
|
||||
auto ii = b->getInstructions().cbegin();
|
||||
++ii; // Keep potential decorations on the label.
|
||||
for (; ii != b->getInstructions().cend(); ++ii)
|
||||
unreachableDefinitions.insert(ii->get()->getResultId());
|
||||
} else if (reachableBlocks.count(b) == 0) {
|
||||
// The normal case for unreachable code. All definitions are considered dead.
|
||||
for (auto ii = b->getInstructions().cbegin(); ii != b->getInstructions().cend(); ++ii)
|
||||
unreachableDefinitions.insert(ii->get()->getResultId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Modify unreachable merge blocks and unreachable continue targets.
|
||||
// Delete their contents.
|
||||
for (auto mergeIter = unreachableMerges.begin(); mergeIter != unreachableMerges.end(); ++mergeIter) {
|
||||
(*mergeIter)->rewriteAsCanonicalUnreachableMerge();
|
||||
}
|
||||
for (auto continueIter = headerForUnreachableContinue.begin();
|
||||
continueIter != headerForUnreachableContinue.end();
|
||||
++continueIter) {
|
||||
Block* continue_target = continueIter->first;
|
||||
Block* header = continueIter->second;
|
||||
continue_target->rewriteAsCanonicalUnreachableContinue(header);
|
||||
}
|
||||
|
||||
// Remove unneeded decorations, for unreachable instructions
|
||||
decorations.erase(std::remove_if(decorations.begin(), decorations.end(),
|
||||
[&unreachableDefinitions](std::unique_ptr<Instruction>& I) -> bool {
|
||||
@ -374,13 +398,6 @@ void Builder::postProcess()
|
||||
}
|
||||
}
|
||||
|
||||
// process all reachable instructions...
|
||||
for (auto bi = reachableBlocks.cbegin(); bi != reachableBlocks.cend(); ++bi) {
|
||||
const Block* block = *bi;
|
||||
const auto function = [this](const std::unique_ptr<Instruction>& inst) { postProcessReachable(*inst.get()); };
|
||||
std::for_each(block->getInstructions().begin(), block->getInstructions().end(), function);
|
||||
}
|
||||
|
||||
// process all block-contained instructions
|
||||
for (auto fi = module.getFunctions().cbegin(); fi != module.getFunctions().cend(); fi++) {
|
||||
Function* f = *fi;
|
||||
|
51
3rdparty/glslang/SPIRV/spvIR.h
vendored
51
3rdparty/glslang/SPIRV/spvIR.h
vendored
@ -226,6 +226,36 @@ public:
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Change this block into a canonical dead merge block. Delete instructions
|
||||
// as necessary. A canonical dead merge block has only an OpLabel and an
|
||||
// OpUnreachable.
|
||||
void rewriteAsCanonicalUnreachableMerge() {
|
||||
assert(localVariables.empty());
|
||||
// Delete all instructions except for the label.
|
||||
assert(instructions.size() > 0);
|
||||
instructions.resize(1);
|
||||
successors.clear();
|
||||
Instruction* unreachable = new Instruction(OpUnreachable);
|
||||
addInstruction(std::unique_ptr<Instruction>(unreachable));
|
||||
}
|
||||
// Change this block into a canonical dead continue target branching to the
|
||||
// given header ID. Delete instructions as necessary. A canonical dead continue
|
||||
// target has only an OpLabel and an unconditional branch back to the corresponding
|
||||
// header.
|
||||
void rewriteAsCanonicalUnreachableContinue(Block* header) {
|
||||
assert(localVariables.empty());
|
||||
// Delete all instructions except for the label.
|
||||
assert(instructions.size() > 0);
|
||||
instructions.resize(1);
|
||||
successors.clear();
|
||||
// Add OpBranch back to the header.
|
||||
assert(header != nullptr);
|
||||
Instruction* branch = new Instruction(OpBranch);
|
||||
branch->addIdOperand(header->getId());
|
||||
addInstruction(std::move(std::unique_ptr<Instruction>(branch)));
|
||||
successors.push_back(header);
|
||||
}
|
||||
|
||||
bool isTerminated() const
|
||||
{
|
||||
switch (instructions.back()->getOpCode()) {
|
||||
@ -235,6 +265,7 @@ public:
|
||||
case OpKill:
|
||||
case OpReturn:
|
||||
case OpReturnValue:
|
||||
case OpUnreachable:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@ -268,10 +299,24 @@ protected:
|
||||
bool unreachable;
|
||||
};
|
||||
|
||||
// The different reasons for reaching a block in the inReadableOrder traversal.
|
||||
enum ReachReason {
|
||||
// Reachable from the entry block via transfers of control, i.e. branches.
|
||||
ReachViaControlFlow = 0,
|
||||
// A continue target that is not reachable via control flow.
|
||||
ReachDeadContinue,
|
||||
// A merge block that is not reachable via control flow.
|
||||
ReachDeadMerge
|
||||
};
|
||||
|
||||
// Traverses the control-flow graph rooted at root in an order suited for
|
||||
// readable code generation. Invokes callback at every node in the traversal
|
||||
// order.
|
||||
void inReadableOrder(Block* root, std::function<void(Block*)> callback);
|
||||
// order. The callback arguments are:
|
||||
// - the block,
|
||||
// - the reason we reached the block,
|
||||
// - if the reason was that block is an unreachable continue or unreachable merge block
|
||||
// then the last parameter is the corresponding header block.
|
||||
void inReadableOrder(Block* root, std::function<void(Block*, ReachReason, Block* header)> callback);
|
||||
|
||||
//
|
||||
// SPIR-V IR Function.
|
||||
@ -321,7 +366,7 @@ public:
|
||||
parameterInstructions[p]->dump(out);
|
||||
|
||||
// Blocks
|
||||
inReadableOrder(blocks[0], [&out](const Block* b) { b->dump(out); });
|
||||
inReadableOrder(blocks[0], [&out](const Block* b, ReachReason, Block*) { b->dump(out); });
|
||||
Instruction end(0, 0, OpFunctionEnd);
|
||||
end.dump(out);
|
||||
}
|
||||
|
2
3rdparty/glslang/StandAlone/StandAlone.cpp
vendored
2
3rdparty/glslang/StandAlone/StandAlone.cpp
vendored
@ -988,7 +988,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
|
||||
// Set base bindings
|
||||
shader->setShiftBinding(res, baseBinding[res][compUnit.stage]);
|
||||
|
||||
|
||||
// Set bindings for particular resource sets
|
||||
// TODO: use a range based for loop here, when available in all environments.
|
||||
for (auto i = baseBindingForSet[res][compUnit.stage].begin();
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.aliasOpaque.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 87
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.flattenOpaque.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 185
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.flattenOpaqueInit.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 134
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.flattenOpaqueInitMix.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 97
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.flattenSubset.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 66
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.flattenSubset2.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 53
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.partialFlattenLocal.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 158
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.partialFlattenMixed.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 36
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
compoundsuffix.frag.hlsl
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 22
|
||||
|
||||
Capability Shader
|
||||
|
@ -2,7 +2,7 @@ glsl.entryPointRename.vert
|
||||
ERROR: Source entry point must be "main"
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 20
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
glsl.entryPointRename.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 20
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
glspv.esversion.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 10
|
||||
|
||||
Capability Shader
|
||||
|
@ -2,7 +2,7 @@ glspv.version.frag
|
||||
ERROR: #version: compilation for SPIR-V does not support the compatibility profile
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 6
|
||||
|
||||
Capability Shader
|
||||
|
@ -71,7 +71,7 @@ output primitive = line_strip
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 36
|
||||
|
||||
Capability Geometry
|
||||
|
@ -38,7 +38,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput' ( out float PointSize)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 16
|
||||
|
||||
Capability Shader
|
||||
|
@ -143,7 +143,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 64
|
||||
|
||||
Capability Shader
|
||||
|
@ -160,7 +160,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'm' ( global 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 57
|
||||
|
||||
Capability Shader
|
||||
|
@ -345,7 +345,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'ps_output.color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 143
|
||||
|
||||
Capability Shader
|
||||
|
@ -290,7 +290,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'input' (layout( location=1) in 3-element array of 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 126
|
||||
|
||||
Capability Shader
|
||||
|
@ -163,7 +163,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'g_mystruct' ( global 2-element array of structure{ temp int i, temp float f})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
|
@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 57
|
||||
|
||||
Capability Shader
|
||||
|
@ -132,7 +132,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'a5' (layout( location=4) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 58
|
||||
|
||||
Capability Shader
|
||||
|
@ -82,7 +82,7 @@ local_size = (4, 6, 8)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 39
|
||||
|
||||
Capability Shader
|
||||
|
@ -50,7 +50,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 24
|
||||
|
||||
Capability Shader
|
||||
|
@ -95,7 +95,7 @@ gl_FragCoord origin is upper left
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 51
|
||||
|
||||
Capability Shader
|
||||
|
@ -56,7 +56,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 28
|
||||
|
||||
Capability Shader
|
||||
|
@ -64,7 +64,7 @@ local_size = (1, 1, 1)
|
||||
0:? 'gti' ( in 3-component vector of int LocalInvocationID)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 38
|
||||
|
||||
Capability Shader
|
||||
|
@ -188,7 +188,7 @@ output primitive = line_strip
|
||||
0:? 'OutputStream.something' (layout( location=1) out int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 68
|
||||
|
||||
Capability Geometry
|
||||
|
@ -204,7 +204,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 99
|
||||
|
||||
Capability Shader
|
||||
|
@ -147,7 +147,7 @@ gl_FragCoord origin is upper left
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 73
|
||||
|
||||
Capability Shader
|
||||
|
@ -358,7 +358,7 @@ using depth_any
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 148
|
||||
|
||||
Capability Shader
|
||||
|
@ -358,7 +358,7 @@ using depth_any
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 148
|
||||
|
||||
Capability Shader
|
||||
|
@ -70,7 +70,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 34
|
||||
|
||||
Capability Shader
|
||||
|
@ -250,7 +250,7 @@ Shader version: 500
|
||||
0:? 'input.Norm' (layout( location=1) in 3-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 93
|
||||
|
||||
Capability Shader
|
||||
|
@ -146,7 +146,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 58
|
||||
|
||||
Capability Shader
|
||||
|
@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 30
|
||||
|
||||
Capability Shader
|
||||
|
@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'cull' ( in 1-element array of float CullDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 53
|
||||
|
||||
Capability Shader
|
||||
|
@ -550,7 +550,7 @@ output primitive = line_strip
|
||||
0:? 'OutputStream.clip' ( out 2-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 118
|
||||
|
||||
Capability Geometry
|
||||
|
@ -108,7 +108,7 @@ Shader version: 500
|
||||
0:? 'cull' ( out 1-element array of float CullDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 46
|
||||
|
||||
Capability Shader
|
||||
|
@ -290,7 +290,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'cull' ( in 4-element array of float CullDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 84
|
||||
|
||||
Capability Shader
|
||||
|
@ -724,7 +724,7 @@ output primitive = line_strip
|
||||
0:? 'OutputStream.clip' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 128
|
||||
|
||||
Capability Geometry
|
||||
|
@ -420,7 +420,7 @@ Shader version: 500
|
||||
0:? 'cull' ( out 4-element array of float CullDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 89
|
||||
|
||||
Capability Shader
|
||||
|
@ -98,7 +98,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'cull' ( in 2-element array of float CullDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 53
|
||||
|
||||
Capability Shader
|
||||
|
@ -630,7 +630,7 @@ output primitive = line_strip
|
||||
0:? 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 127
|
||||
|
||||
Capability Geometry
|
||||
|
@ -136,7 +136,7 @@ Shader version: 500
|
||||
0:? 'cull' ( out 2-element array of float CullDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 51
|
||||
|
||||
Capability Shader
|
||||
|
@ -174,7 +174,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 57
|
||||
|
||||
Capability Shader
|
||||
|
@ -612,7 +612,7 @@ output primitive = line_strip
|
||||
0:? 'OutputStream.clip1' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 130
|
||||
|
||||
Capability Geometry
|
||||
|
@ -270,7 +270,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
|
@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 62
|
||||
|
||||
Capability Shader
|
||||
|
@ -318,7 +318,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 73
|
||||
|
||||
Capability Shader
|
||||
|
@ -282,7 +282,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'v.clip1' ( in 8-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 79
|
||||
|
||||
Capability Shader
|
||||
|
@ -428,7 +428,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 86
|
||||
|
||||
Capability Shader
|
||||
|
@ -270,7 +270,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'v.clip1' ( in 8-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 78
|
||||
|
||||
Capability Shader
|
||||
|
@ -384,7 +384,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 81
|
||||
|
||||
Capability Shader
|
||||
|
@ -186,7 +186,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'v.clip1' ( in 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 65
|
||||
|
||||
Capability Shader
|
||||
|
@ -240,7 +240,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 62
|
||||
|
||||
Capability Shader
|
||||
|
@ -144,7 +144,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'clip0' ( in 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 68
|
||||
|
||||
Capability Shader
|
||||
|
@ -194,7 +194,7 @@ Shader version: 500
|
||||
0:? 'clip0' ( out 4-element array of float ClipDistance)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 67
|
||||
|
||||
Capability Shader
|
||||
|
@ -356,7 +356,7 @@ triangle order = cw
|
||||
0:? '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 127
|
||||
|
||||
Capability Tessellation
|
||||
|
@ -262,7 +262,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 96
|
||||
|
||||
Capability Shader
|
||||
|
@ -522,7 +522,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 206
|
||||
|
||||
Capability Shader
|
||||
|
@ -133,7 +133,7 @@ gl_FragCoord origin is upper left
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 66
|
||||
|
||||
Capability Shader
|
||||
@ -240,6 +240,5 @@ Validation failed
|
||||
60: 7(fvec4) CompositeConstruct 59 59 59 59
|
||||
ReturnValue 60
|
||||
30: Label
|
||||
62: 7(fvec4) Undef
|
||||
ReturnValue 62
|
||||
Unreachable
|
||||
FunctionEnd
|
||||
|
@ -268,7 +268,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput' ( out 4-component vector of float Position)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 89
|
||||
|
||||
Capability Shader
|
||||
|
@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 40
|
||||
|
||||
Capability Shader
|
||||
|
@ -545,7 +545,7 @@ gl_FragCoord origin is upper left
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 98
|
||||
|
||||
Capability Shader
|
||||
|
@ -119,7 +119,7 @@ gl_FragCoord origin is upper left
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 52
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.dashI.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 40
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.deadFunctionMissingBody.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 18
|
||||
|
||||
Capability Shader
|
||||
|
@ -50,7 +50,7 @@ using depth_greater
|
||||
0:? 'depth' ( out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 20
|
||||
|
||||
Capability Shader
|
||||
|
@ -42,7 +42,7 @@ using depth_less
|
||||
0:? '@entryPointOutput' ( out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 16
|
||||
|
||||
Capability Shader
|
||||
|
@ -108,7 +108,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'input' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 50
|
||||
|
||||
Capability Shader
|
||||
|
@ -2,68 +2,95 @@ hlsl.doLoop.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' ( in float)
|
||||
0:1 Function Definition: f0( ( temp void)
|
||||
0:1 Function Parameters:
|
||||
0:? Sequence
|
||||
0:3 Loop with condition not tested first: Unroll
|
||||
0:3 Loop Condition
|
||||
0:3 Constant:
|
||||
0:3 false (const bool)
|
||||
0:3 No loop body
|
||||
0:4 Loop with condition not tested first: Unroll
|
||||
0:4 Loop Condition
|
||||
0:4 Constant:
|
||||
0:4 false (const bool)
|
||||
0:4 No loop body
|
||||
0:5 Loop with condition not tested first
|
||||
0:5 Loop Condition
|
||||
0:5 Compare Greater Than ( temp bool)
|
||||
0:5 'input' ( in float)
|
||||
0:5 Constant:
|
||||
0:5 2.000000
|
||||
0:5 Loop Body
|
||||
0:? Sequence
|
||||
0:5 Branch: Return with expression
|
||||
0:5 Construct vec4 ( temp 4-component vector of float)
|
||||
0:5 'input' ( in float)
|
||||
0:6 Loop with condition not tested first
|
||||
0:2 Loop with condition not tested first: Unroll
|
||||
0:2 Loop Condition
|
||||
0:2 Constant:
|
||||
0:2 false (const bool)
|
||||
0:2 No loop body
|
||||
0:5 Function Definition: f1( ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Loop with condition not tested first: Unroll
|
||||
0:6 Loop Condition
|
||||
0:6 Compare Less Than ( temp bool)
|
||||
0:6 'input' ( in float)
|
||||
0:6 Constant:
|
||||
0:6 10.000000
|
||||
0:6 Loop Body
|
||||
0:6 Pre-Increment ( temp float)
|
||||
0:6 'input' ( in float)
|
||||
0:7 Loop with condition not tested first
|
||||
0:7 Loop Condition
|
||||
0:7 Compare Less Than ( temp bool)
|
||||
0:7 Pre-Increment ( temp float)
|
||||
0:7 'input' ( in float)
|
||||
0:7 Constant:
|
||||
0:7 10.000000
|
||||
0:7 Loop Body
|
||||
0:7 Loop with condition tested first
|
||||
0:7 Loop Condition
|
||||
0:7 Compare Less Than ( temp bool)
|
||||
0:7 Pre-Increment ( temp float)
|
||||
0:7 'input' ( in float)
|
||||
0:7 Constant:
|
||||
0:7 10.000000
|
||||
0:7 No loop body
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Construct vec4 ( temp 4-component vector of float)
|
||||
0:8 'input' ( in float)
|
||||
0:2 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:6 Constant:
|
||||
0:6 false (const bool)
|
||||
0:6 No loop body
|
||||
0:9 Function Definition: f2(f1; ( temp float)
|
||||
0:9 Function Parameters:
|
||||
0:9 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:2 move second child to first child ( temp float)
|
||||
0:10 Loop with condition not tested first
|
||||
0:10 Loop Condition
|
||||
0:10 Compare Greater Than ( temp bool)
|
||||
0:10 'input' ( in float)
|
||||
0:10 Constant:
|
||||
0:10 2.000000
|
||||
0:10 Loop Body
|
||||
0:? Sequence
|
||||
0:10 Branch: Return with expression
|
||||
0:10 Construct float ( temp float)
|
||||
0:10 Construct vec4 ( temp 4-component vector of float)
|
||||
0:10 'input' ( in float)
|
||||
0:13 Function Definition: f3(f1; ( temp void)
|
||||
0:13 Function Parameters:
|
||||
0:13 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:14 Loop with condition not tested first
|
||||
0:14 Loop Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 'input' ( in float)
|
||||
0:14 Constant:
|
||||
0:14 10.000000
|
||||
0:14 Loop Body
|
||||
0:14 Pre-Increment ( temp float)
|
||||
0:14 'input' ( in float)
|
||||
0:17 Function Definition: f4(f1; ( temp void)
|
||||
0:17 Function Parameters:
|
||||
0:17 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:18 Loop with condition not tested first
|
||||
0:18 Loop Condition
|
||||
0:18 Compare Less Than ( temp bool)
|
||||
0:18 Pre-Increment ( temp float)
|
||||
0:18 'input' ( in float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:18 Loop Body
|
||||
0:18 Loop with condition tested first
|
||||
0:18 Loop Condition
|
||||
0:18 Compare Less Than ( temp bool)
|
||||
0:18 Pre-Increment ( temp float)
|
||||
0:18 'input' ( in float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:18 No loop body
|
||||
0:22 Function Definition: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:22 Function Parameters:
|
||||
0:22 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:23 Function Call: f0( ( temp void)
|
||||
0:24 Function Call: f1( ( temp void)
|
||||
0:25 Function Call: f2(f1; ( temp float)
|
||||
0:25 'input' ( in float)
|
||||
0:26 Function Call: f3(f1; ( temp void)
|
||||
0:26 'input' ( in float)
|
||||
0:27 Function Call: f4(f1; ( temp void)
|
||||
0:27 'input' ( in float)
|
||||
0:28 Branch: Return with expression
|
||||
0:28 Construct vec4 ( temp 4-component vector of float)
|
||||
0:28 'input' ( in float)
|
||||
0:22 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:22 Function Parameters:
|
||||
0:? Sequence
|
||||
0:22 move second child to first child ( temp float)
|
||||
0:? 'input' ( temp float)
|
||||
0:? 'input' (layout( location=0) in float)
|
||||
0:2 move second child to first child ( temp 4-component vector of float)
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:2 Function Call: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:22 Function Call: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
@ -76,196 +103,272 @@ Linked fragment stage:
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' ( in float)
|
||||
0:1 Function Definition: f0( ( temp void)
|
||||
0:1 Function Parameters:
|
||||
0:? Sequence
|
||||
0:3 Loop with condition not tested first: Unroll
|
||||
0:3 Loop Condition
|
||||
0:3 Constant:
|
||||
0:3 false (const bool)
|
||||
0:3 No loop body
|
||||
0:4 Loop with condition not tested first: Unroll
|
||||
0:4 Loop Condition
|
||||
0:4 Constant:
|
||||
0:4 false (const bool)
|
||||
0:4 No loop body
|
||||
0:5 Loop with condition not tested first
|
||||
0:5 Loop Condition
|
||||
0:5 Compare Greater Than ( temp bool)
|
||||
0:5 'input' ( in float)
|
||||
0:5 Constant:
|
||||
0:5 2.000000
|
||||
0:5 Loop Body
|
||||
0:? Sequence
|
||||
0:5 Branch: Return with expression
|
||||
0:5 Construct vec4 ( temp 4-component vector of float)
|
||||
0:5 'input' ( in float)
|
||||
0:6 Loop with condition not tested first
|
||||
0:2 Loop with condition not tested first: Unroll
|
||||
0:2 Loop Condition
|
||||
0:2 Constant:
|
||||
0:2 false (const bool)
|
||||
0:2 No loop body
|
||||
0:5 Function Definition: f1( ( temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Loop with condition not tested first: Unroll
|
||||
0:6 Loop Condition
|
||||
0:6 Compare Less Than ( temp bool)
|
||||
0:6 'input' ( in float)
|
||||
0:6 Constant:
|
||||
0:6 10.000000
|
||||
0:6 Loop Body
|
||||
0:6 Pre-Increment ( temp float)
|
||||
0:6 'input' ( in float)
|
||||
0:7 Loop with condition not tested first
|
||||
0:7 Loop Condition
|
||||
0:7 Compare Less Than ( temp bool)
|
||||
0:7 Pre-Increment ( temp float)
|
||||
0:7 'input' ( in float)
|
||||
0:7 Constant:
|
||||
0:7 10.000000
|
||||
0:7 Loop Body
|
||||
0:7 Loop with condition tested first
|
||||
0:7 Loop Condition
|
||||
0:7 Compare Less Than ( temp bool)
|
||||
0:7 Pre-Increment ( temp float)
|
||||
0:7 'input' ( in float)
|
||||
0:7 Constant:
|
||||
0:7 10.000000
|
||||
0:7 No loop body
|
||||
0:8 Branch: Return with expression
|
||||
0:8 Construct vec4 ( temp 4-component vector of float)
|
||||
0:8 'input' ( in float)
|
||||
0:2 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:6 Constant:
|
||||
0:6 false (const bool)
|
||||
0:6 No loop body
|
||||
0:9 Function Definition: f2(f1; ( temp float)
|
||||
0:9 Function Parameters:
|
||||
0:9 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:2 move second child to first child ( temp float)
|
||||
0:10 Loop with condition not tested first
|
||||
0:10 Loop Condition
|
||||
0:10 Compare Greater Than ( temp bool)
|
||||
0:10 'input' ( in float)
|
||||
0:10 Constant:
|
||||
0:10 2.000000
|
||||
0:10 Loop Body
|
||||
0:? Sequence
|
||||
0:10 Branch: Return with expression
|
||||
0:10 Construct float ( temp float)
|
||||
0:10 Construct vec4 ( temp 4-component vector of float)
|
||||
0:10 'input' ( in float)
|
||||
0:13 Function Definition: f3(f1; ( temp void)
|
||||
0:13 Function Parameters:
|
||||
0:13 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:14 Loop with condition not tested first
|
||||
0:14 Loop Condition
|
||||
0:14 Compare Less Than ( temp bool)
|
||||
0:14 'input' ( in float)
|
||||
0:14 Constant:
|
||||
0:14 10.000000
|
||||
0:14 Loop Body
|
||||
0:14 Pre-Increment ( temp float)
|
||||
0:14 'input' ( in float)
|
||||
0:17 Function Definition: f4(f1; ( temp void)
|
||||
0:17 Function Parameters:
|
||||
0:17 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:18 Loop with condition not tested first
|
||||
0:18 Loop Condition
|
||||
0:18 Compare Less Than ( temp bool)
|
||||
0:18 Pre-Increment ( temp float)
|
||||
0:18 'input' ( in float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:18 Loop Body
|
||||
0:18 Loop with condition tested first
|
||||
0:18 Loop Condition
|
||||
0:18 Compare Less Than ( temp bool)
|
||||
0:18 Pre-Increment ( temp float)
|
||||
0:18 'input' ( in float)
|
||||
0:18 Constant:
|
||||
0:18 10.000000
|
||||
0:18 No loop body
|
||||
0:22 Function Definition: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:22 Function Parameters:
|
||||
0:22 'input' ( in float)
|
||||
0:? Sequence
|
||||
0:23 Function Call: f0( ( temp void)
|
||||
0:24 Function Call: f1( ( temp void)
|
||||
0:25 Function Call: f2(f1; ( temp float)
|
||||
0:25 'input' ( in float)
|
||||
0:26 Function Call: f3(f1; ( temp void)
|
||||
0:26 'input' ( in float)
|
||||
0:27 Function Call: f4(f1; ( temp void)
|
||||
0:27 'input' ( in float)
|
||||
0:28 Branch: Return with expression
|
||||
0:28 Construct vec4 ( temp 4-component vector of float)
|
||||
0:28 'input' ( in float)
|
||||
0:22 Function Definition: PixelShaderFunction( ( temp void)
|
||||
0:22 Function Parameters:
|
||||
0:? Sequence
|
||||
0:22 move second child to first child ( temp float)
|
||||
0:? 'input' ( temp float)
|
||||
0:? 'input' (layout( location=0) in float)
|
||||
0:2 move second child to first child ( temp 4-component vector of float)
|
||||
0:22 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:2 Function Call: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:22 Function Call: @PixelShaderFunction(f1; ( temp 4-component vector of float)
|
||||
0:? 'input' ( temp float)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:? 'input' (layout( location=0) in float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 71
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 99
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 64 67
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 92 95
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 11 "@PixelShaderFunction(f1;"
|
||||
Name 10 "input"
|
||||
Name 62 "input"
|
||||
Name 64 "input"
|
||||
Name 67 "@entryPointOutput"
|
||||
Name 68 "param"
|
||||
Decorate 64(input) Location 0
|
||||
Decorate 67(@entryPointOutput) Location 0
|
||||
Name 6 "f0("
|
||||
Name 8 "f1("
|
||||
Name 14 "f2(f1;"
|
||||
Name 13 "input"
|
||||
Name 18 "f3(f1;"
|
||||
Name 17 "input"
|
||||
Name 21 "f4(f1;"
|
||||
Name 20 "input"
|
||||
Name 26 "@PixelShaderFunction(f1;"
|
||||
Name 25 "input"
|
||||
Name 77 "param"
|
||||
Name 80 "param"
|
||||
Name 83 "param"
|
||||
Name 90 "input"
|
||||
Name 92 "input"
|
||||
Name 95 "@entryPointOutput"
|
||||
Name 96 "param"
|
||||
Decorate 92(input) Location 0
|
||||
Decorate 95(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
8: TypeVector 6(float) 4
|
||||
9: TypeFunction 8(fvec4) 7(ptr)
|
||||
17: TypeBool
|
||||
18: 17(bool) ConstantFalse
|
||||
31: 6(float) Constant 1073741824
|
||||
38: 6(float) Constant 1065353216
|
||||
41: 6(float) Constant 1092616192
|
||||
63: TypePointer Input 6(float)
|
||||
64(input): 63(ptr) Variable Input
|
||||
66: TypePointer Output 8(fvec4)
|
||||
67(@entryPointOutput): 66(ptr) Variable Output
|
||||
10: TypeFloat 32
|
||||
11: TypePointer Function 10(float)
|
||||
12: TypeFunction 10(float) 11(ptr)
|
||||
16: TypeFunction 2 11(ptr)
|
||||
23: TypeVector 10(float) 4
|
||||
24: TypeFunction 23(fvec4) 11(ptr)
|
||||
32: TypeBool
|
||||
33: 32(bool) ConstantFalse
|
||||
47: 10(float) Constant 1073741824
|
||||
55: 10(float) Constant 1065353216
|
||||
58: 10(float) Constant 1092616192
|
||||
91: TypePointer Input 10(float)
|
||||
92(input): 91(ptr) Variable Input
|
||||
94: TypePointer Output 23(fvec4)
|
||||
95(@entryPointOutput): 94(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
62(input): 7(ptr) Variable Function
|
||||
68(param): 7(ptr) Variable Function
|
||||
65: 6(float) Load 64(input)
|
||||
Store 62(input) 65
|
||||
69: 6(float) Load 62(input)
|
||||
Store 68(param) 69
|
||||
70: 8(fvec4) FunctionCall 11(@PixelShaderFunction(f1;) 68(param)
|
||||
Store 67(@entryPointOutput) 70
|
||||
90(input): 11(ptr) Variable Function
|
||||
96(param): 11(ptr) Variable Function
|
||||
93: 10(float) Load 92(input)
|
||||
Store 90(input) 93
|
||||
97: 10(float) Load 90(input)
|
||||
Store 96(param) 97
|
||||
98: 23(fvec4) FunctionCall 26(@PixelShaderFunction(f1;) 96(param)
|
||||
Store 95(@entryPointOutput) 98
|
||||
Return
|
||||
FunctionEnd
|
||||
11(@PixelShaderFunction(f1;): 8(fvec4) Function None 9
|
||||
10(input): 7(ptr) FunctionParameter
|
||||
12: Label
|
||||
Branch 13
|
||||
13: Label
|
||||
LoopMerge 15 16 Unroll
|
||||
Branch 14
|
||||
14: Label
|
||||
Branch 16
|
||||
16: Label
|
||||
BranchConditional 18 13 15
|
||||
15: Label
|
||||
Branch 19
|
||||
19: Label
|
||||
LoopMerge 21 22 Unroll
|
||||
Branch 20
|
||||
20: Label
|
||||
Branch 22
|
||||
22: Label
|
||||
BranchConditional 18 19 21
|
||||
21: Label
|
||||
Branch 23
|
||||
23: Label
|
||||
LoopMerge 25 26 None
|
||||
Branch 24
|
||||
24: Label
|
||||
27: 6(float) Load 10(input)
|
||||
28: 8(fvec4) CompositeConstruct 27 27 27 27
|
||||
ReturnValue 28
|
||||
26: Label
|
||||
30: 6(float) Load 10(input)
|
||||
32: 17(bool) FOrdGreaterThan 30 31
|
||||
BranchConditional 32 23 25
|
||||
25: Label
|
||||
Branch 33
|
||||
33: Label
|
||||
LoopMerge 35 36 None
|
||||
6(f0(): 2 Function None 3
|
||||
7: Label
|
||||
Branch 28
|
||||
28: Label
|
||||
LoopMerge 30 31 Unroll
|
||||
Branch 29
|
||||
29: Label
|
||||
Branch 31
|
||||
31: Label
|
||||
BranchConditional 33 28 30
|
||||
30: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
8(f1(): 2 Function None 3
|
||||
9: Label
|
||||
Branch 34
|
||||
34: Label
|
||||
37: 6(float) Load 10(input)
|
||||
39: 6(float) FAdd 37 38
|
||||
Store 10(input) 39
|
||||
Branch 36
|
||||
36: Label
|
||||
40: 6(float) Load 10(input)
|
||||
42: 17(bool) FOrdLessThan 40 41
|
||||
BranchConditional 42 33 35
|
||||
LoopMerge 36 37 Unroll
|
||||
Branch 35
|
||||
35: Label
|
||||
Branch 43
|
||||
43: Label
|
||||
LoopMerge 45 46 None
|
||||
Branch 44
|
||||
44: Label
|
||||
Branch 47
|
||||
47: Label
|
||||
LoopMerge 49 50 None
|
||||
Branch 37
|
||||
37: Label
|
||||
BranchConditional 33 34 36
|
||||
36: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
14(f2(f1;): 10(float) Function None 12
|
||||
13(input): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
Branch 38
|
||||
38: Label
|
||||
LoopMerge 40 41 None
|
||||
Branch 39
|
||||
39: Label
|
||||
42: 10(float) Load 13(input)
|
||||
43: 23(fvec4) CompositeConstruct 42 42 42 42
|
||||
44: 10(float) CompositeExtract 43 0
|
||||
ReturnValue 44
|
||||
41: Label
|
||||
Branch 38
|
||||
40: Label
|
||||
Unreachable
|
||||
FunctionEnd
|
||||
18(f3(f1;): 2 Function None 16
|
||||
17(input): 11(ptr) FunctionParameter
|
||||
19: Label
|
||||
Branch 50
|
||||
50: Label
|
||||
LoopMerge 52 53 None
|
||||
Branch 51
|
||||
51: Label
|
||||
52: 6(float) Load 10(input)
|
||||
53: 6(float) FAdd 52 38
|
||||
Store 10(input) 53
|
||||
54: 17(bool) FOrdLessThan 53 41
|
||||
BranchConditional 54 48 49
|
||||
48: Label
|
||||
Branch 50
|
||||
50: Label
|
||||
Branch 47
|
||||
49: Label
|
||||
Branch 46
|
||||
46: Label
|
||||
55: 6(float) Load 10(input)
|
||||
56: 6(float) FAdd 55 38
|
||||
Store 10(input) 56
|
||||
57: 17(bool) FOrdLessThan 56 41
|
||||
BranchConditional 57 43 45
|
||||
45: Label
|
||||
58: 6(float) Load 10(input)
|
||||
59: 8(fvec4) CompositeConstruct 58 58 58 58
|
||||
ReturnValue 59
|
||||
54: 10(float) Load 17(input)
|
||||
56: 10(float) FAdd 54 55
|
||||
Store 17(input) 56
|
||||
Branch 53
|
||||
53: Label
|
||||
57: 10(float) Load 17(input)
|
||||
59: 32(bool) FOrdLessThan 57 58
|
||||
BranchConditional 59 50 52
|
||||
52: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
21(f4(f1;): 2 Function None 16
|
||||
20(input): 11(ptr) FunctionParameter
|
||||
22: Label
|
||||
Branch 60
|
||||
60: Label
|
||||
LoopMerge 62 63 None
|
||||
Branch 61
|
||||
61: Label
|
||||
Branch 64
|
||||
64: Label
|
||||
LoopMerge 66 67 None
|
||||
Branch 68
|
||||
68: Label
|
||||
69: 10(float) Load 20(input)
|
||||
70: 10(float) FAdd 69 55
|
||||
Store 20(input) 70
|
||||
71: 32(bool) FOrdLessThan 70 58
|
||||
BranchConditional 71 65 66
|
||||
65: Label
|
||||
Branch 67
|
||||
67: Label
|
||||
Branch 64
|
||||
66: Label
|
||||
Branch 63
|
||||
63: Label
|
||||
72: 10(float) Load 20(input)
|
||||
73: 10(float) FAdd 72 55
|
||||
Store 20(input) 73
|
||||
74: 32(bool) FOrdLessThan 73 58
|
||||
BranchConditional 74 60 62
|
||||
62: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
26(@PixelShaderFunction(f1;): 23(fvec4) Function None 24
|
||||
25(input): 11(ptr) FunctionParameter
|
||||
27: Label
|
||||
77(param): 11(ptr) Variable Function
|
||||
80(param): 11(ptr) Variable Function
|
||||
83(param): 11(ptr) Variable Function
|
||||
75: 2 FunctionCall 6(f0()
|
||||
76: 2 FunctionCall 8(f1()
|
||||
78: 10(float) Load 25(input)
|
||||
Store 77(param) 78
|
||||
79: 10(float) FunctionCall 14(f2(f1;) 77(param)
|
||||
81: 10(float) Load 25(input)
|
||||
Store 80(param) 81
|
||||
82: 2 FunctionCall 18(f3(f1;) 80(param)
|
||||
84: 10(float) Load 25(input)
|
||||
Store 83(param) 84
|
||||
85: 2 FunctionCall 21(f4(f1;) 83(param)
|
||||
86: 10(float) Load 25(input)
|
||||
87: 23(fvec4) CompositeConstruct 86 86 86 86
|
||||
ReturnValue 87
|
||||
FunctionEnd
|
||||
|
@ -286,7 +286,7 @@ triangle order = none
|
||||
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 103
|
||||
|
||||
Capability Tessellation
|
||||
|
@ -284,7 +284,7 @@ triangle order = none
|
||||
0:? 'pcf_data.foo' (layout( location=2) patch in float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 98
|
||||
|
||||
Capability Tessellation
|
||||
|
@ -264,7 +264,7 @@ triangle order = none
|
||||
0:? 'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 100
|
||||
|
||||
Capability Tessellation
|
||||
|
@ -108,7 +108,7 @@ using early_fragment_tests
|
||||
0:? 'input.Position' ( in 4-component vector of float FragCoord)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 50
|
||||
|
||||
Capability Shader
|
||||
|
@ -60,7 +60,7 @@ Shader version: 500
|
||||
0:? 'vertexIndex' (layout( location=0) in uint)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
|
@ -51,7 +51,7 @@ gl_FragCoord origin is upper left
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability Shader
|
||||
|
@ -49,7 +49,7 @@ Shader version: 500
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability Shader
|
||||
|
@ -166,7 +166,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'i.i2' (layout( location=1) flat in 2-component vector of int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 74
|
||||
|
||||
Capability Shader
|
||||
|
@ -244,7 +244,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'out3.i' (layout( location=5) out 2-component vector of int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 89
|
||||
|
||||
Capability Shader
|
||||
|
@ -72,7 +72,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 32
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.explicitDescriptorSet.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 31
|
||||
|
||||
Capability Shader
|
||||
|
@ -1,6 +1,6 @@
|
||||
hlsl.explicitDescriptorSet.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 31
|
||||
|
||||
Capability Shader
|
||||
|
@ -118,7 +118,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput.other_struct_member3' (layout( location=3) out float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 49
|
||||
|
||||
Capability Shader
|
||||
|
@ -295,7 +295,7 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 122
|
||||
|
||||
Capability Shader
|
||||
|
@ -165,7 +165,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 82
|
||||
|
||||
Capability Shader
|
||||
|
@ -107,7 +107,7 @@ Shader version: 500
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 59
|
||||
|
||||
Capability Shader
|
||||
|
@ -115,7 +115,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'vpos' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 54
|
||||
|
||||
Capability Shader
|
||||
|
@ -149,7 +149,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'vpos' (layout( location=0) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 56
|
||||
|
||||
Capability Shader
|
||||
|
@ -65,7 +65,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'scalar' ( global float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability Shader
|
||||
|
@ -42,7 +42,7 @@ gl_FragCoord origin is upper left
|
||||
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Generated by (magic number): 80008
|
||||
// Id's are bound by 26
|
||||
|
||||
Capability Shader
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user