Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
2f4c832d47
3
.gitignore
vendored
3
.gitignore
vendored
@ -3,8 +3,11 @@
|
||||
*.so
|
||||
*.exe
|
||||
tags
|
||||
TAGS
|
||||
build/
|
||||
Test/localResults/
|
||||
Test/multiThread.out
|
||||
Test/singleThread.out
|
||||
Test/vert.spv
|
||||
Test/frag.spv
|
||||
External/googletest
|
||||
|
||||
@ -1,12 +1,18 @@
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
cmake_minimum_required(VERSION 2.8.11)
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
option(ENABLE_AMD_EXTENSIONS "Enables support of AMD-specific extensions" ON)
|
||||
|
||||
enable_testing()
|
||||
|
||||
set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "prefix")
|
||||
|
||||
project(glslang)
|
||||
|
||||
if(ENABLE_AMD_EXTENSIONS)
|
||||
add_definitions(-DAMD_EXTENSIONS)
|
||||
endif(ENABLE_AMD_EXTENSIONS)
|
||||
|
||||
if(WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
include(ChooseMSVCCRT.cmake)
|
||||
@ -19,8 +25,14 @@ else(WIN32)
|
||||
endif(WIN32)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
add_definitions(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
|
||||
-Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable)
|
||||
add_definitions(-Wno-reorder) # disable this from -Wall, since it happens all over.
|
||||
add_definitions(-std=c++11)
|
||||
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||
add_definitions(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
|
||||
-Wunused-parameter -Wunused-value -Wunused-variable)
|
||||
add_definitions(-Wno-reorder) # disable this from -Wall, since it happens all over.
|
||||
add_definitions(-std=c++11)
|
||||
endif()
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
|
||||
#define SH_EXPORTING
|
||||
|
||||
#include <assert.h>
|
||||
#include <cassert>
|
||||
|
||||
#include "InitializeDll.h"
|
||||
#include "../glslang/Include/InitializeGlobals.h"
|
||||
|
||||
@ -98,7 +98,7 @@ options. See REMAPPING AND OPTIMIZATION OPTIONS.
|
||||
On error, the function supplied to registerErrorHandler() will be invoked.
|
||||
This can be a standard C/C++ function, a lambda function, or a functor.
|
||||
The default handler simply calls exit(5); The error handler is a static
|
||||
members, so need only be set up once, not once per spirvbin_t instance.
|
||||
member, so need only be set up once, not once per spirvbin_t instance.
|
||||
|
||||
Log messages are supplied to registerLogHandler(). By default, log
|
||||
messages are eaten silently. The log handler is also a static member.
|
||||
|
||||
29
README.md
29
README.md
@ -13,12 +13,15 @@ glslang
|
||||
|
||||
An OpenGL and OpenGL ES shader front end and validator.
|
||||
|
||||
There are two components:
|
||||
There are several components:
|
||||
|
||||
1. A front-end library for programmatic parsing of GLSL/ESSL into an AST.
|
||||
1. A GLSL/ESSL front-end for reference validation and translation of GLSL/ESSL into an AST.
|
||||
|
||||
2. A standalone wrapper, `glslangValidator`, that can be used as a shader
|
||||
validation tool.
|
||||
2. An HLSL front-end for translation of a broad generic HLL into the AST.
|
||||
|
||||
3. A SPIR-V back end for translating the AST to SPIR-V.
|
||||
|
||||
4. A standalone wrapper, `glslangValidator`, that can be used as a command-line tool for the above.
|
||||
|
||||
How to add a feature protected by a version/extension/stage/profile: See the
|
||||
comment in `glslang/MachineIndependent/Versions.cpp`.
|
||||
@ -54,14 +57,24 @@ Building
|
||||
|
||||
### Build steps
|
||||
|
||||
#### 1) Check-Out External Projects
|
||||
#### 1) Check-Out this project
|
||||
|
||||
```bash
|
||||
cd <the directory glslang was cloned to, External will be a subdirectory>
|
||||
cd <parent of where you want glslang to be>
|
||||
# If using SSH
|
||||
git clone git@github.com:KhronosGroup/glslang.git
|
||||
# Or if using HTTPS
|
||||
git clone https://github.com/KhronosGroup/glslang.git
|
||||
```
|
||||
|
||||
#### 2) Check-Out External Projects
|
||||
|
||||
```bash
|
||||
cd <the directory glslang was cloned to, "External" will be a subdirectory>
|
||||
git clone https://github.com/google/googletest.git External/googletest
|
||||
```
|
||||
|
||||
#### 2) Configure
|
||||
#### 3) Configure
|
||||
|
||||
Assume the source directory is `$SOURCE_DIR` and
|
||||
the build directory is `$BUILD_DIR`:
|
||||
@ -84,7 +97,7 @@ cmake $SOURCE_DIR -DCMAKE_INSTALL_PREFIX=`pwd`/install
|
||||
|
||||
The CMake GUI also works for Windows (version 3.4.1 tested).
|
||||
|
||||
#### 3) Build and Install
|
||||
#### 4) Build and Install
|
||||
|
||||
```bash
|
||||
# for Linux:
|
||||
|
||||
@ -3,27 +3,46 @@ set(SOURCES
|
||||
InReadableOrder.cpp
|
||||
Logger.cpp
|
||||
SpvBuilder.cpp
|
||||
SPVRemapper.cpp
|
||||
doc.cpp
|
||||
disassemble.cpp)
|
||||
|
||||
set(SPVREMAP_SOURCES
|
||||
SPVRemapper.cpp
|
||||
doc.cpp)
|
||||
|
||||
set(HEADERS
|
||||
bitutils.h
|
||||
spirv.hpp
|
||||
GLSL.std.450.h
|
||||
GLSL.ext.KHR.h
|
||||
GlslangToSpv.h
|
||||
hex_float.h
|
||||
Logger.h
|
||||
SpvBuilder.h
|
||||
SPVRemapper.h
|
||||
spvIR.h
|
||||
doc.h
|
||||
disassemble.h)
|
||||
|
||||
set(SPVREMAP_HEADERS
|
||||
SPVRemapper.h
|
||||
doc.h)
|
||||
|
||||
if(ENABLE_AMD_EXTENSIONS)
|
||||
list(APPEND
|
||||
HEADERS
|
||||
GLSL.ext.AMD.h)
|
||||
endif(ENABLE_AMD_EXTENSIONS)
|
||||
|
||||
add_library(SPIRV STATIC ${SOURCES} ${HEADERS})
|
||||
set_property(TARGET SPIRV PROPERTY FOLDER glslang)
|
||||
|
||||
add_library(SPVRemapper STATIC ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
|
||||
set_property(TARGET SPVRemapper PROPERTY FOLDER glslang)
|
||||
|
||||
if(WIN32)
|
||||
source_group("Source" FILES ${SOURCES} ${HEADERS})
|
||||
source_group("Source" FILES ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
|
||||
endif(WIN32)
|
||||
|
||||
install(TARGETS SPIRV
|
||||
install(TARGETS SPIRV SPVRemapper
|
||||
ARCHIVE DESTINATION lib)
|
||||
|
||||
116
SPIRV/GLSL.ext.AMD.h
Normal file
116
SPIRV/GLSL.ext.AMD.h
Normal file
@ -0,0 +1,116 @@
|
||||
/*
|
||||
** Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
** of this software and/or associated documentation files (the "Materials"),
|
||||
** to deal in the Materials without restriction, including without limitation
|
||||
** the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
** and/or sell copies of the Materials, and to permit persons to whom the
|
||||
** Materials are furnished to do so, subject to the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included in
|
||||
** all copies or substantial portions of the Materials.
|
||||
**
|
||||
** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
|
||||
** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
|
||||
** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
|
||||
** IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
#ifndef GLSLextAMD_H
|
||||
#define GLSLextAMD_H
|
||||
|
||||
enum BuiltIn;
|
||||
enum Decoration;
|
||||
enum Op;
|
||||
|
||||
static const int GLSLextAMDVersion = 100;
|
||||
static const int GLSLextAMDRevision = 2;
|
||||
|
||||
// SPV_AMD_shader_ballot
|
||||
static const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot";
|
||||
|
||||
static const Op OpGroupIAddNonUniformAMD = static_cast<Op>(5000);
|
||||
static const Op OpGroupFAddNonUniformAMD = static_cast<Op>(5001);
|
||||
static const Op OpGroupFMinNonUniformAMD = static_cast<Op>(5002);
|
||||
static const Op OpGroupUMinNonUniformAMD = static_cast<Op>(5003);
|
||||
static const Op OpGroupSMinNonUniformAMD = static_cast<Op>(5004);
|
||||
static const Op OpGroupFMaxNonUniformAMD = static_cast<Op>(5005);
|
||||
static const Op OpGroupUMaxNonUniformAMD = static_cast<Op>(5006);
|
||||
static const Op OpGroupSMaxNonUniformAMD = static_cast<Op>(5007);
|
||||
|
||||
enum ShaderBallotAMD {
|
||||
ShaderBallotBadAMD = 0, // Don't use
|
||||
|
||||
SwizzleInvocationsAMD = 1,
|
||||
SwizzleInvocationsMaskedAMD = 2,
|
||||
WriteInvocationAMD = 3,
|
||||
MbcntAMD = 4,
|
||||
|
||||
ShaderBallotCountAMD
|
||||
};
|
||||
|
||||
// SPV_AMD_shader_trinary_minmax
|
||||
static const char* const E_SPV_AMD_shader_trinary_minmax = "SPV_AMD_shader_trinary_minmax";
|
||||
|
||||
enum ShaderTrinaryMinMaxAMD {
|
||||
ShaderTrinaryMinMaxBadAMD = 0, // Don't use
|
||||
|
||||
FMin3AMD = 1,
|
||||
UMin3AMD = 2,
|
||||
SMin3AMD = 3,
|
||||
FMax3AMD = 4,
|
||||
UMax3AMD = 5,
|
||||
SMax3AMD = 6,
|
||||
FMid3AMD = 7,
|
||||
UMid3AMD = 8,
|
||||
SMid3AMD = 9,
|
||||
|
||||
ShaderTrinaryMinMaxCountAMD
|
||||
};
|
||||
|
||||
// SPV_AMD_shader_explicit_vertex_parameter
|
||||
static const char* const E_SPV_AMD_shader_explicit_vertex_parameter = "SPV_AMD_shader_explicit_vertex_parameter";
|
||||
|
||||
static const BuiltIn BuiltInBaryCoordNoPerspAMD = static_cast<BuiltIn>(4992);
|
||||
static const BuiltIn BuiltInBaryCoordNoPerspCentroidAMD = static_cast<BuiltIn>(4993);
|
||||
static const BuiltIn BuiltInBaryCoordNoPerspSampleAMD = static_cast<BuiltIn>(4994);
|
||||
static const BuiltIn BuiltInBaryCoordSmoothAMD = static_cast<BuiltIn>(4995);
|
||||
static const BuiltIn BuiltInBaryCoordSmoothCentroidAMD = static_cast<BuiltIn>(4996);
|
||||
static const BuiltIn BuiltInBaryCoordSmoothSampleAMD = static_cast<BuiltIn>(4997);
|
||||
static const BuiltIn BuiltInBaryCoordPullModelAMD = static_cast<BuiltIn>(4998);
|
||||
|
||||
static const Decoration DecorationExplicitInterpAMD = static_cast<Decoration>(4999);
|
||||
|
||||
enum ShaderExplicitVertexParameterAMD {
|
||||
ShaderExplicitVertexParameterBadAMD = 0, // Don't use
|
||||
|
||||
InterpolateAtVertexAMD = 1,
|
||||
|
||||
ShaderExplicitVertexParameterCountAMD
|
||||
};
|
||||
|
||||
// SPV_AMD_gcn_shader
|
||||
static const char* const E_SPV_AMD_gcn_shader = "SPV_AMD_gcn_shader";
|
||||
|
||||
enum GcnShaderAMD {
|
||||
GcnShaderBadAMD = 0, // Don't use
|
||||
|
||||
CubeFaceIndexAMD = 1,
|
||||
CubeFaceCoordAMD = 2,
|
||||
TimeAMD = 3,
|
||||
|
||||
GcnShaderCountAMD
|
||||
};
|
||||
|
||||
// SPV_AMD_gpu_shader_half_float
|
||||
static const char* const E_SPV_AMD_gpu_shader_half_float = "SPV_AMD_gpu_shader_half_float";
|
||||
|
||||
#endif // #ifndef GLSLextAMD_H
|
||||
36
SPIRV/GLSL.ext.KHR.h
Normal file
36
SPIRV/GLSL.ext.KHR.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
** Copyright (c) 2014-2016 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
** of this software and/or associated documentation files (the "Materials"),
|
||||
** to deal in the Materials without restriction, including without limitation
|
||||
** the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
** and/or sell copies of the Materials, and to permit persons to whom the
|
||||
** Materials are furnished to do so, subject to the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included in
|
||||
** all copies or substantial portions of the Materials.
|
||||
**
|
||||
** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
|
||||
** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
|
||||
** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
|
||||
** IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
#ifndef GLSLextKHR_H
|
||||
#define GLSLextKHR_H
|
||||
|
||||
// SPV_KHR_shader_ballot
|
||||
static const char* const E_SPV_KHR_shader_ballot = "SPV_KHR_shader_ballot";
|
||||
|
||||
// SPV_KHR_shader_draw_parameters
|
||||
static const char* const E_SPV_KHR_shader_draw_parameters = "SPV_KHR_shader_draw_parameters";
|
||||
|
||||
#endif // #ifndef GLSLextKHR_H
|
||||
File diff suppressed because it is too large
Load Diff
@ -127,6 +127,33 @@ namespace spv {
|
||||
}
|
||||
}
|
||||
|
||||
// Return the size of a type in 32-bit words. This currently only
|
||||
// handles ints and floats, and is only invoked by queries which must be
|
||||
// integer types. If ever needed, it can be generalized.
|
||||
unsigned spirvbin_t::typeSizeInWords(spv::Id id) const
|
||||
{
|
||||
const unsigned typeStart = idPos(id);
|
||||
const spv::Op opCode = asOpCode(typeStart);
|
||||
|
||||
switch (opCode) {
|
||||
case spv::OpTypeInt: // fall through...
|
||||
case spv::OpTypeFloat: return (spv[typeStart+2]+31)/32;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Looks up the type of a given const or variable ID, and
|
||||
// returns its size in 32-bit words.
|
||||
unsigned spirvbin_t::idTypeSizeInWords(spv::Id id) const
|
||||
{
|
||||
const auto tid_it = idTypeSizeMap.find(id);
|
||||
if (tid_it == idTypeSizeMap.end())
|
||||
error("type size for ID not found");
|
||||
|
||||
return tid_it->second;
|
||||
}
|
||||
|
||||
// Is this an opcode we should remove when using --strip?
|
||||
bool spirvbin_t::isStripOp(spv::Op opCode) const
|
||||
{
|
||||
@ -140,6 +167,7 @@ namespace spv {
|
||||
}
|
||||
}
|
||||
|
||||
// Return true if this opcode is flow control
|
||||
bool spirvbin_t::isFlowCtrl(spv::Op opCode) const
|
||||
{
|
||||
switch (opCode) {
|
||||
@ -155,6 +183,7 @@ namespace spv {
|
||||
}
|
||||
}
|
||||
|
||||
// Return true if this opcode defines a type
|
||||
bool spirvbin_t::isTypeOp(spv::Op opCode) const
|
||||
{
|
||||
switch (opCode) {
|
||||
@ -182,6 +211,7 @@ namespace spv {
|
||||
}
|
||||
}
|
||||
|
||||
// Return true if this opcode defines a constant
|
||||
bool spirvbin_t::isConstOp(spv::Op opCode) const
|
||||
{
|
||||
switch (opCode) {
|
||||
@ -324,7 +354,7 @@ namespace spv {
|
||||
fnPosDCE.clear();
|
||||
fnCalls.clear();
|
||||
typeConstPos.clear();
|
||||
typeConstPosR.clear();
|
||||
idPosR.clear();
|
||||
entryPoint = spv::NoResult;
|
||||
largestNewId = 0;
|
||||
|
||||
@ -340,6 +370,25 @@ namespace spv {
|
||||
if ((options & STRIP) && isStripOp(opCode))
|
||||
stripInst(start);
|
||||
|
||||
unsigned word = start+1;
|
||||
spv::Id typeId = spv::NoResult;
|
||||
|
||||
if (spv::InstructionDesc[opCode].hasType())
|
||||
typeId = asId(word++);
|
||||
|
||||
// If there's a result ID, remember the size of its type
|
||||
if (spv::InstructionDesc[opCode].hasResult()) {
|
||||
const spv::Id resultId = asId(word++);
|
||||
idPosR[resultId] = start;
|
||||
|
||||
if (typeId != spv::NoResult) {
|
||||
const unsigned idTypeSize = typeSizeInWords(typeId);
|
||||
|
||||
if (idTypeSize != 0)
|
||||
idTypeSizeMap[resultId] = idTypeSize;
|
||||
}
|
||||
}
|
||||
|
||||
if (opCode == spv::Op::OpName) {
|
||||
const spv::Id target = asId(start+1);
|
||||
const std::string name = literalString(start+2);
|
||||
@ -363,11 +412,9 @@ namespace spv {
|
||||
} else if (isConstOp(opCode)) {
|
||||
assert(asId(start + 2) != spv::NoResult);
|
||||
typeConstPos.insert(start);
|
||||
typeConstPosR[asId(start + 2)] = start;
|
||||
} else if (isTypeOp(opCode)) {
|
||||
assert(asId(start + 1) != spv::NoResult);
|
||||
typeConstPos.insert(start);
|
||||
typeConstPosR[asId(start + 1)] = start;
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -436,10 +483,19 @@ namespace spv {
|
||||
return nextInst;
|
||||
}
|
||||
|
||||
// Circular buffer so we can look back at previous unmapped values during the mapping pass.
|
||||
static const unsigned idBufferSize = 4;
|
||||
spv::Id idBuffer[idBufferSize];
|
||||
unsigned idBufferPos = 0;
|
||||
|
||||
// Store IDs from instruction in our map
|
||||
for (int op = 0; numOperands > 0; ++op, --numOperands) {
|
||||
switch (spv::InstructionDesc[opCode].operands.getClass(op)) {
|
||||
case spv::OperandId:
|
||||
case spv::OperandScope:
|
||||
case spv::OperandMemorySemantics:
|
||||
idBuffer[idBufferPos] = asId(word);
|
||||
idBufferPos = (idBufferPos + 1) % idBufferSize;
|
||||
idFn(asId(word++));
|
||||
break;
|
||||
|
||||
@ -457,13 +513,25 @@ namespace spv {
|
||||
// word += numOperands;
|
||||
return nextInst;
|
||||
|
||||
case spv::OperandVariableLiteralId:
|
||||
while (numOperands > 0) {
|
||||
++word; // immediate
|
||||
idFn(asId(word++)); // ID
|
||||
numOperands -= 2;
|
||||
case spv::OperandVariableLiteralId: {
|
||||
if (opCode == OpSwitch) {
|
||||
// word-2 is the position of the selector ID. OpSwitch Literals match its type.
|
||||
// In case the IDs are currently being remapped, we get the word[-2] ID from
|
||||
// the circular idBuffer.
|
||||
const unsigned literalSizePos = (idBufferPos+idBufferSize-2) % idBufferSize;
|
||||
const unsigned literalSize = idTypeSizeInWords(idBuffer[literalSizePos]);
|
||||
const unsigned numLiteralIdPairs = (nextInst-word) / (1+literalSize);
|
||||
|
||||
for (unsigned arg=0; arg<numLiteralIdPairs; ++arg) {
|
||||
word += literalSize; // literal
|
||||
idFn(asId(word++)); // label
|
||||
}
|
||||
} else {
|
||||
assert(0); // currentely, only OpSwitch uses OperandVariableLiteralId
|
||||
}
|
||||
|
||||
return nextInst;
|
||||
}
|
||||
|
||||
case spv::OperandLiteralString: {
|
||||
const int stringWordCount = literalStringWords(literalString(word));
|
||||
@ -500,9 +568,7 @@ namespace spv {
|
||||
case spv::OperandSelect:
|
||||
case spv::OperandLoop:
|
||||
case spv::OperandFunction:
|
||||
case spv::OperandMemorySemantics:
|
||||
case spv::OperandMemoryAccess:
|
||||
case spv::OperandScope:
|
||||
case spv::OperandGroupOperation:
|
||||
case spv::OperandKernelEnqueueFlags:
|
||||
case spv::OperandKernelProfilingInfo:
|
||||
@ -966,26 +1032,30 @@ namespace spv {
|
||||
|
||||
std::unordered_map<spv::Id, int> typeUseCount;
|
||||
|
||||
// This is not the most efficient algorithm, but this is an offline tool, and
|
||||
// it's easy to write this way. Can be improved opportunistically if needed.
|
||||
bool changed = true;
|
||||
while (changed) {
|
||||
changed = false;
|
||||
strip();
|
||||
typeUseCount.clear();
|
||||
|
||||
// Count total type usage
|
||||
process(inst_fn_nop,
|
||||
[&](spv::Id& id) { if (isType[id]) ++typeUseCount[id]; }
|
||||
);
|
||||
|
||||
// Remove types from deleted code
|
||||
for (const auto& fn : fnPosDCE)
|
||||
process(inst_fn_nop,
|
||||
[&](spv::Id& id) { if (isType[id]) --typeUseCount[id]; },
|
||||
fn.second.first, fn.second.second);
|
||||
|
||||
// Remove single reference types
|
||||
for (const auto typeStart : typeConstPos) {
|
||||
const spv::Id typeId = asTypeConstId(typeStart);
|
||||
if (typeUseCount[typeId] == 1) {
|
||||
changed = true;
|
||||
--typeUseCount[typeId];
|
||||
stripInst(typeStart);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef NOTDEF
|
||||
@ -1060,12 +1130,12 @@ namespace spv {
|
||||
}
|
||||
#endif // NOTDEF
|
||||
|
||||
// Return start position in SPV of given type. error if not found.
|
||||
unsigned spirvbin_t::typePos(spv::Id id) const
|
||||
// Return start position in SPV of given Id. error if not found.
|
||||
unsigned spirvbin_t::idPos(spv::Id id) const
|
||||
{
|
||||
const auto tid_it = typeConstPosR.find(id);
|
||||
if (tid_it == typeConstPosR.end())
|
||||
error("type ID not found");
|
||||
const auto tid_it = idPosR.find(id);
|
||||
if (tid_it == idPosR.end())
|
||||
error("ID not found");
|
||||
|
||||
return tid_it->second;
|
||||
}
|
||||
@ -1083,11 +1153,11 @@ namespace spv {
|
||||
case spv::OpTypeInt: return 3 + (spv[typeStart+3]);
|
||||
case spv::OpTypeFloat: return 5;
|
||||
case spv::OpTypeVector:
|
||||
return 6 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
|
||||
return 6 + hashType(idPos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
|
||||
case spv::OpTypeMatrix:
|
||||
return 30 + hashType(typePos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
|
||||
return 30 + hashType(idPos(spv[typeStart+2])) * (spv[typeStart+3] - 1);
|
||||
case spv::OpTypeImage:
|
||||
return 120 + hashType(typePos(spv[typeStart+2])) +
|
||||
return 120 + hashType(idPos(spv[typeStart+2])) +
|
||||
spv[typeStart+3] + // dimensionality
|
||||
spv[typeStart+4] * 8 * 16 + // depth
|
||||
spv[typeStart+5] * 4 * 16 + // arrayed
|
||||
@ -1098,24 +1168,24 @@ namespace spv {
|
||||
case spv::OpTypeSampledImage:
|
||||
return 502;
|
||||
case spv::OpTypeArray:
|
||||
return 501 + hashType(typePos(spv[typeStart+2])) * spv[typeStart+3];
|
||||
return 501 + hashType(idPos(spv[typeStart+2])) * spv[typeStart+3];
|
||||
case spv::OpTypeRuntimeArray:
|
||||
return 5000 + hashType(typePos(spv[typeStart+2]));
|
||||
return 5000 + hashType(idPos(spv[typeStart+2]));
|
||||
case spv::OpTypeStruct:
|
||||
{
|
||||
std::uint32_t hash = 10000;
|
||||
for (unsigned w=2; w < wordCount; ++w)
|
||||
hash += w * hashType(typePos(spv[typeStart+w]));
|
||||
hash += w * hashType(idPos(spv[typeStart+w]));
|
||||
return hash;
|
||||
}
|
||||
|
||||
case spv::OpTypeOpaque: return 6000 + spv[typeStart+2];
|
||||
case spv::OpTypePointer: return 100000 + hashType(typePos(spv[typeStart+3]));
|
||||
case spv::OpTypePointer: return 100000 + hashType(idPos(spv[typeStart+3]));
|
||||
case spv::OpTypeFunction:
|
||||
{
|
||||
std::uint32_t hash = 200000;
|
||||
for (unsigned w=2; w < wordCount; ++w)
|
||||
hash += w * hashType(typePos(spv[typeStart+w]));
|
||||
hash += w * hashType(idPos(spv[typeStart+w]));
|
||||
return hash;
|
||||
}
|
||||
|
||||
@ -1132,14 +1202,14 @@ namespace spv {
|
||||
case spv::OpConstantFalse: return 300008;
|
||||
case spv::OpConstantComposite:
|
||||
{
|
||||
std::uint32_t hash = 300011 + hashType(typePos(spv[typeStart+1]));
|
||||
std::uint32_t hash = 300011 + hashType(idPos(spv[typeStart+1]));
|
||||
for (unsigned w=3; w < wordCount; ++w)
|
||||
hash += w * hashType(typePos(spv[typeStart+w]));
|
||||
hash += w * hashType(idPos(spv[typeStart+w]));
|
||||
return hash;
|
||||
}
|
||||
case spv::OpConstant:
|
||||
{
|
||||
std::uint32_t hash = 400011 + hashType(typePos(spv[typeStart+1]));
|
||||
std::uint32_t hash = 400011 + hashType(idPos(spv[typeStart+1]));
|
||||
for (unsigned w=3; w < wordCount; ++w)
|
||||
hash += w * spv[typeStart+w];
|
||||
return hash;
|
||||
@ -1212,19 +1282,19 @@ namespace spv {
|
||||
msg(3, 4, std::string("ID bound: ") + std::to_string(bound()));
|
||||
|
||||
strip(); // strip out data we decided to eliminate
|
||||
|
||||
if (options & OPT_LOADSTORE) optLoadStore();
|
||||
if (options & OPT_FWD_LS) forwardLoadStores();
|
||||
if (options & DCE_FUNCS) dceFuncs();
|
||||
if (options & DCE_VARS) dceVars();
|
||||
if (options & DCE_TYPES) dceTypes();
|
||||
strip(); // strip out data we decided to eliminate
|
||||
|
||||
if (options & MAP_TYPES) mapTypeConst();
|
||||
if (options & MAP_NAMES) mapNames();
|
||||
if (options & MAP_FUNCS) mapFnBodies();
|
||||
|
||||
mapRemainder(); // map any unmapped IDs
|
||||
applyMap(); // Now remap each shader to the new IDs we've come up with
|
||||
strip(); // strip out data we decided to eliminate
|
||||
}
|
||||
|
||||
// remap from a memory image
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <stdlib.h>
|
||||
#include <cstdlib>
|
||||
|
||||
namespace spv {
|
||||
|
||||
@ -74,7 +74,8 @@ public:
|
||||
} // namespace SPV
|
||||
|
||||
#if !defined (use_cpp11)
|
||||
#include <stdio.h>
|
||||
#include <cstdio>
|
||||
#include <cstdint>
|
||||
|
||||
namespace spv {
|
||||
class spirvbin_t : public spirvbin_base_t
|
||||
@ -82,7 +83,7 @@ class spirvbin_t : public spirvbin_base_t
|
||||
public:
|
||||
spirvbin_t(int /*verbose = 0*/) { }
|
||||
|
||||
void remap(std::vector<unsigned int>& /*spv*/, unsigned int /*opts = 0*/)
|
||||
void remap(std::vector<std::uint32_t>& /*spv*/, unsigned int /*opts = 0*/)
|
||||
{
|
||||
printf("Tool not compiled for C++11, which is required for SPIR-V remapping.\n");
|
||||
exit(5);
|
||||
@ -159,6 +160,9 @@ private:
|
||||
typedef std::set<int> posmap_t;
|
||||
typedef std::unordered_map<spv::Id, int> posmap_rev_t;
|
||||
|
||||
// Maps and ID to the size of its base type, if known.
|
||||
typedef std::unordered_map<spv::Id, unsigned> typesize_map_t;
|
||||
|
||||
// handle error
|
||||
void error(const std::string& txt) const { errorHandler(txt); }
|
||||
|
||||
@ -169,6 +173,8 @@ private:
|
||||
range_t literalRange(spv::Op opCode) const;
|
||||
range_t typeRange(spv::Op opCode) const;
|
||||
range_t constRange(spv::Op opCode) const;
|
||||
unsigned typeSizeInWords(spv::Id id) const;
|
||||
unsigned idTypeSizeInWords(spv::Id id) const;
|
||||
|
||||
spv::Id& asId(unsigned word) { return spv[word]; }
|
||||
const spv::Id& asId(unsigned word) const { return spv[word]; }
|
||||
@ -177,7 +183,7 @@ private:
|
||||
spv::Decoration asDecoration(unsigned word) const { return spv::Decoration(spv[word]); }
|
||||
unsigned asWordCount(unsigned word) const { return opWordCount(spv[word]); }
|
||||
spv::Id asTypeConstId(unsigned word) const { return asId(word + (isTypeOp(asOpCode(word)) ? 1 : 2)); }
|
||||
unsigned typePos(spv::Id id) const;
|
||||
unsigned idPos(spv::Id id) const;
|
||||
|
||||
static unsigned opWordCount(spirword_t data) { return data >> spv::WordCountShift; }
|
||||
static spv::Op opOpCode(spirword_t data) { return spv::Op(data & spv::OpCodeMask); }
|
||||
@ -264,7 +270,8 @@ private:
|
||||
std::unordered_map<spv::Id, int> fnCalls;
|
||||
|
||||
posmap_t typeConstPos; // word positions that define types & consts (ordered)
|
||||
posmap_rev_t typeConstPosR; // reverse map from IDs to positions
|
||||
posmap_rev_t idPosR; // reverse map from IDs to positions
|
||||
typesize_map_t idTypeSizeMap; // maps each ID to its type size, if known.
|
||||
|
||||
std::vector<spv::Id> idMapL; // ID {M}ap from {L}ocal to {G}lobal IDs
|
||||
|
||||
|
||||
@ -38,14 +38,18 @@
|
||||
// SpvBuilder.h.
|
||||
//
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <cassert>
|
||||
#include <cstdlib>
|
||||
|
||||
#include <unordered_set>
|
||||
#include <algorithm>
|
||||
|
||||
#include "SpvBuilder.h"
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
#include "hex_float.h"
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <cstdio>
|
||||
#endif
|
||||
@ -785,6 +789,36 @@ Id Builder::makeDoubleConstant(double d, bool specConstant)
|
||||
return c->getResultId();
|
||||
}
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
Id Builder::makeFloat16Constant(float f16, bool specConstant)
|
||||
{
|
||||
Op opcode = specConstant ? OpSpecConstant : OpConstant;
|
||||
Id typeId = makeFloatType(16);
|
||||
|
||||
spvutils::HexFloat<spvutils::FloatProxy<float>> fVal(f16);
|
||||
spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>> f16Val(0);
|
||||
fVal.castTo(f16Val, spvutils::kRoundToZero);
|
||||
|
||||
unsigned value = f16Val.value().getAsFloat().get_value();
|
||||
|
||||
// See if we already made it. Applies only to regular constants, because specialization constants
|
||||
// must remain distinct for the purpose of applying a SpecId decoration.
|
||||
if (!specConstant) {
|
||||
Id existing = findScalarConstant(OpTypeFloat, opcode, typeId, value);
|
||||
if (existing)
|
||||
return existing;
|
||||
}
|
||||
|
||||
Instruction* c = new Instruction(getUniqueId(), typeId, opcode);
|
||||
c->addImmediateOperand(value);
|
||||
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(c));
|
||||
groupedConstants[OpTypeFloat].push_back(c);
|
||||
module.mapInstruction(c);
|
||||
|
||||
return c->getResultId();
|
||||
}
|
||||
#endif
|
||||
|
||||
Id Builder::findCompositeConstant(Op typeClass, std::vector<Id>& comps) const
|
||||
{
|
||||
Instruction* constant = 0;
|
||||
@ -907,7 +941,7 @@ void Builder::addLine(Id target, Id fileName, int lineNum, int column)
|
||||
|
||||
void Builder::addDecoration(Id id, Decoration decoration, int num)
|
||||
{
|
||||
if (decoration == (spv::Decoration)spv::BadValue)
|
||||
if (decoration == spv::DecorationMax)
|
||||
return;
|
||||
Instruction* dec = new Instruction(OpDecorate);
|
||||
dec->addIdOperand(id);
|
||||
@ -931,7 +965,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat
|
||||
}
|
||||
|
||||
// Comments in header
|
||||
Function* Builder::makeEntrypoint(const char* entryPoint)
|
||||
Function* Builder::makeEntryPoint(const char* entryPoint)
|
||||
{
|
||||
assert(! mainFunction);
|
||||
|
||||
@ -1328,15 +1362,20 @@ Id Builder::createRvalueSwizzle(Decoration precision, Id typeId, Id source, std:
|
||||
// Comments in header
|
||||
Id Builder::createLvalueSwizzle(Id typeId, Id target, Id source, std::vector<unsigned>& channels)
|
||||
{
|
||||
assert(getNumComponents(source) == (int)channels.size());
|
||||
if (channels.size() == 1 && getNumComponents(source) == 1)
|
||||
return createCompositeInsert(source, target, typeId, channels.front());
|
||||
|
||||
Instruction* swizzle = new Instruction(getUniqueId(), typeId, OpVectorShuffle);
|
||||
assert(isVector(source));
|
||||
assert(isVector(target));
|
||||
swizzle->addIdOperand(target);
|
||||
if (accessChain.component != NoResult)
|
||||
// For dynamic component selection, source does not involve in l-value swizzle
|
||||
swizzle->addIdOperand(target);
|
||||
else {
|
||||
assert(getNumComponents(source) == (int)channels.size());
|
||||
assert(isVector(source));
|
||||
swizzle->addIdOperand(source);
|
||||
}
|
||||
|
||||
// Set up an identity shuffle from the base value to the result value
|
||||
unsigned int components[4];
|
||||
@ -1345,8 +1384,12 @@ Id Builder::createLvalueSwizzle(Id typeId, Id target, Id source, std::vector<uns
|
||||
components[i] = i;
|
||||
|
||||
// Punch in the l-value swizzle
|
||||
for (int i = 0; i < (int)channels.size(); ++i)
|
||||
for (int i = 0; i < (int)channels.size(); ++i) {
|
||||
if (accessChain.component != NoResult)
|
||||
components[i] = channels[i]; // Only shuffle the base value
|
||||
else
|
||||
components[channels[i]] = numTargetComponents + i;
|
||||
}
|
||||
|
||||
// finish the instruction with these components selectors
|
||||
for (int i = 0; i < numTargetComponents; ++i)
|
||||
@ -2118,9 +2161,6 @@ void Builder::accessChainStore(Id rvalue)
|
||||
transferAccessChainSwizzle(true);
|
||||
Id base = collapseAccessChain();
|
||||
|
||||
if (accessChain.swizzle.size() && accessChain.component != NoResult)
|
||||
logger->missingFunctionality("simultaneous l-value swizzle and dynamic component selection");
|
||||
|
||||
// If swizzle still exists, it is out-of-order or not full, we must load the target vector,
|
||||
// extract and insert elements to perform writeMask and/or swizzle.
|
||||
Id source = NoResult;
|
||||
@ -2312,7 +2352,11 @@ void Builder::dump(std::vector<unsigned int>& out) const
|
||||
capInst.dump(out);
|
||||
}
|
||||
|
||||
// TBD: OpExtension ...
|
||||
for (auto it = extensions.cbegin(); it != extensions.cend(); ++it) {
|
||||
Instruction extInst(0, 0, OpExtension);
|
||||
extInst.addStringOperand(*it);
|
||||
extInst.dump(out);
|
||||
}
|
||||
|
||||
dumpInstructions(out, imports);
|
||||
Instruction memInst(0, 0, OpMemoryModel);
|
||||
@ -2331,10 +2375,10 @@ void Builder::dump(std::vector<unsigned int>& out) const
|
||||
sourceInst.addImmediateOperand(sourceVersion);
|
||||
sourceInst.dump(out);
|
||||
}
|
||||
for (int e = 0; e < (int)extensions.size(); ++e) {
|
||||
Instruction extInst(0, 0, OpSourceExtension);
|
||||
extInst.addStringOperand(extensions[e]);
|
||||
extInst.dump(out);
|
||||
for (int e = 0; e < (int)sourceExtensions.size(); ++e) {
|
||||
Instruction sourceExtInst(0, 0, OpSourceExtension);
|
||||
sourceExtInst.addStringOperand(sourceExtensions[e]);
|
||||
sourceExtInst.dump(out);
|
||||
}
|
||||
dumpInstructions(out, names);
|
||||
dumpInstructions(out, lines);
|
||||
|
||||
@ -70,7 +70,8 @@ public:
|
||||
source = lang;
|
||||
sourceVersion = version;
|
||||
}
|
||||
void addSourceExtension(const char* ext) { extensions.push_back(ext); }
|
||||
void addSourceExtension(const char* ext) { sourceExtensions.push_back(ext); }
|
||||
void addExtension(const char* ext) { extensions.insert(ext); }
|
||||
Id import(const char*);
|
||||
void setMemoryModel(spv::AddressingModel addr, spv::MemoryModel mem)
|
||||
{
|
||||
@ -190,6 +191,9 @@ public:
|
||||
Id makeUint64Constant(unsigned long long u, bool specConstant = false) { return makeInt64Constant(makeUintType(64), u, specConstant); }
|
||||
Id makeFloatConstant(float f, bool specConstant = false);
|
||||
Id makeDoubleConstant(double d, bool specConstant = false);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
Id makeFloat16Constant(float f16, bool specConstant = false);
|
||||
#endif
|
||||
|
||||
// Turn the array of constants into a proper spv constant of the requested type.
|
||||
Id makeCompositeConstant(Id type, std::vector<Id>& comps, bool specConst = false);
|
||||
@ -209,7 +213,7 @@ public:
|
||||
|
||||
// Make the entry-point function. The returned pointer is only valid
|
||||
// for the lifetime of this builder.
|
||||
Function* makeEntrypoint(const char*);
|
||||
Function* makeEntryPoint(const char*);
|
||||
|
||||
// Make a shader-style function, and create its entry block if entry is non-zero.
|
||||
// Return the function, pass back the entry.
|
||||
@ -466,7 +470,7 @@ public:
|
||||
|
||||
//
|
||||
// the SPIR-V builder maintains a single active chain that
|
||||
// the following methods operated on
|
||||
// the following methods operate on
|
||||
//
|
||||
|
||||
// for external save and restore
|
||||
@ -551,7 +555,8 @@ public:
|
||||
|
||||
SourceLanguage source;
|
||||
int sourceVersion;
|
||||
std::vector<const char*> extensions;
|
||||
std::set<const char*> extensions;
|
||||
std::vector<const char*> sourceExtensions;
|
||||
AddressingModel addressModel;
|
||||
MemoryModel memoryModel;
|
||||
std::set<spv::Capability> capabilities;
|
||||
|
||||
81
SPIRV/bitutils.h
Normal file
81
SPIRV/bitutils.h
Normal file
@ -0,0 +1,81 @@
|
||||
// Copyright (c) 2015-2016 The Khronos Group Inc.
|
||||
//
|
||||
// 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.
|
||||
|
||||
#ifndef LIBSPIRV_UTIL_BITUTILS_H_
|
||||
#define LIBSPIRV_UTIL_BITUTILS_H_
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
|
||||
namespace spvutils {
|
||||
|
||||
// Performs a bitwise copy of source to the destination type Dest.
|
||||
template <typename Dest, typename Src>
|
||||
Dest BitwiseCast(Src source) {
|
||||
Dest dest;
|
||||
static_assert(sizeof(source) == sizeof(dest),
|
||||
"BitwiseCast: Source and destination must have the same size");
|
||||
std::memcpy(&dest, &source, sizeof(dest));
|
||||
return dest;
|
||||
}
|
||||
|
||||
// SetBits<T, First, Num> returns an integer of type <T> with bits set
|
||||
// for position <First> through <First + Num - 1>, counting from the least
|
||||
// significant bit. In particular when Num == 0, no positions are set to 1.
|
||||
// A static assert will be triggered if First + Num > sizeof(T) * 8, that is,
|
||||
// a bit that will not fit in the underlying type is set.
|
||||
template <typename T, size_t First = 0, size_t Num = 0>
|
||||
struct SetBits {
|
||||
static_assert(First < sizeof(T) * 8,
|
||||
"Tried to set a bit that is shifted too far.");
|
||||
const static T get = (T(1) << First) | SetBits<T, First + 1, Num - 1>::get;
|
||||
};
|
||||
|
||||
template <typename T, size_t Last>
|
||||
struct SetBits<T, Last, 0> {
|
||||
const static T get = T(0);
|
||||
};
|
||||
|
||||
// This is all compile-time so we can put our tests right here.
|
||||
static_assert(SetBits<uint32_t, 0, 0>::get == uint32_t(0x00000000),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 0, 1>::get == uint32_t(0x00000001),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 31, 1>::get == uint32_t(0x80000000),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 1, 2>::get == uint32_t(0x00000006),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 30, 2>::get == uint32_t(0xc0000000),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 0, 31>::get == uint32_t(0x7FFFFFFF),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 0, 32>::get == uint32_t(0xFFFFFFFF),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint32_t, 16, 16>::get == uint32_t(0xFFFF0000),
|
||||
"SetBits failed");
|
||||
|
||||
static_assert(SetBits<uint64_t, 0, 1>::get == uint64_t(0x0000000000000001LL),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint64_t, 63, 1>::get == uint64_t(0x8000000000000000LL),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint64_t, 62, 2>::get == uint64_t(0xc000000000000000LL),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint64_t, 31, 1>::get == uint64_t(0x0000000080000000LL),
|
||||
"SetBits failed");
|
||||
static_assert(SetBits<uint64_t, 16, 16>::get == uint64_t(0x00000000FFFF0000LL),
|
||||
"SetBits failed");
|
||||
|
||||
} // namespace spvutils
|
||||
|
||||
#endif // LIBSPIRV_UTIL_BITUTILS_H_
|
||||
@ -36,24 +36,33 @@
|
||||
// Disassembler for SPIR-V.
|
||||
//
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <cassert>
|
||||
#include <iomanip>
|
||||
#include <stack>
|
||||
#include <sstream>
|
||||
#include <cstring>
|
||||
|
||||
namespace spv {
|
||||
// Include C-based headers that don't have a namespace
|
||||
#include "GLSL.std.450.h"
|
||||
}
|
||||
const char* GlslStd450DebugNames[spv::GLSLstd450Count];
|
||||
|
||||
#include "disassemble.h"
|
||||
#include "doc.h"
|
||||
|
||||
namespace spv {
|
||||
extern "C" {
|
||||
// Include C-based headers that don't have a namespace
|
||||
#include "GLSL.std.450.h"
|
||||
#ifdef AMD_EXTENSIONS
|
||||
#include "GLSL.ext.AMD.h"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
const char* GlslStd450DebugNames[spv::GLSLstd450Count];
|
||||
|
||||
namespace spv {
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
static const char* GLSLextAMDGetDebugNames(const char*, unsigned);
|
||||
#endif
|
||||
|
||||
static void Kill(std::ostream& out, const char* message)
|
||||
{
|
||||
@ -64,6 +73,9 @@ static void Kill(std::ostream& out, const char* message)
|
||||
// used to identify the extended instruction library imported when printing
|
||||
enum ExtInstSet {
|
||||
GLSL450Inst,
|
||||
#ifdef AMD_EXTENSIONS
|
||||
GLSLextAMDInst,
|
||||
#endif
|
||||
OpenCLExtInst,
|
||||
};
|
||||
|
||||
@ -205,10 +217,12 @@ void SpirvStream::outputIndent()
|
||||
|
||||
void SpirvStream::formatId(Id id, std::stringstream& idStream)
|
||||
{
|
||||
if (id != 0) {
|
||||
// On instructions with no IDs, this is called with "0", which does not
|
||||
// have to be within ID bounds on null shaders.
|
||||
if (id >= bound)
|
||||
Kill(out, "Bad <id>");
|
||||
|
||||
if (id != 0) {
|
||||
idStream << id;
|
||||
if (idDescriptor[id].size() > 0)
|
||||
idStream << "(" << idDescriptor[id] << ")";
|
||||
@ -322,7 +336,7 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
|
||||
idDescriptor[resultId] = (const char*)(&stream[word]);
|
||||
}
|
||||
else {
|
||||
if (idDescriptor[resultId].size() == 0) {
|
||||
if (resultId != 0 && idDescriptor[resultId].size() == 0) {
|
||||
switch (opCode) {
|
||||
case OpTypeInt:
|
||||
idDescriptor[resultId] = "int";
|
||||
@ -446,14 +460,26 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
|
||||
--numOperands;
|
||||
if (opCode == OpExtInst) {
|
||||
ExtInstSet extInstSet = GLSL450Inst;
|
||||
if (0 == memcmp("OpenCL", (const char*)(idDescriptor[stream[word-2]].c_str()), 6)) {
|
||||
const char* name = idDescriptor[stream[word - 2]].c_str();
|
||||
if (0 == memcmp("OpenCL", name, 6)) {
|
||||
extInstSet = OpenCLExtInst;
|
||||
#ifdef AMD_EXTENSIONS
|
||||
} else if (strcmp(spv::E_SPV_AMD_shader_ballot, name) == 0 ||
|
||||
strcmp(spv::E_SPV_AMD_shader_trinary_minmax, name) == 0 ||
|
||||
strcmp(spv::E_SPV_AMD_shader_explicit_vertex_parameter, name) == 0 ||
|
||||
strcmp(spv::E_SPV_AMD_gcn_shader, name) == 0) {
|
||||
extInstSet = GLSLextAMDInst;
|
||||
#endif
|
||||
}
|
||||
unsigned entrypoint = stream[word - 1];
|
||||
if (extInstSet == GLSL450Inst) {
|
||||
if (entrypoint < GLSLstd450Count) {
|
||||
out << "(" << GlslStd450DebugNames[entrypoint] << ")";
|
||||
}
|
||||
#ifdef AMD_EXTENSIONS
|
||||
} else if (extInstSet == GLSLextAMDInst) {
|
||||
out << "(" << GLSLextAMDGetDebugNames(name, entrypoint) << ")";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -561,6 +587,50 @@ static void GLSLstd450GetDebugNames(const char** names)
|
||||
names[GLSLstd450InterpolateAtOffset] = "InterpolateAtOffset";
|
||||
}
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
static const char* GLSLextAMDGetDebugNames(const char* name, unsigned entrypoint)
|
||||
{
|
||||
if (strcmp(name, spv::E_SPV_AMD_shader_ballot) == 0) {
|
||||
switch (entrypoint) {
|
||||
case SwizzleInvocationsAMD: return "SwizzleInvocationsAMD";
|
||||
case SwizzleInvocationsMaskedAMD: return "SwizzleInvocationsMaskedAMD";
|
||||
case WriteInvocationAMD: return "WriteInvocationAMD";
|
||||
case MbcntAMD: return "MbcntAMD";
|
||||
default: return "Bad";
|
||||
}
|
||||
} else if (strcmp(name, spv::E_SPV_AMD_shader_trinary_minmax) == 0) {
|
||||
switch (entrypoint) {
|
||||
case FMin3AMD: return "FMin3AMD";
|
||||
case UMin3AMD: return "UMin3AMD";
|
||||
case SMin3AMD: return "SMin3AMD";
|
||||
case FMax3AMD: return "FMax3AMD";
|
||||
case UMax3AMD: return "UMax3AMD";
|
||||
case SMax3AMD: return "SMax3AMD";
|
||||
case FMid3AMD: return "FMid3AMD";
|
||||
case UMid3AMD: return "UMid3AMD";
|
||||
case SMid3AMD: return "SMid3AMD";
|
||||
default: return "Bad";
|
||||
}
|
||||
} else if (strcmp(name, spv::E_SPV_AMD_shader_explicit_vertex_parameter) == 0) {
|
||||
switch (entrypoint) {
|
||||
case InterpolateAtVertexAMD: return "InterpolateAtVertexAMD";
|
||||
default: return "Bad";
|
||||
}
|
||||
}
|
||||
else if (strcmp(name, spv::E_SPV_AMD_gcn_shader) == 0) {
|
||||
switch (entrypoint) {
|
||||
case CubeFaceIndexAMD: return "CubeFaceIndexAMD";
|
||||
case CubeFaceCoordAMD: return "CubeFaceCoordAMD";
|
||||
case TimeAMD: return "TimeAMD";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return "Bad";
|
||||
}
|
||||
#endif
|
||||
|
||||
void Disassemble(std::ostream& out, const std::vector<unsigned int>& stream)
|
||||
{
|
||||
SpirvStream SpirvStream(out, stream);
|
||||
|
||||
104
SPIRV/doc.cpp
104
SPIRV/doc.cpp
@ -33,7 +33,7 @@
|
||||
//POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//
|
||||
// 1) Programatically fill in instruction/operand information.
|
||||
// 1) Programmatically fill in instruction/operand information.
|
||||
// This can be used for disassembly, printing documentation, etc.
|
||||
//
|
||||
// 2) Print documentation from this parameterization.
|
||||
@ -41,10 +41,19 @@
|
||||
|
||||
#include "doc.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <algorithm>
|
||||
|
||||
namespace spv {
|
||||
extern "C" {
|
||||
// Include C-based headers that don't have a namespace
|
||||
#ifdef AMD_EXTENSIONS
|
||||
#include "GLSL.ext.AMD.h"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
namespace spv {
|
||||
|
||||
//
|
||||
@ -243,6 +252,10 @@ const char* DecorationString(int decoration)
|
||||
|
||||
case DecorationCeiling:
|
||||
default: return "Bad";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case 4999: return "ExplicitInterpAMD";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -298,6 +311,26 @@ const char* BuiltInString(int builtIn)
|
||||
|
||||
case BuiltInCeiling:
|
||||
default: return "Bad";
|
||||
|
||||
case 4416: return "SubgroupEqMaskKHR";
|
||||
case 4417: return "SubgroupGeMaskKHR";
|
||||
case 4418: return "SubgroupGtMaskKHR";
|
||||
case 4419: return "SubgroupLeMaskKHR";
|
||||
case 4420: return "SubgroupLtMaskKHR";
|
||||
|
||||
case 4424: return "BaseVertex";
|
||||
case 4425: return "BaseInstance";
|
||||
case 4426: return "DrawIndex";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case 4992: return "BaryCoordNoPerspAMD";
|
||||
case 4993: return "BaryCoordNoPerspCentroidAMD";
|
||||
case 4994: return "BaryCoordNoPerspSampleAMD";
|
||||
case 4995: return "BaryCoordSmoothAMD";
|
||||
case 4996: return "BaryCoordSmoothCentroidAMD";
|
||||
case 4997: return "BaryCoordSmoothSampleAMD";
|
||||
case 4998: return "BaryCoordPullModelAMD";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -776,6 +809,9 @@ const char* CapabilityString(int info)
|
||||
|
||||
case CapabilityCeiling:
|
||||
default: return "Bad";
|
||||
|
||||
case 4423: return "SubgroupBallotKHR";
|
||||
case 4427: return "DrawParameters";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1107,12 +1143,26 @@ const char* OpcodeString(int op)
|
||||
case OpcodeCeiling:
|
||||
default:
|
||||
return "Bad";
|
||||
|
||||
case 4421: return "OpSubgroupBallotKHR";
|
||||
case 4422: return "OpSubgroupFirstInvocationKHR";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case 5000: return "OpGroupIAddNonUniformAMD";
|
||||
case 5001: return "OpGroupFAddNonUniformAMD";
|
||||
case 5002: return "OpGroupFMinNonUniformAMD";
|
||||
case 5003: return "OpGroupUMinNonUniformAMD";
|
||||
case 5004: return "OpGroupSMinNonUniformAMD";
|
||||
case 5005: return "OpGroupFMaxNonUniformAMD";
|
||||
case 5006: return "OpGroupUMaxNonUniformAMD";
|
||||
case 5007: return "OpGroupSMaxNonUniformAMD";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// The set of objects that hold all the instruction/operand
|
||||
// parameterization information.
|
||||
InstructionParameters InstructionDesc[OpcodeCeiling];
|
||||
InstructionParameters InstructionDesc[OpCodeMask + 1];
|
||||
OperandParameters ExecutionModeOperands[ExecutionModeCeiling];
|
||||
OperandParameters DecorationOperands[DecorationCeiling];
|
||||
|
||||
@ -2703,6 +2753,52 @@ void Parameterize()
|
||||
InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Num Events'");
|
||||
InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Wait Events'");
|
||||
InstructionDesc[OpEnqueueMarker].operands.push(OperandId, "'Ret Event'");
|
||||
|
||||
InstructionDesc[OpSubgroupBallotKHR].operands.push(OperandId, "'Predicate'");
|
||||
|
||||
InstructionDesc[OpSubgroupFirstInvocationKHR].operands.push(OperandId, "'Value'");
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandId, "'X'");
|
||||
|
||||
InstructionDesc[OpGroupFAddNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupFAddNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupFAddNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupFAddNonUniformAMD].operands.push(OperandId, "'X'");
|
||||
|
||||
InstructionDesc[OpGroupUMinNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupUMinNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupUMinNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupUMinNonUniformAMD].operands.push(OperandId, "'X'");
|
||||
|
||||
InstructionDesc[OpGroupSMinNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupSMinNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupSMinNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupSMinNonUniformAMD].operands.push(OperandId, "X");
|
||||
|
||||
InstructionDesc[OpGroupFMinNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupFMinNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupFMinNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupFMinNonUniformAMD].operands.push(OperandId, "X");
|
||||
|
||||
InstructionDesc[OpGroupUMaxNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupUMaxNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupUMaxNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupUMaxNonUniformAMD].operands.push(OperandId, "X");
|
||||
|
||||
InstructionDesc[OpGroupSMaxNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupSMaxNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupSMaxNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupSMaxNonUniformAMD].operands.push(OperandId, "X");
|
||||
|
||||
InstructionDesc[OpGroupFMaxNonUniformAMD].capabilities.push_back(CapabilityGroups);
|
||||
InstructionDesc[OpGroupFMaxNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupFMaxNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupFMaxNonUniformAMD].operands.push(OperandId, "X");
|
||||
#endif
|
||||
}
|
||||
|
||||
}; // end spv namespace
|
||||
|
||||
1078
SPIRV/hex_float.h
Normal file
1078
SPIRV/hex_float.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -47,11 +47,11 @@ namespace spv {
|
||||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10000
|
||||
#define SPV_REVISION 3
|
||||
#define SPV_REVISION 8
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010000;
|
||||
static const unsigned int Revision = 3;
|
||||
static const unsigned int Revision = 8;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
|
||||
@ -62,6 +62,7 @@ enum SourceLanguage {
|
||||
SourceLanguageOpenCL_C = 3,
|
||||
SourceLanguageOpenCL_CPP = 4,
|
||||
SourceLanguageHLSL = 5,
|
||||
SourceLanguageMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ExecutionModel {
|
||||
@ -72,18 +73,21 @@ enum ExecutionModel {
|
||||
ExecutionModelFragment = 4,
|
||||
ExecutionModelGLCompute = 5,
|
||||
ExecutionModelKernel = 6,
|
||||
ExecutionModelMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum AddressingModel {
|
||||
AddressingModelLogical = 0,
|
||||
AddressingModelPhysical32 = 1,
|
||||
AddressingModelPhysical64 = 2,
|
||||
AddressingModelMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum MemoryModel {
|
||||
MemoryModelSimple = 0,
|
||||
MemoryModelGLSL450 = 1,
|
||||
MemoryModelOpenCL = 2,
|
||||
MemoryModelMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ExecutionMode {
|
||||
@ -118,6 +122,7 @@ enum ExecutionMode {
|
||||
ExecutionModeOutputTriangleStrip = 29,
|
||||
ExecutionModeVecTypeHint = 30,
|
||||
ExecutionModeContractionOff = 31,
|
||||
ExecutionModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum StorageClass {
|
||||
@ -133,6 +138,7 @@ enum StorageClass {
|
||||
StorageClassPushConstant = 9,
|
||||
StorageClassAtomicCounter = 10,
|
||||
StorageClassImage = 11,
|
||||
StorageClassMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum Dim {
|
||||
@ -143,6 +149,7 @@ enum Dim {
|
||||
DimRect = 4,
|
||||
DimBuffer = 5,
|
||||
DimSubpassData = 6,
|
||||
DimMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum SamplerAddressingMode {
|
||||
@ -151,11 +158,13 @@ enum SamplerAddressingMode {
|
||||
SamplerAddressingModeClamp = 2,
|
||||
SamplerAddressingModeRepeat = 3,
|
||||
SamplerAddressingModeRepeatMirrored = 4,
|
||||
SamplerAddressingModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum SamplerFilterMode {
|
||||
SamplerFilterModeNearest = 0,
|
||||
SamplerFilterModeLinear = 1,
|
||||
SamplerFilterModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ImageFormat {
|
||||
@ -199,6 +208,7 @@ enum ImageFormat {
|
||||
ImageFormatRg8ui = 37,
|
||||
ImageFormatR16ui = 38,
|
||||
ImageFormatR8ui = 39,
|
||||
ImageFormatMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ImageChannelOrder {
|
||||
@ -221,6 +231,8 @@ enum ImageChannelOrder {
|
||||
ImageChannelOrdersRGBx = 16,
|
||||
ImageChannelOrdersRGBA = 17,
|
||||
ImageChannelOrdersBGRA = 18,
|
||||
ImageChannelOrderABGR = 19,
|
||||
ImageChannelOrderMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ImageChannelDataType {
|
||||
@ -241,6 +253,7 @@ enum ImageChannelDataType {
|
||||
ImageChannelDataTypeFloat = 14,
|
||||
ImageChannelDataTypeUnormInt24 = 15,
|
||||
ImageChannelDataTypeUnormInt101010_2 = 16,
|
||||
ImageChannelDataTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ImageOperandsShift {
|
||||
@ -252,6 +265,7 @@ enum ImageOperandsShift {
|
||||
ImageOperandsConstOffsetsShift = 5,
|
||||
ImageOperandsSampleShift = 6,
|
||||
ImageOperandsMinLodShift = 7,
|
||||
ImageOperandsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum ImageOperandsMask {
|
||||
@ -272,6 +286,7 @@ enum FPFastMathModeShift {
|
||||
FPFastMathModeNSZShift = 2,
|
||||
FPFastMathModeAllowRecipShift = 3,
|
||||
FPFastMathModeFastShift = 4,
|
||||
FPFastMathModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum FPFastMathModeMask {
|
||||
@ -288,17 +303,20 @@ enum FPRoundingMode {
|
||||
FPRoundingModeRTZ = 1,
|
||||
FPRoundingModeRTP = 2,
|
||||
FPRoundingModeRTN = 3,
|
||||
FPRoundingModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum LinkageType {
|
||||
LinkageTypeExport = 0,
|
||||
LinkageTypeImport = 1,
|
||||
LinkageTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum AccessQualifier {
|
||||
AccessQualifierReadOnly = 0,
|
||||
AccessQualifierWriteOnly = 1,
|
||||
AccessQualifierReadWrite = 2,
|
||||
AccessQualifierMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum FunctionParameterAttribute {
|
||||
@ -310,6 +328,7 @@ enum FunctionParameterAttribute {
|
||||
FunctionParameterAttributeNoCapture = 5,
|
||||
FunctionParameterAttributeNoWrite = 6,
|
||||
FunctionParameterAttributeNoReadWrite = 7,
|
||||
FunctionParameterAttributeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum Decoration {
|
||||
@ -356,6 +375,7 @@ enum Decoration {
|
||||
DecorationNoContraction = 42,
|
||||
DecorationInputAttachmentIndex = 43,
|
||||
DecorationAlignment = 44,
|
||||
DecorationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum BuiltIn {
|
||||
@ -400,11 +420,21 @@ enum BuiltIn {
|
||||
BuiltInSubgroupLocalInvocationId = 41,
|
||||
BuiltInVertexIndex = 42,
|
||||
BuiltInInstanceIndex = 43,
|
||||
BuiltInSubgroupEqMaskKHR = 4416,
|
||||
BuiltInSubgroupGeMaskKHR = 4417,
|
||||
BuiltInSubgroupGtMaskKHR = 4418,
|
||||
BuiltInSubgroupLeMaskKHR = 4419,
|
||||
BuiltInSubgroupLtMaskKHR = 4420,
|
||||
BuiltInBaseVertex = 4424,
|
||||
BuiltInBaseInstance = 4425,
|
||||
BuiltInDrawIndex = 4426,
|
||||
BuiltInMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum SelectionControlShift {
|
||||
SelectionControlFlattenShift = 0,
|
||||
SelectionControlDontFlattenShift = 1,
|
||||
SelectionControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum SelectionControlMask {
|
||||
@ -416,6 +446,7 @@ enum SelectionControlMask {
|
||||
enum LoopControlShift {
|
||||
LoopControlUnrollShift = 0,
|
||||
LoopControlDontUnrollShift = 1,
|
||||
LoopControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum LoopControlMask {
|
||||
@ -429,6 +460,7 @@ enum FunctionControlShift {
|
||||
FunctionControlDontInlineShift = 1,
|
||||
FunctionControlPureShift = 2,
|
||||
FunctionControlConstShift = 3,
|
||||
FunctionControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum FunctionControlMask {
|
||||
@ -450,6 +482,7 @@ enum MemorySemanticsShift {
|
||||
MemorySemanticsCrossWorkgroupMemoryShift = 9,
|
||||
MemorySemanticsAtomicCounterMemoryShift = 10,
|
||||
MemorySemanticsImageMemoryShift = 11,
|
||||
MemorySemanticsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum MemorySemanticsMask {
|
||||
@ -470,6 +503,7 @@ enum MemoryAccessShift {
|
||||
MemoryAccessVolatileShift = 0,
|
||||
MemoryAccessAlignedShift = 1,
|
||||
MemoryAccessNontemporalShift = 2,
|
||||
MemoryAccessMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum MemoryAccessMask {
|
||||
@ -485,22 +519,26 @@ enum Scope {
|
||||
ScopeWorkgroup = 2,
|
||||
ScopeSubgroup = 3,
|
||||
ScopeInvocation = 4,
|
||||
ScopeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum GroupOperation {
|
||||
GroupOperationReduce = 0,
|
||||
GroupOperationInclusiveScan = 1,
|
||||
GroupOperationExclusiveScan = 2,
|
||||
GroupOperationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum KernelEnqueueFlags {
|
||||
KernelEnqueueFlagsNoWait = 0,
|
||||
KernelEnqueueFlagsWaitKernel = 1,
|
||||
KernelEnqueueFlagsWaitWorkGroup = 2,
|
||||
KernelEnqueueFlagsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum KernelProfilingInfoShift {
|
||||
KernelProfilingInfoCmdExecTimeShift = 0,
|
||||
KernelProfilingInfoMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum KernelProfilingInfoMask {
|
||||
@ -565,6 +603,9 @@ enum Capability {
|
||||
CapabilityStorageImageReadWithoutFormat = 55,
|
||||
CapabilityStorageImageWriteWithoutFormat = 56,
|
||||
CapabilityMultiViewport = 57,
|
||||
CapabilitySubgroupBallotKHR = 4423,
|
||||
CapabilityDrawParameters = 4427,
|
||||
CapabilityMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
enum Op {
|
||||
@ -862,6 +903,9 @@ enum Op {
|
||||
OpAtomicFlagTestAndSet = 318,
|
||||
OpAtomicFlagClear = 319,
|
||||
OpImageSparseRead = 320,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
// Overload operator| for mask bit combining
|
||||
@ -878,3 +922,4 @@ inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfil
|
||||
} // end namespace spv
|
||||
|
||||
#endif // #ifndef spirv_HPP
|
||||
|
||||
|
||||
@ -64,8 +64,7 @@ class Module;
|
||||
const Id NoResult = 0;
|
||||
const Id NoType = 0;
|
||||
|
||||
const unsigned int BadValue = 0xFFFFFFFF;
|
||||
const Decoration NoPrecision = (Decoration)BadValue;
|
||||
const Decoration NoPrecision = DecorationMax;
|
||||
const MemorySemanticsMask MemorySemanticsAllMemory =
|
||||
(MemorySemanticsMask)(MemorySemanticsSequentiallyConsistentMask |
|
||||
MemorySemanticsUniformMemoryMask |
|
||||
|
||||
@ -24,6 +24,7 @@ set(LIBRARIES
|
||||
OSDependent
|
||||
HLSL
|
||||
SPIRV
|
||||
SPVRemapper
|
||||
glslang-default-resource-limits)
|
||||
|
||||
if(WIN32)
|
||||
|
||||
@ -241,8 +241,10 @@ std::string GetDefaultTBuiltInResourceString()
|
||||
void DecodeResourceLimits(TBuiltInResource* resources, char* config)
|
||||
{
|
||||
const char* delims = " \t\n\r";
|
||||
#pragma warning(suppress: 4996)
|
||||
const char* token = strtok(config, delims);
|
||||
while (token) {
|
||||
#pragma warning(suppress: 4996)
|
||||
const char* valueStr = strtok(0, delims);
|
||||
if (valueStr == 0 || ! (valueStr[0] == '-' || (valueStr[0] >= '0' && valueStr[0] <= '9'))) {
|
||||
printf("Error: '%s' bad .conf file. Each name must be followed by one number.\n", valueStr ? valueStr : "");
|
||||
@ -438,6 +440,7 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
|
||||
else
|
||||
printf("Warning: unrecognized limit (%s) in configuration file.\n", token);
|
||||
|
||||
#pragma warning(suppress: 4996)
|
||||
token = strtok(0, delims);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
//
|
||||
//Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
|
||||
//Copyright (C) 2013 LunarG, Inc.
|
||||
//Copyright (C) 2013-2016 LunarG, Inc.
|
||||
//
|
||||
//All rights reserved.
|
||||
//
|
||||
@ -46,9 +46,11 @@
|
||||
#include "../SPIRV/GLSL.std.450.h"
|
||||
#include "../SPIRV/doc.h"
|
||||
#include "../SPIRV/disassemble.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include <cctype>
|
||||
#include <cmath>
|
||||
#include <array>
|
||||
|
||||
#include "../glslang/OSDependent/osinclude.h"
|
||||
|
||||
@ -78,6 +80,9 @@ enum TOptions {
|
||||
EOptionOutputHexadecimal = (1 << 16),
|
||||
EOptionReadHlsl = (1 << 17),
|
||||
EOptionCascadingErrors = (1 << 18),
|
||||
EOptionAutoMapBindings = (1 << 19),
|
||||
EOptionFlattenUniformArrays = (1 << 20),
|
||||
EOptionNoStorageFormat = (1 << 21),
|
||||
};
|
||||
|
||||
//
|
||||
@ -96,7 +101,7 @@ enum TFailCode {
|
||||
//
|
||||
// Forward declarations.
|
||||
//
|
||||
EShLanguage FindLanguage(const std::string& name);
|
||||
EShLanguage FindLanguage(const std::string& name, bool parseSuffix=true);
|
||||
void CompileFile(const char* fileName, ShHandle);
|
||||
void usage();
|
||||
void FreeFileData(char** data);
|
||||
@ -155,6 +160,11 @@ int Options = 0;
|
||||
const char* ExecutableName = nullptr;
|
||||
const char* binaryFileName = nullptr;
|
||||
const char* entryPointName = nullptr;
|
||||
const char* shaderStageName = nullptr;
|
||||
|
||||
std::array<unsigned int, EShLangCount> baseSamplerBinding;
|
||||
std::array<unsigned int, EShLangCount> baseTextureBinding;
|
||||
std::array<unsigned int, EShLangCount> baseUboBinding;
|
||||
|
||||
//
|
||||
// Create the default name for saving a binary if -o is not provided.
|
||||
@ -203,6 +213,35 @@ void Error(const char* message)
|
||||
exit(EFailUsage);
|
||||
}
|
||||
|
||||
//
|
||||
// Process an optional binding base of the form:
|
||||
// --argname [stage] base
|
||||
// Where stage is one of the forms accepted by FindLanguage, and base is an integer
|
||||
//
|
||||
void ProcessBindingBase(int& argc, char**& argv, std::array<unsigned int, EShLangCount>& base)
|
||||
{
|
||||
if (argc < 2)
|
||||
usage();
|
||||
|
||||
if (!isdigit(argv[1][0])) {
|
||||
if (argc < 3) // this form needs one more argument
|
||||
usage();
|
||||
|
||||
// Parse form: --argname stage base
|
||||
const EShLanguage lang = FindLanguage(argv[1], false);
|
||||
base[lang] = atoi(argv[2]);
|
||||
argc-= 2;
|
||||
argv+= 2;
|
||||
} else {
|
||||
// Parse form: --argname base
|
||||
for (int lang=0; lang<EShLangCount; ++lang)
|
||||
base[lang] = atoi(argv[1]);
|
||||
|
||||
argc--;
|
||||
argv++;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Do all command-line argument parsing. This includes building up the work-items
|
||||
// to be processed later, and saving all the command-line options.
|
||||
@ -211,6 +250,10 @@ void Error(const char* message)
|
||||
//
|
||||
void ProcessArguments(int argc, char* argv[])
|
||||
{
|
||||
baseSamplerBinding.fill(0);
|
||||
baseTextureBinding.fill(0);
|
||||
baseUboBinding.fill(0);
|
||||
|
||||
ExecutableName = argv[0];
|
||||
NumWorkItems = argc; // will include some empties where the '-' options were, but it doesn't matter, they'll be 0
|
||||
Work = new glslang::TWorkItem*[NumWorkItems];
|
||||
@ -222,6 +265,40 @@ void ProcessArguments(int argc, char* argv[])
|
||||
for (; argc >= 1; argc--, argv++) {
|
||||
if (argv[0][0] == '-') {
|
||||
switch (argv[0][1]) {
|
||||
case '-':
|
||||
{
|
||||
std::string lowerword(argv[0]+2);
|
||||
std::transform(lowerword.begin(), lowerword.end(), lowerword.begin(), ::tolower);
|
||||
|
||||
// handle --word style options
|
||||
if (lowerword == "shift-sampler-bindings" || // synonyms
|
||||
lowerword == "shift-sampler-binding" ||
|
||||
lowerword == "ssb") {
|
||||
ProcessBindingBase(argc, argv, baseSamplerBinding);
|
||||
} else if (lowerword == "shift-texture-bindings" || // synonyms
|
||||
lowerword == "shift-texture-binding" ||
|
||||
lowerword == "stb") {
|
||||
ProcessBindingBase(argc, argv, baseTextureBinding);
|
||||
} else if (lowerword == "shift-ubo-bindings" || // synonyms
|
||||
lowerword == "shift-ubo-binding" ||
|
||||
lowerword == "sub") {
|
||||
ProcessBindingBase(argc, argv, baseUboBinding);
|
||||
} else if (lowerword == "auto-map-bindings" || // synonyms
|
||||
lowerword == "auto-map-binding" ||
|
||||
lowerword == "amb") {
|
||||
Options |= EOptionAutoMapBindings;
|
||||
} else if (lowerword == "flatten-uniform-arrays" || // synonyms
|
||||
lowerword == "flatten-uniform-array" ||
|
||||
lowerword == "fua") {
|
||||
Options |= EOptionFlattenUniformArrays;
|
||||
} else if (lowerword == "no-storage-format" || // synonyms
|
||||
lowerword == "nsf") {
|
||||
Options |= EOptionNoStorageFormat;
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'H':
|
||||
Options |= EOptionHumanReadableSpv;
|
||||
if ((Options & EOptionSpv) == 0) {
|
||||
@ -236,6 +313,15 @@ void ProcessArguments(int argc, char* argv[])
|
||||
Options |= EOptionVulkanRules;
|
||||
Options |= EOptionLinkProgram;
|
||||
break;
|
||||
case 'S':
|
||||
shaderStageName = argv[1];
|
||||
if (argc > 0) {
|
||||
argc--;
|
||||
argv++;
|
||||
}
|
||||
else
|
||||
Error("no <stage> specified for -S");
|
||||
break;
|
||||
case 'G':
|
||||
Options |= EOptionSpv;
|
||||
Options |= EOptionLinkProgram;
|
||||
@ -330,6 +416,10 @@ void ProcessArguments(int argc, char* argv[])
|
||||
// -o or -x makes no sense if there is no target binary
|
||||
if (binaryFileName && (Options & EOptionSpv) == 0)
|
||||
Error("no binary generation requested (e.g., -V)");
|
||||
|
||||
if ((Options & EOptionFlattenUniformArrays) != 0 &&
|
||||
(Options & EOptionReadHlsl) == 0)
|
||||
Error("uniform array flattening only valid when compiling HLSL source.");
|
||||
}
|
||||
|
||||
//
|
||||
@ -403,6 +493,25 @@ struct ShaderCompUnit {
|
||||
EShLanguage stage;
|
||||
std::string fileName;
|
||||
char** text; // memory owned/managed externally
|
||||
const char* fileNameList[1];
|
||||
|
||||
// Need to have a special constructors to adjust the fileNameList, since back end needs a list of ptrs
|
||||
ShaderCompUnit(EShLanguage istage, std::string &ifileName, char** itext)
|
||||
{
|
||||
stage = istage;
|
||||
fileName = ifileName;
|
||||
text = itext;
|
||||
fileNameList[0] = fileName.c_str();
|
||||
}
|
||||
|
||||
ShaderCompUnit(const ShaderCompUnit &rhs)
|
||||
{
|
||||
stage = rhs.stage;
|
||||
fileName = rhs.fileName;
|
||||
text = rhs.text;
|
||||
fileNameList[0] = fileName.c_str();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
//
|
||||
@ -429,9 +538,19 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
for (auto it = compUnits.cbegin(); it != compUnits.cend(); ++it) {
|
||||
const auto &compUnit = *it;
|
||||
glslang::TShader* shader = new glslang::TShader(compUnit.stage);
|
||||
shader->setStrings(compUnit.text, 1);
|
||||
shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, 1);
|
||||
if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
|
||||
shader->setEntryPoint(entryPointName);
|
||||
|
||||
shader->setShiftSamplerBinding(baseSamplerBinding[compUnit.stage]);
|
||||
shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]);
|
||||
shader->setShiftUboBinding(baseUboBinding[compUnit.stage]);
|
||||
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
|
||||
shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
|
||||
|
||||
if (Options & EOptionAutoMapBindings)
|
||||
shader->setAutoMapBindings(true);
|
||||
|
||||
shaders.push_back(shader);
|
||||
|
||||
const int defaultVersion = Options & EOptionDefaultDesktop? 110: 100;
|
||||
@ -470,6 +589,12 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
if (! (Options & EOptionOutputPreprocessed) && ! program.link(messages))
|
||||
LinkFailed = true;
|
||||
|
||||
// Map IO
|
||||
if (Options & EOptionSpv) {
|
||||
if (!program.mapIO())
|
||||
LinkFailed = true;
|
||||
}
|
||||
|
||||
// Report
|
||||
if (! (Options & EOptionSuppressInfolog) &&
|
||||
! (Options & EOptionMemoryLeakMode)) {
|
||||
@ -548,11 +673,11 @@ void CompileAndLinkShaderFiles()
|
||||
// they are all getting linked together.)
|
||||
glslang::TWorkItem* workItem;
|
||||
while (Worklist.remove(workItem)) {
|
||||
ShaderCompUnit compUnit = {
|
||||
ShaderCompUnit compUnit(
|
||||
FindLanguage(workItem->name),
|
||||
workItem->name,
|
||||
ReadFileData(workItem->name.c_str())
|
||||
};
|
||||
);
|
||||
|
||||
if (! compUnit.text) {
|
||||
usage();
|
||||
@ -596,6 +721,8 @@ int C_DECL main(int argc, char* argv[])
|
||||
printf("SPIR-V Version %s\n", spirvVersion.c_str());
|
||||
printf("GLSL.std.450 Version %d, Revision %d\n", GLSLstd450Version, GLSLstd450Revision);
|
||||
printf("Khronos Tool ID %d\n", glslang::GetKhronosToolId());
|
||||
printf("GL_KHR_vulkan_glsl version %d\n", 100);
|
||||
printf("ARB_GL_gl_spirv version %d\n", 100);
|
||||
if (Worklist.empty())
|
||||
return ESuccess;
|
||||
}
|
||||
@ -674,15 +801,25 @@ int C_DECL main(int argc, char* argv[])
|
||||
// .frag = fragment
|
||||
// .comp = compute
|
||||
//
|
||||
EShLanguage FindLanguage(const std::string& name)
|
||||
EShLanguage FindLanguage(const std::string& name, bool parseSuffix)
|
||||
{
|
||||
size_t ext = name.rfind('.');
|
||||
size_t ext = 0;
|
||||
|
||||
// Search for a suffix on a filename: e.g, "myfile.frag". If given
|
||||
// the suffix directly, we skip looking the '.'
|
||||
if (parseSuffix) {
|
||||
ext = name.rfind('.');
|
||||
if (ext == std::string::npos) {
|
||||
usage();
|
||||
return EShLangVertex;
|
||||
}
|
||||
++ext;
|
||||
}
|
||||
|
||||
std::string suffix = name.substr(ext, std::string::npos);
|
||||
if (shaderStageName)
|
||||
suffix = shaderStageName;
|
||||
|
||||
std::string suffix = name.substr(ext + 1, std::string::npos);
|
||||
if (suffix == "vert")
|
||||
return EShLangVertex;
|
||||
else if (suffix == "tesc")
|
||||
@ -776,6 +913,8 @@ void usage()
|
||||
" -H print human readable form of SPIR-V; turns on -V\n"
|
||||
" -E print pre-processed GLSL; cannot be used with -l;\n"
|
||||
" errors will appear on stderr.\n"
|
||||
" -S <stage> uses explicit stage specified, rather then the file extension.\n"
|
||||
" valid choices are vert, tesc, tese, geom, frag, or comp\n"
|
||||
" -c configuration dump;\n"
|
||||
" creates the default configuration file (redirect to a .conf file)\n"
|
||||
" -C cascading errors; risks crashes from accumulation of error recoveries\n"
|
||||
@ -795,6 +934,25 @@ void usage()
|
||||
" -v print version strings\n"
|
||||
" -w suppress warnings (except as required by #extension : warn)\n"
|
||||
" -x save 32-bit hexadecimal numbers as text, requires a binary option (e.g., -V)\n"
|
||||
"\n"
|
||||
" --shift-sampler-binding [stage] num set base binding number for samplers\n"
|
||||
" --ssb [stage] num synonym for --shift-sampler-binding\n"
|
||||
"\n"
|
||||
" --shift-texture-binding [stage] num set base binding number for textures\n"
|
||||
" --stb [stage] num synonym for --shift-texture-binding\n"
|
||||
"\n"
|
||||
" --shift-UBO-binding [stage] num set base binding number for UBOs\n"
|
||||
" --sub [stage] num synonym for --shift-UBO-binding\n"
|
||||
"\n"
|
||||
" --auto-map-bindings automatically bind uniform variables without\n"
|
||||
" explicit bindings.\n"
|
||||
" --amb synonym for --auto-map-bindings\n"
|
||||
"\n"
|
||||
" --flatten-uniform-arrays flatten uniform texture & sampler arrays to scalars\n"
|
||||
" --fua synonym for --flatten-uniform-arrays\n"
|
||||
"\n"
|
||||
" --no-storage-format use Unknown image format\n"
|
||||
" --nsf synonym for --no-storage-format\n"
|
||||
);
|
||||
|
||||
exit(EFailUsage);
|
||||
|
||||
@ -192,6 +192,8 @@ void foo213()
|
||||
gl_ClipDistance[1] = 0.3; // ERROR
|
||||
}
|
||||
|
||||
int gl_ModelViewMatrix[] = 0;
|
||||
|
||||
// token pasting (ERRORS...)
|
||||
|
||||
#define mac abc##def
|
||||
|
||||
@ -4,6 +4,103 @@ in double d; // ERROR, no doubles
|
||||
in dvec3 d3; // ERROR, no doubles
|
||||
in dmat4 dm4; // ERROR, no doubles
|
||||
|
||||
// function selection under type conversion
|
||||
void foo1(double a, uint b) {}
|
||||
void foo1(double a, int b) {}
|
||||
void foo1(double a, float b) {}
|
||||
void foo1(double a, double b){}
|
||||
|
||||
void foo2(double a, float b) {}
|
||||
void foo2(double a, double b){}
|
||||
|
||||
void foo3(double a, float b) {}
|
||||
void foo3(float a, double b) {}
|
||||
|
||||
void ftd( int, float, double) {}
|
||||
void ftd( uint, float, double) {}
|
||||
void ftd(float, double, double) {}
|
||||
|
||||
void main()
|
||||
{
|
||||
double d;
|
||||
uint u;
|
||||
int i;
|
||||
float f;
|
||||
|
||||
foo1(d, d);
|
||||
foo1(d, u);
|
||||
foo1(d, i);
|
||||
foo1(d, f);
|
||||
|
||||
foo1(f, d);
|
||||
foo1(f, u);
|
||||
foo1(f, i);
|
||||
foo1(f, f);
|
||||
|
||||
foo1(u, d);
|
||||
foo1(u, u);
|
||||
foo1(u, i);
|
||||
foo1(u, f);
|
||||
|
||||
foo1(i, d);
|
||||
foo1(i, u);
|
||||
foo1(i, i);
|
||||
foo1(i, f);
|
||||
|
||||
foo2(d, d);
|
||||
foo2(d, u);
|
||||
foo2(d, i);
|
||||
foo2(d, f);
|
||||
|
||||
foo2(f, d);
|
||||
foo2(f, u);
|
||||
foo2(f, i);
|
||||
foo2(f, f);
|
||||
|
||||
foo2(u, d);
|
||||
foo2(u, u);
|
||||
foo2(u, i);
|
||||
foo2(u, f);
|
||||
|
||||
foo2(i, d);
|
||||
foo2(i, u);
|
||||
foo2(i, i);
|
||||
foo2(i, f);
|
||||
|
||||
foo3(d, d); // ERROR, no match
|
||||
foo3(d, u);
|
||||
foo3(d, i);
|
||||
foo3(d, f);
|
||||
|
||||
foo3(f, d);
|
||||
foo3(f, u); // ERROR, ambiguous
|
||||
foo3(f, i); // ERROR, ambiguous
|
||||
foo3(f, f); // ERROR, ambiguous
|
||||
|
||||
foo3(u, d);
|
||||
foo3(u, u); // ERROR, ambiguous
|
||||
foo3(u, i); // ERROR, ambiguous
|
||||
foo3(u, f); // ERROR, ambiguous
|
||||
|
||||
foo3(i, d);
|
||||
foo3(i, u); // ERROR, ambiguous
|
||||
foo3(i, i); // ERROR, ambiguous
|
||||
foo3(i, f); // ERROR, ambiguous
|
||||
|
||||
ftd(i, f, f);
|
||||
ftd(u, f, f);
|
||||
}
|
||||
|
||||
void itf(int, float, int);
|
||||
void itf(int, double, int);
|
||||
|
||||
void tf()
|
||||
{
|
||||
double d;
|
||||
uint u;
|
||||
int i;
|
||||
float f;
|
||||
|
||||
itf(i, i, i);
|
||||
itf(i, u, i);
|
||||
}
|
||||
|
||||
@ -10,3 +10,5 @@ void main()
|
||||
|
||||
layout(depth_less) in float depth; // ERROR: depth_less only applies to gl_FragDepth
|
||||
layout(depth_any) out float gl_FragDepth; // ERROR, done after use
|
||||
|
||||
layout(binding=0) uniform atomic_uint a[];
|
||||
|
||||
@ -51,6 +51,18 @@ struct S4 {
|
||||
S3 s[2];
|
||||
};
|
||||
|
||||
struct Single1 { int f; };
|
||||
Single1 single1 = { 10 };
|
||||
|
||||
struct Single2 { uvec2 v; };
|
||||
Single2 single2 = { { 1, 2 } };
|
||||
|
||||
struct Single3 { Single1 s1; };
|
||||
Single3 single3 = { { 3 } };
|
||||
|
||||
struct Single4 { Single2 s1; };
|
||||
Single4 single4 = { { { 4u, 5u } } };
|
||||
|
||||
const S4 constructed = S4(uvec2(1, 2),
|
||||
S3[2](S3(3.0, mat2x3(4.0)),
|
||||
S3(5.0, mat2x3(6.0))));
|
||||
|
||||
@ -157,3 +157,5 @@ void qlod()
|
||||
levels = textureQueryLevels(samp1D); // ERROR, not until 430
|
||||
levels = textureQueryLevels(samp1Ds); // ERROR, not until 430
|
||||
}
|
||||
|
||||
layout(binding=0) writeonly uniform image1D badArray[];
|
||||
|
||||
@ -63,6 +63,20 @@ layout(location = 1, component = 1) out; // ERROR, no global set
|
||||
layout(location = 50, component = 3) out int be;
|
||||
layout(location = 50, component = 0) out vec3 bf;
|
||||
|
||||
layout(location = 51, component = 1) out double dfo; // ERROR, odd component
|
||||
layout(location = 52, component = 2) out dvec2 dvo; // ERROR, overflow
|
||||
layout(location = 53) out double dfo2;
|
||||
layout(location = 53, component = 2) out vec2 ffv2; // okay, fits
|
||||
layout(location = 54) out dvec4 dvec4out; // uses up location 55 too
|
||||
layout(location = 55) out float overf; // ERROR, collides with previous dvec4
|
||||
layout(location = 56, component = 1) out vec2 df2o;
|
||||
layout(location = 56, component = 3) out float sf2o;
|
||||
layout(location = 57, component = 2) out vec2 dv3o;
|
||||
layout(location = 57, component = 3) out float sf4o; // ERROR, overlapping component
|
||||
layout(location=58) out flat dvec3 dv3o2; // uses part of location 59
|
||||
layout(location=59, component=2) out flat double dfo3; // okay, fits
|
||||
layout(location=59, component=0) out flat double dfo4; // ERROR, overlaps the dvec3 in starting in 58
|
||||
|
||||
out bblck1 {
|
||||
vec4 bbv;
|
||||
} bbinst1;
|
||||
|
||||
4
Test/badMacroArgs.frag
Executable file
4
Test/badMacroArgs.frag
Executable file
@ -0,0 +1,4 @@
|
||||
#version 400
|
||||
|
||||
#define m(a) a
|
||||
m()
|
||||
@ -241,7 +241,7 @@ ERROR: node is still EOpNull!
|
||||
0:122 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:122 Construct vec3 (temp lowp 3-component vector of float)
|
||||
0:122 'f13' (invariant global mediump float)
|
||||
0:123 textureProj (global lowp 4-component vector of float)
|
||||
0:123 textureProj (global lowp 4-component vector of float, operation at mediump)
|
||||
0:123 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:123 direct index (smooth temp mediump 4-component vector of float)
|
||||
0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
|
||||
@ -278,7 +278,7 @@ ERROR: node is still EOpNull!
|
||||
0:145 'a' (in mediump int)
|
||||
0:145 'b' (in mediump float)
|
||||
0:147 Sequence
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:147 's2Dg' (uniform lowp sampler2D)
|
||||
0:147 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:147 'f13' (invariant global mediump float)
|
||||
@ -299,17 +299,17 @@ ERROR: node is still EOpNull!
|
||||
0:158 Function Definition: foo323433( (global void)
|
||||
0:158 Function Parameters:
|
||||
0:160 Sequence
|
||||
0:160 textureLod (global lowp 4-component vector of float)
|
||||
0:160 textureLod (global lowp 4-component vector of float, operation at mediump)
|
||||
0:160 's2Dg' (uniform lowp sampler2D)
|
||||
0:160 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:160 'f13' (invariant global mediump float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:161 's2Dg' (uniform lowp sampler2D)
|
||||
0:161 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:161 'f13' (invariant global mediump float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:162 's2Dg' (uniform lowp sampler2D)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
@ -579,7 +579,7 @@ ERROR: node is still EOpNull!
|
||||
0:122 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:122 Construct vec3 (temp lowp 3-component vector of float)
|
||||
0:122 'f13' (invariant global mediump float)
|
||||
0:123 textureProj (global lowp 4-component vector of float)
|
||||
0:123 textureProj (global lowp 4-component vector of float, operation at mediump)
|
||||
0:123 'sExt' (uniform lowp samplerExternalOES)
|
||||
0:123 direct index (smooth temp mediump 4-component vector of float)
|
||||
0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
|
||||
@ -616,7 +616,7 @@ ERROR: node is still EOpNull!
|
||||
0:145 'a' (in mediump int)
|
||||
0:145 'b' (in mediump float)
|
||||
0:147 Sequence
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:147 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:147 's2Dg' (uniform lowp sampler2D)
|
||||
0:147 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:147 'f13' (invariant global mediump float)
|
||||
@ -637,17 +637,17 @@ ERROR: node is still EOpNull!
|
||||
0:158 Function Definition: foo323433( (global void)
|
||||
0:158 Function Parameters:
|
||||
0:160 Sequence
|
||||
0:160 textureLod (global lowp 4-component vector of float)
|
||||
0:160 textureLod (global lowp 4-component vector of float, operation at mediump)
|
||||
0:160 's2Dg' (uniform lowp sampler2D)
|
||||
0:160 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:160 'f13' (invariant global mediump float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float)
|
||||
0:161 textureProjGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:161 's2Dg' (uniform lowp sampler2D)
|
||||
0:161 Construct vec3 (temp mediump 3-component vector of float)
|
||||
0:161 'f13' (invariant global mediump float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:161 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float)
|
||||
0:162 textureGrad (global lowp 4-component vector of float, operation at mediump)
|
||||
0:162 's2Dg' (uniform lowp sampler2D)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
0:162 'uv2' (invariant uniform mediump 2-component vector of float)
|
||||
|
||||
@ -23,7 +23,7 @@ ERROR: 0:84: 'z' : vector field selection out of range
|
||||
ERROR: 0:85: 'assign' : l-value required
|
||||
ERROR: 0:91: 'int' : overloaded functions must have the same return type
|
||||
ERROR: 0:91: 'main' : function already has a body
|
||||
ERROR: 0:91: 'int' : main function cannot return a value
|
||||
ERROR: 0:91: 'int' : entry point cannot return a value
|
||||
ERROR: 0:92: 'main' : function cannot take any parameter(s)
|
||||
ERROR: 0:94: 'a' : variables with qualifier 'const' must be initialized
|
||||
ERROR: 0:97: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
|
||||
|
||||
@ -75,10 +75,11 @@ ERROR: 0:191: '=' : cannot convert from 'temp float' to 'temp int'
|
||||
ERROR: 0:192: 'gl_ClipDistance' : undeclared identifier
|
||||
ERROR: 0:192: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
|
||||
ERROR: 0:192: 'assign' : l-value required (can't modify a const)
|
||||
ERROR: 0:198: 'token pasting (##)' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:198: '##' : token pasting not implemented (internal error)
|
||||
ERROR: 0:198: '' : syntax error
|
||||
ERROR: 79 compilation errors. No code generated.
|
||||
ERROR: 0:195: 'gl_ModelViewMatrix' : identifiers starting with "gl_" are reserved
|
||||
ERROR: 0:200: 'token pasting (##)' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:200: '##' : token pasting not implemented (internal error)
|
||||
ERROR: 0:200: '' : syntax error
|
||||
ERROR: 80 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 120
|
||||
|
||||
@ -732,7 +732,7 @@ ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot con
|
||||
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
|
||||
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
|
||||
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
|
||||
ERROR: 0:58: 'initializer list' : wrong number of structure members
|
||||
ERROR: 0:70: 'initializer list' : wrong number of structure members
|
||||
ERROR: 13 compilation errors. No code generated.
|
||||
|
||||
|
||||
@ -770,51 +770,73 @@ ERROR: node is still EOpNull!
|
||||
0:42 5.000000
|
||||
0:42 5.200000
|
||||
0:42 1.100000
|
||||
0:67 Sequence
|
||||
0:67 move second child to first child (temp 3-component vector of float)
|
||||
0:67 'av3' (global 3-component vector of float)
|
||||
0:67 Construct vec3 (global 3-component vector of float)
|
||||
0:67 'vc1' (global float)
|
||||
0:67 'vc2' (global float)
|
||||
0:67 'vc3' (global float)
|
||||
0:68 Sequence
|
||||
0:68 move second child to first child (temp 3-component vector of float)
|
||||
0:68 'bv3' (global 3-component vector of float)
|
||||
0:68 Construct vec3 (temp 3-component vector of float)
|
||||
0:68 'vc1' (global float)
|
||||
0:68 'vc2' (global float)
|
||||
0:68 'vc3' (global float)
|
||||
0:70 Function Definition: main( (global void)
|
||||
0:70 Function Parameters:
|
||||
0:72 Sequence
|
||||
0:72 MemoryBarrier (global void)
|
||||
0:74 Test condition and select (temp void)
|
||||
0:74 Condition
|
||||
0:74 Compare Equal (temp bool)
|
||||
0:74 Constant:
|
||||
0:74 1 (const uint)
|
||||
0:74 2 (const uint)
|
||||
0:74 3.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 5.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:74 true case is null
|
||||
0:76 Test condition and select (temp void)
|
||||
0:76 Condition
|
||||
0:76 Constant:
|
||||
0:76 true (const bool)
|
||||
0:76 true case is null
|
||||
0:55 Sequence
|
||||
0:55 move second child to first child (temp structure{global int f})
|
||||
0:55 'single1' (global structure{global int f})
|
||||
0:55 Constant:
|
||||
0:55 10 (const int)
|
||||
0:58 Sequence
|
||||
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:58 Constant:
|
||||
0:58 1 (const uint)
|
||||
0:58 2 (const uint)
|
||||
0:61 Sequence
|
||||
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||
0:61 Constant:
|
||||
0:61 3 (const int)
|
||||
0:64 Sequence
|
||||
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 Constant:
|
||||
0:64 4 (const uint)
|
||||
0:64 5 (const uint)
|
||||
0:79 Sequence
|
||||
0:79 move second child to first child (temp 3-component vector of float)
|
||||
0:79 'av3' (global 3-component vector of float)
|
||||
0:79 Construct vec3 (global 3-component vector of float)
|
||||
0:79 'vc1' (global float)
|
||||
0:79 'vc2' (global float)
|
||||
0:79 'vc3' (global float)
|
||||
0:80 Sequence
|
||||
0:80 move second child to first child (temp 3-component vector of float)
|
||||
0:80 'bv3' (global 3-component vector of float)
|
||||
0:80 Construct vec3 (temp 3-component vector of float)
|
||||
0:80 'vc1' (global float)
|
||||
0:80 'vc2' (global float)
|
||||
0:80 'vc3' (global float)
|
||||
0:82 Function Definition: main( (global void)
|
||||
0:82 Function Parameters:
|
||||
0:84 Sequence
|
||||
0:84 MemoryBarrier (global void)
|
||||
0:86 Test condition and select (temp void)
|
||||
0:86 Condition
|
||||
0:86 Compare Equal (temp bool)
|
||||
0:86 Constant:
|
||||
0:86 1 (const uint)
|
||||
0:86 2 (const uint)
|
||||
0:86 3.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 5.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:86 true case is null
|
||||
0:88 Test condition and select (temp void)
|
||||
0:88 Condition
|
||||
0:88 Constant:
|
||||
0:88 true (const bool)
|
||||
0:88 true case is null
|
||||
0:? Linker Objects
|
||||
0:? 'a' (const 2X2 matrix of float)
|
||||
0:? 1.000000
|
||||
@ -840,6 +862,10 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c3' (global 4X2 matrix of float)
|
||||
0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
|
||||
0:? 'b5' (global 5-element array of float)
|
||||
0:? 'single1' (global structure{global int f})
|
||||
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:? 1 (const uint)
|
||||
0:? 2 (const uint)
|
||||
@ -1524,51 +1550,73 @@ ERROR: node is still EOpNull!
|
||||
0:42 5.000000
|
||||
0:42 5.200000
|
||||
0:42 1.100000
|
||||
0:67 Sequence
|
||||
0:67 move second child to first child (temp 3-component vector of float)
|
||||
0:67 'av3' (global 3-component vector of float)
|
||||
0:67 Construct vec3 (global 3-component vector of float)
|
||||
0:67 'vc1' (global float)
|
||||
0:67 'vc2' (global float)
|
||||
0:67 'vc3' (global float)
|
||||
0:68 Sequence
|
||||
0:68 move second child to first child (temp 3-component vector of float)
|
||||
0:68 'bv3' (global 3-component vector of float)
|
||||
0:68 Construct vec3 (temp 3-component vector of float)
|
||||
0:68 'vc1' (global float)
|
||||
0:68 'vc2' (global float)
|
||||
0:68 'vc3' (global float)
|
||||
0:70 Function Definition: main( (global void)
|
||||
0:70 Function Parameters:
|
||||
0:72 Sequence
|
||||
0:72 MemoryBarrier (global void)
|
||||
0:74 Test condition and select (temp void)
|
||||
0:74 Condition
|
||||
0:74 Compare Equal (temp bool)
|
||||
0:74 Constant:
|
||||
0:74 1 (const uint)
|
||||
0:74 2 (const uint)
|
||||
0:74 3.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 5.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:74 true case is null
|
||||
0:76 Test condition and select (temp void)
|
||||
0:76 Condition
|
||||
0:76 Constant:
|
||||
0:76 true (const bool)
|
||||
0:76 true case is null
|
||||
0:55 Sequence
|
||||
0:55 move second child to first child (temp structure{global int f})
|
||||
0:55 'single1' (global structure{global int f})
|
||||
0:55 Constant:
|
||||
0:55 10 (const int)
|
||||
0:58 Sequence
|
||||
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:58 Constant:
|
||||
0:58 1 (const uint)
|
||||
0:58 2 (const uint)
|
||||
0:61 Sequence
|
||||
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||
0:61 Constant:
|
||||
0:61 3 (const int)
|
||||
0:64 Sequence
|
||||
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 Constant:
|
||||
0:64 4 (const uint)
|
||||
0:64 5 (const uint)
|
||||
0:79 Sequence
|
||||
0:79 move second child to first child (temp 3-component vector of float)
|
||||
0:79 'av3' (global 3-component vector of float)
|
||||
0:79 Construct vec3 (global 3-component vector of float)
|
||||
0:79 'vc1' (global float)
|
||||
0:79 'vc2' (global float)
|
||||
0:79 'vc3' (global float)
|
||||
0:80 Sequence
|
||||
0:80 move second child to first child (temp 3-component vector of float)
|
||||
0:80 'bv3' (global 3-component vector of float)
|
||||
0:80 Construct vec3 (temp 3-component vector of float)
|
||||
0:80 'vc1' (global float)
|
||||
0:80 'vc2' (global float)
|
||||
0:80 'vc3' (global float)
|
||||
0:82 Function Definition: main( (global void)
|
||||
0:82 Function Parameters:
|
||||
0:84 Sequence
|
||||
0:84 MemoryBarrier (global void)
|
||||
0:86 Test condition and select (temp void)
|
||||
0:86 Condition
|
||||
0:86 Compare Equal (temp bool)
|
||||
0:86 Constant:
|
||||
0:86 1 (const uint)
|
||||
0:86 2 (const uint)
|
||||
0:86 3.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 5.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:86 true case is null
|
||||
0:88 Test condition and select (temp void)
|
||||
0:88 Condition
|
||||
0:88 Constant:
|
||||
0:88 true (const bool)
|
||||
0:88 true case is null
|
||||
0:? Linker Objects
|
||||
0:? 'patchIn' (patch in 4-component vector of float)
|
||||
0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
|
||||
@ -1616,6 +1664,10 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c3' (global 4X2 matrix of float)
|
||||
0:? 'd2' (global 1-element array of structure{global float s, global float t})
|
||||
0:? 'b5' (global 5-element array of float)
|
||||
0:? 'single1' (global structure{global int f})
|
||||
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:? 1 (const uint)
|
||||
0:? 2 (const uint)
|
||||
|
||||
@ -28,7 +28,7 @@ ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled
|
||||
ERROR: 0:103: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:100: 'arrays of arrays' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:100: 'array-of-array of block' : not supported with this profile: es
|
||||
ERROR: 0:111: 'variable indexing fragment shader ouput array' : not supported with this profile: es
|
||||
ERROR: 0:111: 'variable indexing fragment shader output array' : not supported with this profile: es
|
||||
ERROR: 0:119: '==' : can't use with samplers or structs containing samplers
|
||||
ERROR: 0:120: '!=' : can't use with samplers or structs containing samplers
|
||||
ERROR: 0:121: '==' : can't use with samplers or structs containing samplers
|
||||
@ -72,20 +72,20 @@ ERROR: node is still EOpNull!
|
||||
0:59 1.200000
|
||||
0:60 move second child to first child (temp lowp float)
|
||||
0:60 'f' (temp lowp float)
|
||||
0:60 textureOffset (global lowp float)
|
||||
0:60 textureOffset (global lowp float, operation at mediump)
|
||||
0:60 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:60 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:60 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:60 'c1D' (smooth in lowp float)
|
||||
0:61 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:61 'v' (temp lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float, operation at mediump)
|
||||
0:61 's3D' (uniform lowp sampler3D)
|
||||
0:61 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:61 'ic1D' (flat in mediump int)
|
||||
0:62 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:62 'v' (temp lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:62 direct index (temp lowp sampler2D)
|
||||
0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
|
||||
0:62 Constant:
|
||||
@ -96,14 +96,14 @@ ERROR: node is still EOpNull!
|
||||
0:62 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:63 move second child to first child (temp lowp float)
|
||||
0:63 'f' (temp lowp float)
|
||||
0:63 textureLodOffset (global lowp float)
|
||||
0:63 textureLodOffset (global lowp float, operation at mediump)
|
||||
0:63 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:63 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:63 'c1D' (smooth in lowp float)
|
||||
0:63 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:64 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:64 'v' (temp lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:64 's2D' (uniform lowp sampler2D)
|
||||
0:64 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:64 'c1D' (smooth in lowp float)
|
||||
@ -117,7 +117,7 @@ ERROR: node is still EOpNull!
|
||||
0:65 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:66 move second child to first child (temp lowp float)
|
||||
0:66 'f' (temp lowp float)
|
||||
0:66 textureGradOffset (global lowp float)
|
||||
0:66 textureGradOffset (global lowp float, operation at mediump)
|
||||
0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
|
||||
0:66 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:66 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@ -132,7 +132,7 @@ ERROR: node is still EOpNull!
|
||||
0:67 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:68 'v' (temp lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:68 's2D' (uniform lowp sampler2D)
|
||||
0:68 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@ -152,7 +152,7 @@ ERROR: node is still EOpNull!
|
||||
0:72 'c2D' (smooth in lowp 2-component vector of float)
|
||||
0:73 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:73 'iv' (temp mediump 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int, operation at mediump)
|
||||
0:73 'is2D' (uniform lowp isampler2D)
|
||||
0:73 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:73 'ic2D' (flat in mediump 2-component vector of int)
|
||||
@ -184,7 +184,7 @@ ERROR: node is still EOpNull!
|
||||
0:77 'c1D' (smooth in lowp float)
|
||||
0:78 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:78 'iv' (temp mediump 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int, operation at mediump)
|
||||
0:78 'is2DArray' (uniform lowp isampler2DArray)
|
||||
0:78 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:78 'ic1D' (flat in mediump int)
|
||||
@ -196,7 +196,7 @@ ERROR: node is still EOpNull!
|
||||
0:80 0 (const int)
|
||||
0:80 Constant:
|
||||
0:80 1 (const int)
|
||||
0:80 textureSize (global highp 2-component vector of int)
|
||||
0:80 textureSize (global highp 2-component vector of int, operation at lowp)
|
||||
0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
|
||||
0:80 Constant:
|
||||
0:80 2 (const int)
|
||||
@ -428,20 +428,20 @@ ERROR: node is still EOpNull!
|
||||
0:59 1.200000
|
||||
0:60 move second child to first child (temp lowp float)
|
||||
0:60 'f' (temp lowp float)
|
||||
0:60 textureOffset (global lowp float)
|
||||
0:60 textureOffset (global lowp float, operation at mediump)
|
||||
0:60 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:60 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:60 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:60 'c1D' (smooth in lowp float)
|
||||
0:61 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:61 'v' (temp lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float)
|
||||
0:61 textureFetch (global lowp 4-component vector of float, operation at mediump)
|
||||
0:61 's3D' (uniform lowp sampler3D)
|
||||
0:61 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:61 'ic1D' (flat in mediump int)
|
||||
0:62 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:62 'v' (temp lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float)
|
||||
0:62 textureFetchOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:62 direct index (temp lowp sampler2D)
|
||||
0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
|
||||
0:62 Constant:
|
||||
@ -452,14 +452,14 @@ ERROR: node is still EOpNull!
|
||||
0:62 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:63 move second child to first child (temp lowp float)
|
||||
0:63 'f' (temp lowp float)
|
||||
0:63 textureLodOffset (global lowp float)
|
||||
0:63 textureLodOffset (global lowp float, operation at mediump)
|
||||
0:63 's2DShadow' (uniform lowp sampler2DShadow)
|
||||
0:63 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:63 'c1D' (smooth in lowp float)
|
||||
0:63 'ic2D' (flat in mediump 2-component vector of int)
|
||||
0:64 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:64 'v' (temp lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float)
|
||||
0:64 textureProjLodOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:64 's2D' (uniform lowp sampler2D)
|
||||
0:64 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:64 'c1D' (smooth in lowp float)
|
||||
@ -473,7 +473,7 @@ ERROR: node is still EOpNull!
|
||||
0:65 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:66 move second child to first child (temp lowp float)
|
||||
0:66 'f' (temp lowp float)
|
||||
0:66 textureGradOffset (global lowp float)
|
||||
0:66 textureGradOffset (global lowp float, operation at mediump)
|
||||
0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
|
||||
0:66 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:66 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@ -488,7 +488,7 @@ ERROR: node is still EOpNull!
|
||||
0:67 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 move second child to first child (temp lowp 4-component vector of float)
|
||||
0:68 'v' (temp lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float)
|
||||
0:68 textureProjGradOffset (global lowp 4-component vector of float, operation at mediump)
|
||||
0:68 's2D' (uniform lowp sampler2D)
|
||||
0:68 'c3D' (smooth in lowp 3-component vector of float)
|
||||
0:68 'c2D' (smooth in lowp 2-component vector of float)
|
||||
@ -508,7 +508,7 @@ ERROR: node is still EOpNull!
|
||||
0:72 'c2D' (smooth in lowp 2-component vector of float)
|
||||
0:73 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:73 'iv' (temp mediump 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int)
|
||||
0:73 textureProjOffset (global lowp 4-component vector of int, operation at mediump)
|
||||
0:73 'is2D' (uniform lowp isampler2D)
|
||||
0:73 'c4D' (smooth temp lowp 4-component vector of float)
|
||||
0:73 'ic2D' (flat in mediump 2-component vector of int)
|
||||
@ -540,7 +540,7 @@ ERROR: node is still EOpNull!
|
||||
0:77 'c1D' (smooth in lowp float)
|
||||
0:78 move second child to first child (temp mediump 4-component vector of int)
|
||||
0:78 'iv' (temp mediump 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int)
|
||||
0:78 textureFetch (global lowp 4-component vector of int, operation at mediump)
|
||||
0:78 'is2DArray' (uniform lowp isampler2DArray)
|
||||
0:78 'ic3D' (flat in mediump 3-component vector of int)
|
||||
0:78 'ic1D' (flat in mediump int)
|
||||
@ -552,7 +552,7 @@ ERROR: node is still EOpNull!
|
||||
0:80 0 (const int)
|
||||
0:80 Constant:
|
||||
0:80 1 (const int)
|
||||
0:80 textureSize (global highp 2-component vector of int)
|
||||
0:80 textureSize (global highp 2-component vector of int, operation at lowp)
|
||||
0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
|
||||
0:80 Constant:
|
||||
0:80 2 (const int)
|
||||
|
||||
@ -9,7 +9,7 @@ ERROR: 0:12: '' : vertex input cannot be further qualified
|
||||
ERROR: 0:13: '' : interpolation qualifiers must appear before storage and precision qualifiers
|
||||
ERROR: 0:14: '' : in/out must appear before const
|
||||
ERROR: 0:15: '' : precision qualifier must appear as last qualifier
|
||||
ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
|
||||
ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective, __explicitInterpAMD)
|
||||
ERROR: 0:17: 'sample' : Reserved word.
|
||||
ERROR: 0:17: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:18: 'uniform' : too many storage qualifiers
|
||||
@ -175,7 +175,7 @@ ERROR: node is still EOpNull!
|
||||
0:120 Sequence
|
||||
0:120 move second child to first child (temp highp 2-component vector of int)
|
||||
0:120 'x1' (temp highp 2-component vector of int)
|
||||
0:120 textureSize (global highp 2-component vector of int)
|
||||
0:120 textureSize (global highp 2-component vector of int, operation at lowp)
|
||||
0:120 's2D' (uniform lowp sampler2D)
|
||||
0:120 Constant:
|
||||
0:120 2 (const int)
|
||||
@ -184,7 +184,7 @@ ERROR: node is still EOpNull!
|
||||
0:122 Sequence
|
||||
0:122 move second child to first child (temp highp 3-component vector of int)
|
||||
0:122 'x3' (temp highp 3-component vector of int)
|
||||
0:122 textureSize (global highp 3-component vector of int)
|
||||
0:122 textureSize (global highp 3-component vector of int, operation at lowp)
|
||||
0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
|
||||
0:122 Constant:
|
||||
0:122 -1 (const int)
|
||||
@ -193,7 +193,7 @@ ERROR: node is still EOpNull!
|
||||
0:124 Sequence
|
||||
0:124 move second child to first child (temp highp 4-component vector of float)
|
||||
0:124 'x4' (temp highp 4-component vector of float)
|
||||
0:124 texture (global lowp 4-component vector of float)
|
||||
0:124 texture (global lowp 4-component vector of float, operation at highp)
|
||||
0:124 's2D' (uniform lowp sampler2D)
|
||||
0:124 'c2D' (in highp 2-component vector of float)
|
||||
0:125 Constant:
|
||||
@ -217,7 +217,7 @@ ERROR: node is still EOpNull!
|
||||
0:128 Sequence
|
||||
0:128 move second child to first child (temp highp float)
|
||||
0:128 'x6' (temp highp float)
|
||||
0:128 textureProjGradOffset (global lowp float)
|
||||
0:128 textureProjGradOffset (global lowp float, operation at highp)
|
||||
0:128 's2DS' (uniform lowp sampler2DShadow)
|
||||
0:128 'invIn' (invariant in highp 4-component vector of float)
|
||||
0:128 Constant:
|
||||
@ -459,7 +459,7 @@ ERROR: node is still EOpNull!
|
||||
0:120 Sequence
|
||||
0:120 move second child to first child (temp highp 2-component vector of int)
|
||||
0:120 'x1' (temp highp 2-component vector of int)
|
||||
0:120 textureSize (global highp 2-component vector of int)
|
||||
0:120 textureSize (global highp 2-component vector of int, operation at lowp)
|
||||
0:120 's2D' (uniform lowp sampler2D)
|
||||
0:120 Constant:
|
||||
0:120 2 (const int)
|
||||
@ -468,7 +468,7 @@ ERROR: node is still EOpNull!
|
||||
0:122 Sequence
|
||||
0:122 move second child to first child (temp highp 3-component vector of int)
|
||||
0:122 'x3' (temp highp 3-component vector of int)
|
||||
0:122 textureSize (global highp 3-component vector of int)
|
||||
0:122 textureSize (global highp 3-component vector of int, operation at lowp)
|
||||
0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
|
||||
0:122 Constant:
|
||||
0:122 -1 (const int)
|
||||
@ -477,7 +477,7 @@ ERROR: node is still EOpNull!
|
||||
0:124 Sequence
|
||||
0:124 move second child to first child (temp highp 4-component vector of float)
|
||||
0:124 'x4' (temp highp 4-component vector of float)
|
||||
0:124 texture (global lowp 4-component vector of float)
|
||||
0:124 texture (global lowp 4-component vector of float, operation at highp)
|
||||
0:124 's2D' (uniform lowp sampler2D)
|
||||
0:124 'c2D' (in highp 2-component vector of float)
|
||||
0:125 Constant:
|
||||
@ -501,7 +501,7 @@ ERROR: node is still EOpNull!
|
||||
0:128 Sequence
|
||||
0:128 move second child to first child (temp highp float)
|
||||
0:128 'x6' (temp highp float)
|
||||
0:128 textureProjGradOffset (global lowp float)
|
||||
0:128 textureProjGradOffset (global lowp float, operation at highp)
|
||||
0:128 's2DS' (uniform lowp sampler2DShadow)
|
||||
0:128 'invIn' (invariant in highp 4-component vector of float)
|
||||
0:128 Constant:
|
||||
|
||||
@ -128,12 +128,12 @@ ERROR: node is still EOpNull!
|
||||
0:52 Sequence
|
||||
0:52 move second child to first child (temp 2-component vector of bool)
|
||||
0:52 'b10' (temp 2-component vector of bool)
|
||||
0:52 isnan (global 2-component vector of bool)
|
||||
0:52 isnan (global 2-component vector of bool, operation at mediump)
|
||||
0:52 'v2a' (global mediump 2-component vector of float)
|
||||
0:53 Sequence
|
||||
0:53 move second child to first child (temp 4-component vector of bool)
|
||||
0:53 'b11' (temp 4-component vector of bool)
|
||||
0:53 isinf (global 4-component vector of bool)
|
||||
0:53 isinf (global 4-component vector of bool, operation at mediump)
|
||||
0:53 'v4' (global mediump 4-component vector of float)
|
||||
0:56 Sequence
|
||||
0:56 move second child to first child (temp highp int)
|
||||
@ -158,17 +158,17 @@ ERROR: node is still EOpNull!
|
||||
0:62 Sequence
|
||||
0:62 move second child to first child (temp highp uint)
|
||||
0:62 'u19' (temp mediump uint)
|
||||
0:62 packSnorm2x16 (global highp uint)
|
||||
0:62 packSnorm2x16 (global highp uint, operation at mediump)
|
||||
0:62 'v2a' (global mediump 2-component vector of float)
|
||||
0:63 Sequence
|
||||
0:63 move second child to first child (temp mediump 2-component vector of float)
|
||||
0:63 move second child to first child (temp highp 2-component vector of float)
|
||||
0:63 'v20' (temp mediump 2-component vector of float)
|
||||
0:63 unpackSnorm2x16 (global mediump 2-component vector of float)
|
||||
0:63 unpackSnorm2x16 (global highp 2-component vector of float)
|
||||
0:63 'uy' (global mediump uint)
|
||||
0:64 Sequence
|
||||
0:64 move second child to first child (temp highp uint)
|
||||
0:64 'u15' (temp mediump uint)
|
||||
0:64 packUnorm2x16 (global highp uint)
|
||||
0:64 packUnorm2x16 (global highp uint, operation at mediump)
|
||||
0:64 'v2a' (global mediump 2-component vector of float)
|
||||
0:65 Sequence
|
||||
0:65 move second child to first child (temp highp 2-component vector of float)
|
||||
@ -178,12 +178,12 @@ ERROR: node is still EOpNull!
|
||||
0:66 Sequence
|
||||
0:66 move second child to first child (temp highp uint)
|
||||
0:66 'u17' (temp mediump uint)
|
||||
0:66 packHalf2x16 (global highp uint)
|
||||
0:66 packHalf2x16 (global highp uint, operation at mediump)
|
||||
0:66 'v2b' (global mediump 2-component vector of float)
|
||||
0:67 Sequence
|
||||
0:67 move second child to first child (temp mediump 2-component vector of float)
|
||||
0:67 'v18' (temp mediump 2-component vector of float)
|
||||
0:67 unpackHalf2x16 (global mediump 2-component vector of float)
|
||||
0:67 unpackHalf2x16 (global mediump 2-component vector of float, operation at highp)
|
||||
0:67 'uy' (global mediump uint)
|
||||
0:70 Constant:
|
||||
0:70 0.000000
|
||||
@ -335,12 +335,12 @@ ERROR: node is still EOpNull!
|
||||
0:52 Sequence
|
||||
0:52 move second child to first child (temp 2-component vector of bool)
|
||||
0:52 'b10' (temp 2-component vector of bool)
|
||||
0:52 isnan (global 2-component vector of bool)
|
||||
0:52 isnan (global 2-component vector of bool, operation at mediump)
|
||||
0:52 'v2a' (global mediump 2-component vector of float)
|
||||
0:53 Sequence
|
||||
0:53 move second child to first child (temp 4-component vector of bool)
|
||||
0:53 'b11' (temp 4-component vector of bool)
|
||||
0:53 isinf (global 4-component vector of bool)
|
||||
0:53 isinf (global 4-component vector of bool, operation at mediump)
|
||||
0:53 'v4' (global mediump 4-component vector of float)
|
||||
0:56 Sequence
|
||||
0:56 move second child to first child (temp highp int)
|
||||
@ -365,17 +365,17 @@ ERROR: node is still EOpNull!
|
||||
0:62 Sequence
|
||||
0:62 move second child to first child (temp highp uint)
|
||||
0:62 'u19' (temp mediump uint)
|
||||
0:62 packSnorm2x16 (global highp uint)
|
||||
0:62 packSnorm2x16 (global highp uint, operation at mediump)
|
||||
0:62 'v2a' (global mediump 2-component vector of float)
|
||||
0:63 Sequence
|
||||
0:63 move second child to first child (temp mediump 2-component vector of float)
|
||||
0:63 move second child to first child (temp highp 2-component vector of float)
|
||||
0:63 'v20' (temp mediump 2-component vector of float)
|
||||
0:63 unpackSnorm2x16 (global mediump 2-component vector of float)
|
||||
0:63 unpackSnorm2x16 (global highp 2-component vector of float)
|
||||
0:63 'uy' (global mediump uint)
|
||||
0:64 Sequence
|
||||
0:64 move second child to first child (temp highp uint)
|
||||
0:64 'u15' (temp mediump uint)
|
||||
0:64 packUnorm2x16 (global highp uint)
|
||||
0:64 packUnorm2x16 (global highp uint, operation at mediump)
|
||||
0:64 'v2a' (global mediump 2-component vector of float)
|
||||
0:65 Sequence
|
||||
0:65 move second child to first child (temp highp 2-component vector of float)
|
||||
@ -385,12 +385,12 @@ ERROR: node is still EOpNull!
|
||||
0:66 Sequence
|
||||
0:66 move second child to first child (temp highp uint)
|
||||
0:66 'u17' (temp mediump uint)
|
||||
0:66 packHalf2x16 (global highp uint)
|
||||
0:66 packHalf2x16 (global highp uint, operation at mediump)
|
||||
0:66 'v2b' (global mediump 2-component vector of float)
|
||||
0:67 Sequence
|
||||
0:67 move second child to first child (temp mediump 2-component vector of float)
|
||||
0:67 'v18' (temp mediump 2-component vector of float)
|
||||
0:67 unpackHalf2x16 (global mediump 2-component vector of float)
|
||||
0:67 unpackHalf2x16 (global mediump 2-component vector of float, operation at highp)
|
||||
0:67 'uy' (global mediump uint)
|
||||
0:70 Constant:
|
||||
0:70 0.000000
|
||||
|
||||
@ -122,7 +122,7 @@ ERROR: node is still EOpNull!
|
||||
0:61 2 (const int)
|
||||
0:61 Constant:
|
||||
0:61 4.700000
|
||||
0:62 array length (temp highp int)
|
||||
0:62 array length (temp int)
|
||||
0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
|
||||
0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
|
||||
0:62 Constant:
|
||||
@ -178,9 +178,9 @@ ERROR: node is still EOpNull!
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:93 imageLoad (global highp 4-component vector of float)
|
||||
0:93 imageLoad (global mediump 4-component vector of float)
|
||||
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
|
||||
0:93 Construct ivec2 (temp highp 2-component vector of int)
|
||||
0:93 Construct ivec2 (temp mediump 2-component vector of int)
|
||||
0:93 'i' (temp highp int)
|
||||
0:93 'i' (temp highp int)
|
||||
0:94 imageLoad (global highp 4-component vector of int)
|
||||
@ -549,7 +549,7 @@ ERROR: node is still EOpNull!
|
||||
0:61 2 (const int)
|
||||
0:61 Constant:
|
||||
0:61 4.700000
|
||||
0:62 array length (temp highp int)
|
||||
0:62 array length (temp int)
|
||||
0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
|
||||
0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
|
||||
0:62 Constant:
|
||||
@ -605,9 +605,9 @@ ERROR: node is still EOpNull!
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:93 imageLoad (global highp 4-component vector of float)
|
||||
0:93 imageLoad (global mediump 4-component vector of float)
|
||||
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
|
||||
0:93 Construct ivec2 (temp highp 2-component vector of int)
|
||||
0:93 Construct ivec2 (temp mediump 2-component vector of int)
|
||||
0:93 'i' (temp highp int)
|
||||
0:93 'i' (temp highp int)
|
||||
0:94 imageLoad (global highp 4-component vector of int)
|
||||
|
||||
@ -353,7 +353,7 @@ ERROR: node is still EOpNull!
|
||||
0:101 3 (const int)
|
||||
0:102 move second child to first child (temp highp 2-component vector of int)
|
||||
0:102 'v2' (temp highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int, operation at mediump)
|
||||
0:102 's2dms' (uniform mediump sampler2DMS)
|
||||
0:103 move second child to first child (temp highp 2-component vector of int)
|
||||
0:103 'v2' (temp highp 2-component vector of int)
|
||||
@ -361,19 +361,19 @@ ERROR: node is still EOpNull!
|
||||
0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
|
||||
0:104 move second child to first child (temp highp 3-component vector of int)
|
||||
0:104 'v3' (temp highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
|
||||
0:105 move second child to first child (temp highp 2-component vector of int)
|
||||
0:105 'v2' (temp highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:106 move second child to first child (temp highp 3-component vector of int)
|
||||
0:106 'v3' (temp highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
|
||||
0:107 move second child to first child (temp highp 2-component vector of int)
|
||||
0:107 'v2' (temp highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:165 Function Definition: fooIO( (global void)
|
||||
0:165 Function Parameters:
|
||||
@ -1234,7 +1234,7 @@ ERROR: node is still EOpNull!
|
||||
0:101 3 (const int)
|
||||
0:102 move second child to first child (temp highp 2-component vector of int)
|
||||
0:102 'v2' (temp highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int, operation at mediump)
|
||||
0:102 's2dms' (uniform mediump sampler2DMS)
|
||||
0:103 move second child to first child (temp highp 2-component vector of int)
|
||||
0:103 'v2' (temp highp 2-component vector of int)
|
||||
@ -1242,19 +1242,19 @@ ERROR: node is still EOpNull!
|
||||
0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
|
||||
0:104 move second child to first child (temp highp 3-component vector of int)
|
||||
0:104 'v3' (temp highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int)
|
||||
0:104 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
|
||||
0:105 move second child to first child (temp highp 2-component vector of int)
|
||||
0:105 'v2' (temp highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:106 move second child to first child (temp highp 3-component vector of int)
|
||||
0:106 'v3' (temp highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int, operation at mediump)
|
||||
0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
|
||||
0:107 move second child to first child (temp highp 2-component vector of int)
|
||||
0:107 'v2' (temp highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int, operation at mediump)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:165 Function Definition: fooIO( (global void)
|
||||
0:165 Function Parameters:
|
||||
|
||||
@ -125,12 +125,12 @@ ERROR: node is still EOpNull!
|
||||
0:17 'u1' (temp highp uint)
|
||||
0:17 'u1' (temp highp uint)
|
||||
0:17 'u1' (temp highp uint)
|
||||
0:19 uMulExtended (global void)
|
||||
0:19 uMulExtended (global highp void)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:21 iMulExtended (global void)
|
||||
0:21 iMulExtended (global highp void)
|
||||
0:21 'i4' (temp highp 4-component vector of int)
|
||||
0:21 'i4' (temp highp 4-component vector of int)
|
||||
0:21 'i4' (temp highp 4-component vector of int)
|
||||
@ -179,27 +179,27 @@ ERROR: node is still EOpNull!
|
||||
0:31 'u4' (temp highp 4-component vector of uint)
|
||||
0:32 move second child to first child (temp highp int)
|
||||
0:32 'i1' (temp highp int)
|
||||
0:32 bitCount (global highp int)
|
||||
0:32 bitCount (global lowp int, operation at highp)
|
||||
0:32 'i1' (temp highp int)
|
||||
0:33 move second child to first child (temp highp 3-component vector of int)
|
||||
0:33 'i3' (temp highp 3-component vector of int)
|
||||
0:33 bitCount (global highp 3-component vector of int)
|
||||
0:33 bitCount (global lowp 3-component vector of int, operation at highp)
|
||||
0:33 'u3' (temp highp 3-component vector of uint)
|
||||
0:34 move second child to first child (temp highp 2-component vector of int)
|
||||
0:34 'i2' (temp highp 2-component vector of int)
|
||||
0:34 findLSB (global highp 2-component vector of int)
|
||||
0:34 findLSB (global lowp 2-component vector of int, operation at highp)
|
||||
0:34 'i2' (temp highp 2-component vector of int)
|
||||
0:35 move second child to first child (temp highp 4-component vector of int)
|
||||
0:35 'i4' (temp highp 4-component vector of int)
|
||||
0:35 findLSB (global highp 4-component vector of int)
|
||||
0:35 findLSB (global lowp 4-component vector of int, operation at highp)
|
||||
0:35 'u4' (temp highp 4-component vector of uint)
|
||||
0:36 move second child to first child (temp highp int)
|
||||
0:36 'i1' (temp highp int)
|
||||
0:36 findMSB (global highp int)
|
||||
0:36 findMSB (global lowp int, operation at highp)
|
||||
0:36 'i1' (temp highp int)
|
||||
0:37 move second child to first child (temp highp 2-component vector of int)
|
||||
0:37 'i2' (temp highp 2-component vector of int)
|
||||
0:37 findMSB (global highp 2-component vector of int)
|
||||
0:37 findMSB (global lowp 2-component vector of int, operation at highp)
|
||||
0:37 'u2' (temp highp 2-component vector of uint)
|
||||
0:40 move second child to first child (temp highp 3-component vector of float)
|
||||
0:40 'v3' (temp highp 3-component vector of float)
|
||||
@ -213,19 +213,19 @@ ERROR: node is still EOpNull!
|
||||
0:42 'i2' (temp highp 2-component vector of int)
|
||||
0:45 move second child to first child (temp highp uint)
|
||||
0:45 'u1' (temp highp uint)
|
||||
0:45 PackUnorm4x8 (global highp uint)
|
||||
0:45 PackUnorm4x8 (global highp uint, operation at mediump)
|
||||
0:45 'v4' (temp mediump 4-component vector of float)
|
||||
0:46 move second child to first child (temp highp uint)
|
||||
0:46 'u1' (temp highp uint)
|
||||
0:46 PackSnorm4x8 (global highp uint)
|
||||
0:46 PackSnorm4x8 (global highp uint, operation at mediump)
|
||||
0:46 'v4' (temp mediump 4-component vector of float)
|
||||
0:47 move second child to first child (temp highp 4-component vector of float)
|
||||
0:47 move second child to first child (temp mediump 4-component vector of float)
|
||||
0:47 'v4' (temp mediump 4-component vector of float)
|
||||
0:47 UnpackUnorm4x8 (global highp 4-component vector of float)
|
||||
0:47 UnpackUnorm4x8 (global mediump 4-component vector of float, operation at highp)
|
||||
0:47 'u1' (temp highp uint)
|
||||
0:48 move second child to first child (temp highp 4-component vector of float)
|
||||
0:48 move second child to first child (temp mediump 4-component vector of float)
|
||||
0:48 'v4' (temp mediump 4-component vector of float)
|
||||
0:48 UnpackSnorm4x8 (global highp 4-component vector of float)
|
||||
0:48 UnpackSnorm4x8 (global mediump 4-component vector of float, operation at highp)
|
||||
0:48 'u1' (temp highp uint)
|
||||
0:60 Function Definition: foo( (global void)
|
||||
0:60 Function Parameters:
|
||||
@ -340,7 +340,7 @@ ERROR: node is still EOpNull!
|
||||
0:165 0.100000
|
||||
0:165 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:165 'inf' (in highp 2-component vector of float)
|
||||
0:166 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:166 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
|
||||
0:166 direct index (temp lowp sampler2D)
|
||||
0:166 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:166 Constant:
|
||||
@ -404,7 +404,7 @@ ERROR: node is still EOpNull!
|
||||
0:180 0.100000
|
||||
0:180 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:180 'inf' (in highp 2-component vector of float)
|
||||
0:181 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:181 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
|
||||
0:181 direct index (temp lowp sampler2D)
|
||||
0:181 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:181 Constant:
|
||||
@ -421,7 +421,7 @@ ERROR: node is still EOpNull!
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:182 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:182 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
|
||||
0:182 direct index (temp lowp sampler2D)
|
||||
0:182 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:182 Constant:
|
||||
@ -1056,12 +1056,12 @@ ERROR: node is still EOpNull!
|
||||
0:17 'u1' (temp highp uint)
|
||||
0:17 'u1' (temp highp uint)
|
||||
0:17 'u1' (temp highp uint)
|
||||
0:19 uMulExtended (global void)
|
||||
0:19 uMulExtended (global highp void)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:19 'u4' (temp highp 4-component vector of uint)
|
||||
0:21 iMulExtended (global void)
|
||||
0:21 iMulExtended (global highp void)
|
||||
0:21 'i4' (temp highp 4-component vector of int)
|
||||
0:21 'i4' (temp highp 4-component vector of int)
|
||||
0:21 'i4' (temp highp 4-component vector of int)
|
||||
@ -1110,27 +1110,27 @@ ERROR: node is still EOpNull!
|
||||
0:31 'u4' (temp highp 4-component vector of uint)
|
||||
0:32 move second child to first child (temp highp int)
|
||||
0:32 'i1' (temp highp int)
|
||||
0:32 bitCount (global highp int)
|
||||
0:32 bitCount (global lowp int, operation at highp)
|
||||
0:32 'i1' (temp highp int)
|
||||
0:33 move second child to first child (temp highp 3-component vector of int)
|
||||
0:33 'i3' (temp highp 3-component vector of int)
|
||||
0:33 bitCount (global highp 3-component vector of int)
|
||||
0:33 bitCount (global lowp 3-component vector of int, operation at highp)
|
||||
0:33 'u3' (temp highp 3-component vector of uint)
|
||||
0:34 move second child to first child (temp highp 2-component vector of int)
|
||||
0:34 'i2' (temp highp 2-component vector of int)
|
||||
0:34 findLSB (global highp 2-component vector of int)
|
||||
0:34 findLSB (global lowp 2-component vector of int, operation at highp)
|
||||
0:34 'i2' (temp highp 2-component vector of int)
|
||||
0:35 move second child to first child (temp highp 4-component vector of int)
|
||||
0:35 'i4' (temp highp 4-component vector of int)
|
||||
0:35 findLSB (global highp 4-component vector of int)
|
||||
0:35 findLSB (global lowp 4-component vector of int, operation at highp)
|
||||
0:35 'u4' (temp highp 4-component vector of uint)
|
||||
0:36 move second child to first child (temp highp int)
|
||||
0:36 'i1' (temp highp int)
|
||||
0:36 findMSB (global highp int)
|
||||
0:36 findMSB (global lowp int, operation at highp)
|
||||
0:36 'i1' (temp highp int)
|
||||
0:37 move second child to first child (temp highp 2-component vector of int)
|
||||
0:37 'i2' (temp highp 2-component vector of int)
|
||||
0:37 findMSB (global highp 2-component vector of int)
|
||||
0:37 findMSB (global lowp 2-component vector of int, operation at highp)
|
||||
0:37 'u2' (temp highp 2-component vector of uint)
|
||||
0:40 move second child to first child (temp highp 3-component vector of float)
|
||||
0:40 'v3' (temp highp 3-component vector of float)
|
||||
@ -1144,19 +1144,19 @@ ERROR: node is still EOpNull!
|
||||
0:42 'i2' (temp highp 2-component vector of int)
|
||||
0:45 move second child to first child (temp highp uint)
|
||||
0:45 'u1' (temp highp uint)
|
||||
0:45 PackUnorm4x8 (global highp uint)
|
||||
0:45 PackUnorm4x8 (global highp uint, operation at mediump)
|
||||
0:45 'v4' (temp mediump 4-component vector of float)
|
||||
0:46 move second child to first child (temp highp uint)
|
||||
0:46 'u1' (temp highp uint)
|
||||
0:46 PackSnorm4x8 (global highp uint)
|
||||
0:46 PackSnorm4x8 (global highp uint, operation at mediump)
|
||||
0:46 'v4' (temp mediump 4-component vector of float)
|
||||
0:47 move second child to first child (temp highp 4-component vector of float)
|
||||
0:47 move second child to first child (temp mediump 4-component vector of float)
|
||||
0:47 'v4' (temp mediump 4-component vector of float)
|
||||
0:47 UnpackUnorm4x8 (global highp 4-component vector of float)
|
||||
0:47 UnpackUnorm4x8 (global mediump 4-component vector of float, operation at highp)
|
||||
0:47 'u1' (temp highp uint)
|
||||
0:48 move second child to first child (temp highp 4-component vector of float)
|
||||
0:48 move second child to first child (temp mediump 4-component vector of float)
|
||||
0:48 'v4' (temp mediump 4-component vector of float)
|
||||
0:48 UnpackSnorm4x8 (global highp 4-component vector of float)
|
||||
0:48 UnpackSnorm4x8 (global mediump 4-component vector of float, operation at highp)
|
||||
0:48 'u1' (temp highp uint)
|
||||
0:60 Function Definition: foo( (global void)
|
||||
0:60 Function Parameters:
|
||||
@ -1271,7 +1271,7 @@ ERROR: node is still EOpNull!
|
||||
0:165 0.100000
|
||||
0:165 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:165 'inf' (in highp 2-component vector of float)
|
||||
0:166 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:166 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
|
||||
0:166 direct index (temp lowp sampler2D)
|
||||
0:166 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:166 Constant:
|
||||
@ -1335,7 +1335,7 @@ ERROR: node is still EOpNull!
|
||||
0:180 0.100000
|
||||
0:180 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:180 'inf' (in highp 2-component vector of float)
|
||||
0:181 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:181 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
|
||||
0:181 direct index (temp lowp sampler2D)
|
||||
0:181 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:181 Constant:
|
||||
@ -1352,7 +1352,7 @@ ERROR: node is still EOpNull!
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:182 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:182 textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
|
||||
0:182 direct index (temp lowp sampler2D)
|
||||
0:182 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:182 Constant:
|
||||
|
||||
@ -310,7 +310,7 @@ ERROR: node is still EOpNull!
|
||||
0:96 1 (const int)
|
||||
0:98 Constant:
|
||||
0:98 7 (const int)
|
||||
0:99 array length (temp highp int)
|
||||
0:99 array length (temp int)
|
||||
0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
|
||||
0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
@ -622,7 +622,7 @@ ERROR: node is still EOpNull!
|
||||
0:96 1 (const int)
|
||||
0:98 Constant:
|
||||
0:98 7 (const int)
|
||||
0:99 array length (temp highp int)
|
||||
0:99 array length (temp int)
|
||||
0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
|
||||
0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
|
||||
|
||||
@ -3,13 +3,288 @@ Warning, version 400 is not yet complete; most version-specific features are pre
|
||||
ERROR: 0:3: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:4: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
|
||||
ERROR: 0:5: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions
|
||||
ERROR: 3 compilation errors. No code generated.
|
||||
ERROR: 0:70: 'foo3' : no matching overloaded function found
|
||||
ERROR: 0:76: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:77: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:78: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:81: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:82: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:83: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:86: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:87: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 0:88: 'foo3' : ambiguous best function under implicit type conversion
|
||||
ERROR: 13 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 400
|
||||
ERROR: node is still EOpNull!
|
||||
0:7 Function Definition: main( (global void)
|
||||
0:7 Function Parameters:
|
||||
0:8 Function Definition: foo1(d1;u1; (global void)
|
||||
0:8 Function Parameters:
|
||||
0:8 'a' (in double)
|
||||
0:8 'b' (in uint)
|
||||
0:9 Function Definition: foo1(d1;i1; (global void)
|
||||
0:9 Function Parameters:
|
||||
0:9 'a' (in double)
|
||||
0:9 'b' (in int)
|
||||
0:10 Function Definition: foo1(d1;f1; (global void)
|
||||
0:10 Function Parameters:
|
||||
0:10 'a' (in double)
|
||||
0:10 'b' (in float)
|
||||
0:11 Function Definition: foo1(d1;d1; (global void)
|
||||
0:11 Function Parameters:
|
||||
0:11 'a' (in double)
|
||||
0:11 'b' (in double)
|
||||
0:13 Function Definition: foo2(d1;f1; (global void)
|
||||
0:13 Function Parameters:
|
||||
0:13 'a' (in double)
|
||||
0:13 'b' (in float)
|
||||
0:14 Function Definition: foo2(d1;d1; (global void)
|
||||
0:14 Function Parameters:
|
||||
0:14 'a' (in double)
|
||||
0:14 'b' (in double)
|
||||
0:16 Function Definition: foo3(d1;f1; (global void)
|
||||
0:16 Function Parameters:
|
||||
0:16 'a' (in double)
|
||||
0:16 'b' (in float)
|
||||
0:17 Function Definition: foo3(f1;d1; (global void)
|
||||
0:17 Function Parameters:
|
||||
0:17 'a' (in float)
|
||||
0:17 'b' (in double)
|
||||
0:19 Function Definition: ftd(i1;f1;d1; (global void)
|
||||
0:19 Function Parameters:
|
||||
0:19 '' (in int)
|
||||
0:19 '' (in float)
|
||||
0:19 '' (in double)
|
||||
0:20 Function Definition: ftd(u1;f1;d1; (global void)
|
||||
0:20 Function Parameters:
|
||||
0:20 '' (in uint)
|
||||
0:20 '' (in float)
|
||||
0:20 '' (in double)
|
||||
0:21 Function Definition: ftd(f1;d1;d1; (global void)
|
||||
0:21 Function Parameters:
|
||||
0:21 '' (in float)
|
||||
0:21 '' (in double)
|
||||
0:21 '' (in double)
|
||||
0:23 Function Definition: main( (global void)
|
||||
0:23 Function Parameters:
|
||||
0:? Sequence
|
||||
0:30 Function Call: foo1(d1;d1; (global void)
|
||||
0:30 'd' (temp double)
|
||||
0:30 'd' (temp double)
|
||||
0:31 Function Call: foo1(d1;u1; (global void)
|
||||
0:31 'd' (temp double)
|
||||
0:31 'u' (temp uint)
|
||||
0:32 Function Call: foo1(d1;i1; (global void)
|
||||
0:32 'd' (temp double)
|
||||
0:32 'i' (temp int)
|
||||
0:33 Function Call: foo1(d1;f1; (global void)
|
||||
0:33 'd' (temp double)
|
||||
0:33 'f' (temp float)
|
||||
0:35 Function Call: foo1(d1;d1; (global void)
|
||||
0:35 Convert float to double (temp double)
|
||||
0:35 'f' (temp float)
|
||||
0:35 'd' (temp double)
|
||||
0:36 Function Call: foo1(d1;u1; (global void)
|
||||
0:36 Convert float to double (temp double)
|
||||
0:36 'f' (temp float)
|
||||
0:36 'u' (temp uint)
|
||||
0:37 Function Call: foo1(d1;i1; (global void)
|
||||
0:37 Convert float to double (temp double)
|
||||
0:37 'f' (temp float)
|
||||
0:37 'i' (temp int)
|
||||
0:38 Function Call: foo1(d1;f1; (global void)
|
||||
0:38 Convert float to double (temp double)
|
||||
0:38 'f' (temp float)
|
||||
0:38 'f' (temp float)
|
||||
0:40 Function Call: foo1(d1;d1; (global void)
|
||||
0:40 Convert uint to double (temp double)
|
||||
0:40 'u' (temp uint)
|
||||
0:40 'd' (temp double)
|
||||
0:41 Function Call: foo1(d1;u1; (global void)
|
||||
0:41 Convert uint to double (temp double)
|
||||
0:41 'u' (temp uint)
|
||||
0:41 'u' (temp uint)
|
||||
0:42 Function Call: foo1(d1;i1; (global void)
|
||||
0:42 Convert uint to double (temp double)
|
||||
0:42 'u' (temp uint)
|
||||
0:42 'i' (temp int)
|
||||
0:43 Function Call: foo1(d1;f1; (global void)
|
||||
0:43 Convert uint to double (temp double)
|
||||
0:43 'u' (temp uint)
|
||||
0:43 'f' (temp float)
|
||||
0:45 Function Call: foo1(d1;d1; (global void)
|
||||
0:45 Convert int to double (temp double)
|
||||
0:45 'i' (temp int)
|
||||
0:45 'd' (temp double)
|
||||
0:46 Function Call: foo1(d1;u1; (global void)
|
||||
0:46 Convert int to double (temp double)
|
||||
0:46 'i' (temp int)
|
||||
0:46 'u' (temp uint)
|
||||
0:47 Function Call: foo1(d1;i1; (global void)
|
||||
0:47 Convert int to double (temp double)
|
||||
0:47 'i' (temp int)
|
||||
0:47 'i' (temp int)
|
||||
0:48 Function Call: foo1(d1;f1; (global void)
|
||||
0:48 Convert int to double (temp double)
|
||||
0:48 'i' (temp int)
|
||||
0:48 'f' (temp float)
|
||||
0:50 Function Call: foo2(d1;d1; (global void)
|
||||
0:50 'd' (temp double)
|
||||
0:50 'd' (temp double)
|
||||
0:51 Function Call: foo2(d1;f1; (global void)
|
||||
0:51 'd' (temp double)
|
||||
0:51 Convert uint to float (temp float)
|
||||
0:51 'u' (temp uint)
|
||||
0:52 Function Call: foo2(d1;f1; (global void)
|
||||
0:52 'd' (temp double)
|
||||
0:52 Convert int to float (temp float)
|
||||
0:52 'i' (temp int)
|
||||
0:53 Function Call: foo2(d1;f1; (global void)
|
||||
0:53 'd' (temp double)
|
||||
0:53 'f' (temp float)
|
||||
0:55 Function Call: foo2(d1;d1; (global void)
|
||||
0:55 Convert float to double (temp double)
|
||||
0:55 'f' (temp float)
|
||||
0:55 'd' (temp double)
|
||||
0:56 Function Call: foo2(d1;f1; (global void)
|
||||
0:56 Convert float to double (temp double)
|
||||
0:56 'f' (temp float)
|
||||
0:56 Convert uint to float (temp float)
|
||||
0:56 'u' (temp uint)
|
||||
0:57 Function Call: foo2(d1;f1; (global void)
|
||||
0:57 Convert float to double (temp double)
|
||||
0:57 'f' (temp float)
|
||||
0:57 Convert int to float (temp float)
|
||||
0:57 'i' (temp int)
|
||||
0:58 Function Call: foo2(d1;f1; (global void)
|
||||
0:58 Convert float to double (temp double)
|
||||
0:58 'f' (temp float)
|
||||
0:58 'f' (temp float)
|
||||
0:60 Function Call: foo2(d1;d1; (global void)
|
||||
0:60 Convert uint to double (temp double)
|
||||
0:60 'u' (temp uint)
|
||||
0:60 'd' (temp double)
|
||||
0:61 Function Call: foo2(d1;f1; (global void)
|
||||
0:61 Convert uint to double (temp double)
|
||||
0:61 'u' (temp uint)
|
||||
0:61 Convert uint to float (temp float)
|
||||
0:61 'u' (temp uint)
|
||||
0:62 Function Call: foo2(d1;f1; (global void)
|
||||
0:62 Convert uint to double (temp double)
|
||||
0:62 'u' (temp uint)
|
||||
0:62 Convert int to float (temp float)
|
||||
0:62 'i' (temp int)
|
||||
0:63 Function Call: foo2(d1;f1; (global void)
|
||||
0:63 Convert uint to double (temp double)
|
||||
0:63 'u' (temp uint)
|
||||
0:63 'f' (temp float)
|
||||
0:65 Function Call: foo2(d1;d1; (global void)
|
||||
0:65 Convert int to double (temp double)
|
||||
0:65 'i' (temp int)
|
||||
0:65 'd' (temp double)
|
||||
0:66 Function Call: foo2(d1;f1; (global void)
|
||||
0:66 Convert int to double (temp double)
|
||||
0:66 'i' (temp int)
|
||||
0:66 Convert uint to float (temp float)
|
||||
0:66 'u' (temp uint)
|
||||
0:67 Function Call: foo2(d1;f1; (global void)
|
||||
0:67 Convert int to double (temp double)
|
||||
0:67 'i' (temp int)
|
||||
0:67 Convert int to float (temp float)
|
||||
0:67 'i' (temp int)
|
||||
0:68 Function Call: foo2(d1;f1; (global void)
|
||||
0:68 Convert int to double (temp double)
|
||||
0:68 'i' (temp int)
|
||||
0:68 'f' (temp float)
|
||||
0:70 Constant:
|
||||
0:70 0.000000
|
||||
0:71 Function Call: foo3(d1;f1; (global void)
|
||||
0:71 'd' (temp double)
|
||||
0:71 Convert uint to float (temp float)
|
||||
0:71 'u' (temp uint)
|
||||
0:72 Function Call: foo3(d1;f1; (global void)
|
||||
0:72 'd' (temp double)
|
||||
0:72 Convert int to float (temp float)
|
||||
0:72 'i' (temp int)
|
||||
0:73 Function Call: foo3(d1;f1; (global void)
|
||||
0:73 'd' (temp double)
|
||||
0:73 'f' (temp float)
|
||||
0:75 Function Call: foo3(f1;d1; (global void)
|
||||
0:75 'f' (temp float)
|
||||
0:75 'd' (temp double)
|
||||
0:76 Function Call: foo3(d1;f1; (global void)
|
||||
0:76 Convert float to double (temp double)
|
||||
0:76 'f' (temp float)
|
||||
0:76 Convert uint to float (temp float)
|
||||
0:76 'u' (temp uint)
|
||||
0:77 Function Call: foo3(d1;f1; (global void)
|
||||
0:77 Convert float to double (temp double)
|
||||
0:77 'f' (temp float)
|
||||
0:77 Convert int to float (temp float)
|
||||
0:77 'i' (temp int)
|
||||
0:78 Function Call: foo3(d1;f1; (global void)
|
||||
0:78 Convert float to double (temp double)
|
||||
0:78 'f' (temp float)
|
||||
0:78 'f' (temp float)
|
||||
0:80 Function Call: foo3(f1;d1; (global void)
|
||||
0:80 Convert uint to float (temp float)
|
||||
0:80 'u' (temp uint)
|
||||
0:80 'd' (temp double)
|
||||
0:81 Function Call: foo3(d1;f1; (global void)
|
||||
0:81 Convert uint to double (temp double)
|
||||
0:81 'u' (temp uint)
|
||||
0:81 Convert uint to float (temp float)
|
||||
0:81 'u' (temp uint)
|
||||
0:82 Function Call: foo3(d1;f1; (global void)
|
||||
0:82 Convert uint to double (temp double)
|
||||
0:82 'u' (temp uint)
|
||||
0:82 Convert int to float (temp float)
|
||||
0:82 'i' (temp int)
|
||||
0:83 Function Call: foo3(d1;f1; (global void)
|
||||
0:83 Convert uint to double (temp double)
|
||||
0:83 'u' (temp uint)
|
||||
0:83 'f' (temp float)
|
||||
0:85 Function Call: foo3(f1;d1; (global void)
|
||||
0:85 Convert int to float (temp float)
|
||||
0:85 'i' (temp int)
|
||||
0:85 'd' (temp double)
|
||||
0:86 Function Call: foo3(d1;f1; (global void)
|
||||
0:86 Convert int to double (temp double)
|
||||
0:86 'i' (temp int)
|
||||
0:86 Convert uint to float (temp float)
|
||||
0:86 'u' (temp uint)
|
||||
0:87 Function Call: foo3(d1;f1; (global void)
|
||||
0:87 Convert int to double (temp double)
|
||||
0:87 'i' (temp int)
|
||||
0:87 Convert int to float (temp float)
|
||||
0:87 'i' (temp int)
|
||||
0:88 Function Call: foo3(d1;f1; (global void)
|
||||
0:88 Convert int to double (temp double)
|
||||
0:88 'i' (temp int)
|
||||
0:88 'f' (temp float)
|
||||
0:90 Function Call: ftd(i1;f1;d1; (global void)
|
||||
0:90 'i' (temp int)
|
||||
0:90 'f' (temp float)
|
||||
0:90 Convert float to double (temp double)
|
||||
0:90 'f' (temp float)
|
||||
0:91 Function Call: ftd(u1;f1;d1; (global void)
|
||||
0:91 'u' (temp uint)
|
||||
0:91 'f' (temp float)
|
||||
0:91 Convert float to double (temp double)
|
||||
0:91 'f' (temp float)
|
||||
0:97 Function Definition: tf( (global void)
|
||||
0:97 Function Parameters:
|
||||
0:? Sequence
|
||||
0:104 Function Call: itf(i1;f1;i1; (global void)
|
||||
0:104 'i' (temp int)
|
||||
0:104 Convert int to float (temp float)
|
||||
0:104 'i' (temp int)
|
||||
0:104 'i' (temp int)
|
||||
0:105 Function Call: itf(i1;f1;i1; (global void)
|
||||
0:105 'i' (temp int)
|
||||
0:105 Convert uint to float (temp float)
|
||||
0:105 'u' (temp uint)
|
||||
0:105 'i' (temp int)
|
||||
0:? Linker Objects
|
||||
0:? 'd' (in double)
|
||||
0:? 'd3' (in 3-component vector of double)
|
||||
@ -23,8 +298,273 @@ Linked vertex stage:
|
||||
|
||||
Shader version: 400
|
||||
ERROR: node is still EOpNull!
|
||||
0:7 Function Definition: main( (global void)
|
||||
0:7 Function Parameters:
|
||||
0:8 Function Definition: foo1(d1;u1; (global void)
|
||||
0:8 Function Parameters:
|
||||
0:8 'a' (in double)
|
||||
0:8 'b' (in uint)
|
||||
0:9 Function Definition: foo1(d1;i1; (global void)
|
||||
0:9 Function Parameters:
|
||||
0:9 'a' (in double)
|
||||
0:9 'b' (in int)
|
||||
0:10 Function Definition: foo1(d1;f1; (global void)
|
||||
0:10 Function Parameters:
|
||||
0:10 'a' (in double)
|
||||
0:10 'b' (in float)
|
||||
0:11 Function Definition: foo1(d1;d1; (global void)
|
||||
0:11 Function Parameters:
|
||||
0:11 'a' (in double)
|
||||
0:11 'b' (in double)
|
||||
0:13 Function Definition: foo2(d1;f1; (global void)
|
||||
0:13 Function Parameters:
|
||||
0:13 'a' (in double)
|
||||
0:13 'b' (in float)
|
||||
0:14 Function Definition: foo2(d1;d1; (global void)
|
||||
0:14 Function Parameters:
|
||||
0:14 'a' (in double)
|
||||
0:14 'b' (in double)
|
||||
0:16 Function Definition: foo3(d1;f1; (global void)
|
||||
0:16 Function Parameters:
|
||||
0:16 'a' (in double)
|
||||
0:16 'b' (in float)
|
||||
0:17 Function Definition: foo3(f1;d1; (global void)
|
||||
0:17 Function Parameters:
|
||||
0:17 'a' (in float)
|
||||
0:17 'b' (in double)
|
||||
0:19 Function Definition: ftd(i1;f1;d1; (global void)
|
||||
0:19 Function Parameters:
|
||||
0:19 '' (in int)
|
||||
0:19 '' (in float)
|
||||
0:19 '' (in double)
|
||||
0:20 Function Definition: ftd(u1;f1;d1; (global void)
|
||||
0:20 Function Parameters:
|
||||
0:20 '' (in uint)
|
||||
0:20 '' (in float)
|
||||
0:20 '' (in double)
|
||||
0:21 Function Definition: ftd(f1;d1;d1; (global void)
|
||||
0:21 Function Parameters:
|
||||
0:21 '' (in float)
|
||||
0:21 '' (in double)
|
||||
0:21 '' (in double)
|
||||
0:23 Function Definition: main( (global void)
|
||||
0:23 Function Parameters:
|
||||
0:? Sequence
|
||||
0:30 Function Call: foo1(d1;d1; (global void)
|
||||
0:30 'd' (temp double)
|
||||
0:30 'd' (temp double)
|
||||
0:31 Function Call: foo1(d1;u1; (global void)
|
||||
0:31 'd' (temp double)
|
||||
0:31 'u' (temp uint)
|
||||
0:32 Function Call: foo1(d1;i1; (global void)
|
||||
0:32 'd' (temp double)
|
||||
0:32 'i' (temp int)
|
||||
0:33 Function Call: foo1(d1;f1; (global void)
|
||||
0:33 'd' (temp double)
|
||||
0:33 'f' (temp float)
|
||||
0:35 Function Call: foo1(d1;d1; (global void)
|
||||
0:35 Convert float to double (temp double)
|
||||
0:35 'f' (temp float)
|
||||
0:35 'd' (temp double)
|
||||
0:36 Function Call: foo1(d1;u1; (global void)
|
||||
0:36 Convert float to double (temp double)
|
||||
0:36 'f' (temp float)
|
||||
0:36 'u' (temp uint)
|
||||
0:37 Function Call: foo1(d1;i1; (global void)
|
||||
0:37 Convert float to double (temp double)
|
||||
0:37 'f' (temp float)
|
||||
0:37 'i' (temp int)
|
||||
0:38 Function Call: foo1(d1;f1; (global void)
|
||||
0:38 Convert float to double (temp double)
|
||||
0:38 'f' (temp float)
|
||||
0:38 'f' (temp float)
|
||||
0:40 Function Call: foo1(d1;d1; (global void)
|
||||
0:40 Convert uint to double (temp double)
|
||||
0:40 'u' (temp uint)
|
||||
0:40 'd' (temp double)
|
||||
0:41 Function Call: foo1(d1;u1; (global void)
|
||||
0:41 Convert uint to double (temp double)
|
||||
0:41 'u' (temp uint)
|
||||
0:41 'u' (temp uint)
|
||||
0:42 Function Call: foo1(d1;i1; (global void)
|
||||
0:42 Convert uint to double (temp double)
|
||||
0:42 'u' (temp uint)
|
||||
0:42 'i' (temp int)
|
||||
0:43 Function Call: foo1(d1;f1; (global void)
|
||||
0:43 Convert uint to double (temp double)
|
||||
0:43 'u' (temp uint)
|
||||
0:43 'f' (temp float)
|
||||
0:45 Function Call: foo1(d1;d1; (global void)
|
||||
0:45 Convert int to double (temp double)
|
||||
0:45 'i' (temp int)
|
||||
0:45 'd' (temp double)
|
||||
0:46 Function Call: foo1(d1;u1; (global void)
|
||||
0:46 Convert int to double (temp double)
|
||||
0:46 'i' (temp int)
|
||||
0:46 'u' (temp uint)
|
||||
0:47 Function Call: foo1(d1;i1; (global void)
|
||||
0:47 Convert int to double (temp double)
|
||||
0:47 'i' (temp int)
|
||||
0:47 'i' (temp int)
|
||||
0:48 Function Call: foo1(d1;f1; (global void)
|
||||
0:48 Convert int to double (temp double)
|
||||
0:48 'i' (temp int)
|
||||
0:48 'f' (temp float)
|
||||
0:50 Function Call: foo2(d1;d1; (global void)
|
||||
0:50 'd' (temp double)
|
||||
0:50 'd' (temp double)
|
||||
0:51 Function Call: foo2(d1;f1; (global void)
|
||||
0:51 'd' (temp double)
|
||||
0:51 Convert uint to float (temp float)
|
||||
0:51 'u' (temp uint)
|
||||
0:52 Function Call: foo2(d1;f1; (global void)
|
||||
0:52 'd' (temp double)
|
||||
0:52 Convert int to float (temp float)
|
||||
0:52 'i' (temp int)
|
||||
0:53 Function Call: foo2(d1;f1; (global void)
|
||||
0:53 'd' (temp double)
|
||||
0:53 'f' (temp float)
|
||||
0:55 Function Call: foo2(d1;d1; (global void)
|
||||
0:55 Convert float to double (temp double)
|
||||
0:55 'f' (temp float)
|
||||
0:55 'd' (temp double)
|
||||
0:56 Function Call: foo2(d1;f1; (global void)
|
||||
0:56 Convert float to double (temp double)
|
||||
0:56 'f' (temp float)
|
||||
0:56 Convert uint to float (temp float)
|
||||
0:56 'u' (temp uint)
|
||||
0:57 Function Call: foo2(d1;f1; (global void)
|
||||
0:57 Convert float to double (temp double)
|
||||
0:57 'f' (temp float)
|
||||
0:57 Convert int to float (temp float)
|
||||
0:57 'i' (temp int)
|
||||
0:58 Function Call: foo2(d1;f1; (global void)
|
||||
0:58 Convert float to double (temp double)
|
||||
0:58 'f' (temp float)
|
||||
0:58 'f' (temp float)
|
||||
0:60 Function Call: foo2(d1;d1; (global void)
|
||||
0:60 Convert uint to double (temp double)
|
||||
0:60 'u' (temp uint)
|
||||
0:60 'd' (temp double)
|
||||
0:61 Function Call: foo2(d1;f1; (global void)
|
||||
0:61 Convert uint to double (temp double)
|
||||
0:61 'u' (temp uint)
|
||||
0:61 Convert uint to float (temp float)
|
||||
0:61 'u' (temp uint)
|
||||
0:62 Function Call: foo2(d1;f1; (global void)
|
||||
0:62 Convert uint to double (temp double)
|
||||
0:62 'u' (temp uint)
|
||||
0:62 Convert int to float (temp float)
|
||||
0:62 'i' (temp int)
|
||||
0:63 Function Call: foo2(d1;f1; (global void)
|
||||
0:63 Convert uint to double (temp double)
|
||||
0:63 'u' (temp uint)
|
||||
0:63 'f' (temp float)
|
||||
0:65 Function Call: foo2(d1;d1; (global void)
|
||||
0:65 Convert int to double (temp double)
|
||||
0:65 'i' (temp int)
|
||||
0:65 'd' (temp double)
|
||||
0:66 Function Call: foo2(d1;f1; (global void)
|
||||
0:66 Convert int to double (temp double)
|
||||
0:66 'i' (temp int)
|
||||
0:66 Convert uint to float (temp float)
|
||||
0:66 'u' (temp uint)
|
||||
0:67 Function Call: foo2(d1;f1; (global void)
|
||||
0:67 Convert int to double (temp double)
|
||||
0:67 'i' (temp int)
|
||||
0:67 Convert int to float (temp float)
|
||||
0:67 'i' (temp int)
|
||||
0:68 Function Call: foo2(d1;f1; (global void)
|
||||
0:68 Convert int to double (temp double)
|
||||
0:68 'i' (temp int)
|
||||
0:68 'f' (temp float)
|
||||
0:70 Constant:
|
||||
0:70 0.000000
|
||||
0:71 Function Call: foo3(d1;f1; (global void)
|
||||
0:71 'd' (temp double)
|
||||
0:71 Convert uint to float (temp float)
|
||||
0:71 'u' (temp uint)
|
||||
0:72 Function Call: foo3(d1;f1; (global void)
|
||||
0:72 'd' (temp double)
|
||||
0:72 Convert int to float (temp float)
|
||||
0:72 'i' (temp int)
|
||||
0:73 Function Call: foo3(d1;f1; (global void)
|
||||
0:73 'd' (temp double)
|
||||
0:73 'f' (temp float)
|
||||
0:75 Function Call: foo3(f1;d1; (global void)
|
||||
0:75 'f' (temp float)
|
||||
0:75 'd' (temp double)
|
||||
0:76 Function Call: foo3(d1;f1; (global void)
|
||||
0:76 Convert float to double (temp double)
|
||||
0:76 'f' (temp float)
|
||||
0:76 Convert uint to float (temp float)
|
||||
0:76 'u' (temp uint)
|
||||
0:77 Function Call: foo3(d1;f1; (global void)
|
||||
0:77 Convert float to double (temp double)
|
||||
0:77 'f' (temp float)
|
||||
0:77 Convert int to float (temp float)
|
||||
0:77 'i' (temp int)
|
||||
0:78 Function Call: foo3(d1;f1; (global void)
|
||||
0:78 Convert float to double (temp double)
|
||||
0:78 'f' (temp float)
|
||||
0:78 'f' (temp float)
|
||||
0:80 Function Call: foo3(f1;d1; (global void)
|
||||
0:80 Convert uint to float (temp float)
|
||||
0:80 'u' (temp uint)
|
||||
0:80 'd' (temp double)
|
||||
0:81 Function Call: foo3(d1;f1; (global void)
|
||||
0:81 Convert uint to double (temp double)
|
||||
0:81 'u' (temp uint)
|
||||
0:81 Convert uint to float (temp float)
|
||||
0:81 'u' (temp uint)
|
||||
0:82 Function Call: foo3(d1;f1; (global void)
|
||||
0:82 Convert uint to double (temp double)
|
||||
0:82 'u' (temp uint)
|
||||
0:82 Convert int to float (temp float)
|
||||
0:82 'i' (temp int)
|
||||
0:83 Function Call: foo3(d1;f1; (global void)
|
||||
0:83 Convert uint to double (temp double)
|
||||
0:83 'u' (temp uint)
|
||||
0:83 'f' (temp float)
|
||||
0:85 Function Call: foo3(f1;d1; (global void)
|
||||
0:85 Convert int to float (temp float)
|
||||
0:85 'i' (temp int)
|
||||
0:85 'd' (temp double)
|
||||
0:86 Function Call: foo3(d1;f1; (global void)
|
||||
0:86 Convert int to double (temp double)
|
||||
0:86 'i' (temp int)
|
||||
0:86 Convert uint to float (temp float)
|
||||
0:86 'u' (temp uint)
|
||||
0:87 Function Call: foo3(d1;f1; (global void)
|
||||
0:87 Convert int to double (temp double)
|
||||
0:87 'i' (temp int)
|
||||
0:87 Convert int to float (temp float)
|
||||
0:87 'i' (temp int)
|
||||
0:88 Function Call: foo3(d1;f1; (global void)
|
||||
0:88 Convert int to double (temp double)
|
||||
0:88 'i' (temp int)
|
||||
0:88 'f' (temp float)
|
||||
0:90 Function Call: ftd(i1;f1;d1; (global void)
|
||||
0:90 'i' (temp int)
|
||||
0:90 'f' (temp float)
|
||||
0:90 Convert float to double (temp double)
|
||||
0:90 'f' (temp float)
|
||||
0:91 Function Call: ftd(u1;f1;d1; (global void)
|
||||
0:91 'u' (temp uint)
|
||||
0:91 'f' (temp float)
|
||||
0:91 Convert float to double (temp double)
|
||||
0:91 'f' (temp float)
|
||||
0:97 Function Definition: tf( (global void)
|
||||
0:97 Function Parameters:
|
||||
0:? Sequence
|
||||
0:104 Function Call: itf(i1;f1;i1; (global void)
|
||||
0:104 'i' (temp int)
|
||||
0:104 Convert int to float (temp float)
|
||||
0:104 'i' (temp int)
|
||||
0:104 'i' (temp int)
|
||||
0:105 Function Call: itf(i1;f1;i1; (global void)
|
||||
0:105 'i' (temp int)
|
||||
0:105 Convert uint to float (temp float)
|
||||
0:105 'u' (temp uint)
|
||||
0:105 'i' (temp int)
|
||||
0:? Linker Objects
|
||||
0:? 'd' (in double)
|
||||
0:? 'd3' (in 3-component vector of double)
|
||||
|
||||
@ -3,6 +3,7 @@ Warning, version 420 is not yet complete; most version-specific features are pre
|
||||
ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
|
||||
ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth
|
||||
ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use
|
||||
WARNING: 0:14: 'atomic_uint' : implicitly sized atomic_uint array treated as having one element for tracking the default offset
|
||||
ERROR: 3 compilation errors. No code generated.
|
||||
|
||||
|
||||
@ -20,6 +21,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
|
||||
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
|
||||
0:? 'depth' (smooth in float)
|
||||
0:? 'a' (layout(binding=0 offset=0 ) uniform implicitly-sized array of atomic_uint)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -39,4 +41,5 @@ ERROR: node is still EOpNull!
|
||||
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
|
||||
0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
|
||||
0:? 'depth' (smooth in float)
|
||||
0:? 'a' (layout(binding=0 offset=0 ) uniform 1-element array of atomic_uint)
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ ERROR: node is still EOpNull!
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking geometry stage: Missing entry point: Each stage requires one entry point
|
||||
ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
|
||||
ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot con
|
||||
ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
|
||||
ERROR: 0:30: 'initializer list' : wrong number of matrix columns: temp 4X2 matrix of float
|
||||
ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'temp structure{global float s, global float t}'
|
||||
ERROR: 0:58: 'initializer list' : wrong number of structure members
|
||||
ERROR: 0:70: 'initializer list' : wrong number of structure members
|
||||
ERROR: 13 compilation errors. No code generated.
|
||||
|
||||
|
||||
@ -50,51 +50,73 @@ ERROR: node is still EOpNull!
|
||||
0:42 5.000000
|
||||
0:42 5.200000
|
||||
0:42 1.100000
|
||||
0:67 Sequence
|
||||
0:67 move second child to first child (temp 3-component vector of float)
|
||||
0:67 'av3' (global 3-component vector of float)
|
||||
0:67 Construct vec3 (global 3-component vector of float)
|
||||
0:67 'vc1' (global float)
|
||||
0:67 'vc2' (global float)
|
||||
0:67 'vc3' (global float)
|
||||
0:68 Sequence
|
||||
0:68 move second child to first child (temp 3-component vector of float)
|
||||
0:68 'bv3' (global 3-component vector of float)
|
||||
0:68 Construct vec3 (temp 3-component vector of float)
|
||||
0:68 'vc1' (global float)
|
||||
0:68 'vc2' (global float)
|
||||
0:68 'vc3' (global float)
|
||||
0:70 Function Definition: main( (global void)
|
||||
0:70 Function Parameters:
|
||||
0:72 Sequence
|
||||
0:72 MemoryBarrier (global void)
|
||||
0:74 Test condition and select (temp void)
|
||||
0:74 Condition
|
||||
0:74 Compare Equal (temp bool)
|
||||
0:74 Constant:
|
||||
0:74 1 (const uint)
|
||||
0:74 2 (const uint)
|
||||
0:74 3.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 5.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:74 true case is null
|
||||
0:76 Test condition and select (temp void)
|
||||
0:76 Condition
|
||||
0:76 Constant:
|
||||
0:76 true (const bool)
|
||||
0:76 true case is null
|
||||
0:55 Sequence
|
||||
0:55 move second child to first child (temp structure{global int f})
|
||||
0:55 'single1' (global structure{global int f})
|
||||
0:55 Constant:
|
||||
0:55 10 (const int)
|
||||
0:58 Sequence
|
||||
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:58 Constant:
|
||||
0:58 1 (const uint)
|
||||
0:58 2 (const uint)
|
||||
0:61 Sequence
|
||||
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||
0:61 Constant:
|
||||
0:61 3 (const int)
|
||||
0:64 Sequence
|
||||
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 Constant:
|
||||
0:64 4 (const uint)
|
||||
0:64 5 (const uint)
|
||||
0:79 Sequence
|
||||
0:79 move second child to first child (temp 3-component vector of float)
|
||||
0:79 'av3' (global 3-component vector of float)
|
||||
0:79 Construct vec3 (global 3-component vector of float)
|
||||
0:79 'vc1' (global float)
|
||||
0:79 'vc2' (global float)
|
||||
0:79 'vc3' (global float)
|
||||
0:80 Sequence
|
||||
0:80 move second child to first child (temp 3-component vector of float)
|
||||
0:80 'bv3' (global 3-component vector of float)
|
||||
0:80 Construct vec3 (temp 3-component vector of float)
|
||||
0:80 'vc1' (global float)
|
||||
0:80 'vc2' (global float)
|
||||
0:80 'vc3' (global float)
|
||||
0:82 Function Definition: main( (global void)
|
||||
0:82 Function Parameters:
|
||||
0:84 Sequence
|
||||
0:84 MemoryBarrier (global void)
|
||||
0:86 Test condition and select (temp void)
|
||||
0:86 Condition
|
||||
0:86 Compare Equal (temp bool)
|
||||
0:86 Constant:
|
||||
0:86 1 (const uint)
|
||||
0:86 2 (const uint)
|
||||
0:86 3.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 5.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:86 true case is null
|
||||
0:88 Test condition and select (temp void)
|
||||
0:88 Condition
|
||||
0:88 Constant:
|
||||
0:88 true (const bool)
|
||||
0:88 true case is null
|
||||
0:? Linker Objects
|
||||
0:? 'a' (const 2X2 matrix of float)
|
||||
0:? 1.000000
|
||||
@ -120,6 +142,10 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c3' (global 4X2 matrix of float)
|
||||
0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
|
||||
0:? 'b5' (global 5-element array of float)
|
||||
0:? 'single1' (global structure{global int f})
|
||||
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:? 1 (const uint)
|
||||
0:? 2 (const uint)
|
||||
@ -200,51 +226,73 @@ ERROR: node is still EOpNull!
|
||||
0:42 5.000000
|
||||
0:42 5.200000
|
||||
0:42 1.100000
|
||||
0:67 Sequence
|
||||
0:67 move second child to first child (temp 3-component vector of float)
|
||||
0:67 'av3' (global 3-component vector of float)
|
||||
0:67 Construct vec3 (global 3-component vector of float)
|
||||
0:67 'vc1' (global float)
|
||||
0:67 'vc2' (global float)
|
||||
0:67 'vc3' (global float)
|
||||
0:68 Sequence
|
||||
0:68 move second child to first child (temp 3-component vector of float)
|
||||
0:68 'bv3' (global 3-component vector of float)
|
||||
0:68 Construct vec3 (temp 3-component vector of float)
|
||||
0:68 'vc1' (global float)
|
||||
0:68 'vc2' (global float)
|
||||
0:68 'vc3' (global float)
|
||||
0:70 Function Definition: main( (global void)
|
||||
0:70 Function Parameters:
|
||||
0:72 Sequence
|
||||
0:72 MemoryBarrier (global void)
|
||||
0:74 Test condition and select (temp void)
|
||||
0:74 Condition
|
||||
0:74 Compare Equal (temp bool)
|
||||
0:74 Constant:
|
||||
0:74 1 (const uint)
|
||||
0:74 2 (const uint)
|
||||
0:74 3.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 4.000000
|
||||
0:74 0.000000
|
||||
0:74 5.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 0.000000
|
||||
0:74 6.000000
|
||||
0:74 0.000000
|
||||
0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:74 true case is null
|
||||
0:76 Test condition and select (temp void)
|
||||
0:76 Condition
|
||||
0:76 Constant:
|
||||
0:76 true (const bool)
|
||||
0:76 true case is null
|
||||
0:55 Sequence
|
||||
0:55 move second child to first child (temp structure{global int f})
|
||||
0:55 'single1' (global structure{global int f})
|
||||
0:55 Constant:
|
||||
0:55 10 (const int)
|
||||
0:58 Sequence
|
||||
0:58 move second child to first child (temp structure{global 2-component vector of uint v})
|
||||
0:58 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:58 Constant:
|
||||
0:58 1 (const uint)
|
||||
0:58 2 (const uint)
|
||||
0:61 Sequence
|
||||
0:61 move second child to first child (temp structure{global structure{global int f} s1})
|
||||
0:61 'single3' (global structure{global structure{global int f} s1})
|
||||
0:61 Constant:
|
||||
0:61 3 (const int)
|
||||
0:64 Sequence
|
||||
0:64 move second child to first child (temp structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:64 Constant:
|
||||
0:64 4 (const uint)
|
||||
0:64 5 (const uint)
|
||||
0:79 Sequence
|
||||
0:79 move second child to first child (temp 3-component vector of float)
|
||||
0:79 'av3' (global 3-component vector of float)
|
||||
0:79 Construct vec3 (global 3-component vector of float)
|
||||
0:79 'vc1' (global float)
|
||||
0:79 'vc2' (global float)
|
||||
0:79 'vc3' (global float)
|
||||
0:80 Sequence
|
||||
0:80 move second child to first child (temp 3-component vector of float)
|
||||
0:80 'bv3' (global 3-component vector of float)
|
||||
0:80 Construct vec3 (temp 3-component vector of float)
|
||||
0:80 'vc1' (global float)
|
||||
0:80 'vc2' (global float)
|
||||
0:80 'vc3' (global float)
|
||||
0:82 Function Definition: main( (global void)
|
||||
0:82 Function Parameters:
|
||||
0:84 Sequence
|
||||
0:84 MemoryBarrier (global void)
|
||||
0:86 Test condition and select (temp void)
|
||||
0:86 Condition
|
||||
0:86 Compare Equal (temp bool)
|
||||
0:86 Constant:
|
||||
0:86 1 (const uint)
|
||||
0:86 2 (const uint)
|
||||
0:86 3.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 4.000000
|
||||
0:86 0.000000
|
||||
0:86 5.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 0.000000
|
||||
0:86 6.000000
|
||||
0:86 0.000000
|
||||
0:86 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:86 true case is null
|
||||
0:88 Test condition and select (temp void)
|
||||
0:88 Condition
|
||||
0:88 Constant:
|
||||
0:88 true (const bool)
|
||||
0:88 true case is null
|
||||
0:? Linker Objects
|
||||
0:? 'a' (const 2X2 matrix of float)
|
||||
0:? 1.000000
|
||||
@ -270,6 +318,10 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c3' (global 4X2 matrix of float)
|
||||
0:? 'd2' (global 1-element array of structure{global float s, global float t})
|
||||
0:? 'b5' (global 5-element array of float)
|
||||
0:? 'single1' (global structure{global int f})
|
||||
0:? 'single2' (global structure{global 2-component vector of uint v})
|
||||
0:? 'single3' (global structure{global structure{global int f} s1})
|
||||
0:? 'single4' (global structure{global structure{global 2-component vector of uint v} s1})
|
||||
0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
|
||||
0:? 1 (const uint)
|
||||
0:? 2 (const uint)
|
||||
|
||||
@ -4,7 +4,7 @@ ERROR: 0:2: '#version' : must occur first in shader
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
|
||||
ERROR: 0:7: '' : vertex input cannot be further qualified
|
||||
ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
|
||||
ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective, __explicitInterpAMD)
|
||||
ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
|
||||
ERROR: 0:13: 'uniform' : too many storage qualifiers
|
||||
ERROR: 0:18: '=' : global const initializers must be constant 'const int'
|
||||
@ -51,6 +51,7 @@ ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found
|
||||
ERROR: 0:157: 'assign' : cannot convert from 'const float' to 'temp int'
|
||||
ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found
|
||||
ERROR: 0:158: 'assign' : cannot convert from 'const float' to 'temp int'
|
||||
WARNING: 0:161: '[]' : assuming array size of one for compile-time checking of binding numbers for implicitly-sized array
|
||||
ERROR: 50 compilation errors. No code generated.
|
||||
|
||||
|
||||
@ -299,6 +300,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
|
||||
0:? 'samp1D' (uniform sampler1D)
|
||||
0:? 'samp1Ds' (uniform sampler1DShadow)
|
||||
0:? 'badArray' (layout(binding=0 ) writeonly uniform implicitly-sized array of image1D)
|
||||
0:? 'gl_VertexID' (gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
|
||||
|
||||
@ -551,6 +553,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
|
||||
0:? 'samp1D' (uniform sampler1D)
|
||||
0:? 'samp1Ds' (uniform sampler1DShadow)
|
||||
0:? 'badArray' (layout(binding=0 ) writeonly uniform 1-element array of image1D)
|
||||
0:? 'gl_VertexID' (gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ ERROR: node is still EOpNull!
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking geometry stage: Missing entry point: Each stage requires one entry point
|
||||
ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
|
||||
ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
|
||||
|
||||
|
||||
@ -266,7 +266,7 @@ ERROR: node is still EOpNull!
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
|
||||
ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
|
||||
ERROR: xfb_buffer 3, xfb_stride 64, minimum stride needed: 80
|
||||
|
||||
|
||||
@ -122,7 +122,7 @@ ERROR: node is still EOpNull!
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
Shader version: 440
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
@ -19,74 +19,79 @@ ERROR: 0:55: 'component' : type overflows the available 4 components
|
||||
ERROR: 0:57: 'component' : cannot apply to a matrix, structure, or block
|
||||
ERROR: 0:58: 'component' : cannot apply to a matrix, structure, or block
|
||||
ERROR: 0:61: 'location/component/index' : cannot declare a default, use a full declaration
|
||||
ERROR: 0:81: 'xfb layout qualifier' : can only be used on an output
|
||||
ERROR: 0:87: 'xfb_offset' : cannot declare a default, use a full declaration
|
||||
ERROR: 0:97: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
|
||||
ERROR: 0:102: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
|
||||
ERROR: 0:102: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3
|
||||
ERROR: 0:103: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2
|
||||
ERROR: 0:105: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2
|
||||
ERROR: 0:108: 'xfb_stride' : all stride settings must match for xfb buffer 15
|
||||
ERROR: 0:112: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1
|
||||
ERROR: 0:114: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:115: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:119: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:117: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:138: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0
|
||||
ERROR: 0:143: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:144: 'xfb_offset' : must be a multiple of size of first component
|
||||
ERROR: 0:145: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
|
||||
ERROR: 0:147: 'xfb_offset' : must be a multiple of size of first component
|
||||
ERROR: 0:148: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
|
||||
ERROR: 0:152: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:155: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:155: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64
|
||||
ERROR: 0:66: 'component' : doubles cannot start on an odd-numbered component
|
||||
ERROR: 0:67: 'component' : type overflows the available 4 components
|
||||
ERROR: 0:71: 'location' : overlapping use of location 55
|
||||
ERROR: 0:75: 'location' : overlapping use of location 57
|
||||
ERROR: 0:78: 'location' : overlapping use of location 59
|
||||
ERROR: 0:95: 'xfb layout qualifier' : can only be used on an output
|
||||
ERROR: 0:101: 'xfb_offset' : cannot declare a default, use a full declaration
|
||||
ERROR: 0:111: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
|
||||
ERROR: 0:116: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
|
||||
ERROR: 0:116: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3
|
||||
ERROR: 0:117: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2
|
||||
ERROR: 0:119: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2
|
||||
ERROR: 0:122: 'xfb_stride' : all stride settings must match for xfb buffer 15
|
||||
ERROR: 0:126: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1
|
||||
ERROR: 0:128: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:129: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:133: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:131: 'xfb_stride' : all stride settings must match for xfb buffer 3
|
||||
ERROR: 0:152: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0
|
||||
ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:165: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters
|
||||
ERROR: 0:165: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters
|
||||
ERROR: 0:165: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters
|
||||
ERROR: 0:173: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input)
|
||||
ERROR: 0:174: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input)
|
||||
ERROR: 0:175: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input)
|
||||
ERROR: 0:176: 'glBaseInstanceARB' : undeclared identifier
|
||||
ERROR: 49 compilation errors. No code generated.
|
||||
ERROR: 0:158: 'xfb_offset' : must be a multiple of size of first component
|
||||
ERROR: 0:159: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
|
||||
ERROR: 0:161: 'xfb_offset' : must be a multiple of size of first component
|
||||
ERROR: 0:162: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
|
||||
ERROR: 0:166: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:169: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:169: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64
|
||||
ERROR: 0:171: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
|
||||
ERROR: 0:179: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters
|
||||
ERROR: 0:179: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters
|
||||
ERROR: 0:179: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters
|
||||
ERROR: 0:187: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input)
|
||||
ERROR: 0:188: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input)
|
||||
ERROR: 0:189: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input)
|
||||
ERROR: 0:190: 'glBaseInstanceARB' : undeclared identifier
|
||||
ERROR: 54 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 440
|
||||
Requested GL_ARB_shader_draw_parameters
|
||||
in xfb mode
|
||||
ERROR: node is still EOpNull!
|
||||
0:163 Function Definition: drawParamsBad( (global int)
|
||||
0:163 Function Parameters:
|
||||
0:165 Sequence
|
||||
0:165 Branch: Return with expression
|
||||
0:165 add (temp int)
|
||||
0:165 add (temp int)
|
||||
0:165 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:165 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:165 'gl_DrawIDARB' (in int DrawId)
|
||||
0:170 Function Definition: drawParams( (global int)
|
||||
0:170 Function Parameters:
|
||||
0:172 Sequence
|
||||
0:172 Branch: Return with expression
|
||||
0:172 add (temp int)
|
||||
0:172 add (temp int)
|
||||
0:172 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:172 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:172 'gl_DrawIDARB' (in int DrawId)
|
||||
0:173 move second child to first child (temp int)
|
||||
0:173 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:173 Constant:
|
||||
0:173 3 (const int)
|
||||
0:174 move second child to first child (temp int)
|
||||
0:174 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:174 Constant:
|
||||
0:174 3 (const int)
|
||||
0:175 move second child to first child (temp int)
|
||||
0:175 'gl_DrawIDARB' (in int DrawId)
|
||||
0:175 Constant:
|
||||
0:175 3 (const int)
|
||||
0:176 'glBaseInstanceARB' (temp float)
|
||||
0:177 Function Definition: drawParamsBad( (global int)
|
||||
0:177 Function Parameters:
|
||||
0:179 Sequence
|
||||
0:179 Branch: Return with expression
|
||||
0:179 add (temp int)
|
||||
0:179 add (temp int)
|
||||
0:179 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:179 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:179 'gl_DrawIDARB' (in int DrawId)
|
||||
0:184 Function Definition: drawParams( (global int)
|
||||
0:184 Function Parameters:
|
||||
0:186 Sequence
|
||||
0:186 Branch: Return with expression
|
||||
0:186 add (temp int)
|
||||
0:186 add (temp int)
|
||||
0:186 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:186 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:186 'gl_DrawIDARB' (in int DrawId)
|
||||
0:187 move second child to first child (temp int)
|
||||
0:187 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:187 Constant:
|
||||
0:187 3 (const int)
|
||||
0:188 move second child to first child (temp int)
|
||||
0:188 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:188 Constant:
|
||||
0:188 3 (const int)
|
||||
0:189 move second child to first child (temp int)
|
||||
0:189 'gl_DrawIDARB' (in int DrawId)
|
||||
0:189 Constant:
|
||||
0:189 3 (const int)
|
||||
0:190 'glBaseInstanceARB' (temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
|
||||
0:? 'b' (layout(location=2 component=1 ) in float)
|
||||
@ -119,6 +124,19 @@ ERROR: node is still EOpNull!
|
||||
0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
|
||||
0:? 'be' (layout(location=50 component=3 ) smooth out int)
|
||||
0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
|
||||
0:? 'dfo' (layout(location=51 component=1 ) smooth out double)
|
||||
0:? 'dvo' (layout(location=52 component=2 ) smooth out 2-component vector of double)
|
||||
0:? 'dfo2' (layout(location=53 ) smooth out double)
|
||||
0:? 'ffv2' (layout(location=53 component=2 ) smooth out 2-component vector of float)
|
||||
0:? 'dvec4out' (layout(location=54 ) smooth out 4-component vector of double)
|
||||
0:? 'overf' (layout(location=55 ) smooth out float)
|
||||
0:? 'df2o' (layout(location=56 component=1 ) smooth out 2-component vector of float)
|
||||
0:? 'sf2o' (layout(location=56 component=3 ) smooth out float)
|
||||
0:? 'dv3o' (layout(location=57 component=2 ) smooth out 2-component vector of float)
|
||||
0:? 'sf4o' (layout(location=57 component=3 ) smooth out float)
|
||||
0:? 'dv3o2' (layout(location=58 ) flat out 3-component vector of double)
|
||||
0:? 'dfo3' (layout(location=59 component=2 ) flat out double)
|
||||
0:? 'dfo4' (layout(location=59 component=0 ) flat out double)
|
||||
0:? 'bbinst1' (out block{out 4-component vector of float bbv})
|
||||
0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
|
||||
0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
|
||||
@ -142,7 +160,7 @@ ERROR: node is still EOpNull!
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
|
||||
ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
|
||||
ERROR: xfb_buffer 0, xfb_stride 92, minimum stride needed: 96
|
||||
ERROR: Linking vertex stage: xfb_stride must be multiple of 8 for buffer holding a double:
|
||||
@ -156,37 +174,37 @@ Shader version: 440
|
||||
Requested GL_ARB_shader_draw_parameters
|
||||
in xfb mode
|
||||
ERROR: node is still EOpNull!
|
||||
0:163 Function Definition: drawParamsBad( (global int)
|
||||
0:163 Function Parameters:
|
||||
0:165 Sequence
|
||||
0:165 Branch: Return with expression
|
||||
0:165 add (temp int)
|
||||
0:165 add (temp int)
|
||||
0:165 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:165 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:165 'gl_DrawIDARB' (in int DrawId)
|
||||
0:170 Function Definition: drawParams( (global int)
|
||||
0:170 Function Parameters:
|
||||
0:172 Sequence
|
||||
0:172 Branch: Return with expression
|
||||
0:172 add (temp int)
|
||||
0:172 add (temp int)
|
||||
0:172 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:172 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:172 'gl_DrawIDARB' (in int DrawId)
|
||||
0:173 move second child to first child (temp int)
|
||||
0:173 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:173 Constant:
|
||||
0:173 3 (const int)
|
||||
0:174 move second child to first child (temp int)
|
||||
0:174 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:174 Constant:
|
||||
0:174 3 (const int)
|
||||
0:175 move second child to first child (temp int)
|
||||
0:175 'gl_DrawIDARB' (in int DrawId)
|
||||
0:175 Constant:
|
||||
0:175 3 (const int)
|
||||
0:176 'glBaseInstanceARB' (temp float)
|
||||
0:177 Function Definition: drawParamsBad( (global int)
|
||||
0:177 Function Parameters:
|
||||
0:179 Sequence
|
||||
0:179 Branch: Return with expression
|
||||
0:179 add (temp int)
|
||||
0:179 add (temp int)
|
||||
0:179 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:179 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:179 'gl_DrawIDARB' (in int DrawId)
|
||||
0:184 Function Definition: drawParams( (global int)
|
||||
0:184 Function Parameters:
|
||||
0:186 Sequence
|
||||
0:186 Branch: Return with expression
|
||||
0:186 add (temp int)
|
||||
0:186 add (temp int)
|
||||
0:186 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:186 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:186 'gl_DrawIDARB' (in int DrawId)
|
||||
0:187 move second child to first child (temp int)
|
||||
0:187 'gl_BaseVertexARB' (in int BaseVertex)
|
||||
0:187 Constant:
|
||||
0:187 3 (const int)
|
||||
0:188 move second child to first child (temp int)
|
||||
0:188 'gl_BaseInstanceARB' (in int BaseInstance)
|
||||
0:188 Constant:
|
||||
0:188 3 (const int)
|
||||
0:189 move second child to first child (temp int)
|
||||
0:189 'gl_DrawIDARB' (in int DrawId)
|
||||
0:189 Constant:
|
||||
0:189 3 (const int)
|
||||
0:190 'glBaseInstanceARB' (temp float)
|
||||
0:? Linker Objects
|
||||
0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
|
||||
0:? 'b' (layout(location=2 component=1 ) in float)
|
||||
@ -219,6 +237,19 @@ ERROR: node is still EOpNull!
|
||||
0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
|
||||
0:? 'be' (layout(location=50 component=3 ) smooth out int)
|
||||
0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
|
||||
0:? 'dfo' (layout(location=51 component=1 ) smooth out double)
|
||||
0:? 'dvo' (layout(location=52 component=2 ) smooth out 2-component vector of double)
|
||||
0:? 'dfo2' (layout(location=53 ) smooth out double)
|
||||
0:? 'ffv2' (layout(location=53 component=2 ) smooth out 2-component vector of float)
|
||||
0:? 'dvec4out' (layout(location=54 ) smooth out 4-component vector of double)
|
||||
0:? 'overf' (layout(location=55 ) smooth out float)
|
||||
0:? 'df2o' (layout(location=56 component=1 ) smooth out 2-component vector of float)
|
||||
0:? 'sf2o' (layout(location=56 component=3 ) smooth out float)
|
||||
0:? 'dv3o' (layout(location=57 component=2 ) smooth out 2-component vector of float)
|
||||
0:? 'sf4o' (layout(location=57 component=3 ) smooth out float)
|
||||
0:? 'dv3o2' (layout(location=58 ) flat out 3-component vector of double)
|
||||
0:? 'dfo3' (layout(location=59 component=2 ) flat out double)
|
||||
0:? 'dfo4' (layout(location=59 component=0 ) flat out double)
|
||||
0:? 'bbinst1' (out block{out 4-component vector of float bbv})
|
||||
0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
|
||||
0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
|
||||
|
||||
@ -9,7 +9,7 @@ local_size = (1, 1, 1)
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
ERROR: Linking compute stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking compute stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
|
||||
@ -17,7 +17,7 @@ ERROR: node is still EOpNull!
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
Shader version: 100
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
7
Test/baseResults/badMacroArgs.frag.out
Normal file
7
Test/baseResults/badMacroArgs.frag.out
Normal file
@ -0,0 +1,7 @@
|
||||
badMacroArgs.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
ERROR: 0:4: 'macro expansion' : Too few args in Macro m
|
||||
ERROR: 0:4: '' : compilation terminated
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
|
||||
22
Test/baseResults/cppBad.vert.out
Executable file
22
Test/baseResults/cppBad.vert.out
Executable file
@ -0,0 +1,22 @@
|
||||
cppBad.vert
|
||||
ERROR: 0:2: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:2: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:5: 'string' : End of line in string
|
||||
ERROR: 0:5: 'macro expansion' : expected '(' following n
|
||||
ERROR: 0:5: '' : syntax error
|
||||
ERROR: 5 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 100
|
||||
ERROR: node is still EOpNull!
|
||||
0:? Linker Objects
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
Shader version: 100
|
||||
ERROR: node is still EOpNull!
|
||||
0:? Linker Objects
|
||||
|
||||
@ -4,7 +4,7 @@ ERROR: 0:152: '#else' : #else after #else
|
||||
ERROR: 0:161: '#elif' : #elif after #else
|
||||
ERROR: 0:169: '#else' : #else after #else
|
||||
ERROR: 0:177: 'macro expansion' : End of input in macro FUNC
|
||||
ERROR: 0:178: '' : syntax error
|
||||
ERROR: 0:178: '' : compilation terminated
|
||||
ERROR: 6 compilation errors. No code generated.
|
||||
|
||||
|
||||
|
||||
@ -138,7 +138,7 @@ Shader version: 400
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
|
||||
ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
|
||||
|
||||
Shader version: 400
|
||||
0:? Sequence
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
errors.frag
|
||||
ERROR: 0:1: 'main' : function cannot take any parameter(s)
|
||||
ERROR: 0:1: 'int' : main function cannot return a value
|
||||
ERROR: 0:1: 'int' : entry point cannot return a value
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
|
||||
|
||||
207
Test/baseResults/hlsl.amend.frag.out
Executable file
207
Test/baseResults/hlsl.amend.frag.out
Executable file
@ -0,0 +1,207 @@
|
||||
hlsl.amend.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:5 Function Definition: f1( (temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 vector-scale (temp 4-component vector of float)
|
||||
0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 b: direct index for structure (layout(offset=16 ) uniform float)
|
||||
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:6 Constant:
|
||||
0:6 1 (const uint)
|
||||
0:12 Function Definition: f2( (temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:13 add (temp float)
|
||||
0:13 add (temp float)
|
||||
0:13 direct index (temp float)
|
||||
0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 b: direct index for structure (layout(offset=16 ) uniform float)
|
||||
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:13 Constant:
|
||||
0:13 1 (const uint)
|
||||
0:13 direct index (temp float)
|
||||
0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
|
||||
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:13 Constant:
|
||||
0:13 2 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:17 Function Definition: f3( (temp void)
|
||||
0:17 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
|
||||
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:18 Constant:
|
||||
0:18 2 (const uint)
|
||||
0:24 Function Definition: f4( (temp void)
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:25 vector-scale (temp 4-component vector of float)
|
||||
0:25 Convert int to float (temp float)
|
||||
0:25 d: direct index for structure (layout(offset=44 ) uniform int)
|
||||
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:25 Constant:
|
||||
0:25 3 (const uint)
|
||||
0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:25 Constant:
|
||||
0:25 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:5 Function Definition: f1( (temp void)
|
||||
0:5 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 vector-scale (temp 4-component vector of float)
|
||||
0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:6 Constant:
|
||||
0:6 0 (const uint)
|
||||
0:6 b: direct index for structure (layout(offset=16 ) uniform float)
|
||||
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:6 Constant:
|
||||
0:6 1 (const uint)
|
||||
0:12 Function Definition: f2( (temp void)
|
||||
0:12 Function Parameters:
|
||||
0:? Sequence
|
||||
0:13 add (temp float)
|
||||
0:13 add (temp float)
|
||||
0:13 direct index (temp float)
|
||||
0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:13 Constant:
|
||||
0:13 0 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 b: direct index for structure (layout(offset=16 ) uniform float)
|
||||
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:13 Constant:
|
||||
0:13 1 (const uint)
|
||||
0:13 direct index (temp float)
|
||||
0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
|
||||
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:13 Constant:
|
||||
0:13 2 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:17 Function Definition: f3( (temp void)
|
||||
0:17 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
|
||||
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:18 Constant:
|
||||
0:18 2 (const uint)
|
||||
0:24 Function Definition: f4( (temp void)
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:25 vector-scale (temp 4-component vector of float)
|
||||
0:25 Convert int to float (temp float)
|
||||
0:25 d: direct index for structure (layout(offset=44 ) uniform int)
|
||||
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:25 Constant:
|
||||
0:25 3 (const uint)
|
||||
0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
0:25 Constant:
|
||||
0:25 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 47
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "f1"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "f1"
|
||||
Name 6 "f2("
|
||||
Name 8 "f3("
|
||||
Name 10 "f4("
|
||||
Name 16 "$Global"
|
||||
MemberName 16($Global) 0 "a"
|
||||
MemberName 16($Global) 1 "b"
|
||||
MemberName 16($Global) 2 "c"
|
||||
MemberName 16($Global) 3 "d"
|
||||
MemberName 16($Global) 4 "e"
|
||||
Name 18 ""
|
||||
MemberDecorate 16($Global) 0 Offset 0
|
||||
MemberDecorate 16($Global) 1 Offset 16
|
||||
MemberDecorate 16($Global) 2 Offset 32
|
||||
MemberDecorate 16($Global) 3 Offset 44
|
||||
MemberDecorate 16($Global) 4 Offset 48
|
||||
Decorate 16($Global) Block
|
||||
Decorate 18 DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
12: TypeFloat 32
|
||||
13: TypeVector 12(float) 4
|
||||
14: TypeVector 12(float) 3
|
||||
15: TypeInt 32 1
|
||||
16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int)
|
||||
17: TypePointer Uniform 16($Global)
|
||||
18: 17(ptr) Variable Uniform
|
||||
19: 15(int) Constant 0
|
||||
20: TypePointer Uniform 13(fvec4)
|
||||
23: 15(int) Constant 1
|
||||
24: TypePointer Uniform 12(float)
|
||||
28: TypeInt 32 0
|
||||
29: 28(int) Constant 0
|
||||
35: 15(int) Constant 2
|
||||
39: 15(int) Constant 3
|
||||
40: TypePointer Uniform 15(int)
|
||||
4(f1): 2 Function None 3
|
||||
5: Label
|
||||
21: 20(ptr) AccessChain 18 19
|
||||
22: 13(fvec4) Load 21
|
||||
25: 24(ptr) AccessChain 18 23
|
||||
26: 12(float) Load 25
|
||||
27: 13(fvec4) VectorTimesScalar 22 26
|
||||
Return
|
||||
FunctionEnd
|
||||
6(f2(): 2 Function None 3
|
||||
7: Label
|
||||
30: 24(ptr) AccessChain 18 19 29
|
||||
31: 12(float) Load 30
|
||||
32: 24(ptr) AccessChain 18 23
|
||||
33: 12(float) Load 32
|
||||
34: 12(float) FAdd 31 33
|
||||
36: 24(ptr) AccessChain 18 35 29
|
||||
37: 12(float) Load 36
|
||||
38: 12(float) FAdd 34 37
|
||||
Return
|
||||
FunctionEnd
|
||||
8(f3(): 2 Function None 3
|
||||
9: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
10(f4(): 2 Function None 3
|
||||
11: Label
|
||||
41: 40(ptr) AccessChain 18 39
|
||||
42: 15(int) Load 41
|
||||
43: 12(float) ConvertSToF 42
|
||||
44: 20(ptr) AccessChain 18 19
|
||||
45: 13(fvec4) Load 44
|
||||
46: 13(fvec4) VectorTimesScalar 45 43
|
||||
Return
|
||||
FunctionEnd
|
||||
526
Test/baseResults/hlsl.array.flatten.frag.out
Normal file
526
Test/baseResults/hlsl.array.flatten.frag.out
Normal file
@ -0,0 +1,526 @@
|
||||
hlsl.array.flatten.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:17 Function Definition: TestFn1( (temp 4-component vector of float)
|
||||
0:17 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 Branch: Return with expression
|
||||
0:18 texture (temp 4-component vector of float)
|
||||
0:18 Construct combined texture-sampler (temp sampler1D)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:18 Constant:
|
||||
0:18 0.200000
|
||||
0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
|
||||
0:22 Function Parameters:
|
||||
0:22 'l_tex' (in 3-element array of texture1D)
|
||||
0:22 'l_samp' (in 3-element array of sampler)
|
||||
0:? Sequence
|
||||
0:23 Branch: Return with expression
|
||||
0:23 texture (temp 4-component vector of float)
|
||||
0:23 Construct combined texture-sampler (temp sampler1D)
|
||||
0:23 direct index (temp texture1D)
|
||||
0:23 'l_tex' (in 3-element array of texture1D)
|
||||
0:23 Constant:
|
||||
0:23 2 (const int)
|
||||
0:23 direct index (temp sampler)
|
||||
0:23 'l_samp' (in 3-element array of sampler)
|
||||
0:23 Constant:
|
||||
0:23 2 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.200000
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 5-element array of int)
|
||||
0:26 'not_flattened_a' (global 5-element array of int)
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 2 (const int)
|
||||
0:26 3 (const int)
|
||||
0:26 4 (const int)
|
||||
0:26 5 (const int)
|
||||
0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
|
||||
0:31 Function Parameters:
|
||||
0:31 'ps_output' (out structure{temp 4-component vector of float color})
|
||||
0:? Sequence
|
||||
0:33 Sequence
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp sampler)
|
||||
0:33 direct index (temp sampler)
|
||||
0:33 'local_sampler_array' (temp 3-element array of sampler)
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:? 'g_samp[0]' (uniform sampler)
|
||||
0:33 move second child to first child (temp sampler)
|
||||
0:33 direct index (temp sampler)
|
||||
0:33 'local_sampler_array' (temp 3-element array of sampler)
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:33 move second child to first child (temp sampler)
|
||||
0:33 direct index (temp sampler)
|
||||
0:33 'local_sampler_array' (temp 3-element array of sampler)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
0:? 'g_samp[2]' (uniform sampler)
|
||||
0:34 Sequence
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp texture1D)
|
||||
0:34 direct index (temp texture1D)
|
||||
0:34 'local_texture_array' (temp 3-element array of texture1D)
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:? 'g_tex[0]' (uniform texture1D)
|
||||
0:34 move second child to first child (temp texture1D)
|
||||
0:34 direct index (temp texture1D)
|
||||
0:34 'local_texture_array' (temp 3-element array of texture1D)
|
||||
0:34 Constant:
|
||||
0:34 1 (const int)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:34 move second child to first child (temp texture1D)
|
||||
0:34 direct index (temp texture1D)
|
||||
0:34 'local_texture_array' (temp 3-element array of texture1D)
|
||||
0:34 Constant:
|
||||
0:34 2 (const int)
|
||||
0:? 'g_tex[2]' (uniform texture1D)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-element array of float)
|
||||
0:35 'local_float_array' (temp 4-element array of float)
|
||||
0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float)
|
||||
0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
|
||||
0:35 Constant:
|
||||
0:35 2 (const uint)
|
||||
0:37 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:37 add (temp 4-component vector of float)
|
||||
0:37 Function Call: TestFn1( (temp 4-component vector of float)
|
||||
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
|
||||
0:37 Comma (temp 3-element array of texture1D)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp texture1D)
|
||||
0:37 direct index (temp texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:? 'g_tex[0]' (uniform texture1D)
|
||||
0:37 move second child to first child (temp texture1D)
|
||||
0:37 direct index (temp texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:37 move second child to first child (temp texture1D)
|
||||
0:37 direct index (temp texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Constant:
|
||||
0:37 2 (const int)
|
||||
0:? 'g_tex[2]' (uniform texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Comma (temp 3-element array of sampler)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp sampler)
|
||||
0:37 direct index (temp sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:? 'g_samp[0]' (uniform sampler)
|
||||
0:37 move second child to first child (temp sampler)
|
||||
0:37 direct index (temp sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:37 move second child to first child (temp sampler)
|
||||
0:37 direct index (temp sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:37 Constant:
|
||||
0:37 2 (const int)
|
||||
0:? 'g_samp[2]' (uniform sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:? Linker Objects
|
||||
0:? 'g_tex[0]' (uniform texture1D)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:? 'g_tex[2]' (uniform texture1D)
|
||||
0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D)
|
||||
0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D)
|
||||
0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D)
|
||||
0:? 'g_samp[0]' (uniform sampler)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:? 'g_samp[2]' (uniform sampler)
|
||||
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
|
||||
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
|
||||
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
|
||||
0:? 'not_flattened_a' (global 5-element array of int)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:17 Function Definition: TestFn1( (temp 4-component vector of float)
|
||||
0:17 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 Branch: Return with expression
|
||||
0:18 texture (temp 4-component vector of float)
|
||||
0:18 Construct combined texture-sampler (temp sampler1D)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:18 Constant:
|
||||
0:18 0.200000
|
||||
0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
|
||||
0:22 Function Parameters:
|
||||
0:22 'l_tex' (in 3-element array of texture1D)
|
||||
0:22 'l_samp' (in 3-element array of sampler)
|
||||
0:? Sequence
|
||||
0:23 Branch: Return with expression
|
||||
0:23 texture (temp 4-component vector of float)
|
||||
0:23 Construct combined texture-sampler (temp sampler1D)
|
||||
0:23 direct index (temp texture1D)
|
||||
0:23 'l_tex' (in 3-element array of texture1D)
|
||||
0:23 Constant:
|
||||
0:23 2 (const int)
|
||||
0:23 direct index (temp sampler)
|
||||
0:23 'l_samp' (in 3-element array of sampler)
|
||||
0:23 Constant:
|
||||
0:23 2 (const int)
|
||||
0:23 Constant:
|
||||
0:23 0.200000
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 5-element array of int)
|
||||
0:26 'not_flattened_a' (global 5-element array of int)
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 2 (const int)
|
||||
0:26 3 (const int)
|
||||
0:26 4 (const int)
|
||||
0:26 5 (const int)
|
||||
0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
|
||||
0:31 Function Parameters:
|
||||
0:31 'ps_output' (out structure{temp 4-component vector of float color})
|
||||
0:? Sequence
|
||||
0:33 Sequence
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp sampler)
|
||||
0:33 direct index (temp sampler)
|
||||
0:33 'local_sampler_array' (temp 3-element array of sampler)
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:? 'g_samp[0]' (uniform sampler)
|
||||
0:33 move second child to first child (temp sampler)
|
||||
0:33 direct index (temp sampler)
|
||||
0:33 'local_sampler_array' (temp 3-element array of sampler)
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:33 move second child to first child (temp sampler)
|
||||
0:33 direct index (temp sampler)
|
||||
0:33 'local_sampler_array' (temp 3-element array of sampler)
|
||||
0:33 Constant:
|
||||
0:33 2 (const int)
|
||||
0:? 'g_samp[2]' (uniform sampler)
|
||||
0:34 Sequence
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp texture1D)
|
||||
0:34 direct index (temp texture1D)
|
||||
0:34 'local_texture_array' (temp 3-element array of texture1D)
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:? 'g_tex[0]' (uniform texture1D)
|
||||
0:34 move second child to first child (temp texture1D)
|
||||
0:34 direct index (temp texture1D)
|
||||
0:34 'local_texture_array' (temp 3-element array of texture1D)
|
||||
0:34 Constant:
|
||||
0:34 1 (const int)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:34 move second child to first child (temp texture1D)
|
||||
0:34 direct index (temp texture1D)
|
||||
0:34 'local_texture_array' (temp 3-element array of texture1D)
|
||||
0:34 Constant:
|
||||
0:34 2 (const int)
|
||||
0:? 'g_tex[2]' (uniform texture1D)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-element array of float)
|
||||
0:35 'local_float_array' (temp 4-element array of float)
|
||||
0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float)
|
||||
0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
|
||||
0:35 Constant:
|
||||
0:35 2 (const uint)
|
||||
0:37 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:37 add (temp 4-component vector of float)
|
||||
0:37 Function Call: TestFn1( (temp 4-component vector of float)
|
||||
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
|
||||
0:37 Comma (temp 3-element array of texture1D)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp texture1D)
|
||||
0:37 direct index (temp texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:? 'g_tex[0]' (uniform texture1D)
|
||||
0:37 move second child to first child (temp texture1D)
|
||||
0:37 direct index (temp texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:37 move second child to first child (temp texture1D)
|
||||
0:37 direct index (temp texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Constant:
|
||||
0:37 2 (const int)
|
||||
0:? 'g_tex[2]' (uniform texture1D)
|
||||
0:37 'aggShadow' (temp 3-element array of texture1D)
|
||||
0:37 Comma (temp 3-element array of sampler)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp sampler)
|
||||
0:37 direct index (temp sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:? 'g_samp[0]' (uniform sampler)
|
||||
0:37 move second child to first child (temp sampler)
|
||||
0:37 direct index (temp sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:37 move second child to first child (temp sampler)
|
||||
0:37 direct index (temp sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:37 Constant:
|
||||
0:37 2 (const int)
|
||||
0:? 'g_samp[2]' (uniform sampler)
|
||||
0:37 'aggShadow' (temp 3-element array of sampler)
|
||||
0:? Linker Objects
|
||||
0:? 'g_tex[0]' (uniform texture1D)
|
||||
0:? 'g_tex[1]' (uniform texture1D)
|
||||
0:? 'g_tex[2]' (uniform texture1D)
|
||||
0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D)
|
||||
0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D)
|
||||
0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D)
|
||||
0:? 'g_samp[0]' (uniform sampler)
|
||||
0:? 'g_samp[1]' (uniform sampler)
|
||||
0:? 'g_samp[2]' (uniform sampler)
|
||||
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
|
||||
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
|
||||
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
|
||||
0:? 'not_flattened_a' (global 5-element array of int)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 123
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 99
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 9 "TestFn1("
|
||||
Name 22 "TestFn2(t11[3];p1[3];"
|
||||
Name 20 "l_tex"
|
||||
Name 21 "l_samp"
|
||||
Name 28 "not_flattened_a"
|
||||
Name 36 "g_tex[1]"
|
||||
Name 39 "g_samp[1]"
|
||||
Name 55 "local_sampler_array"
|
||||
Name 57 "g_samp[0]"
|
||||
Name 62 "g_samp[2]"
|
||||
Name 65 "local_texture_array"
|
||||
Name 66 "g_tex[0]"
|
||||
Name 71 "g_tex[2]"
|
||||
Name 77 "local_float_array"
|
||||
Name 83 "$Global"
|
||||
MemberName 83($Global) 0 "g_mats"
|
||||
MemberName 83($Global) 1 "g_mats_explicit"
|
||||
MemberName 83($Global) 2 "g_floats"
|
||||
Name 85 ""
|
||||
Name 99 "color"
|
||||
Name 101 "aggShadow"
|
||||
Name 108 "aggShadow"
|
||||
Name 117 "g_tex_explicit[0]"
|
||||
Name 118 "g_tex_explicit[1]"
|
||||
Name 119 "g_tex_explicit[2]"
|
||||
Name 120 "g_samp_explicit[0]"
|
||||
Name 121 "g_samp_explicit[1]"
|
||||
Name 122 "g_samp_explicit[2]"
|
||||
Decorate 36(g_tex[1]) DescriptorSet 0
|
||||
Decorate 39(g_samp[1]) DescriptorSet 0
|
||||
Decorate 57(g_samp[0]) DescriptorSet 0
|
||||
Decorate 62(g_samp[2]) DescriptorSet 0
|
||||
Decorate 66(g_tex[0]) DescriptorSet 0
|
||||
Decorate 71(g_tex[2]) DescriptorSet 0
|
||||
Decorate 80 ArrayStride 48
|
||||
Decorate 81 ArrayStride 48
|
||||
Decorate 82 ArrayStride 16
|
||||
MemberDecorate 83($Global) 0 RowMajor
|
||||
MemberDecorate 83($Global) 0 Offset 0
|
||||
MemberDecorate 83($Global) 0 MatrixStride 16
|
||||
MemberDecorate 83($Global) 1 RowMajor
|
||||
MemberDecorate 83($Global) 1 Offset 192
|
||||
MemberDecorate 83($Global) 1 MatrixStride 16
|
||||
MemberDecorate 83($Global) 2 Offset 384
|
||||
Decorate 83($Global) Block
|
||||
Decorate 85 DescriptorSet 0
|
||||
Decorate 99(color) Location 0
|
||||
Decorate 117(g_tex_explicit[0]) DescriptorSet 0
|
||||
Decorate 117(g_tex_explicit[0]) Binding 1
|
||||
Decorate 118(g_tex_explicit[1]) DescriptorSet 0
|
||||
Decorate 118(g_tex_explicit[1]) Binding 2
|
||||
Decorate 119(g_tex_explicit[2]) DescriptorSet 0
|
||||
Decorate 119(g_tex_explicit[2]) Binding 3
|
||||
Decorate 120(g_samp_explicit[0]) DescriptorSet 0
|
||||
Decorate 120(g_samp_explicit[0]) Binding 5
|
||||
Decorate 121(g_samp_explicit[1]) DescriptorSet 0
|
||||
Decorate 121(g_samp_explicit[1]) Binding 6
|
||||
Decorate 122(g_samp_explicit[2]) DescriptorSet 0
|
||||
Decorate 122(g_samp_explicit[2]) Binding 7
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeFunction 7(fvec4)
|
||||
11: TypeImage 6(float) 1D sampled format:Unknown
|
||||
12: TypeInt 32 0
|
||||
13: 12(int) Constant 3
|
||||
14: TypeArray 11 13
|
||||
15: TypePointer UniformConstant 14
|
||||
16: TypeSampler
|
||||
17: TypeArray 16 13
|
||||
18: TypePointer UniformConstant 17
|
||||
19: TypeFunction 7(fvec4) 15(ptr) 18(ptr)
|
||||
24: TypeInt 32 1
|
||||
25: 12(int) Constant 5
|
||||
26: TypeArray 24(int) 25
|
||||
27: TypePointer Private 26
|
||||
28(not_flattened_a): 27(ptr) Variable Private
|
||||
29: 24(int) Constant 1
|
||||
30: 24(int) Constant 2
|
||||
31: 24(int) Constant 3
|
||||
32: 24(int) Constant 4
|
||||
33: 24(int) Constant 5
|
||||
34: 26 ConstantComposite 29 30 31 32 33
|
||||
35: TypePointer UniformConstant 11
|
||||
36(g_tex[1]): 35(ptr) Variable UniformConstant
|
||||
38: TypePointer UniformConstant 16
|
||||
39(g_samp[1]): 38(ptr) Variable UniformConstant
|
||||
41: TypeSampledImage 11
|
||||
43: 6(float) Constant 1045220557
|
||||
55(local_sampler_array): 18(ptr) Variable UniformConstant
|
||||
56: 24(int) Constant 0
|
||||
57(g_samp[0]): 38(ptr) Variable UniformConstant
|
||||
62(g_samp[2]): 38(ptr) Variable UniformConstant
|
||||
65(local_texture_array): 15(ptr) Variable UniformConstant
|
||||
66(g_tex[0]): 35(ptr) Variable UniformConstant
|
||||
71(g_tex[2]): 35(ptr) Variable UniformConstant
|
||||
74: 12(int) Constant 4
|
||||
75: TypeArray 6(float) 74
|
||||
76: TypePointer Function 75
|
||||
78: TypeVector 6(float) 3
|
||||
79: TypeMatrix 78(fvec3) 3
|
||||
80: TypeArray 79 74
|
||||
81: TypeArray 79 74
|
||||
82: TypeArray 6(float) 74
|
||||
83($Global): TypeStruct 80 81 82
|
||||
84: TypePointer Uniform 83($Global)
|
||||
85: 84(ptr) Variable Uniform
|
||||
86: TypePointer Uniform 82
|
||||
90: TypePointer Function 6(float)
|
||||
98: TypePointer Output 7(fvec4)
|
||||
99(color): 98(ptr) Variable Output
|
||||
101(aggShadow): 15(ptr) Variable UniformConstant
|
||||
108(aggShadow): 18(ptr) Variable UniformConstant
|
||||
117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant
|
||||
118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant
|
||||
119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant
|
||||
120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant
|
||||
121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant
|
||||
122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
77(local_float_array): 76(ptr) Variable Function
|
||||
Store 28(not_flattened_a) 34
|
||||
58: 16 Load 57(g_samp[0])
|
||||
59: 38(ptr) AccessChain 55(local_sampler_array) 56
|
||||
Store 59 58
|
||||
60: 16 Load 39(g_samp[1])
|
||||
61: 38(ptr) AccessChain 55(local_sampler_array) 29
|
||||
Store 61 60
|
||||
63: 16 Load 62(g_samp[2])
|
||||
64: 38(ptr) AccessChain 55(local_sampler_array) 30
|
||||
Store 64 63
|
||||
67: 11 Load 66(g_tex[0])
|
||||
68: 35(ptr) AccessChain 65(local_texture_array) 56
|
||||
Store 68 67
|
||||
69: 11 Load 36(g_tex[1])
|
||||
70: 35(ptr) AccessChain 65(local_texture_array) 29
|
||||
Store 70 69
|
||||
72: 11 Load 71(g_tex[2])
|
||||
73: 35(ptr) AccessChain 65(local_texture_array) 30
|
||||
Store 73 72
|
||||
87: 86(ptr) AccessChain 85 30
|
||||
88: 82 Load 87
|
||||
89: 6(float) CompositeExtract 88 0
|
||||
91: 90(ptr) AccessChain 77(local_float_array) 56
|
||||
Store 91 89
|
||||
92: 6(float) CompositeExtract 88 1
|
||||
93: 90(ptr) AccessChain 77(local_float_array) 29
|
||||
Store 93 92
|
||||
94: 6(float) CompositeExtract 88 2
|
||||
95: 90(ptr) AccessChain 77(local_float_array) 30
|
||||
Store 95 94
|
||||
96: 6(float) CompositeExtract 88 3
|
||||
97: 90(ptr) AccessChain 77(local_float_array) 31
|
||||
Store 97 96
|
||||
100: 7(fvec4) FunctionCall 9(TestFn1()
|
||||
102: 11 Load 66(g_tex[0])
|
||||
103: 35(ptr) AccessChain 101(aggShadow) 56
|
||||
Store 103 102
|
||||
104: 11 Load 36(g_tex[1])
|
||||
105: 35(ptr) AccessChain 101(aggShadow) 29
|
||||
Store 105 104
|
||||
106: 11 Load 71(g_tex[2])
|
||||
107: 35(ptr) AccessChain 101(aggShadow) 30
|
||||
Store 107 106
|
||||
109: 16 Load 57(g_samp[0])
|
||||
110: 38(ptr) AccessChain 108(aggShadow) 56
|
||||
Store 110 109
|
||||
111: 16 Load 39(g_samp[1])
|
||||
112: 38(ptr) AccessChain 108(aggShadow) 29
|
||||
Store 112 111
|
||||
113: 16 Load 62(g_samp[2])
|
||||
114: 38(ptr) AccessChain 108(aggShadow) 30
|
||||
Store 114 113
|
||||
115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow)
|
||||
116: 7(fvec4) FAdd 100 115
|
||||
Store 99(color) 116
|
||||
Return
|
||||
FunctionEnd
|
||||
9(TestFn1(): 7(fvec4) Function None 8
|
||||
10: Label
|
||||
37: 11 Load 36(g_tex[1])
|
||||
40: 16 Load 39(g_samp[1])
|
||||
42: 41 SampledImage 37 40
|
||||
44: 7(fvec4) ImageSampleImplicitLod 42 43
|
||||
ReturnValue 44
|
||||
FunctionEnd
|
||||
22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19
|
||||
20(l_tex): 15(ptr) FunctionParameter
|
||||
21(l_samp): 18(ptr) FunctionParameter
|
||||
23: Label
|
||||
47: 35(ptr) AccessChain 20(l_tex) 30
|
||||
48: 11 Load 47
|
||||
49: 38(ptr) AccessChain 21(l_samp) 30
|
||||
50: 16 Load 49
|
||||
51: 41 SampledImage 48 50
|
||||
52: 7(fvec4) ImageSampleImplicitLod 51 43
|
||||
ReturnValue 52
|
||||
FunctionEnd
|
||||
@ -2,50 +2,64 @@ hlsl.array.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:11 Function Definition: PixelShaderFunction(i1;vf4[3]; (global 4-component vector of float)
|
||||
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'i' (in int)
|
||||
0:8 'input' (in 3-element array of 4-component vector of float)
|
||||
0:8 'i' (layout(location=0 ) in int)
|
||||
0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:10 Branch: Return with expression
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 direct index (temp 4-component vector of float)
|
||||
0:10 'a' (global 4-element array of 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
|
||||
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1 (const int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 'a' (global 4-element array of 4-component vector of float)
|
||||
0:10 'i' (in int)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 direct index (temp 4-component vector of float)
|
||||
0:10 'input' (in 3-element array of 4-component vector of float)
|
||||
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
|
||||
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 direct index (layout(location=1 ) temp 4-component vector of float)
|
||||
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 2 (const int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 'input' (in 3-element array of 4-component vector of float)
|
||||
0:10 'i' (in int)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 indirect index (layout(location=1 ) temp 4-component vector of float)
|
||||
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 direct index (temp 4-component vector of float)
|
||||
0:10 'b' (temp 10-element array of 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 5 (const int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 'b' (temp 10-element array of 4-component vector of float)
|
||||
0:10 'i' (in int)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
|
||||
0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 'i' (in int)
|
||||
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:10 Constant:
|
||||
0:10 1 (const uint)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:10 'i' (in int)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'a' (global 4-element array of 4-component vector of float)
|
||||
0:? 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:? 'i' (layout(location=0 ) in int)
|
||||
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -54,129 +68,158 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:11 Function Definition: PixelShaderFunction(i1;vf4[3]; (global 4-component vector of float)
|
||||
0:8 Function Definition: PixelShaderFunction(i1;vf4[3]; (temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'i' (in int)
|
||||
0:8 'input' (in 3-element array of 4-component vector of float)
|
||||
0:8 'i' (layout(location=0 ) in int)
|
||||
0:8 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:10 Branch: Return with expression
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 direct index (temp 4-component vector of float)
|
||||
0:10 'a' (global 4-element array of 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 direct index (layout(offset=0 ) temp 4-component vector of float)
|
||||
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 Constant:
|
||||
0:10 1 (const int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 'a' (global 4-element array of 4-component vector of float)
|
||||
0:10 'i' (in int)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 direct index (temp 4-component vector of float)
|
||||
0:10 'input' (in 3-element array of 4-component vector of float)
|
||||
0:10 indirect index (layout(offset=0 ) temp 4-component vector of float)
|
||||
0:10 a: direct index for structure (layout(offset=0 ) uniform 4-element array of 4-component vector of float)
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 direct index (layout(location=1 ) temp 4-component vector of float)
|
||||
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 2 (const int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 'input' (in 3-element array of 4-component vector of float)
|
||||
0:10 'i' (in int)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 indirect index (layout(location=1 ) temp 4-component vector of float)
|
||||
0:10 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 direct index (temp 4-component vector of float)
|
||||
0:10 'b' (temp 10-element array of 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 5 (const int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 'b' (temp 10-element array of 4-component vector of float)
|
||||
0:10 'i' (in int)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 indirect index (temp 4-component vector of float)
|
||||
0:10 m: direct index for structure (temp 7-element array of 4-component vector of float)
|
||||
0:10 indirect index (temp structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 'i' (in int)
|
||||
0:10 indirect index (layout(offset=64 ) temp structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 s: direct index for structure (layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m})
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:10 Constant:
|
||||
0:10 1 (const uint)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:10 'i' (in int)
|
||||
0:10 'i' (layout(location=0 ) in int)
|
||||
0:10 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'a' (global 4-element array of 4-component vector of float)
|
||||
0:? 's' (global 11-element array of structure{temp 7-element array of 4-component vector of float m})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
|
||||
0:? 'i' (layout(location=0 ) in int)
|
||||
0:? 'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 64
|
||||
// Id's are bound by 65
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 19 27
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9 28 36
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 12 "a"
|
||||
Name 19 "i"
|
||||
Name 27 "input"
|
||||
Name 40 "b"
|
||||
Name 51 ""
|
||||
MemberName 51 0 "m"
|
||||
Name 55 "s"
|
||||
Name 9 "@entryPointOutput"
|
||||
Name 15 ""
|
||||
MemberName 15 0 "m"
|
||||
Name 18 "$Global"
|
||||
MemberName 18($Global) 0 "a"
|
||||
MemberName 18($Global) 1 "s"
|
||||
Name 20 ""
|
||||
Name 28 "i"
|
||||
Name 36 "input"
|
||||
Name 49 "b"
|
||||
Decorate 9(@entryPointOutput) Location 0
|
||||
Decorate 12 ArrayStride 16
|
||||
Decorate 14 ArrayStride 16
|
||||
MemberDecorate 15 0 Offset 0
|
||||
Decorate 17 ArrayStride 112
|
||||
MemberDecorate 18($Global) 0 Offset 0
|
||||
MemberDecorate 18($Global) 1 Offset 64
|
||||
Decorate 18($Global) Block
|
||||
Decorate 20 DescriptorSet 0
|
||||
Decorate 28(i) Location 0
|
||||
Decorate 36(input) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeInt 32 0
|
||||
9: 8(int) Constant 4
|
||||
10: TypeArray 7(fvec4) 9
|
||||
11: TypePointer Private 10
|
||||
12(a): 11(ptr) Variable Private
|
||||
13: TypeInt 32 1
|
||||
14: 13(int) Constant 1
|
||||
15: TypePointer Private 7(fvec4)
|
||||
18: TypePointer Input 13(int)
|
||||
19(i): 18(ptr) Variable Input
|
||||
24: 8(int) Constant 3
|
||||
25: TypeArray 7(fvec4) 24
|
||||
26: TypePointer Input 25
|
||||
27(input): 26(ptr) Variable Input
|
||||
28: 13(int) Constant 2
|
||||
29: TypePointer Input 7(fvec4)
|
||||
37: 8(int) Constant 10
|
||||
38: TypeArray 7(fvec4) 37
|
||||
39: TypePointer Function 38
|
||||
41: 13(int) Constant 5
|
||||
42: TypePointer Function 7(fvec4)
|
||||
49: 8(int) Constant 7
|
||||
50: TypeArray 7(fvec4) 49
|
||||
51: TypeStruct 50
|
||||
52: 8(int) Constant 11
|
||||
53: TypeArray 51(struct) 52
|
||||
54: TypePointer Private 53
|
||||
55(s): 54(ptr) Variable Private
|
||||
57: 13(int) Constant 0
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(@entryPointOutput): 8(ptr) Variable Output
|
||||
10: TypeInt 32 0
|
||||
11: 10(int) Constant 4
|
||||
12: TypeArray 7(fvec4) 11
|
||||
13: 10(int) Constant 7
|
||||
14: TypeArray 7(fvec4) 13
|
||||
15: TypeStruct 14
|
||||
16: 10(int) Constant 11
|
||||
17: TypeArray 15(struct) 16
|
||||
18($Global): TypeStruct 12 17
|
||||
19: TypePointer Uniform 18($Global)
|
||||
20: 19(ptr) Variable Uniform
|
||||
21: TypeInt 32 1
|
||||
22: 21(int) Constant 0
|
||||
23: 21(int) Constant 1
|
||||
24: TypePointer Uniform 7(fvec4)
|
||||
27: TypePointer Input 21(int)
|
||||
28(i): 27(ptr) Variable Input
|
||||
33: 10(int) Constant 3
|
||||
34: TypeArray 7(fvec4) 33
|
||||
35: TypePointer Input 34
|
||||
36(input): 35(ptr) Variable Input
|
||||
37: 21(int) Constant 2
|
||||
38: TypePointer Input 7(fvec4)
|
||||
46: 10(int) Constant 10
|
||||
47: TypeArray 7(fvec4) 46
|
||||
48: TypePointer Function 47
|
||||
50: 21(int) Constant 5
|
||||
51: TypePointer Function 7(fvec4)
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
40(b): 39(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 12(a) 14
|
||||
17: 7(fvec4) Load 16
|
||||
20: 13(int) Load 19(i)
|
||||
21: 15(ptr) AccessChain 12(a) 20
|
||||
22: 7(fvec4) Load 21
|
||||
23: 7(fvec4) FAdd 17 22
|
||||
30: 29(ptr) AccessChain 27(input) 28
|
||||
49(b): 48(ptr) Variable Function
|
||||
25: 24(ptr) AccessChain 20 22 23
|
||||
26: 7(fvec4) Load 25
|
||||
29: 21(int) Load 28(i)
|
||||
30: 24(ptr) AccessChain 20 22 29
|
||||
31: 7(fvec4) Load 30
|
||||
32: 13(int) Load 19(i)
|
||||
33: 29(ptr) AccessChain 27(input) 32
|
||||
34: 7(fvec4) Load 33
|
||||
35: 7(fvec4) FAdd 31 34
|
||||
36: 7(fvec4) FAdd 23 35
|
||||
43: 42(ptr) AccessChain 40(b) 41
|
||||
32: 7(fvec4) FAdd 26 31
|
||||
39: 38(ptr) AccessChain 36(input) 37
|
||||
40: 7(fvec4) Load 39
|
||||
41: 7(fvec4) FAdd 32 40
|
||||
42: 21(int) Load 28(i)
|
||||
43: 38(ptr) AccessChain 36(input) 42
|
||||
44: 7(fvec4) Load 43
|
||||
45: 13(int) Load 19(i)
|
||||
46: 42(ptr) AccessChain 40(b) 45
|
||||
47: 7(fvec4) Load 46
|
||||
48: 7(fvec4) FAdd 44 47
|
||||
56: 13(int) Load 19(i)
|
||||
58: 13(int) Load 19(i)
|
||||
59: 15(ptr) AccessChain 55(s) 56 57 58
|
||||
60: 7(fvec4) Load 59
|
||||
61: 7(fvec4) FAdd 48 60
|
||||
62: 7(fvec4) FAdd 36 61
|
||||
ReturnValue 62
|
||||
45: 7(fvec4) FAdd 41 44
|
||||
52: 51(ptr) AccessChain 49(b) 50
|
||||
53: 7(fvec4) Load 52
|
||||
54: 7(fvec4) FAdd 45 53
|
||||
55: 21(int) Load 28(i)
|
||||
56: 51(ptr) AccessChain 49(b) 55
|
||||
57: 7(fvec4) Load 56
|
||||
58: 7(fvec4) FAdd 54 57
|
||||
59: 21(int) Load 28(i)
|
||||
60: 21(int) Load 28(i)
|
||||
61: 24(ptr) AccessChain 20 23 59 22 60
|
||||
62: 7(fvec4) Load 61
|
||||
63: 7(fvec4) FAdd 58 62
|
||||
Store 9(@entryPointOutput) 63
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
263
Test/baseResults/hlsl.array.implicit-size.frag.out
Normal file
263
Test/baseResults/hlsl.array.implicit-size.frag.out
Normal file
@ -0,0 +1,263 @@
|
||||
hlsl.array.implicit-size.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp 5-element array of float)
|
||||
0:3 'g_array' (global 5-element array of float)
|
||||
0:3 Constant:
|
||||
0:3 1.000000
|
||||
0:3 2.000000
|
||||
0:3 3.000000
|
||||
0:3 4.000000
|
||||
0:3 5.000000
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp 7-element array of float)
|
||||
0:6 'g_array_unused' (global 7-element array of float)
|
||||
0:6 Constant:
|
||||
0:6 1.000000
|
||||
0:6 2.000000
|
||||
0:6 3.000000
|
||||
0:6 4.000000
|
||||
0:6 5.000000
|
||||
0:6 6.000000
|
||||
0:6 7.000000
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child (temp 2-element array of structure{temp int i, temp float f})
|
||||
0:12 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 2.000000
|
||||
0:12 3 (const int)
|
||||
0:12 4.000000
|
||||
0:26 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
|
||||
0:26 Function Parameters:
|
||||
0:26 'ps_output' (out structure{temp 4-component vector of float color})
|
||||
0:? Sequence
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child (temp 3-element array of float)
|
||||
0:28 'l_array' (temp 3-element array of float)
|
||||
0:28 Constant:
|
||||
0:28 1.000000
|
||||
0:28 2.000000
|
||||
0:28 3.000000
|
||||
0:30 move second child to first child (temp 4-component vector of float)
|
||||
0:30 color: direct index for structure (temp 4-component vector of float)
|
||||
0:30 'ps_output' (out structure{temp 4-component vector of float color})
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 Construct vec4 (temp 4-component vector of float)
|
||||
0:30 add (temp float)
|
||||
0:30 add (temp float)
|
||||
0:30 add (temp float)
|
||||
0:30 add (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'g_array' (global 5-element array of float)
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'g_array' (global 5-element array of float)
|
||||
0:30 Constant:
|
||||
0:30 4 (const int)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'l_array' (temp 3-element array of float)
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 f: direct index for structure (temp float)
|
||||
0:30 direct index (temp structure{temp int i, temp float f})
|
||||
0:30 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 indirect index (temp float)
|
||||
0:30 'g_array' (global 5-element array of float)
|
||||
0:30 'idx' (temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'g_array' (global 5-element array of float)
|
||||
0:? 'g_array_unused' (global 7-element array of float)
|
||||
0:? 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp 5-element array of float)
|
||||
0:3 'g_array' (global 5-element array of float)
|
||||
0:3 Constant:
|
||||
0:3 1.000000
|
||||
0:3 2.000000
|
||||
0:3 3.000000
|
||||
0:3 4.000000
|
||||
0:3 5.000000
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp 7-element array of float)
|
||||
0:6 'g_array_unused' (global 7-element array of float)
|
||||
0:6 Constant:
|
||||
0:6 1.000000
|
||||
0:6 2.000000
|
||||
0:6 3.000000
|
||||
0:6 4.000000
|
||||
0:6 5.000000
|
||||
0:6 6.000000
|
||||
0:6 7.000000
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child (temp 2-element array of structure{temp int i, temp float f})
|
||||
0:12 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
|
||||
0:12 Constant:
|
||||
0:12 1 (const int)
|
||||
0:12 2.000000
|
||||
0:12 3 (const int)
|
||||
0:12 4.000000
|
||||
0:26 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
|
||||
0:26 Function Parameters:
|
||||
0:26 'ps_output' (out structure{temp 4-component vector of float color})
|
||||
0:? Sequence
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child (temp 3-element array of float)
|
||||
0:28 'l_array' (temp 3-element array of float)
|
||||
0:28 Constant:
|
||||
0:28 1.000000
|
||||
0:28 2.000000
|
||||
0:28 3.000000
|
||||
0:30 move second child to first child (temp 4-component vector of float)
|
||||
0:30 color: direct index for structure (temp 4-component vector of float)
|
||||
0:30 'ps_output' (out structure{temp 4-component vector of float color})
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 Construct vec4 (temp 4-component vector of float)
|
||||
0:30 add (temp float)
|
||||
0:30 add (temp float)
|
||||
0:30 add (temp float)
|
||||
0:30 add (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'g_array' (global 5-element array of float)
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'g_array' (global 5-element array of float)
|
||||
0:30 Constant:
|
||||
0:30 4 (const int)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'l_array' (temp 3-element array of float)
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 f: direct index for structure (temp float)
|
||||
0:30 direct index (temp structure{temp int i, temp float f})
|
||||
0:30 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 indirect index (temp float)
|
||||
0:30 'g_array' (global 5-element array of float)
|
||||
0:30 'idx' (temp void)
|
||||
0:? Linker Objects
|
||||
0:? 'g_array' (global 5-element array of float)
|
||||
0:? 'g_array_unused' (global 7-element array of float)
|
||||
0:? 'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 72
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "PS_OUTPUT"
|
||||
MemberName 8(PS_OUTPUT) 0 "color"
|
||||
Name 12 "main(struct-PS_OUTPUT-vf41;"
|
||||
Name 11 "ps_output"
|
||||
Name 18 "g_array"
|
||||
Name 28 "g_array_unused"
|
||||
Name 33 "mystruct"
|
||||
MemberName 33(mystruct) 0 "i"
|
||||
MemberName 33(mystruct) 1 "f"
|
||||
Name 37 "g_mystruct"
|
||||
Name 46 "l_array"
|
||||
Name 64 "idx"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8(PS_OUTPUT): TypeStruct 7(fvec4)
|
||||
9: TypePointer Function 8(PS_OUTPUT)
|
||||
10: TypeFunction 2 9(ptr)
|
||||
14: TypeInt 32 0
|
||||
15: 14(int) Constant 5
|
||||
16: TypeArray 6(float) 15
|
||||
17: TypePointer Private 16
|
||||
18(g_array): 17(ptr) Variable Private
|
||||
19: 6(float) Constant 1065353216
|
||||
20: 6(float) Constant 1073741824
|
||||
21: 6(float) Constant 1077936128
|
||||
22: 6(float) Constant 1082130432
|
||||
23: 6(float) Constant 1084227584
|
||||
24: 16 ConstantComposite 19 20 21 22 23
|
||||
25: 14(int) Constant 7
|
||||
26: TypeArray 6(float) 25
|
||||
27: TypePointer Private 26
|
||||
28(g_array_unused): 27(ptr) Variable Private
|
||||
29: 6(float) Constant 1086324736
|
||||
30: 6(float) Constant 1088421888
|
||||
31: 26 ConstantComposite 19 20 21 22 23 29 30
|
||||
32: TypeInt 32 1
|
||||
33(mystruct): TypeStruct 32(int) 6(float)
|
||||
34: 14(int) Constant 2
|
||||
35: TypeArray 33(mystruct) 34
|
||||
36: TypePointer Private 35
|
||||
37(g_mystruct): 36(ptr) Variable Private
|
||||
38: 32(int) Constant 1
|
||||
39:33(mystruct) ConstantComposite 38 20
|
||||
40: 32(int) Constant 3
|
||||
41:33(mystruct) ConstantComposite 40 22
|
||||
42: 35 ConstantComposite 39 41
|
||||
43: 14(int) Constant 3
|
||||
44: TypeArray 6(float) 43
|
||||
45: TypePointer Function 44
|
||||
47: 44 ConstantComposite 19 20 21
|
||||
48: 32(int) Constant 0
|
||||
49: TypePointer Private 6(float)
|
||||
52: 32(int) Constant 4
|
||||
56: TypePointer Function 6(float)
|
||||
63: TypePointer Function 2
|
||||
70: TypePointer Function 7(fvec4)
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
Store 18(g_array) 24
|
||||
Store 28(g_array_unused) 31
|
||||
Store 37(g_mystruct) 42
|
||||
FunctionEnd
|
||||
12(main(struct-PS_OUTPUT-vf41;): 2 Function None 10
|
||||
11(ps_output): 9(ptr) FunctionParameter
|
||||
13: Label
|
||||
46(l_array): 45(ptr) Variable Function
|
||||
64(idx): 63(ptr) Variable Function
|
||||
Store 46(l_array) 47
|
||||
50: 49(ptr) AccessChain 18(g_array) 48
|
||||
51: 6(float) Load 50
|
||||
53: 49(ptr) AccessChain 18(g_array) 52
|
||||
54: 6(float) Load 53
|
||||
55: 6(float) FAdd 51 54
|
||||
57: 56(ptr) AccessChain 46(l_array) 38
|
||||
58: 6(float) Load 57
|
||||
59: 6(float) FAdd 55 58
|
||||
60: 49(ptr) AccessChain 37(g_mystruct) 48 38
|
||||
61: 6(float) Load 60
|
||||
62: 6(float) FAdd 59 61
|
||||
65: 2 Load 64(idx)
|
||||
66: 49(ptr) AccessChain 18(g_array) 65
|
||||
67: 6(float) Load 66
|
||||
68: 6(float) FAdd 62 67
|
||||
69: 7(fvec4) CompositeConstruct 68 68 68 68
|
||||
71: 70(ptr) AccessChain 11(ps_output) 48
|
||||
Store 71 69
|
||||
Return
|
||||
FunctionEnd
|
||||
210
Test/baseResults/hlsl.array.multidim.frag.out
Normal file
210
Test/baseResults/hlsl.array.multidim.frag.out
Normal file
@ -0,0 +1,210 @@
|
||||
hlsl.array.multidim.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
||||
0:10 Function Parameters:
|
||||
0:? Sequence
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 direct index (temp 4-component vector of float)
|
||||
0:14 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 Constant:
|
||||
0:14 2 (const int)
|
||||
0:14 Construct vec4 (temp 4-component vector of float)
|
||||
0:14 direct index (layout(offset=0 ) temp float)
|
||||
0:14 direct index (layout(offset=0 ) temp 3-element array of float)
|
||||
0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
|
||||
0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
|
||||
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 Constant:
|
||||
0:14 2 (const int)
|
||||
0:14 Constant:
|
||||
0:14 3 (const int)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:15 move second child to first child (temp 3-element array of 4-component vector of float)
|
||||
0:15 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:18 move second child to first child (temp 4-component vector of float)
|
||||
0:18 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:18 'psout' (temp structure{temp 4-component vector of float Color})
|
||||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 direct index (temp 4-component vector of float)
|
||||
0:18 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:18 Constant:
|
||||
0:18 2 (const int)
|
||||
0:19 Sequence
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:19 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:19 'psout' (temp structure{temp 4-component vector of float Color})
|
||||
0:19 Constant:
|
||||
0:19 0 (const int)
|
||||
0:19 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
||||
0:10 Function Parameters:
|
||||
0:? Sequence
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 direct index (temp 4-component vector of float)
|
||||
0:14 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:14 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 Constant:
|
||||
0:14 2 (const int)
|
||||
0:14 Construct vec4 (temp 4-component vector of float)
|
||||
0:14 direct index (layout(offset=0 ) temp float)
|
||||
0:14 direct index (layout(offset=0 ) temp 3-element array of float)
|
||||
0:14 direct index (layout(offset=0 ) temp 4-element array of 3-element array of float)
|
||||
0:14 float_array: direct index for structure (layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float)
|
||||
0:14 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 Constant:
|
||||
0:14 2 (const int)
|
||||
0:14 Constant:
|
||||
0:14 3 (const int)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:15 move second child to first child (temp 3-element array of 4-component vector of float)
|
||||
0:15 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:15 'float4_array_2' (temp 5-element array of 3-element array of 4-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:15 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:15 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:18 move second child to first child (temp 4-component vector of float)
|
||||
0:18 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:18 'psout' (temp structure{temp 4-component vector of float Color})
|
||||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 direct index (temp 4-component vector of float)
|
||||
0:18 direct index (temp 3-element array of 4-component vector of float)
|
||||
0:18 'float4_array_1' (temp 2-element array of 3-element array of 4-component vector of float)
|
||||
0:18 Constant:
|
||||
0:18 1 (const int)
|
||||
0:18 Constant:
|
||||
0:18 2 (const int)
|
||||
0:19 Sequence
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:19 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:19 'psout' (temp structure{temp 4-component vector of float Color})
|
||||
0:19 Constant:
|
||||
0:19 0 (const int)
|
||||
0:19 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 52
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 48
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 14 "float4_array_1"
|
||||
Name 23 "$Global"
|
||||
MemberName 23($Global) 0 "float_array"
|
||||
Name 25 ""
|
||||
Name 36 "float4_array_2"
|
||||
Name 41 "PS_OUTPUT"
|
||||
MemberName 41(PS_OUTPUT) 0 "Color"
|
||||
Name 43 "psout"
|
||||
Name 48 "Color"
|
||||
Decorate 18 ArrayStride 16
|
||||
Decorate 20 ArrayStride 48
|
||||
Decorate 22 ArrayStride 192
|
||||
MemberDecorate 23($Global) 0 Offset 0
|
||||
Decorate 23($Global) Block
|
||||
Decorate 25 DescriptorSet 0
|
||||
Decorate 48(Color) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeInt 32 0
|
||||
9: 8(int) Constant 3
|
||||
10: TypeArray 7(fvec4) 9
|
||||
11: 8(int) Constant 2
|
||||
12: TypeArray 10 11
|
||||
13: TypePointer Function 12
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 1
|
||||
17: 15(int) Constant 2
|
||||
18: TypeArray 6(float) 9
|
||||
19: 8(int) Constant 4
|
||||
20: TypeArray 18 19
|
||||
21: 8(int) Constant 5
|
||||
22: TypeArray 20 21
|
||||
23($Global): TypeStruct 22
|
||||
24: TypePointer Uniform 23($Global)
|
||||
25: 24(ptr) Variable Uniform
|
||||
26: 15(int) Constant 0
|
||||
27: 15(int) Constant 3
|
||||
28: TypePointer Uniform 6(float)
|
||||
32: TypePointer Function 7(fvec4)
|
||||
34: TypeArray 10 21
|
||||
35: TypePointer Function 34
|
||||
37: TypePointer Function 10
|
||||
41(PS_OUTPUT): TypeStruct 7(fvec4)
|
||||
42: TypePointer Function 41(PS_OUTPUT)
|
||||
47: TypePointer Output 7(fvec4)
|
||||
48(Color): 47(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
14(float4_array_1): 13(ptr) Variable Function
|
||||
36(float4_array_2): 35(ptr) Variable Function
|
||||
43(psout): 42(ptr) Variable Function
|
||||
29: 28(ptr) AccessChain 25 26 17 27 16
|
||||
30: 6(float) Load 29
|
||||
31: 7(fvec4) CompositeConstruct 30 30 30 30
|
||||
33: 32(ptr) AccessChain 14(float4_array_1) 16 17
|
||||
Store 33 31
|
||||
38: 37(ptr) AccessChain 14(float4_array_1) 26
|
||||
39: 10 Load 38
|
||||
40: 37(ptr) AccessChain 36(float4_array_2) 16
|
||||
Store 40 39
|
||||
44: 32(ptr) AccessChain 14(float4_array_1) 16 17
|
||||
45: 7(fvec4) Load 44
|
||||
46: 32(ptr) AccessChain 43(psout) 26
|
||||
Store 46 45
|
||||
49: 32(ptr) AccessChain 43(psout) 26
|
||||
50: 7(fvec4) Load 49
|
||||
Store 48(Color) 50
|
||||
Return
|
||||
FunctionEnd
|
||||
@ -2,34 +2,43 @@ hlsl.assoc.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (global 4-component vector of float)
|
||||
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'a1' (in 4-component vector of float)
|
||||
0:8 'a2' (in 4-component vector of float)
|
||||
0:8 'a3' (in 4-component vector of float)
|
||||
0:8 'a4' (in 4-component vector of float)
|
||||
0:8 'a5' (in 4-component vector of float)
|
||||
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:8 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a1' (in 4-component vector of float)
|
||||
0:9 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a2' (in 4-component vector of float)
|
||||
0:9 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a3' (in 4-component vector of float)
|
||||
0:9 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a4' (in 4-component vector of float)
|
||||
0:9 'a5' (in 4-component vector of float)
|
||||
0:10 Branch: Return with expression
|
||||
0:9 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:9 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 'a1' (in 4-component vector of float)
|
||||
0:10 'a2' (in 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 'a3' (in 4-component vector of float)
|
||||
0:10 'a4' (in 4-component vector of float)
|
||||
0:10 'a5' (in 4-component vector of float)
|
||||
0:10 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:10 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:10 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:10 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:10 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
0:10 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:? 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -38,51 +47,66 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:12 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (global 4-component vector of float)
|
||||
0:8 Function Definition: PixelShaderFunction(vf4;vf4;vf4;vf4;vf4; (temp 4-component vector of float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'a1' (in 4-component vector of float)
|
||||
0:8 'a2' (in 4-component vector of float)
|
||||
0:8 'a3' (in 4-component vector of float)
|
||||
0:8 'a4' (in 4-component vector of float)
|
||||
0:8 'a5' (in 4-component vector of float)
|
||||
0:8 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:8 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:8 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:8 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:8 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a1' (in 4-component vector of float)
|
||||
0:9 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a2' (in 4-component vector of float)
|
||||
0:9 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a3' (in 4-component vector of float)
|
||||
0:9 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:9 'a4' (in 4-component vector of float)
|
||||
0:9 'a5' (in 4-component vector of float)
|
||||
0:10 Branch: Return with expression
|
||||
0:9 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:9 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 'a1' (in 4-component vector of float)
|
||||
0:10 'a2' (in 4-component vector of float)
|
||||
0:10 add (temp 4-component vector of float)
|
||||
0:10 'a3' (in 4-component vector of float)
|
||||
0:10 'a4' (in 4-component vector of float)
|
||||
0:10 'a5' (in 4-component vector of float)
|
||||
0:10 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:10 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:10 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:10 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:10 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
0:10 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'a1' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? 'a2' (layout(location=1 ) in 4-component vector of float)
|
||||
0:? 'a3' (layout(location=2 ) in 4-component vector of float)
|
||||
0:? 'a4' (layout(location=3 ) in 4-component vector of float)
|
||||
0:? 'a5' (layout(location=4 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 25
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9 10 11 12 13 16
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 9 "a1"
|
||||
Name 10 "a2"
|
||||
Name 11 "a3"
|
||||
Name 12 "a4"
|
||||
Name 13 "a5"
|
||||
Name 16 "@entryPointOutput"
|
||||
Decorate 9(a1) Location 0
|
||||
Decorate 10(a2) Location 1
|
||||
Decorate 11(a3) Location 2
|
||||
Decorate 12(a4) Location 3
|
||||
Decorate 13(a5) Location 4
|
||||
Decorate 16(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -93,6 +117,8 @@ gl_FragCoord origin is upper left
|
||||
11(a3): 8(ptr) Variable Input
|
||||
12(a4): 8(ptr) Variable Input
|
||||
13(a5): 8(ptr) Variable Input
|
||||
15: TypePointer Output 7(fvec4)
|
||||
16(@entryPointOutput): 15(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
14: 7(fvec4) Load 13(a5)
|
||||
@ -100,14 +126,15 @@ gl_FragCoord origin is upper left
|
||||
Store 11(a3) 14
|
||||
Store 10(a2) 14
|
||||
Store 9(a1) 14
|
||||
15: 7(fvec4) Load 9(a1)
|
||||
16: 7(fvec4) Load 10(a2)
|
||||
17: 7(fvec4) FAdd 15 16
|
||||
18: 7(fvec4) Load 11(a3)
|
||||
19: 7(fvec4) Load 12(a4)
|
||||
20: 7(fvec4) FAdd 18 19
|
||||
21: 7(fvec4) FAdd 17 20
|
||||
22: 7(fvec4) Load 13(a5)
|
||||
17: 7(fvec4) Load 9(a1)
|
||||
18: 7(fvec4) Load 10(a2)
|
||||
19: 7(fvec4) FAdd 17 18
|
||||
20: 7(fvec4) Load 11(a3)
|
||||
21: 7(fvec4) FAdd 19 20
|
||||
22: 7(fvec4) Load 12(a4)
|
||||
23: 7(fvec4) FAdd 21 22
|
||||
ReturnValue 23
|
||||
24: 7(fvec4) Load 13(a5)
|
||||
25: 7(fvec4) FAdd 23 24
|
||||
Store 16(@entryPointOutput) 25
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
@ -2,9 +2,9 @@ hlsl.attribute.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:11 Test condition and select (temp void)
|
||||
0:11 Condition
|
||||
@ -12,6 +12,7 @@ gl_FragCoord origin is upper left
|
||||
0:11 0 (const int)
|
||||
0:11 true case is null
|
||||
0:? Linker Objects
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -20,9 +21,9 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:11 Test condition and select (temp void)
|
||||
0:11 Condition
|
||||
@ -30,22 +31,28 @@ gl_FragCoord origin is upper left
|
||||
0:11 0 (const int)
|
||||
0:11 true case is null
|
||||
0:? Linker Objects
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 10
|
||||
// Id's are bound by 14
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction"
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 13
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 13 "input"
|
||||
Decorate 13(input) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: 6(int) Constant 0
|
||||
10: TypeFloat 32
|
||||
11: TypeVector 10(float) 4
|
||||
12: TypePointer Input 11(fvec4)
|
||||
13(input): 12(ptr) Variable Input
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
SelectionMerge 9 None
|
||||
|
||||
58
Test/baseResults/hlsl.basic.comp.out
Executable file
58
Test/baseResults/hlsl.basic.comp.out
Executable file
@ -0,0 +1,58 @@
|
||||
hlsl.basic.comp
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:4 Function Definition: main(i1; (temp void)
|
||||
0:4 Function Parameters:
|
||||
0:4 'dti' (in int LocalInvocationID)
|
||||
0:? Sequence
|
||||
0:5 'dti' (in int LocalInvocationID)
|
||||
0:? Linker Objects
|
||||
0:? 'a' (shared 100-element array of 4-component vector of float)
|
||||
0:? 'dti' (in int LocalInvocationID)
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:4 Function Definition: main(i1; (temp void)
|
||||
0:4 Function Parameters:
|
||||
0:4 'dti' (in int LocalInvocationID)
|
||||
0:? Sequence
|
||||
0:5 'dti' (in int LocalInvocationID)
|
||||
0:? Linker Objects
|
||||
0:? 'a' (shared 100-element array of 4-component vector of float)
|
||||
0:? 'dti' (in int LocalInvocationID)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 16
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 8
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Name 4 "main"
|
||||
Name 8 "dti"
|
||||
Name 15 "a"
|
||||
Decorate 8(dti) BuiltIn LocalInvocationId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: TypePointer Input 6(int)
|
||||
8(dti): 7(ptr) Variable Input
|
||||
9: TypeFloat 32
|
||||
10: TypeVector 9(float) 4
|
||||
11: TypeInt 32 0
|
||||
12: 11(int) Constant 100
|
||||
13: TypeArray 10(fvec4) 12
|
||||
14: TypePointer Workgroup 13
|
||||
15(a): 14(ptr) Variable Workgroup
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
199
Test/baseResults/hlsl.buffer.frag.out
Executable file
199
Test/baseResults/hlsl.buffer.frag.out
Executable file
@ -0,0 +1,199 @@
|
||||
hlsl.buffer.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:30 Function Parameters:
|
||||
0:30 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:31 Sequence
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
||||
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
|
||||
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
||||
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
|
||||
0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
||||
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
||||
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:30 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:30 Function Parameters:
|
||||
0:30 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:31 Sequence
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 add (temp 4-component vector of float)
|
||||
0:31 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:31 v1: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
||||
0:31 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 v2: direct index for structure (layout(row_major std430 ) buffer 4-component vector of float)
|
||||
0:31 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 v3: direct index for structure (layout(row_major std140 ) uniform 4-component vector of float)
|
||||
0:31 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 v4: direct index for structure (layout(row_major std430 offset=16 ) buffer 4-component vector of float)
|
||||
0:31 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
||||
0:31 Constant:
|
||||
0:31 0 (const uint)
|
||||
0:31 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
|
||||
0:? 'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
|
||||
0:? 'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
|
||||
0:? 'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 42
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9 11
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 9 "@entryPointOutput"
|
||||
Name 11 "input"
|
||||
Name 13 ""
|
||||
MemberName 13 0 "v1"
|
||||
Name 15 ""
|
||||
Name 22 ""
|
||||
MemberName 22 0 "v2"
|
||||
Name 24 ""
|
||||
Name 28 "cbufName"
|
||||
MemberName 28(cbufName) 0 "v3"
|
||||
MemberName 28(cbufName) 1 "i3"
|
||||
Name 30 ""
|
||||
Name 35 "tbufName"
|
||||
MemberName 35(tbufName) 0 "v4"
|
||||
MemberName 35(tbufName) 1 "i4"
|
||||
MemberName 35(tbufName) 2 "f1"
|
||||
MemberName 35(tbufName) 3 "f3"
|
||||
MemberName 35(tbufName) 4 "f4"
|
||||
MemberName 35(tbufName) 5 "f5"
|
||||
MemberName 35(tbufName) 6 "f6"
|
||||
MemberName 35(tbufName) 7 "f7"
|
||||
MemberName 35(tbufName) 8 "m1"
|
||||
MemberName 35(tbufName) 9 "m2"
|
||||
MemberName 35(tbufName) 10 "m3"
|
||||
MemberName 35(tbufName) 11 "m4"
|
||||
Name 37 ""
|
||||
Decorate 9(@entryPointOutput) Location 0
|
||||
Decorate 11(input) Location 0
|
||||
MemberDecorate 13 0 Offset 0
|
||||
Decorate 13 Block
|
||||
Decorate 15 DescriptorSet 0
|
||||
MemberDecorate 22 0 Offset 0
|
||||
Decorate 22 BufferBlock
|
||||
Decorate 24 DescriptorSet 0
|
||||
MemberDecorate 28(cbufName) 0 Offset 0
|
||||
MemberDecorate 28(cbufName) 1 Offset 20
|
||||
Decorate 28(cbufName) Block
|
||||
Decorate 30 DescriptorSet 10
|
||||
Decorate 30 Binding 2
|
||||
MemberDecorate 35(tbufName) 0 Offset 16
|
||||
MemberDecorate 35(tbufName) 1 Offset 48
|
||||
MemberDecorate 35(tbufName) 2 Offset 60
|
||||
MemberDecorate 35(tbufName) 3 Offset 64
|
||||
MemberDecorate 35(tbufName) 4 Offset 68
|
||||
MemberDecorate 35(tbufName) 5 Offset 72
|
||||
MemberDecorate 35(tbufName) 6 Offset 76
|
||||
MemberDecorate 35(tbufName) 7 Offset 80
|
||||
MemberDecorate 35(tbufName) 8 RowMajor
|
||||
MemberDecorate 35(tbufName) 8 Offset 96
|
||||
MemberDecorate 35(tbufName) 8 MatrixStride 16
|
||||
MemberDecorate 35(tbufName) 9 ColMajor
|
||||
MemberDecorate 35(tbufName) 9 Offset 160
|
||||
MemberDecorate 35(tbufName) 9 MatrixStride 16
|
||||
MemberDecorate 35(tbufName) 10 RowMajor
|
||||
MemberDecorate 35(tbufName) 10 Offset 208
|
||||
MemberDecorate 35(tbufName) 10 MatrixStride 16
|
||||
MemberDecorate 35(tbufName) 11 RowMajor
|
||||
MemberDecorate 35(tbufName) 11 Offset 272
|
||||
MemberDecorate 35(tbufName) 11 MatrixStride 16
|
||||
Decorate 35(tbufName) BufferBlock
|
||||
Decorate 37 DescriptorSet 0
|
||||
Decorate 37 Binding 8
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(@entryPointOutput): 8(ptr) Variable Output
|
||||
10: TypePointer Input 7(fvec4)
|
||||
11(input): 10(ptr) Variable Input
|
||||
13: TypeStruct 7(fvec4)
|
||||
14: TypePointer Uniform 13(struct)
|
||||
15: 14(ptr) Variable Uniform
|
||||
16: TypeInt 32 1
|
||||
17: 16(int) Constant 0
|
||||
18: TypePointer Uniform 7(fvec4)
|
||||
22: TypeStruct 7(fvec4)
|
||||
23: TypePointer Uniform 22(struct)
|
||||
24: 23(ptr) Variable Uniform
|
||||
28(cbufName): TypeStruct 7(fvec4) 16(int)
|
||||
29: TypePointer Uniform 28(cbufName)
|
||||
30: 29(ptr) Variable Uniform
|
||||
34: TypeMatrix 7(fvec4) 3
|
||||
35(tbufName): TypeStruct 7(fvec4) 16(int) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 34 34 34 34
|
||||
36: TypePointer Uniform 35(tbufName)
|
||||
37: 36(ptr) Variable Uniform
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
12: 7(fvec4) Load 11(input)
|
||||
19: 18(ptr) AccessChain 15 17
|
||||
20: 7(fvec4) Load 19
|
||||
21: 7(fvec4) FAdd 12 20
|
||||
25: 18(ptr) AccessChain 24 17
|
||||
26: 7(fvec4) Load 25
|
||||
27: 7(fvec4) FAdd 21 26
|
||||
31: 18(ptr) AccessChain 30 17
|
||||
32: 7(fvec4) Load 31
|
||||
33: 7(fvec4) FAdd 27 32
|
||||
38: 18(ptr) AccessChain 37 17
|
||||
39: 7(fvec4) Load 38
|
||||
40: 7(fvec4) FAdd 33 39
|
||||
Store 9(@entryPointOutput) 40
|
||||
Return
|
||||
FunctionEnd
|
||||
553
Test/baseResults/hlsl.calculatelod.dx10.frag.out
Normal file
553
Test/baseResults/hlsl.calculatelod.dx10.frag.out
Normal file
@ -0,0 +1,553 @@
|
||||
hlsl.calculatelod.dx10.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child (temp float)
|
||||
0:28 'txval10' (temp float)
|
||||
0:28 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:28 Construct combined texture-sampler (temp sampler1DArray)
|
||||
0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:28 Constant:
|
||||
0:28 0.100000
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child (temp float)
|
||||
0:29 'txval11' (temp float)
|
||||
0:29 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:29 Construct combined texture-sampler (temp isampler1DArray)
|
||||
0:29 'g_tTex1di4a' (uniform itexture1DArray)
|
||||
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:29 Constant:
|
||||
0:29 0.200000
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 'txval12' (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:30 Construct combined texture-sampler (temp usampler1DArray)
|
||||
0:30 'g_tTex1du4a' (uniform utexture1DArray)
|
||||
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:30 Constant:
|
||||
0:30 0.300000
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 'txval20' (temp float)
|
||||
0:32 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:32 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:32 'g_tTex2df4a' (uniform texture2DArray)
|
||||
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'txval21' (temp float)
|
||||
0:33 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:33 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:33 'g_tTex2di4a' (uniform itexture2DArray)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp float)
|
||||
0:34 'txval22' (temp float)
|
||||
0:34 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:34 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:34 'g_tTex2du4a' (uniform utexture2DArray)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp float)
|
||||
0:36 'txval40' (temp float)
|
||||
0:36 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:36 Construct combined texture-sampler (temp samplerCubeArray)
|
||||
0:36 'g_tTexcdf4a' (uniform textureCubeArray)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp float)
|
||||
0:37 'txval41' (temp float)
|
||||
0:37 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:37 Construct combined texture-sampler (temp isamplerCubeArray)
|
||||
0:37 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child (temp float)
|
||||
0:38 'txval42' (temp float)
|
||||
0:38 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:38 Construct combined texture-sampler (temp usamplerCubeArray)
|
||||
0:38 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:41 move second child to first child (temp float)
|
||||
0:41 Depth: direct index for structure (temp float)
|
||||
0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 1.000000
|
||||
0:43 Sequence
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:43 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:43 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:43 Depth: direct index for structure (temp float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 1 (const int)
|
||||
0:43 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) 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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child (temp float)
|
||||
0:28 'txval10' (temp float)
|
||||
0:28 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:28 Construct combined texture-sampler (temp sampler1DArray)
|
||||
0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:28 Constant:
|
||||
0:28 0.100000
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child (temp float)
|
||||
0:29 'txval11' (temp float)
|
||||
0:29 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:29 Construct combined texture-sampler (temp isampler1DArray)
|
||||
0:29 'g_tTex1di4a' (uniform itexture1DArray)
|
||||
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:29 Constant:
|
||||
0:29 0.200000
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 'txval12' (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:30 Construct combined texture-sampler (temp usampler1DArray)
|
||||
0:30 'g_tTex1du4a' (uniform utexture1DArray)
|
||||
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:30 Constant:
|
||||
0:30 0.300000
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 'txval20' (temp float)
|
||||
0:32 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:32 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:32 'g_tTex2df4a' (uniform texture2DArray)
|
||||
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'txval21' (temp float)
|
||||
0:33 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:33 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:33 'g_tTex2di4a' (uniform itexture2DArray)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp float)
|
||||
0:34 'txval22' (temp float)
|
||||
0:34 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:34 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:34 'g_tTex2du4a' (uniform utexture2DArray)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp float)
|
||||
0:36 'txval40' (temp float)
|
||||
0:36 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:36 Construct combined texture-sampler (temp samplerCubeArray)
|
||||
0:36 'g_tTexcdf4a' (uniform textureCubeArray)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp float)
|
||||
0:37 'txval41' (temp float)
|
||||
0:37 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:37 Construct combined texture-sampler (temp isamplerCubeArray)
|
||||
0:37 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child (temp float)
|
||||
0:38 'txval42' (temp float)
|
||||
0:38 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:38 Construct combined texture-sampler (temp usamplerCubeArray)
|
||||
0:38 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:41 move second child to first child (temp float)
|
||||
0:41 Depth: direct index for structure (temp float)
|
||||
0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 1.000000
|
||||
0:43 Sequence
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:43 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:43 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:43 Depth: direct index for structure (temp float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 1 (const int)
|
||||
0:43 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) 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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 141
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
Capability SampledCubeArray
|
||||
Capability ImageQuery
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 132 136
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 8 "txval10"
|
||||
Name 11 "g_tTex1df4a"
|
||||
Name 15 "g_sSamp"
|
||||
Name 25 "txval11"
|
||||
Name 28 "g_tTex1di4a"
|
||||
Name 36 "txval12"
|
||||
Name 40 "g_tTex1du4a"
|
||||
Name 48 "txval20"
|
||||
Name 51 "g_tTex2df4a"
|
||||
Name 59 "txval21"
|
||||
Name 62 "g_tTex2di4a"
|
||||
Name 71 "txval22"
|
||||
Name 74 "g_tTex2du4a"
|
||||
Name 84 "txval40"
|
||||
Name 87 "g_tTexcdf4a"
|
||||
Name 96 "txval41"
|
||||
Name 99 "g_tTexcdi4a"
|
||||
Name 107 "txval42"
|
||||
Name 110 "g_tTexcdu4a"
|
||||
Name 122 "PS_OUTPUT"
|
||||
MemberName 122(PS_OUTPUT) 0 "Color"
|
||||
MemberName 122(PS_OUTPUT) 1 "Depth"
|
||||
Name 124 "psout"
|
||||
Name 132 "Color"
|
||||
Name 136 "Depth"
|
||||
Name 140 "g_tTex1df4"
|
||||
Decorate 11(g_tTex1df4a) DescriptorSet 0
|
||||
Decorate 11(g_tTex1df4a) Binding 1
|
||||
Decorate 15(g_sSamp) DescriptorSet 0
|
||||
Decorate 15(g_sSamp) Binding 0
|
||||
Decorate 28(g_tTex1di4a) DescriptorSet 0
|
||||
Decorate 40(g_tTex1du4a) DescriptorSet 0
|
||||
Decorate 51(g_tTex2df4a) DescriptorSet 0
|
||||
Decorate 62(g_tTex2di4a) DescriptorSet 0
|
||||
Decorate 74(g_tTex2du4a) DescriptorSet 0
|
||||
Decorate 87(g_tTexcdf4a) DescriptorSet 0
|
||||
Decorate 99(g_tTexcdi4a) DescriptorSet 0
|
||||
Decorate 110(g_tTexcdu4a) DescriptorSet 0
|
||||
Decorate 132(Color) Location 0
|
||||
Decorate 136(Depth) BuiltIn FragDepth
|
||||
Decorate 140(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 140(g_tTex1df4) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
9: TypeImage 6(float) 1D array sampled format:Unknown
|
||||
10: TypePointer UniformConstant 9
|
||||
11(g_tTex1df4a): 10(ptr) Variable UniformConstant
|
||||
13: TypeSampler
|
||||
14: TypePointer UniformConstant 13
|
||||
15(g_sSamp): 14(ptr) Variable UniformConstant
|
||||
17: TypeSampledImage 9
|
||||
19: 6(float) Constant 1036831949
|
||||
20: TypeVector 6(float) 2
|
||||
22: TypeInt 32 1
|
||||
23: 22(int) Constant 0
|
||||
26: TypeImage 22(int) 1D array sampled format:Unknown
|
||||
27: TypePointer UniformConstant 26
|
||||
28(g_tTex1di4a): 27(ptr) Variable UniformConstant
|
||||
31: TypeSampledImage 26
|
||||
33: 6(float) Constant 1045220557
|
||||
37: TypeInt 32 0
|
||||
38: TypeImage 37(int) 1D array sampled format:Unknown
|
||||
39: TypePointer UniformConstant 38
|
||||
40(g_tTex1du4a): 39(ptr) Variable UniformConstant
|
||||
43: TypeSampledImage 38
|
||||
45: 6(float) Constant 1050253722
|
||||
49: TypeImage 6(float) 2D array sampled format:Unknown
|
||||
50: TypePointer UniformConstant 49
|
||||
51(g_tTex2df4a): 50(ptr) Variable UniformConstant
|
||||
54: TypeSampledImage 49
|
||||
56: 20(fvec2) ConstantComposite 19 33
|
||||
60: TypeImage 22(int) 2D array sampled format:Unknown
|
||||
61: TypePointer UniformConstant 60
|
||||
62(g_tTex2di4a): 61(ptr) Variable UniformConstant
|
||||
65: TypeSampledImage 60
|
||||
67: 6(float) Constant 1053609165
|
||||
68: 20(fvec2) ConstantComposite 45 67
|
||||
72: TypeImage 37(int) 2D array sampled format:Unknown
|
||||
73: TypePointer UniformConstant 72
|
||||
74(g_tTex2du4a): 73(ptr) Variable UniformConstant
|
||||
77: TypeSampledImage 72
|
||||
79: 6(float) Constant 1056964608
|
||||
80: 6(float) Constant 1058642330
|
||||
81: 20(fvec2) ConstantComposite 79 80
|
||||
85: TypeImage 6(float) Cube array sampled format:Unknown
|
||||
86: TypePointer UniformConstant 85
|
||||
87(g_tTexcdf4a): 86(ptr) Variable UniformConstant
|
||||
90: TypeSampledImage 85
|
||||
92: TypeVector 6(float) 3
|
||||
93: 92(fvec3) ConstantComposite 19 33 45
|
||||
97: TypeImage 22(int) Cube array sampled format:Unknown
|
||||
98: TypePointer UniformConstant 97
|
||||
99(g_tTexcdi4a): 98(ptr) Variable UniformConstant
|
||||
102: TypeSampledImage 97
|
||||
104: 92(fvec3) ConstantComposite 67 79 80
|
||||
108: TypeImage 37(int) Cube array sampled format:Unknown
|
||||
109: TypePointer UniformConstant 108
|
||||
110(g_tTexcdu4a): 109(ptr) Variable UniformConstant
|
||||
113: TypeSampledImage 108
|
||||
115: 6(float) Constant 1060320051
|
||||
116: 6(float) Constant 1061997773
|
||||
117: 6(float) Constant 1063675494
|
||||
118: 92(fvec3) ConstantComposite 115 116 117
|
||||
121: TypeVector 6(float) 4
|
||||
122(PS_OUTPUT): TypeStruct 121(fvec4) 6(float)
|
||||
123: TypePointer Function 122(PS_OUTPUT)
|
||||
125: 6(float) Constant 1065353216
|
||||
126: 121(fvec4) ConstantComposite 125 125 125 125
|
||||
127: TypePointer Function 121(fvec4)
|
||||
129: 22(int) Constant 1
|
||||
131: TypePointer Output 121(fvec4)
|
||||
132(Color): 131(ptr) Variable Output
|
||||
135: TypePointer Output 6(float)
|
||||
136(Depth): 135(ptr) Variable Output
|
||||
140(g_tTex1df4): 10(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(txval10): 7(ptr) Variable Function
|
||||
25(txval11): 7(ptr) Variable Function
|
||||
36(txval12): 7(ptr) Variable Function
|
||||
48(txval20): 7(ptr) Variable Function
|
||||
59(txval21): 7(ptr) Variable Function
|
||||
71(txval22): 7(ptr) Variable Function
|
||||
84(txval40): 7(ptr) Variable Function
|
||||
96(txval41): 7(ptr) Variable Function
|
||||
107(txval42): 7(ptr) Variable Function
|
||||
124(psout): 123(ptr) Variable Function
|
||||
12: 9 Load 11(g_tTex1df4a)
|
||||
16: 13 Load 15(g_sSamp)
|
||||
18: 17 SampledImage 12 16
|
||||
21: 20(fvec2) ImageQueryLod 18 19
|
||||
24: 6(float) CompositeExtract 21 0
|
||||
Store 8(txval10) 24
|
||||
29: 26 Load 28(g_tTex1di4a)
|
||||
30: 13 Load 15(g_sSamp)
|
||||
32: 31 SampledImage 29 30
|
||||
34: 20(fvec2) ImageQueryLod 32 33
|
||||
35: 6(float) CompositeExtract 34 0
|
||||
Store 25(txval11) 35
|
||||
41: 38 Load 40(g_tTex1du4a)
|
||||
42: 13 Load 15(g_sSamp)
|
||||
44: 43 SampledImage 41 42
|
||||
46: 20(fvec2) ImageQueryLod 44 45
|
||||
47: 6(float) CompositeExtract 46 0
|
||||
Store 36(txval12) 47
|
||||
52: 49 Load 51(g_tTex2df4a)
|
||||
53: 13 Load 15(g_sSamp)
|
||||
55: 54 SampledImage 52 53
|
||||
57: 20(fvec2) ImageQueryLod 55 56
|
||||
58: 6(float) CompositeExtract 57 0
|
||||
Store 48(txval20) 58
|
||||
63: 60 Load 62(g_tTex2di4a)
|
||||
64: 13 Load 15(g_sSamp)
|
||||
66: 65 SampledImage 63 64
|
||||
69: 20(fvec2) ImageQueryLod 66 68
|
||||
70: 6(float) CompositeExtract 69 0
|
||||
Store 59(txval21) 70
|
||||
75: 72 Load 74(g_tTex2du4a)
|
||||
76: 13 Load 15(g_sSamp)
|
||||
78: 77 SampledImage 75 76
|
||||
82: 20(fvec2) ImageQueryLod 78 81
|
||||
83: 6(float) CompositeExtract 82 0
|
||||
Store 71(txval22) 83
|
||||
88: 85 Load 87(g_tTexcdf4a)
|
||||
89: 13 Load 15(g_sSamp)
|
||||
91: 90 SampledImage 88 89
|
||||
94: 20(fvec2) ImageQueryLod 91 93
|
||||
95: 6(float) CompositeExtract 94 0
|
||||
Store 84(txval40) 95
|
||||
100: 97 Load 99(g_tTexcdi4a)
|
||||
101: 13 Load 15(g_sSamp)
|
||||
103: 102 SampledImage 100 101
|
||||
105: 20(fvec2) ImageQueryLod 103 104
|
||||
106: 6(float) CompositeExtract 105 0
|
||||
Store 96(txval41) 106
|
||||
111: 108 Load 110(g_tTexcdu4a)
|
||||
112: 13 Load 15(g_sSamp)
|
||||
114: 113 SampledImage 111 112
|
||||
119: 20(fvec2) ImageQueryLod 114 118
|
||||
120: 6(float) CompositeExtract 119 0
|
||||
Store 107(txval42) 120
|
||||
128: 127(ptr) AccessChain 124(psout) 23
|
||||
Store 128 126
|
||||
130: 7(ptr) AccessChain 124(psout) 129
|
||||
Store 130 125
|
||||
133: 127(ptr) AccessChain 124(psout) 23
|
||||
134: 121(fvec4) Load 133
|
||||
Store 132(Color) 134
|
||||
137: 7(ptr) AccessChain 124(psout) 129
|
||||
138: 6(float) Load 137
|
||||
Store 136(Depth) 138
|
||||
Return
|
||||
FunctionEnd
|
||||
358
Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
Normal file
358
Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
Normal file
@ -0,0 +1,358 @@
|
||||
hlsl.calculatelodunclamped.dx10.frag
|
||||
ERROR: 0:28: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:29: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:30: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:32: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:33: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:34: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:36: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:37: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 0:38: '' : unimplemented: CalculateLevelOfDetailUnclamped
|
||||
ERROR: 9 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child (temp float)
|
||||
0:28 'txval10' (temp float)
|
||||
0:28 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:28 Construct combined texture-sampler (temp sampler1DArray)
|
||||
0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:28 Constant:
|
||||
0:28 0.100000
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child (temp float)
|
||||
0:29 'txval11' (temp float)
|
||||
0:29 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:29 Construct combined texture-sampler (temp isampler1DArray)
|
||||
0:29 'g_tTex1di4a' (uniform itexture1DArray)
|
||||
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:29 Constant:
|
||||
0:29 0.200000
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 'txval12' (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:30 Construct combined texture-sampler (temp usampler1DArray)
|
||||
0:30 'g_tTex1du4a' (uniform utexture1DArray)
|
||||
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:30 Constant:
|
||||
0:30 0.300000
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 'txval20' (temp float)
|
||||
0:32 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:32 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:32 'g_tTex2df4a' (uniform texture2DArray)
|
||||
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'txval21' (temp float)
|
||||
0:33 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:33 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:33 'g_tTex2di4a' (uniform itexture2DArray)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp float)
|
||||
0:34 'txval22' (temp float)
|
||||
0:34 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:34 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:34 'g_tTex2du4a' (uniform utexture2DArray)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp float)
|
||||
0:36 'txval40' (temp float)
|
||||
0:36 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:36 Construct combined texture-sampler (temp samplerCubeArray)
|
||||
0:36 'g_tTexcdf4a' (uniform textureCubeArray)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp float)
|
||||
0:37 'txval41' (temp float)
|
||||
0:37 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:37 Construct combined texture-sampler (temp isamplerCubeArray)
|
||||
0:37 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child (temp float)
|
||||
0:38 'txval42' (temp float)
|
||||
0:38 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:38 Construct combined texture-sampler (temp usamplerCubeArray)
|
||||
0:38 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:41 move second child to first child (temp float)
|
||||
0:41 Depth: direct index for structure (temp float)
|
||||
0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 1.000000
|
||||
0:43 Sequence
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:43 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:43 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:43 Depth: direct index for structure (temp float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 1 (const int)
|
||||
0:43 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) 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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Sequence
|
||||
0:28 move second child to first child (temp float)
|
||||
0:28 'txval10' (temp float)
|
||||
0:28 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:28 Construct combined texture-sampler (temp sampler1DArray)
|
||||
0:28 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:28 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:28 Constant:
|
||||
0:28 0.100000
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child (temp float)
|
||||
0:29 'txval11' (temp float)
|
||||
0:29 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:29 Construct combined texture-sampler (temp isampler1DArray)
|
||||
0:29 'g_tTex1di4a' (uniform itexture1DArray)
|
||||
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:29 Constant:
|
||||
0:29 0.200000
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 'txval12' (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:30 Construct combined texture-sampler (temp usampler1DArray)
|
||||
0:30 'g_tTex1du4a' (uniform utexture1DArray)
|
||||
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:30 Constant:
|
||||
0:30 0.300000
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child (temp float)
|
||||
0:32 'txval20' (temp float)
|
||||
0:32 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:32 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:32 'g_tTex2df4a' (uniform texture2DArray)
|
||||
0:32 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'txval21' (temp float)
|
||||
0:33 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:33 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:33 'g_tTex2di4a' (uniform itexture2DArray)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp float)
|
||||
0:34 'txval22' (temp float)
|
||||
0:34 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:34 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:34 'g_tTex2du4a' (uniform utexture2DArray)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp float)
|
||||
0:36 'txval40' (temp float)
|
||||
0:36 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:36 Construct combined texture-sampler (temp samplerCubeArray)
|
||||
0:36 'g_tTexcdf4a' (uniform textureCubeArray)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:36 Constant:
|
||||
0:36 0 (const int)
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp float)
|
||||
0:37 'txval41' (temp float)
|
||||
0:37 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:37 Construct combined texture-sampler (temp isamplerCubeArray)
|
||||
0:37 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:37 Constant:
|
||||
0:37 0 (const int)
|
||||
0:38 Sequence
|
||||
0:38 move second child to first child (temp float)
|
||||
0:38 'txval42' (temp float)
|
||||
0:38 direct index (temp float)
|
||||
0:? textureQueryLod (temp float)
|
||||
0:38 Construct combined texture-sampler (temp usamplerCubeArray)
|
||||
0:38 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||
0:38 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:41 move second child to first child (temp float)
|
||||
0:41 Depth: direct index for structure (temp float)
|
||||
0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 1.000000
|
||||
0:43 Sequence
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:43 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:43 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:43 Depth: direct index for structure (temp float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 1 (const int)
|
||||
0:43 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) 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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
@ -2,24 +2,29 @@ hlsl.cast.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:5 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Branch: Return with expression
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:3 add (temp 4-component vector of float)
|
||||
0:3 add (temp 4-component vector of float)
|
||||
0:3 Construct vec4 (temp 4-component vector of float)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 Convert int to float (temp 4-component vector of float)
|
||||
0:3 Convert float to int (temp 4-component vector of int)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 Constant:
|
||||
0:3 1.198000
|
||||
0:3 1.198000
|
||||
0:3 1.198000
|
||||
0:3 1.198000
|
||||
0:3 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -28,59 +33,69 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:5 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Branch: Return with expression
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:3 add (temp 4-component vector of float)
|
||||
0:3 add (temp 4-component vector of float)
|
||||
0:3 Construct vec4 (temp 4-component vector of float)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 Convert int to float (temp 4-component vector of float)
|
||||
0:3 Convert float to int (temp 4-component vector of int)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 Constant:
|
||||
0:3 1.198000
|
||||
0:3 1.198000
|
||||
0:3 1.198000
|
||||
0:3 1.198000
|
||||
0:3 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 26
|
||||
// Id's are bound by 28
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9 11
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 9 "input"
|
||||
Name 9 "@entryPointOutput"
|
||||
Name 11 "input"
|
||||
Decorate 9(@entryPointOutput) Location 0
|
||||
Decorate 11(input) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Input 7(fvec4)
|
||||
9(input): 8(ptr) Variable Input
|
||||
17: TypeInt 32 1
|
||||
18: TypeVector 17(int) 4
|
||||
22: 6(float) Constant 1067014160
|
||||
23: 7(fvec4) ConstantComposite 22 22 22 22
|
||||
8: TypePointer Output 7(fvec4)
|
||||
9(@entryPointOutput): 8(ptr) Variable Output
|
||||
10: TypePointer Input 7(fvec4)
|
||||
11(input): 10(ptr) Variable Input
|
||||
19: TypeInt 32 1
|
||||
20: TypeVector 19(int) 4
|
||||
24: 6(float) Constant 1067014160
|
||||
25: 7(fvec4) ConstantComposite 24 24 24 24
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
10: 7(fvec4) Load 9(input)
|
||||
11: 6(float) CompositeExtract 10 0
|
||||
12: 6(float) CompositeExtract 10 1
|
||||
13: 6(float) CompositeExtract 10 2
|
||||
14: 6(float) CompositeExtract 10 3
|
||||
15: 7(fvec4) CompositeConstruct 11 12 13 14
|
||||
16: 7(fvec4) Load 9(input)
|
||||
19: 18(ivec4) ConvertFToS 16
|
||||
20: 7(fvec4) ConvertSToF 19
|
||||
21: 7(fvec4) FAdd 15 20
|
||||
24: 7(fvec4) FAdd 21 23
|
||||
ReturnValue 24
|
||||
12: 7(fvec4) Load 11(input)
|
||||
13: 6(float) CompositeExtract 12 0
|
||||
14: 6(float) CompositeExtract 12 1
|
||||
15: 6(float) CompositeExtract 12 2
|
||||
16: 6(float) CompositeExtract 12 3
|
||||
17: 7(fvec4) CompositeConstruct 13 14 15 16
|
||||
18: 7(fvec4) Load 11(input)
|
||||
21: 20(ivec4) ConvertFToS 18
|
||||
22: 7(fvec4) ConvertSToF 21
|
||||
23: 7(fvec4) FAdd 17 22
|
||||
26: 7(fvec4) FAdd 23 25
|
||||
Store 9(@entryPointOutput) 26
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
372
Test/baseResults/hlsl.conditional.frag.out
Executable file
372
Test/baseResults/hlsl.conditional.frag.out
Executable file
@ -0,0 +1,372 @@
|
||||
hlsl.conditional.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp int)
|
||||
0:3 'a' (temp int)
|
||||
0:3 Constant:
|
||||
0:3 5 (const int)
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child (temp int)
|
||||
0:4 'b' (temp int)
|
||||
0:4 Constant:
|
||||
0:4 6 (const int)
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (temp int)
|
||||
0:5 'c' (temp int)
|
||||
0:5 Constant:
|
||||
0:5 7 (const int)
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp int)
|
||||
0:6 'd' (temp int)
|
||||
0:6 Constant:
|
||||
0:6 7 (const int)
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child (temp 4-component vector of float)
|
||||
0:7 'ret' (temp 4-component vector of float)
|
||||
0:9 add (temp 4-component vector of float)
|
||||
0:8 add (temp 4-component vector of float)
|
||||
0:7 add (temp 4-component vector of float)
|
||||
0:7 vector-scale (temp 4-component vector of float)
|
||||
0:7 Convert int to float (temp float)
|
||||
0:7 'a' (temp int)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:8 vector-scale (temp 4-component vector of float)
|
||||
0:8 Convert int to float (temp float)
|
||||
0:8 'b' (temp int)
|
||||
0:8 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 vector-scale (temp 4-component vector of float)
|
||||
0:9 Convert int to float (temp float)
|
||||
0:9 'c' (temp int)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:10 vector-scale (temp 4-component vector of float)
|
||||
0:10 Convert int to float (temp float)
|
||||
0:10 'd' (temp int)
|
||||
0:10 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:12 Comma (temp int)
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'e' (temp int)
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'a' (temp int)
|
||||
0:12 Test condition and select (temp int)
|
||||
0:12 Condition
|
||||
0:12 'b' (temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'c' (temp int)
|
||||
0:12 'd' (temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 10 (const int)
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'b' (temp int)
|
||||
0:12 Test condition and select (temp int)
|
||||
0:12 Condition
|
||||
0:12 'a' (temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'd' (temp int)
|
||||
0:12 'c' (temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 11 (const int)
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 'f' (temp 4-component vector of float)
|
||||
0:14 Test condition and select (temp 4-component vector of float)
|
||||
0:14 Condition
|
||||
0:14 Compare Less Than (temp bool)
|
||||
0:14 direct index (temp float)
|
||||
0:14 'ret' (temp 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 direct index (temp float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 true case
|
||||
0:14 vector-scale (temp 4-component vector of float)
|
||||
0:14 Convert int to float (temp float)
|
||||
0:14 'c' (temp int)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 false case
|
||||
0:14 vector-scale (temp 4-component vector of float)
|
||||
0:14 Convert int to float (temp float)
|
||||
0:14 'd' (temp int)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:15 add (temp 4-component vector of float)
|
||||
0:15 vector-scale (temp 4-component vector of float)
|
||||
0:15 Convert int to float (temp float)
|
||||
0:15 'e' (temp int)
|
||||
0:15 'ret' (temp 4-component vector of float)
|
||||
0:15 'f' (temp 4-component vector of float)
|
||||
0:15 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp int)
|
||||
0:3 'a' (temp int)
|
||||
0:3 Constant:
|
||||
0:3 5 (const int)
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child (temp int)
|
||||
0:4 'b' (temp int)
|
||||
0:4 Constant:
|
||||
0:4 6 (const int)
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (temp int)
|
||||
0:5 'c' (temp int)
|
||||
0:5 Constant:
|
||||
0:5 7 (const int)
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp int)
|
||||
0:6 'd' (temp int)
|
||||
0:6 Constant:
|
||||
0:6 7 (const int)
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child (temp 4-component vector of float)
|
||||
0:7 'ret' (temp 4-component vector of float)
|
||||
0:9 add (temp 4-component vector of float)
|
||||
0:8 add (temp 4-component vector of float)
|
||||
0:7 add (temp 4-component vector of float)
|
||||
0:7 vector-scale (temp 4-component vector of float)
|
||||
0:7 Convert int to float (temp float)
|
||||
0:7 'a' (temp int)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:8 vector-scale (temp 4-component vector of float)
|
||||
0:8 Convert int to float (temp float)
|
||||
0:8 'b' (temp int)
|
||||
0:8 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 vector-scale (temp 4-component vector of float)
|
||||
0:9 Convert int to float (temp float)
|
||||
0:9 'c' (temp int)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:10 vector-scale (temp 4-component vector of float)
|
||||
0:10 Convert int to float (temp float)
|
||||
0:10 'd' (temp int)
|
||||
0:10 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:12 Comma (temp int)
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'e' (temp int)
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'a' (temp int)
|
||||
0:12 Test condition and select (temp int)
|
||||
0:12 Condition
|
||||
0:12 'b' (temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'c' (temp int)
|
||||
0:12 'd' (temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 10 (const int)
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'b' (temp int)
|
||||
0:12 Test condition and select (temp int)
|
||||
0:12 Condition
|
||||
0:12 'a' (temp int)
|
||||
0:12 true case
|
||||
0:12 move second child to first child (temp int)
|
||||
0:12 'd' (temp int)
|
||||
0:12 'c' (temp int)
|
||||
0:12 false case
|
||||
0:12 Constant:
|
||||
0:12 11 (const int)
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 'f' (temp 4-component vector of float)
|
||||
0:14 Test condition and select (temp 4-component vector of float)
|
||||
0:14 Condition
|
||||
0:14 Compare Less Than (temp bool)
|
||||
0:14 direct index (temp float)
|
||||
0:14 'ret' (temp 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 0 (const int)
|
||||
0:14 direct index (temp float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 Constant:
|
||||
0:14 1 (const int)
|
||||
0:14 true case
|
||||
0:14 vector-scale (temp 4-component vector of float)
|
||||
0:14 Convert int to float (temp float)
|
||||
0:14 'c' (temp int)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 false case
|
||||
0:14 vector-scale (temp 4-component vector of float)
|
||||
0:14 Convert int to float (temp float)
|
||||
0:14 'd' (temp int)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:15 add (temp 4-component vector of float)
|
||||
0:15 vector-scale (temp 4-component vector of float)
|
||||
0:15 Convert int to float (temp float)
|
||||
0:15 'e' (temp int)
|
||||
0:15 'ret' (temp 4-component vector of float)
|
||||
0:15 'f' (temp 4-component vector of float)
|
||||
0:15 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 91
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 22 83
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "a"
|
||||
Name 10 "b"
|
||||
Name 12 "c"
|
||||
Name 14 "d"
|
||||
Name 18 "ret"
|
||||
Name 22 "input"
|
||||
Name 40 "e"
|
||||
Name 57 "f"
|
||||
Name 83 "@entryPointOutput"
|
||||
Decorate 22(input) Location 0
|
||||
Decorate 83(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: TypePointer Function 6(int)
|
||||
9: 6(int) Constant 5
|
||||
11: 6(int) Constant 6
|
||||
13: 6(int) Constant 7
|
||||
15: TypeFloat 32
|
||||
16: TypeVector 15(float) 4
|
||||
17: TypePointer Function 16(fvec4)
|
||||
21: TypePointer Input 16(fvec4)
|
||||
22(input): 21(ptr) Variable Input
|
||||
47: 6(int) Constant 10
|
||||
55: 6(int) Constant 11
|
||||
59: TypeInt 32 0
|
||||
60: 59(int) Constant 0
|
||||
61: TypePointer Function 15(float)
|
||||
64: 59(int) Constant 1
|
||||
65: TypePointer Input 15(float)
|
||||
68: TypeBool
|
||||
82: TypePointer Output 16(fvec4)
|
||||
83(@entryPointOutput): 82(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
8(a): 7(ptr) Variable Function
|
||||
10(b): 7(ptr) Variable Function
|
||||
12(c): 7(ptr) Variable Function
|
||||
14(d): 7(ptr) Variable Function
|
||||
18(ret): 17(ptr) Variable Function
|
||||
40(e): 7(ptr) Variable Function
|
||||
41: 7(ptr) Variable Function
|
||||
49: 7(ptr) Variable Function
|
||||
57(f): 17(ptr) Variable Function
|
||||
58: 17(ptr) Variable Function
|
||||
Store 8(a) 9
|
||||
Store 10(b) 11
|
||||
Store 12(c) 13
|
||||
Store 14(d) 13
|
||||
19: 6(int) Load 8(a)
|
||||
20: 15(float) ConvertSToF 19
|
||||
23: 16(fvec4) Load 22(input)
|
||||
24: 16(fvec4) VectorTimesScalar 23 20
|
||||
25: 6(int) Load 10(b)
|
||||
26: 15(float) ConvertSToF 25
|
||||
27: 16(fvec4) Load 22(input)
|
||||
28: 16(fvec4) VectorTimesScalar 27 26
|
||||
29: 16(fvec4) FAdd 24 28
|
||||
30: 6(int) Load 12(c)
|
||||
31: 15(float) ConvertSToF 30
|
||||
32: 16(fvec4) Load 22(input)
|
||||
33: 16(fvec4) VectorTimesScalar 32 31
|
||||
34: 16(fvec4) FAdd 29 33
|
||||
35: 6(int) Load 14(d)
|
||||
36: 15(float) ConvertSToF 35
|
||||
37: 16(fvec4) Load 22(input)
|
||||
38: 16(fvec4) VectorTimesScalar 37 36
|
||||
39: 16(fvec4) FAdd 34 38
|
||||
Store 18(ret) 39
|
||||
42: 6(int) Load 10(b)
|
||||
SelectionMerge 44 None
|
||||
BranchConditional 42 43 46
|
||||
43: Label
|
||||
45: 6(int) Load 14(d)
|
||||
Store 12(c) 45
|
||||
Store 41 45
|
||||
Branch 44
|
||||
46: Label
|
||||
Store 41 47
|
||||
Branch 44
|
||||
44: Label
|
||||
48: 6(int) Load 41
|
||||
Store 8(a) 48
|
||||
Store 40(e) 48
|
||||
50: 6(int) Load 8(a)
|
||||
SelectionMerge 52 None
|
||||
BranchConditional 50 51 54
|
||||
51: Label
|
||||
53: 6(int) Load 12(c)
|
||||
Store 14(d) 53
|
||||
Store 49 53
|
||||
Branch 52
|
||||
54: Label
|
||||
Store 49 55
|
||||
Branch 52
|
||||
52: Label
|
||||
56: 6(int) Load 49
|
||||
Store 10(b) 56
|
||||
62: 61(ptr) AccessChain 18(ret) 60
|
||||
63: 15(float) Load 62
|
||||
66: 65(ptr) AccessChain 22(input) 64
|
||||
67: 15(float) Load 66
|
||||
69: 68(bool) FOrdLessThan 63 67
|
||||
SelectionMerge 71 None
|
||||
BranchConditional 69 70 76
|
||||
70: Label
|
||||
72: 6(int) Load 12(c)
|
||||
73: 15(float) ConvertSToF 72
|
||||
74: 16(fvec4) Load 22(input)
|
||||
75: 16(fvec4) VectorTimesScalar 74 73
|
||||
Store 58 75
|
||||
Branch 71
|
||||
76: Label
|
||||
77: 6(int) Load 14(d)
|
||||
78: 15(float) ConvertSToF 77
|
||||
79: 16(fvec4) Load 22(input)
|
||||
80: 16(fvec4) VectorTimesScalar 79 78
|
||||
Store 58 80
|
||||
Branch 71
|
||||
71: Label
|
||||
81: 16(fvec4) Load 58
|
||||
Store 57(f) 81
|
||||
84: 6(int) Load 40(e)
|
||||
85: 15(float) ConvertSToF 84
|
||||
86: 16(fvec4) Load 18(ret)
|
||||
87: 16(fvec4) VectorTimesScalar 86 85
|
||||
88: 16(fvec4) Load 57(f)
|
||||
89: 16(fvec4) FAdd 87 88
|
||||
Store 83(@entryPointOutput) 89
|
||||
Return
|
||||
FunctionEnd
|
||||
150
Test/baseResults/hlsl.constructexpr.frag.out
Normal file
150
Test/baseResults/hlsl.constructexpr.frag.out
Normal file
@ -0,0 +1,150 @@
|
||||
hlsl.constructexpr.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
|
||||
0:4 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Constant:
|
||||
0:6 3 (const int)
|
||||
0:7 Constant:
|
||||
0:7 4 (const int)
|
||||
0:8 Constant:
|
||||
0:8 5 (const int)
|
||||
0:9 Constant:
|
||||
0:9 6 (const int)
|
||||
0:10 Constant:
|
||||
0:10 7 (const int)
|
||||
0:11 Constant:
|
||||
0:11 8 (const int)
|
||||
0:12 Comma (temp 2-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 9.000000
|
||||
0:? 10.000000
|
||||
0:? Constant:
|
||||
0:? 11.000000
|
||||
0:? 12.000000
|
||||
0:15 move second child to first child (temp 4-component vector of float)
|
||||
0:15 color: direct index for structure (temp 4-component vector of float)
|
||||
0:15 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:15 Constant:
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:16 Sequence
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:16 color: direct index for structure (temp 4-component vector of float)
|
||||
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:16 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:4 Function Definition: main( (temp structure{temp 4-component vector of float color})
|
||||
0:4 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 Constant:
|
||||
0:6 3 (const int)
|
||||
0:7 Constant:
|
||||
0:7 4 (const int)
|
||||
0:8 Constant:
|
||||
0:8 5 (const int)
|
||||
0:9 Constant:
|
||||
0:9 6 (const int)
|
||||
0:10 Constant:
|
||||
0:10 7 (const int)
|
||||
0:11 Constant:
|
||||
0:11 8 (const int)
|
||||
0:12 Comma (temp 2-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 9.000000
|
||||
0:? 10.000000
|
||||
0:? Constant:
|
||||
0:? 11.000000
|
||||
0:? 12.000000
|
||||
0:15 move second child to first child (temp 4-component vector of float)
|
||||
0:15 color: direct index for structure (temp 4-component vector of float)
|
||||
0:15 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:15 Constant:
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:15 1.000000
|
||||
0:16 Sequence
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:16 color: direct index for structure (temp 4-component vector of float)
|
||||
0:16 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:16 Constant:
|
||||
0:16 0 (const int)
|
||||
0:16 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 35
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 31
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 22 "PS_OUTPUT"
|
||||
MemberName 22(PS_OUTPUT) 0 "color"
|
||||
Name 24 "ps_output"
|
||||
Name 31 "color"
|
||||
Decorate 31(color) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: 6(int) Constant 3
|
||||
8: 6(int) Constant 4
|
||||
9: 6(int) Constant 5
|
||||
10: 6(int) Constant 6
|
||||
11: 6(int) Constant 7
|
||||
12: 6(int) Constant 8
|
||||
13: TypeFloat 32
|
||||
14: TypeVector 13(float) 2
|
||||
15: 13(float) Constant 1091567616
|
||||
16: 13(float) Constant 1092616192
|
||||
17: 14(fvec2) ConstantComposite 15 16
|
||||
18: 13(float) Constant 1093664768
|
||||
19: 13(float) Constant 1094713344
|
||||
20: 14(fvec2) ConstantComposite 18 19
|
||||
21: TypeVector 13(float) 4
|
||||
22(PS_OUTPUT): TypeStruct 21(fvec4)
|
||||
23: TypePointer Function 22(PS_OUTPUT)
|
||||
25: 6(int) Constant 0
|
||||
26: 13(float) Constant 1065353216
|
||||
27: 21(fvec4) ConstantComposite 26 26 26 26
|
||||
28: TypePointer Function 21(fvec4)
|
||||
30: TypePointer Output 21(fvec4)
|
||||
31(color): 30(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
24(ps_output): 23(ptr) Variable Function
|
||||
29: 28(ptr) AccessChain 24(ps_output) 25
|
||||
Store 29 27
|
||||
32: 28(ptr) AccessChain 24(ps_output) 25
|
||||
33: 21(fvec4) Load 32
|
||||
Store 31(color) 33
|
||||
Return
|
||||
FunctionEnd
|
||||
59
Test/baseResults/hlsl.depthGreater.frag.out
Executable file
59
Test/baseResults/hlsl.depthGreater.frag.out
Executable file
@ -0,0 +1,59 @@
|
||||
hlsl.depthGreater.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
using depth_greater
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 'depth' (out float FragDepth)
|
||||
0:? Sequence
|
||||
0:3 move second child to first child (temp float)
|
||||
0:3 'depth' (out float FragDepth)
|
||||
0:3 Constant:
|
||||
0:3 0.200000
|
||||
0:? Linker Objects
|
||||
0:? 'depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
using depth_greater
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunction(f1; (temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 'depth' (out float FragDepth)
|
||||
0:? Sequence
|
||||
0:3 move second child to first child (temp float)
|
||||
0:3 'depth' (out float FragDepth)
|
||||
0:3 Constant:
|
||||
0:3 0.200000
|
||||
0:? Linker Objects
|
||||
0:? 'depth' (out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 10
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 8
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthGreater
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "depth"
|
||||
Decorate 8(depth) BuiltIn FragDepth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Output 6(float)
|
||||
8(depth): 7(ptr) Variable Output
|
||||
9: 6(float) Constant 1045220557
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
Store 8(depth) 9
|
||||
Return
|
||||
FunctionEnd
|
||||
60
Test/baseResults/hlsl.depthLess.frag.out
Executable file
60
Test/baseResults/hlsl.depthLess.frag.out
Executable file
@ -0,0 +1,60 @@
|
||||
hlsl.depthLess.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
using depth_less
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
|
||||
0:2 Function Parameters:
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp float)
|
||||
0:? '@entryPointOutput' (out float unknown built-in variable)
|
||||
0:3 Constant:
|
||||
0:3 0.200000
|
||||
0:3 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (out float unknown built-in variable)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
using depth_less
|
||||
0:? Sequence
|
||||
0:2 Function Definition: PixelShaderFunction( (temp float FragDepth)
|
||||
0:2 Function Parameters:
|
||||
0:? Sequence
|
||||
0:3 Sequence
|
||||
0:3 move second child to first child (temp float)
|
||||
0:? '@entryPointOutput' (out float unknown built-in variable)
|
||||
0:3 Constant:
|
||||
0:3 0.200000
|
||||
0:3 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (out float unknown built-in variable)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 11
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 8
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthLess
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "@entryPointOutput"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Output 6(float)
|
||||
8(@entryPointOutput): 7(ptr) Variable Output
|
||||
9: 6(float) Constant 1045220557
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
Store 8(@entryPointOutput) 9
|
||||
Return
|
||||
FunctionEnd
|
||||
@ -2,7 +2,7 @@ hlsl.discard.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:7 Function Definition: foo(f1; (global void)
|
||||
0:2 Function Definition: foo(f1; (temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 'f' (in float)
|
||||
0:? Sequence
|
||||
@ -14,19 +14,19 @@ gl_FragCoord origin is upper left
|
||||
0:3 1.000000
|
||||
0:3 true case
|
||||
0:4 Branch: Kill
|
||||
0:15 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
|
||||
0:8 Function Parameters:
|
||||
0:8 'input' (in 4-component vector of float)
|
||||
0:8 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:9 Function Call: foo(f1; (global void)
|
||||
0:9 Function Call: foo(f1; (temp void)
|
||||
0:9 direct index (temp float)
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 2 (const int)
|
||||
0:10 Test condition and select (temp void)
|
||||
0:10 Condition
|
||||
0:10 direct index (temp float)
|
||||
0:10 'input' (in 4-component vector of float)
|
||||
0:10 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:10 true case
|
||||
@ -35,11 +35,12 @@ gl_FragCoord origin is upper left
|
||||
0:12 move second child to first child (temp float)
|
||||
0:12 'f' (temp float)
|
||||
0:12 direct index (temp float)
|
||||
0:12 'input' (in 4-component vector of float)
|
||||
0:12 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:13 Branch: Kill
|
||||
0:? Linker Objects
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -48,7 +49,7 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:7 Function Definition: foo(f1; (global void)
|
||||
0:2 Function Definition: foo(f1; (temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 'f' (in float)
|
||||
0:? Sequence
|
||||
@ -60,19 +61,19 @@ gl_FragCoord origin is upper left
|
||||
0:3 1.000000
|
||||
0:3 true case
|
||||
0:4 Branch: Kill
|
||||
0:15 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:8 Function Definition: PixelShaderFunction(vf4; (temp void)
|
||||
0:8 Function Parameters:
|
||||
0:8 'input' (in 4-component vector of float)
|
||||
0:8 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:9 Function Call: foo(f1; (global void)
|
||||
0:9 Function Call: foo(f1; (temp void)
|
||||
0:9 direct index (temp float)
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 2 (const int)
|
||||
0:10 Test condition and select (temp void)
|
||||
0:10 Condition
|
||||
0:10 direct index (temp float)
|
||||
0:10 'input' (in 4-component vector of float)
|
||||
0:10 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:10 Constant:
|
||||
0:10 0 (const int)
|
||||
0:10 true case
|
||||
@ -81,11 +82,12 @@ gl_FragCoord origin is upper left
|
||||
0:12 move second child to first child (temp float)
|
||||
0:12 'f' (temp float)
|
||||
0:12 direct index (temp float)
|
||||
0:12 'input' (in 4-component vector of float)
|
||||
0:12 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:12 Constant:
|
||||
0:12 0 (const int)
|
||||
0:13 Branch: Kill
|
||||
0:? Linker Objects
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
@ -96,13 +98,13 @@ gl_FragCoord origin is upper left
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 21
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 10 "foo(f1;"
|
||||
Name 9 "f"
|
||||
Name 21 "input"
|
||||
Name 22 "param"
|
||||
Name 35 "f"
|
||||
Decorate 21(input) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
|
||||
@ -2,9 +2,9 @@ hlsl.doLoop.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:7 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Loop with condition not tested first
|
||||
0:3 Loop Condition
|
||||
@ -19,12 +19,17 @@ gl_FragCoord origin is upper left
|
||||
0:5 Loop with condition not tested first
|
||||
0:5 Loop Condition
|
||||
0:5 Compare Equal (temp bool)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 Loop Body
|
||||
0:5 Branch: Return with expression
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -33,9 +38,9 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:7 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Loop with condition not tested first
|
||||
0:3 Loop Condition
|
||||
@ -50,34 +55,43 @@ gl_FragCoord origin is upper left
|
||||
0:5 Loop with condition not tested first
|
||||
0:5 Loop Condition
|
||||
0:5 Compare Equal (temp bool)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 Loop Body
|
||||
0:5 Branch: Return with expression
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 31
|
||||
// Id's are bound by 33
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 23
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 23 25
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 23 "input"
|
||||
Name 23 "@entryPointOutput"
|
||||
Name 25 "input"
|
||||
Decorate 23(@entryPointOutput) Location 0
|
||||
Decorate 25(input) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
10: TypeBool
|
||||
11: 10(bool) ConstantFalse
|
||||
20: TypeFloat 32
|
||||
21: TypeVector 20(float) 4
|
||||
22: TypePointer Input 21(fvec4)
|
||||
23(input): 22(ptr) Variable Input
|
||||
28: TypeVector 10(bool) 4
|
||||
22: TypePointer Output 21(fvec4)
|
||||
23(@entryPointOutput): 22(ptr) Variable Output
|
||||
24: TypePointer Input 21(fvec4)
|
||||
25(input): 24(ptr) Variable Input
|
||||
30: TypeVector 10(bool) 4
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
Branch 6
|
||||
@ -103,14 +117,15 @@ gl_FragCoord origin is upper left
|
||||
LoopMerge 18 19 None
|
||||
Branch 17
|
||||
17: Label
|
||||
24: 21(fvec4) Load 23(input)
|
||||
ReturnValue 24
|
||||
26: 21(fvec4) Load 25(input)
|
||||
Store 23(@entryPointOutput) 26
|
||||
Return
|
||||
19: Label
|
||||
26: 21(fvec4) Load 23(input)
|
||||
27: 21(fvec4) Load 23(input)
|
||||
29: 28(bvec4) FOrdEqual 26 27
|
||||
30: 10(bool) All 29
|
||||
BranchConditional 30 16 18
|
||||
28: 21(fvec4) Load 25(input)
|
||||
29: 21(fvec4) Load 25(input)
|
||||
31: 30(bvec4) FOrdEqual 28 29
|
||||
32: 10(bool) All 31
|
||||
BranchConditional 32 16 18
|
||||
18: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
304
Test/baseResults/hlsl.entry-in.frag.out
Executable file
304
Test/baseResults/hlsl.entry-in.frag.out
Executable file
@ -0,0 +1,304 @@
|
||||
hlsl.entry-in.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:? Sequence
|
||||
0:9 Branch: Return with expression
|
||||
0:9 add (temp float)
|
||||
0:9 direct index (temp float)
|
||||
0:9 v: direct index for structure (temp 2-component vector of float)
|
||||
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:9 direct index (temp float)
|
||||
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
||||
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Parameters:
|
||||
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:? Sequence
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child (temp 2-component vector of float)
|
||||
0:15 v: direct index for structure (temp 2-component vector of float)
|
||||
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:? 'v' (layout(location=0 ) in 2-component vector of float)
|
||||
0:15 move second child to first child (temp 4-component vector of float)
|
||||
0:15 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:? 'fragCoord' (in 4-component vector of float FragCoord)
|
||||
0:15 move second child to first child (temp 2-component vector of int)
|
||||
0:15 i2: direct index for structure (temp 2-component vector of int)
|
||||
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:15 Constant:
|
||||
0:15 2 (const int)
|
||||
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child (temp float)
|
||||
0:16 'ret1' (temp float)
|
||||
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||
0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp float)
|
||||
0:17 'ret2' (temp float)
|
||||
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||
0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp 2-component vector of float)
|
||||
0:17 v: direct index for structure (temp 2-component vector of float)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:? 'v' (layout(location=0 ) in 2-component vector of float)
|
||||
0:17 move second child to first child (temp 4-component vector of float)
|
||||
0:17 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:? 'fragCoord' (in 4-component vector of float FragCoord)
|
||||
0:17 move second child to first child (temp 2-component vector of int)
|
||||
0:17 i2: direct index for structure (temp 2-component vector of int)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:19 vector-scale (temp 4-component vector of float)
|
||||
0:19 vector-scale (temp 4-component vector of float)
|
||||
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:19 'ret1' (temp float)
|
||||
0:19 'ret2' (temp float)
|
||||
0:19 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'v' (layout(location=0 ) in 2-component vector of float)
|
||||
0:? 'fragCoord' (in 4-component vector of float FragCoord)
|
||||
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:8 Function Definition: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||
0:8 Function Parameters:
|
||||
0:8 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:? Sequence
|
||||
0:9 Branch: Return with expression
|
||||
0:9 add (temp float)
|
||||
0:9 direct index (temp float)
|
||||
0:9 v: direct index for structure (temp 2-component vector of float)
|
||||
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:9 direct index (temp float)
|
||||
0:9 fragCoord: direct index for structure (temp 4-component vector of float FragCoord)
|
||||
0:9 'p' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:13 Function Definition: PixelShaderFunction(struct-InParam-vf2-vf4-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Parameters:
|
||||
0:13 'i' (in structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:? Sequence
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child (temp 2-component vector of float)
|
||||
0:15 v: direct index for structure (temp 2-component vector of float)
|
||||
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:15 Constant:
|
||||
0:15 0 (const int)
|
||||
0:? 'v' (layout(location=0 ) in 2-component vector of float)
|
||||
0:15 move second child to first child (temp 4-component vector of float)
|
||||
0:15 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:15 Constant:
|
||||
0:15 1 (const int)
|
||||
0:? 'fragCoord' (in 4-component vector of float FragCoord)
|
||||
0:15 move second child to first child (temp 2-component vector of int)
|
||||
0:15 i2: direct index for structure (temp 2-component vector of int)
|
||||
0:15 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:15 Constant:
|
||||
0:15 2 (const int)
|
||||
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child (temp float)
|
||||
0:16 'ret1' (temp float)
|
||||
0:16 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||
0:16 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp float)
|
||||
0:17 'ret2' (temp float)
|
||||
0:17 Function Call: fun(struct-InParam-vf2-vf4-vi21; (temp float)
|
||||
0:17 Comma (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp 2-component vector of float)
|
||||
0:17 v: direct index for structure (temp 2-component vector of float)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:? 'v' (layout(location=0 ) in 2-component vector of float)
|
||||
0:17 move second child to first child (temp 4-component vector of float)
|
||||
0:17 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:? 'fragCoord' (in 4-component vector of float FragCoord)
|
||||
0:17 move second child to first child (temp 2-component vector of int)
|
||||
0:17 i2: direct index for structure (temp 2-component vector of int)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
|
||||
0:17 'aggShadow' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:19 Sequence
|
||||
0:19 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:19 vector-scale (temp 4-component vector of float)
|
||||
0:19 vector-scale (temp 4-component vector of float)
|
||||
0:19 fragCoord: direct index for structure (temp 4-component vector of float)
|
||||
0:19 'local' (temp structure{temp 2-component vector of float v, temp 4-component vector of float fragCoord, temp 2-component vector of int i2})
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:19 'ret1' (temp float)
|
||||
0:19 'ret2' (temp float)
|
||||
0:19 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'v' (layout(location=0 ) in 2-component vector of float)
|
||||
0:? 'fragCoord' (in 4-component vector of float FragCoord)
|
||||
0:? 'i2' (layout(location=1 ) in 2-component vector of int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 71
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 32 37 43 63
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 11 "InParam"
|
||||
MemberName 11(InParam) 0 "v"
|
||||
MemberName 11(InParam) 1 "fragCoord"
|
||||
MemberName 11(InParam) 2 "i2"
|
||||
Name 15 "fun(struct-InParam-vf2-vf4-vi21;"
|
||||
Name 14 "p"
|
||||
Name 30 "local"
|
||||
Name 32 "v"
|
||||
Name 37 "fragCoord"
|
||||
Name 43 "i2"
|
||||
Name 47 "ret1"
|
||||
Name 48 "param"
|
||||
Name 51 "ret2"
|
||||
Name 52 "aggShadow"
|
||||
Name 59 "param"
|
||||
Name 63 "@entryPointOutput"
|
||||
Decorate 32(v) Location 0
|
||||
Decorate 37(fragCoord) BuiltIn FragCoord
|
||||
Decorate 43(i2) Location 1
|
||||
Decorate 63(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 2
|
||||
8: TypeVector 6(float) 4
|
||||
9: TypeInt 32 1
|
||||
10: TypeVector 9(int) 2
|
||||
11(InParam): TypeStruct 7(fvec2) 8(fvec4) 10(ivec2)
|
||||
12: TypePointer Function 11(InParam)
|
||||
13: TypeFunction 6(float) 12(ptr)
|
||||
17: 9(int) Constant 0
|
||||
18: TypeInt 32 0
|
||||
19: 18(int) Constant 1
|
||||
20: TypePointer Function 6(float)
|
||||
23: 9(int) Constant 1
|
||||
24: 18(int) Constant 0
|
||||
31: TypePointer Input 7(fvec2)
|
||||
32(v): 31(ptr) Variable Input
|
||||
34: TypePointer Function 7(fvec2)
|
||||
36: TypePointer Input 8(fvec4)
|
||||
37(fragCoord): 36(ptr) Variable Input
|
||||
39: TypePointer Function 8(fvec4)
|
||||
41: 9(int) Constant 2
|
||||
42: TypePointer Input 10(ivec2)
|
||||
43(i2): 42(ptr) Variable Input
|
||||
45: TypePointer Function 10(ivec2)
|
||||
62: TypePointer Output 8(fvec4)
|
||||
63(@entryPointOutput): 62(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
30(local): 12(ptr) Variable Function
|
||||
47(ret1): 20(ptr) Variable Function
|
||||
48(param): 12(ptr) Variable Function
|
||||
51(ret2): 20(ptr) Variable Function
|
||||
52(aggShadow): 12(ptr) Variable Function
|
||||
59(param): 12(ptr) Variable Function
|
||||
33: 7(fvec2) Load 32(v)
|
||||
35: 34(ptr) AccessChain 30(local) 17
|
||||
Store 35 33
|
||||
38: 8(fvec4) Load 37(fragCoord)
|
||||
40: 39(ptr) AccessChain 30(local) 23
|
||||
Store 40 38
|
||||
44: 10(ivec2) Load 43(i2)
|
||||
46: 45(ptr) AccessChain 30(local) 41
|
||||
Store 46 44
|
||||
49: 11(InParam) Load 30(local)
|
||||
Store 48(param) 49
|
||||
50: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 48(param)
|
||||
Store 47(ret1) 50
|
||||
53: 7(fvec2) Load 32(v)
|
||||
54: 34(ptr) AccessChain 52(aggShadow) 17
|
||||
Store 54 53
|
||||
55: 8(fvec4) Load 37(fragCoord)
|
||||
56: 39(ptr) AccessChain 52(aggShadow) 23
|
||||
Store 56 55
|
||||
57: 10(ivec2) Load 43(i2)
|
||||
58: 45(ptr) AccessChain 52(aggShadow) 41
|
||||
Store 58 57
|
||||
60: 11(InParam) Load 52(aggShadow)
|
||||
Store 59(param) 60
|
||||
61: 6(float) FunctionCall 15(fun(struct-InParam-vf2-vf4-vi21;) 59(param)
|
||||
Store 51(ret2) 61
|
||||
64: 39(ptr) AccessChain 30(local) 23
|
||||
65: 8(fvec4) Load 64
|
||||
66: 6(float) Load 47(ret1)
|
||||
67: 8(fvec4) VectorTimesScalar 65 66
|
||||
68: 6(float) Load 51(ret2)
|
||||
69: 8(fvec4) VectorTimesScalar 67 68
|
||||
Store 63(@entryPointOutput) 69
|
||||
Return
|
||||
FunctionEnd
|
||||
15(fun(struct-InParam-vf2-vf4-vi21;): 6(float) Function None 13
|
||||
14(p): 12(ptr) FunctionParameter
|
||||
16: Label
|
||||
21: 20(ptr) AccessChain 14(p) 17 19
|
||||
22: 6(float) Load 21
|
||||
25: 20(ptr) AccessChain 14(p) 23 24
|
||||
26: 6(float) Load 25
|
||||
27: 6(float) FAdd 22 26
|
||||
ReturnValue 27
|
||||
FunctionEnd
|
||||
287
Test/baseResults/hlsl.entry-out.frag.out
Executable file
287
Test/baseResults/hlsl.entry-out.frag.out
Executable file
@ -0,0 +1,287 @@
|
||||
hlsl.entry-out.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:7 Function Definition: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:7 Function Parameters:
|
||||
0:7 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? Sequence
|
||||
0:8 move second child to first child (temp 2-component vector of float)
|
||||
0:8 v: direct index for structure (temp 2-component vector of float)
|
||||
0:8 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:8 Constant:
|
||||
0:8 0 (const int)
|
||||
0:8 Constant:
|
||||
0:8 0.400000
|
||||
0:8 0.400000
|
||||
0:9 move second child to first child (temp 2-component vector of int)
|
||||
0:9 i: direct index for structure (temp 2-component vector of int)
|
||||
0:9 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:9 Constant:
|
||||
0:9 7 (const int)
|
||||
0:9 7 (const int)
|
||||
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Parameters:
|
||||
0:13 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? Sequence
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:15 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 2.000000
|
||||
0:15 2.000000
|
||||
0:16 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:16 Constant:
|
||||
0:16 3 (const int)
|
||||
0:16 3 (const int)
|
||||
0:18 move second child to first child (temp 2-component vector of float)
|
||||
0:18 v: direct index for structure (temp 2-component vector of float)
|
||||
0:18 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 Constant:
|
||||
0:18 12.000000
|
||||
0:18 12.000000
|
||||
0:19 move second child to first child (temp 2-component vector of int)
|
||||
0:19 i: direct index for structure (temp 2-component vector of int)
|
||||
0:19 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:19 Constant:
|
||||
0:19 13 (const int)
|
||||
0:19 13 (const int)
|
||||
0:20 Comma (temp void)
|
||||
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:20 v: direct index for structure (temp 2-component vector of float)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
0:20 i: direct index for structure (temp 2-component vector of int)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:22 Sequence
|
||||
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:22 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:22 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:7 Function Definition: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:7 Function Parameters:
|
||||
0:7 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? Sequence
|
||||
0:8 move second child to first child (temp 2-component vector of float)
|
||||
0:8 v: direct index for structure (temp 2-component vector of float)
|
||||
0:8 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:8 Constant:
|
||||
0:8 0 (const int)
|
||||
0:8 Constant:
|
||||
0:8 0.400000
|
||||
0:8 0.400000
|
||||
0:9 move second child to first child (temp 2-component vector of int)
|
||||
0:9 i: direct index for structure (temp 2-component vector of int)
|
||||
0:9 'op' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:9 Constant:
|
||||
0:9 1 (const int)
|
||||
0:9 Constant:
|
||||
0:9 7 (const int)
|
||||
0:9 7 (const int)
|
||||
0:13 Function Definition: PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; (temp 4-component vector of float)
|
||||
0:13 Function Parameters:
|
||||
0:13 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:13 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:13 'out2' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:13 'out3' (out structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:? Sequence
|
||||
0:14 move second child to first child (temp 4-component vector of float)
|
||||
0:14 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:15 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:15 Constant:
|
||||
0:15 2.000000
|
||||
0:15 2.000000
|
||||
0:16 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:16 Constant:
|
||||
0:16 3 (const int)
|
||||
0:16 3 (const int)
|
||||
0:18 move second child to first child (temp 2-component vector of float)
|
||||
0:18 v: direct index for structure (temp 2-component vector of float)
|
||||
0:18 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:18 Constant:
|
||||
0:18 0 (const int)
|
||||
0:18 Constant:
|
||||
0:18 12.000000
|
||||
0:18 12.000000
|
||||
0:19 move second child to first child (temp 2-component vector of int)
|
||||
0:19 i: direct index for structure (temp 2-component vector of int)
|
||||
0:19 'local' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:19 Constant:
|
||||
0:19 1 (const int)
|
||||
0:19 Constant:
|
||||
0:19 13 (const int)
|
||||
0:19 13 (const int)
|
||||
0:20 Comma (temp void)
|
||||
0:20 Function Call: fun(struct-OutParam-vf2-vi21; (temp void)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp 2-component vector of float)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:20 v: direct index for structure (temp 2-component vector of float)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 0 (const int)
|
||||
0:20 move second child to first child (temp 2-component vector of int)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
0:20 i: direct index for structure (temp 2-component vector of int)
|
||||
0:20 'tempArg' (temp structure{temp 2-component vector of float v, temp 2-component vector of int i})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:22 Sequence
|
||||
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:22 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:22 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? 'out1' (layout(location=1 ) out 4-component vector of float)
|
||||
0:? 'v' (layout(location=2 ) out 2-component vector of float)
|
||||
0:? 'i' (layout(location=3 ) out 2-component vector of int)
|
||||
0:? 'v' (layout(location=4 ) out 2-component vector of float)
|
||||
0:? 'i' (layout(location=5 ) out 2-component vector of int)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 60
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 28 30 33 37 51 54 57
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 10 "OutParam"
|
||||
MemberName 10(OutParam) 0 "v"
|
||||
MemberName 10(OutParam) 1 "i"
|
||||
Name 14 "fun(struct-OutParam-vf2-vi21;"
|
||||
Name 13 "op"
|
||||
Name 28 "out1"
|
||||
Name 30 "input"
|
||||
Name 33 "v"
|
||||
Name 37 "i"
|
||||
Name 40 "local"
|
||||
Name 47 "tempArg"
|
||||
Name 48 "param"
|
||||
Name 51 "v"
|
||||
Name 54 "i"
|
||||
Name 57 "@entryPointOutput"
|
||||
Decorate 28(out1) Location 1
|
||||
Decorate 30(input) Location 0
|
||||
Decorate 33(v) Location 2
|
||||
Decorate 37(i) Location 3
|
||||
Decorate 51(v) Location 4
|
||||
Decorate 54(i) Location 5
|
||||
Decorate 57(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 2
|
||||
8: TypeInt 32 1
|
||||
9: TypeVector 8(int) 2
|
||||
10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
|
||||
11: TypePointer Function 10(OutParam)
|
||||
12: TypeFunction 2 11(ptr)
|
||||
16: 8(int) Constant 0
|
||||
17: 6(float) Constant 1053609165
|
||||
18: 7(fvec2) ConstantComposite 17 17
|
||||
19: TypePointer Function 7(fvec2)
|
||||
21: 8(int) Constant 1
|
||||
22: 8(int) Constant 7
|
||||
23: 9(ivec2) ConstantComposite 22 22
|
||||
24: TypePointer Function 9(ivec2)
|
||||
26: TypeVector 6(float) 4
|
||||
27: TypePointer Output 26(fvec4)
|
||||
28(out1): 27(ptr) Variable Output
|
||||
29: TypePointer Input 26(fvec4)
|
||||
30(input): 29(ptr) Variable Input
|
||||
32: TypePointer Output 7(fvec2)
|
||||
33(v): 32(ptr) Variable Output
|
||||
34: 6(float) Constant 1073741824
|
||||
35: 7(fvec2) ConstantComposite 34 34
|
||||
36: TypePointer Output 9(ivec2)
|
||||
37(i): 36(ptr) Variable Output
|
||||
38: 8(int) Constant 3
|
||||
39: 9(ivec2) ConstantComposite 38 38
|
||||
41: 6(float) Constant 1094713344
|
||||
42: 7(fvec2) ConstantComposite 41 41
|
||||
44: 8(int) Constant 13
|
||||
45: 9(ivec2) ConstantComposite 44 44
|
||||
51(v): 32(ptr) Variable Output
|
||||
54(i): 36(ptr) Variable Output
|
||||
57(@entryPointOutput): 27(ptr) Variable Output
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
40(local): 11(ptr) Variable Function
|
||||
47(tempArg): 11(ptr) Variable Function
|
||||
48(param): 11(ptr) Variable Function
|
||||
31: 26(fvec4) Load 30(input)
|
||||
Store 28(out1) 31
|
||||
Store 33(v) 35
|
||||
Store 37(i) 39
|
||||
43: 19(ptr) AccessChain 40(local) 16
|
||||
Store 43 42
|
||||
46: 24(ptr) AccessChain 40(local) 21
|
||||
Store 46 45
|
||||
49: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 48(param)
|
||||
50:10(OutParam) Load 48(param)
|
||||
Store 47(tempArg) 50
|
||||
52: 19(ptr) AccessChain 47(tempArg) 16
|
||||
53: 7(fvec2) Load 52
|
||||
Store 51(v) 53
|
||||
55: 24(ptr) AccessChain 47(tempArg) 21
|
||||
56: 9(ivec2) Load 55
|
||||
Store 54(i) 56
|
||||
58: 26(fvec4) Load 28(out1)
|
||||
Store 57(@entryPointOutput) 58
|
||||
Return
|
||||
FunctionEnd
|
||||
14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
|
||||
13(op): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
20: 19(ptr) AccessChain 13(op) 16
|
||||
Store 20 18
|
||||
25: 24(ptr) AccessChain 13(op) 21
|
||||
Store 25 23
|
||||
Return
|
||||
FunctionEnd
|
||||
187
Test/baseResults/hlsl.flatten.return.frag.out
Normal file
187
Test/baseResults/hlsl.flatten.return.frag.out
Normal file
@ -0,0 +1,187 @@
|
||||
hlsl.flatten.return.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:11 Function Definition: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:11 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 Branch: Return with expression
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 1.000000
|
||||
0:? 1.000000
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:16 Function Parameters:
|
||||
0:? Sequence
|
||||
0:17 Sequence
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:17 color: direct index for structure (temp 4-component vector of float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:17 move second child to first child (temp float)
|
||||
0:? 'other_struct_member1' (layout(location=1 ) out float)
|
||||
0:17 other_struct_member1: direct index for structure (temp float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:17 move second child to first child (temp float)
|
||||
0:? 'other_struct_member2' (layout(location=2 ) out float)
|
||||
0:17 other_struct_member2: direct index for structure (temp float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:17 move second child to first child (temp float)
|
||||
0:? 'other_struct_member3' (layout(location=3 ) out float)
|
||||
0:17 other_struct_member3: direct index for structure (temp float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 3 (const int)
|
||||
0:17 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'other_struct_member1' (layout(location=1 ) out float)
|
||||
0:? 'other_struct_member2' (layout(location=2 ) out float)
|
||||
0:? 'other_struct_member3' (layout(location=3 ) out float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:11 Function Definition: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:11 Function Parameters:
|
||||
0:? Sequence
|
||||
0:12 Branch: Return with expression
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 1.000000
|
||||
0:? 1.000000
|
||||
0:? 1.000000
|
||||
0:? 2.000000
|
||||
0:? 3.000000
|
||||
0:? 4.000000
|
||||
0:16 Function Definition: main( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:16 Function Parameters:
|
||||
0:? Sequence
|
||||
0:17 Sequence
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Function Call: Func1( (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:17 color: direct index for structure (temp 4-component vector of float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 0 (const int)
|
||||
0:17 move second child to first child (temp float)
|
||||
0:? 'other_struct_member1' (layout(location=1 ) out float)
|
||||
0:17 other_struct_member1: direct index for structure (temp float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 1 (const int)
|
||||
0:17 move second child to first child (temp float)
|
||||
0:? 'other_struct_member2' (layout(location=2 ) out float)
|
||||
0:17 other_struct_member2: direct index for structure (temp float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:17 move second child to first child (temp float)
|
||||
0:? 'other_struct_member3' (layout(location=3 ) out float)
|
||||
0:17 other_struct_member3: direct index for structure (temp float)
|
||||
0:17 'flattenTemp' (temp structure{temp 4-component vector of float color, temp float other_struct_member1, temp float other_struct_member2, temp float other_struct_member3})
|
||||
0:17 Constant:
|
||||
0:17 3 (const int)
|
||||
0:17 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'other_struct_member1' (layout(location=1 ) out float)
|
||||
0:? 'other_struct_member2' (layout(location=2 ) out float)
|
||||
0:? 'other_struct_member3' (layout(location=3 ) out float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 45
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 24 31 36 40
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 8 "PS_OUTPUT"
|
||||
MemberName 8(PS_OUTPUT) 0 "color"
|
||||
MemberName 8(PS_OUTPUT) 1 "other_struct_member1"
|
||||
MemberName 8(PS_OUTPUT) 2 "other_struct_member2"
|
||||
MemberName 8(PS_OUTPUT) 3 "other_struct_member3"
|
||||
Name 10 "Func1("
|
||||
Name 21 "flattenTemp"
|
||||
Name 24 "color"
|
||||
Name 31 "other_struct_member1"
|
||||
Name 36 "other_struct_member2"
|
||||
Name 40 "other_struct_member3"
|
||||
Decorate 24(color) Location 0
|
||||
Decorate 31(other_struct_member1) Location 1
|
||||
Decorate 36(other_struct_member2) Location 2
|
||||
Decorate 40(other_struct_member3) Location 3
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float) 6(float) 6(float)
|
||||
9: TypeFunction 8(PS_OUTPUT)
|
||||
12: 6(float) Constant 1065353216
|
||||
13: 7(fvec4) ConstantComposite 12 12 12 12
|
||||
14: 6(float) Constant 1073741824
|
||||
15: 6(float) Constant 1077936128
|
||||
16: 6(float) Constant 1082130432
|
||||
17:8(PS_OUTPUT) ConstantComposite 13 14 15 16
|
||||
20: TypePointer Function 8(PS_OUTPUT)
|
||||
23: TypePointer Output 7(fvec4)
|
||||
24(color): 23(ptr) Variable Output
|
||||
25: TypeInt 32 1
|
||||
26: 25(int) Constant 0
|
||||
27: TypePointer Function 7(fvec4)
|
||||
30: TypePointer Output 6(float)
|
||||
31(other_struct_member1): 30(ptr) Variable Output
|
||||
32: 25(int) Constant 1
|
||||
33: TypePointer Function 6(float)
|
||||
36(other_struct_member2): 30(ptr) Variable Output
|
||||
37: 25(int) Constant 2
|
||||
40(other_struct_member3): 30(ptr) Variable Output
|
||||
41: 25(int) Constant 3
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
21(flattenTemp): 20(ptr) Variable Function
|
||||
22:8(PS_OUTPUT) FunctionCall 10(Func1()
|
||||
Store 21(flattenTemp) 22
|
||||
28: 27(ptr) AccessChain 21(flattenTemp) 26
|
||||
29: 7(fvec4) Load 28
|
||||
Store 24(color) 29
|
||||
34: 33(ptr) AccessChain 21(flattenTemp) 32
|
||||
35: 6(float) Load 34
|
||||
Store 31(other_struct_member1) 35
|
||||
38: 33(ptr) AccessChain 21(flattenTemp) 37
|
||||
39: 6(float) Load 38
|
||||
Store 36(other_struct_member2) 39
|
||||
42: 33(ptr) AccessChain 21(flattenTemp) 41
|
||||
43: 6(float) Load 42
|
||||
Store 40(other_struct_member3) 43
|
||||
Return
|
||||
FunctionEnd
|
||||
10(Func1():8(PS_OUTPUT) Function None 9
|
||||
11: Label
|
||||
ReturnValue 17
|
||||
FunctionEnd
|
||||
@ -12,7 +12,7 @@ gl_FragCoord origin is upper left
|
||||
0:2 'scalar' (global float)
|
||||
0:2 Constant:
|
||||
0:2 2.000000
|
||||
0:8 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
|
||||
0:5 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
|
||||
0:5 Function Parameters:
|
||||
0:5 'inFloat1' (in 1-component vector of float)
|
||||
0:5 'inScalar' (in float)
|
||||
@ -46,7 +46,7 @@ gl_FragCoord origin is upper left
|
||||
0:2 'scalar' (global float)
|
||||
0:2 Constant:
|
||||
0:2 2.000000
|
||||
0:8 Function Definition: ShaderFunction(vf1;f1; (global 1-component vector of float)
|
||||
0:5 Function Definition: ShaderFunction(vf1;f1; (temp 1-component vector of float)
|
||||
0:5 Function Parameters:
|
||||
0:5 'inFloat1' (in 1-component vector of float)
|
||||
0:5 'inScalar' (in float)
|
||||
@ -72,7 +72,6 @@ gl_FragCoord origin is upper left
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 11 "ShaderFunction(vf1;f1;"
|
||||
Name 9 "inFloat1"
|
||||
|
||||
@ -1,29 +1,23 @@
|
||||
hlsl.float4.frag
|
||||
WARNING: 0:5: 'register' : ignoring shader_profile
|
||||
WARNING: 0:6: 'register' : ignoring shader_profile
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:1 Sequence
|
||||
0:1 move second child to first child (temp 4-component vector of float)
|
||||
0:1 'AmbientColor' (global 4-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 0.500000
|
||||
0:? 0.000000
|
||||
0:? 1.000000
|
||||
0:12 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:9 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:9 Function Parameters:
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:10 Branch: Return with expression
|
||||
0:10 component-wise multiply (temp 4-component vector of float)
|
||||
0:10 'input' (in 4-component vector of float)
|
||||
0:10 'AmbientColor' (global 4-component vector of float)
|
||||
0:10 AmbientColor: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'AmbientColor' (global 4-component vector of float)
|
||||
0:? 'ff1' (global bool Face)
|
||||
0:? 'ff2' (global 4-component vector of float)
|
||||
0:? 'ff3' (global 4-component vector of float)
|
||||
0:? 'ff4' (global 4-component vector of float FragCoord)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -32,76 +26,69 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:1 Sequence
|
||||
0:1 move second child to first child (temp 4-component vector of float)
|
||||
0:1 'AmbientColor' (global 4-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 1.000000
|
||||
0:? 0.500000
|
||||
0:? 0.000000
|
||||
0:? 1.000000
|
||||
0:12 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:9 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:9 Function Parameters:
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:10 Branch: Return with expression
|
||||
0:10 component-wise multiply (temp 4-component vector of float)
|
||||
0:10 'input' (in 4-component vector of float)
|
||||
0:10 'AmbientColor' (global 4-component vector of float)
|
||||
0:10 AmbientColor: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
|
||||
0:10 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'AmbientColor' (global 4-component vector of float)
|
||||
0:? 'ff1' (global bool Face)
|
||||
0:? 'ff2' (global 4-component vector of float)
|
||||
0:? 'ff3' (global 4-component vector of float)
|
||||
0:? 'ff4' (global 4-component vector of float FragCoord)
|
||||
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 30
|
||||
// Id's are bound by 26
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 11 "ShaderFunction(vf4;"
|
||||
Name 10 "input"
|
||||
Name 14 "AmbientColor"
|
||||
Name 26 "ff1"
|
||||
Name 27 "ff2"
|
||||
Name 28 "ff3"
|
||||
Name 29 "ff4"
|
||||
Decorate 26(ff1) BuiltIn FrontFacing
|
||||
Decorate 29(ff4) BuiltIn FragCoord
|
||||
Name 15 "$Global"
|
||||
MemberName 15($Global) 0 "AmbientColor"
|
||||
MemberName 15($Global) 1 "ff1"
|
||||
MemberName 15($Global) 2 "ff2"
|
||||
MemberName 15($Global) 3 "ff3"
|
||||
MemberName 15($Global) 4 "ff4"
|
||||
Name 17 ""
|
||||
MemberDecorate 15($Global) 0 Offset 0
|
||||
MemberDecorate 15($Global) 1 Offset 16
|
||||
MemberDecorate 15($Global) 1 BuiltIn FrontFacing
|
||||
MemberDecorate 15($Global) 2 Offset 20
|
||||
MemberDecorate 15($Global) 3 Offset 32
|
||||
MemberDecorate 15($Global) 4 Offset 48
|
||||
Decorate 15($Global) Block
|
||||
Decorate 17 DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
9: TypeFunction 7(fvec4) 8(ptr)
|
||||
13: TypePointer Private 7(fvec4)
|
||||
14(AmbientColor): 13(ptr) Variable Private
|
||||
15: 6(float) Constant 1065353216
|
||||
16: 6(float) Constant 1056964608
|
||||
17: 6(float) Constant 0
|
||||
18: 7(fvec4) ConstantComposite 15 16 17 15
|
||||
24: TypeBool
|
||||
25: TypePointer Private 24(bool)
|
||||
26(ff1): 25(ptr) Variable Private
|
||||
27(ff2): 13(ptr) Variable Private
|
||||
28(ff3): 13(ptr) Variable Private
|
||||
29(ff4): 13(ptr) Variable Private
|
||||
14: TypeInt 32 0
|
||||
15($Global): TypeStruct 7(fvec4) 14(int) 6(float) 7(fvec4) 7(fvec4)
|
||||
16: TypePointer Uniform 15($Global)
|
||||
17: 16(ptr) Variable Uniform
|
||||
18: TypeInt 32 1
|
||||
19: 18(int) Constant 0
|
||||
20: TypePointer Uniform 7(fvec4)
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
Store 14(AmbientColor) 18
|
||||
FunctionEnd
|
||||
11(ShaderFunction(vf4;): 7(fvec4) Function None 9
|
||||
10(input): 8(ptr) FunctionParameter
|
||||
12: Label
|
||||
19: 7(fvec4) Load 10(input)
|
||||
20: 7(fvec4) Load 14(AmbientColor)
|
||||
21: 7(fvec4) FMul 19 20
|
||||
ReturnValue 21
|
||||
13: 7(fvec4) Load 10(input)
|
||||
21: 20(ptr) AccessChain 17 19
|
||||
22: 7(fvec4) Load 21
|
||||
23: 7(fvec4) FMul 13 22
|
||||
ReturnValue 23
|
||||
FunctionEnd
|
||||
|
||||
@ -2,9 +2,9 @@ hlsl.forLoop.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:? Sequence
|
||||
0:3 Loop with condition tested first
|
||||
@ -12,7 +12,7 @@ gl_FragCoord origin is upper left
|
||||
0:3 No loop body
|
||||
0:4 Sequence
|
||||
0:4 Pre-Increment (temp 4-component vector of float)
|
||||
0:4 'input' (in 4-component vector of float)
|
||||
0:4 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:4 Loop with condition tested first
|
||||
0:4 No loop condition
|
||||
0:4 No loop body
|
||||
@ -20,36 +20,42 @@ gl_FragCoord origin is upper left
|
||||
0:5 Loop with condition tested first
|
||||
0:5 Loop Condition
|
||||
0:5 Compare Not Equal (temp bool)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 No loop body
|
||||
0:? Sequence
|
||||
0:6 Loop with condition tested first
|
||||
0:6 Loop Condition
|
||||
0:6 Compare Not Equal (temp bool)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 Loop Body
|
||||
0:? Sequence
|
||||
0:6 Branch: Return with expression
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:6 Negate value (temp 4-component vector of float)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 Branch: Return
|
||||
0:7 Sequence
|
||||
0:7 Pre-Decrement (temp 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Loop with condition tested first
|
||||
0:7 Loop Condition
|
||||
0:7 Compare Not Equal (temp bool)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Loop Body
|
||||
0:? Sequence
|
||||
0:7 Branch: Return with expression
|
||||
0:7 Sequence
|
||||
0:7 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 Negate value (temp 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Branch: Return
|
||||
0:7 Loop Terminal Expression
|
||||
0:7 add second child into first child (temp 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Constant:
|
||||
0:7 2.000000
|
||||
0:? Sequence
|
||||
@ -60,7 +66,7 @@ gl_FragCoord origin is upper left
|
||||
0:8 Condition
|
||||
0:8 Compare Greater Than (temp bool)
|
||||
0:8 direct index (temp float)
|
||||
0:8 'input' (in 4-component vector of float)
|
||||
0:8 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 0 (const int)
|
||||
0:8 Constant:
|
||||
@ -75,7 +81,7 @@ gl_FragCoord origin is upper left
|
||||
0:9 Condition
|
||||
0:9 Compare Greater Than (temp bool)
|
||||
0:9 direct index (temp float)
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:9 Constant:
|
||||
@ -108,6 +114,8 @@ gl_FragCoord origin is upper left
|
||||
0:12 Pre-Decrement (temp float)
|
||||
0:12 'ii' (temp float)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -116,9 +124,9 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:14 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:? Sequence
|
||||
0:3 Loop with condition tested first
|
||||
@ -126,7 +134,7 @@ gl_FragCoord origin is upper left
|
||||
0:3 No loop body
|
||||
0:4 Sequence
|
||||
0:4 Pre-Increment (temp 4-component vector of float)
|
||||
0:4 'input' (in 4-component vector of float)
|
||||
0:4 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:4 Loop with condition tested first
|
||||
0:4 No loop condition
|
||||
0:4 No loop body
|
||||
@ -134,36 +142,42 @@ gl_FragCoord origin is upper left
|
||||
0:5 Loop with condition tested first
|
||||
0:5 Loop Condition
|
||||
0:5 Compare Not Equal (temp bool)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:5 No loop body
|
||||
0:? Sequence
|
||||
0:6 Loop with condition tested first
|
||||
0:6 Loop Condition
|
||||
0:6 Compare Not Equal (temp bool)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 Loop Body
|
||||
0:? Sequence
|
||||
0:6 Branch: Return with expression
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:6 Negate value (temp 4-component vector of float)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 Branch: Return
|
||||
0:7 Sequence
|
||||
0:7 Pre-Decrement (temp 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Loop with condition tested first
|
||||
0:7 Loop Condition
|
||||
0:7 Compare Not Equal (temp bool)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Loop Body
|
||||
0:? Sequence
|
||||
0:7 Branch: Return with expression
|
||||
0:7 Sequence
|
||||
0:7 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 Negate value (temp 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Branch: Return
|
||||
0:7 Loop Terminal Expression
|
||||
0:7 add second child into first child (temp 4-component vector of float)
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Constant:
|
||||
0:7 2.000000
|
||||
0:? Sequence
|
||||
@ -174,7 +188,7 @@ gl_FragCoord origin is upper left
|
||||
0:8 Condition
|
||||
0:8 Compare Greater Than (temp bool)
|
||||
0:8 direct index (temp float)
|
||||
0:8 'input' (in 4-component vector of float)
|
||||
0:8 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:8 Constant:
|
||||
0:8 0 (const int)
|
||||
0:8 Constant:
|
||||
@ -189,7 +203,7 @@ gl_FragCoord origin is upper left
|
||||
0:9 Condition
|
||||
0:9 Compare Greater Than (temp bool)
|
||||
0:9 direct index (temp float)
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:9 Constant:
|
||||
@ -222,21 +236,25 @@ gl_FragCoord origin is upper left
|
||||
0:12 Pre-Decrement (temp float)
|
||||
0:12 'ii' (temp float)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 112
|
||||
// Id's are bound by 114
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 13
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 13 43
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 13 "input"
|
||||
Name 89 "ii"
|
||||
Name 109 "ii"
|
||||
Name 43 "@entryPointOutput"
|
||||
Name 91 "ii"
|
||||
Name 111 "ii"
|
||||
Decorate 13(input) Location 0
|
||||
Decorate 43(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
10: TypeFloat 32
|
||||
@ -246,21 +264,23 @@ gl_FragCoord origin is upper left
|
||||
15: 10(float) Constant 1065353216
|
||||
29: TypeBool
|
||||
30: TypeVector 29(bool) 4
|
||||
60: 10(float) Constant 1073741824
|
||||
68: TypeInt 32 0
|
||||
69: 68(int) Constant 0
|
||||
70: TypePointer Input 10(float)
|
||||
87: TypeInt 32 1
|
||||
88: TypePointer Function 87(int)
|
||||
90: 87(int) Constant 4294967295
|
||||
97: 87(int) Constant 3
|
||||
100: 87(int) Constant 2
|
||||
106: 87(int) Constant 1
|
||||
108: TypePointer Function 10(float)
|
||||
42: TypePointer Output 11(fvec4)
|
||||
43(@entryPointOutput): 42(ptr) Variable Output
|
||||
62: 10(float) Constant 1073741824
|
||||
70: TypeInt 32 0
|
||||
71: 70(int) Constant 0
|
||||
72: TypePointer Input 10(float)
|
||||
89: TypeInt 32 1
|
||||
90: TypePointer Function 89(int)
|
||||
92: 89(int) Constant 4294967295
|
||||
99: 89(int) Constant 3
|
||||
102: 89(int) Constant 2
|
||||
108: 89(int) Constant 1
|
||||
110: TypePointer Function 10(float)
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
89(ii): 88(ptr) Variable Function
|
||||
109(ii): 108(ptr) Variable Function
|
||||
91(ii): 90(ptr) Variable Function
|
||||
111(ii): 110(ptr) Variable Function
|
||||
Branch 6
|
||||
6: Label
|
||||
LoopMerge 8 9 None
|
||||
@ -309,97 +329,99 @@ gl_FragCoord origin is upper left
|
||||
41: 29(bool) Any 40
|
||||
BranchConditional 41 34 35
|
||||
34: Label
|
||||
42: 11(fvec4) Load 13(input)
|
||||
43: 11(fvec4) FNegate 42
|
||||
ReturnValue 43
|
||||
44: 11(fvec4) Load 13(input)
|
||||
45: 11(fvec4) FNegate 44
|
||||
Store 43(@entryPointOutput) 45
|
||||
Return
|
||||
36: Label
|
||||
Branch 33
|
||||
35: Label
|
||||
45: 11(fvec4) Load 13(input)
|
||||
46: 11(fvec4) CompositeConstruct 15 15 15 15
|
||||
47: 11(fvec4) FSub 45 46
|
||||
Store 13(input) 47
|
||||
Branch 48
|
||||
48: Label
|
||||
LoopMerge 50 51 None
|
||||
Branch 52
|
||||
52: Label
|
||||
53: 11(fvec4) Load 13(input)
|
||||
54: 11(fvec4) Load 13(input)
|
||||
55: 30(bvec4) FOrdNotEqual 53 54
|
||||
56: 29(bool) Any 55
|
||||
BranchConditional 56 49 50
|
||||
49: Label
|
||||
57: 11(fvec4) Load 13(input)
|
||||
58: 11(fvec4) FNegate 57
|
||||
ReturnValue 58
|
||||
51: Label
|
||||
61: 11(fvec4) Load 13(input)
|
||||
62: 11(fvec4) CompositeConstruct 60 60 60 60
|
||||
63: 11(fvec4) FAdd 61 62
|
||||
Store 13(input) 63
|
||||
Branch 48
|
||||
47: 11(fvec4) Load 13(input)
|
||||
48: 11(fvec4) CompositeConstruct 15 15 15 15
|
||||
49: 11(fvec4) FSub 47 48
|
||||
Store 13(input) 49
|
||||
Branch 50
|
||||
50: Label
|
||||
Branch 64
|
||||
64: Label
|
||||
LoopMerge 66 67 None
|
||||
Branch 65
|
||||
65: Label
|
||||
71: 70(ptr) AccessChain 13(input) 69
|
||||
72: 10(float) Load 71
|
||||
73: 29(bool) FOrdGreaterThan 72 60
|
||||
SelectionMerge 75 None
|
||||
BranchConditional 73 74 75
|
||||
74: Label
|
||||
LoopMerge 52 53 None
|
||||
Branch 54
|
||||
54: Label
|
||||
55: 11(fvec4) Load 13(input)
|
||||
56: 11(fvec4) Load 13(input)
|
||||
57: 30(bvec4) FOrdNotEqual 55 56
|
||||
58: 29(bool) Any 57
|
||||
BranchConditional 58 51 52
|
||||
51: Label
|
||||
59: 11(fvec4) Load 13(input)
|
||||
60: 11(fvec4) FNegate 59
|
||||
Store 43(@entryPointOutput) 60
|
||||
Return
|
||||
53: Label
|
||||
63: 11(fvec4) Load 13(input)
|
||||
64: 11(fvec4) CompositeConstruct 62 62 62 62
|
||||
65: 11(fvec4) FAdd 63 64
|
||||
Store 13(input) 65
|
||||
Branch 50
|
||||
52: Label
|
||||
Branch 66
|
||||
75: Label
|
||||
66: Label
|
||||
LoopMerge 68 69 None
|
||||
Branch 67
|
||||
67: Label
|
||||
Branch 64
|
||||
66: Label
|
||||
Branch 77
|
||||
73: 72(ptr) AccessChain 13(input) 71
|
||||
74: 10(float) Load 73
|
||||
75: 29(bool) FOrdGreaterThan 74 62
|
||||
SelectionMerge 77 None
|
||||
BranchConditional 75 76 77
|
||||
76: Label
|
||||
Branch 68
|
||||
77: Label
|
||||
LoopMerge 79 80 None
|
||||
Branch 78
|
||||
78: Label
|
||||
81: 70(ptr) AccessChain 13(input) 69
|
||||
82: 10(float) Load 81
|
||||
83: 29(bool) FOrdGreaterThan 82 60
|
||||
SelectionMerge 85 None
|
||||
BranchConditional 83 84 85
|
||||
84: Label
|
||||
Branch 80
|
||||
85: Label
|
||||
Branch 69
|
||||
69: Label
|
||||
Branch 66
|
||||
68: Label
|
||||
Branch 79
|
||||
79: Label
|
||||
LoopMerge 81 82 None
|
||||
Branch 80
|
||||
80: Label
|
||||
Branch 77
|
||||
79: Label
|
||||
Store 89(ii) 90
|
||||
Branch 91
|
||||
91: Label
|
||||
LoopMerge 93 94 None
|
||||
Branch 95
|
||||
95: Label
|
||||
96: 87(int) Load 89(ii)
|
||||
98: 29(bool) SLessThan 96 97
|
||||
BranchConditional 98 92 93
|
||||
92: Label
|
||||
99: 87(int) Load 89(ii)
|
||||
101: 29(bool) IEqual 99 100
|
||||
SelectionMerge 103 None
|
||||
BranchConditional 101 102 103
|
||||
102: Label
|
||||
Branch 94
|
||||
103: Label
|
||||
Branch 94
|
||||
94: Label
|
||||
105: 87(int) Load 89(ii)
|
||||
107: 87(int) IAdd 105 106
|
||||
Store 89(ii) 107
|
||||
Branch 91
|
||||
83: 72(ptr) AccessChain 13(input) 71
|
||||
84: 10(float) Load 83
|
||||
85: 29(bool) FOrdGreaterThan 84 62
|
||||
SelectionMerge 87 None
|
||||
BranchConditional 85 86 87
|
||||
86: Label
|
||||
Branch 82
|
||||
87: Label
|
||||
Branch 82
|
||||
82: Label
|
||||
Branch 79
|
||||
81: Label
|
||||
Store 91(ii) 92
|
||||
Branch 93
|
||||
93: Label
|
||||
110: 10(float) Load 109(ii)
|
||||
111: 10(float) FSub 110 15
|
||||
Store 109(ii) 111
|
||||
LoopMerge 95 96 None
|
||||
Branch 97
|
||||
97: Label
|
||||
98: 89(int) Load 91(ii)
|
||||
100: 29(bool) SLessThan 98 99
|
||||
BranchConditional 100 94 95
|
||||
94: Label
|
||||
101: 89(int) Load 91(ii)
|
||||
103: 29(bool) IEqual 101 102
|
||||
SelectionMerge 105 None
|
||||
BranchConditional 103 104 105
|
||||
104: Label
|
||||
Branch 96
|
||||
105: Label
|
||||
Branch 96
|
||||
96: Label
|
||||
107: 89(int) Load 91(ii)
|
||||
109: 89(int) IAdd 107 108
|
||||
Store 91(ii) 109
|
||||
Branch 93
|
||||
95: Label
|
||||
112: 10(float) Load 111(ii)
|
||||
113: 10(float) FSub 112 15
|
||||
Store 111(ii) 113
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
426
Test/baseResults/hlsl.gather.array.dx10.frag.out
Normal file
426
Test/baseResults/hlsl.gather.array.dx10.frag.out
Normal file
@ -0,0 +1,426 @@
|
||||
hlsl.gather.array.dx10.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child (temp 4-component vector of float)
|
||||
0:29 'txval20' (temp 4-component vector of float)
|
||||
0:29 textureGather (global 4-component vector of float)
|
||||
0:29 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:29 'g_tTex2df4a' (uniform texture2DArray)
|
||||
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (temp 4-component vector of int)
|
||||
0:30 'txval21' (temp 4-component vector of int)
|
||||
0:30 textureGather (global 4-component vector of int)
|
||||
0:30 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:30 'g_tTex2di4a' (uniform itexture2DArray)
|
||||
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:31 Sequence
|
||||
0:31 move second child to first child (temp 4-component vector of uint)
|
||||
0:31 'txval22' (temp 4-component vector of uint)
|
||||
0:31 textureGather (global 4-component vector of uint)
|
||||
0:31 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:31 'g_tTex2du4a' (uniform utexture2DArray)
|
||||
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? 0.700000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of float)
|
||||
0:35 'txval40' (temp 4-component vector of float)
|
||||
0:35 textureGather (global 4-component vector of float)
|
||||
0:35 Construct combined texture-sampler (temp samplerCubeArray)
|
||||
0:35 'g_tTexcdf4a' (uniform textureCubeArray)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp 4-component vector of int)
|
||||
0:36 'txval41' (temp 4-component vector of int)
|
||||
0:36 textureGather (global 4-component vector of int)
|
||||
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
|
||||
0:36 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? 0.700000
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp 4-component vector of uint)
|
||||
0:37 'txval42' (temp 4-component vector of uint)
|
||||
0:37 textureGather (global 4-component vector of uint)
|
||||
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
|
||||
0:37 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:? 1.000000
|
||||
0:39 move second child to first child (temp 4-component vector of float)
|
||||
0:39 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:39 Constant:
|
||||
0:39 1.000000
|
||||
0:39 1.000000
|
||||
0:39 1.000000
|
||||
0:39 1.000000
|
||||
0:40 move second child to first child (temp float)
|
||||
0:40 Depth: direct index for structure (temp float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 1 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:42 Sequence
|
||||
0:42 Sequence
|
||||
0:42 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:42 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:42 Constant:
|
||||
0:42 0 (const int)
|
||||
0:42 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:42 Depth: direct index for structure (temp float)
|
||||
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:42 Constant:
|
||||
0:42 1 (const int)
|
||||
0:42 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) 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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:24 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:29 Sequence
|
||||
0:29 move second child to first child (temp 4-component vector of float)
|
||||
0:29 'txval20' (temp 4-component vector of float)
|
||||
0:29 textureGather (global 4-component vector of float)
|
||||
0:29 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:29 'g_tTex2df4a' (uniform texture2DArray)
|
||||
0:29 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (temp 4-component vector of int)
|
||||
0:30 'txval21' (temp 4-component vector of int)
|
||||
0:30 textureGather (global 4-component vector of int)
|
||||
0:30 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:30 'g_tTex2di4a' (uniform itexture2DArray)
|
||||
0:30 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:31 Sequence
|
||||
0:31 move second child to first child (temp 4-component vector of uint)
|
||||
0:31 'txval22' (temp 4-component vector of uint)
|
||||
0:31 textureGather (global 4-component vector of uint)
|
||||
0:31 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:31 'g_tTex2du4a' (uniform utexture2DArray)
|
||||
0:31 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? 0.700000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of float)
|
||||
0:35 'txval40' (temp 4-component vector of float)
|
||||
0:35 textureGather (global 4-component vector of float)
|
||||
0:35 Construct combined texture-sampler (temp samplerCubeArray)
|
||||
0:35 'g_tTexcdf4a' (uniform textureCubeArray)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp 4-component vector of int)
|
||||
0:36 'txval41' (temp 4-component vector of int)
|
||||
0:36 textureGather (global 4-component vector of int)
|
||||
0:36 Construct combined texture-sampler (temp isamplerCubeArray)
|
||||
0:36 'g_tTexcdi4a' (uniform itextureCubeArray)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? 0.700000
|
||||
0:37 Sequence
|
||||
0:37 move second child to first child (temp 4-component vector of uint)
|
||||
0:37 'txval42' (temp 4-component vector of uint)
|
||||
0:37 textureGather (global 4-component vector of uint)
|
||||
0:37 Construct combined texture-sampler (temp usamplerCubeArray)
|
||||
0:37 'g_tTexcdu4a' (uniform utextureCubeArray)
|
||||
0:37 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:? 1.000000
|
||||
0:39 move second child to first child (temp 4-component vector of float)
|
||||
0:39 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:39 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:39 Constant:
|
||||
0:39 1.000000
|
||||
0:39 1.000000
|
||||
0:39 1.000000
|
||||
0:39 1.000000
|
||||
0:40 move second child to first child (temp float)
|
||||
0:40 Depth: direct index for structure (temp float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 1 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:42 Sequence
|
||||
0:42 Sequence
|
||||
0:42 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:42 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:42 Constant:
|
||||
0:42 0 (const int)
|
||||
0:42 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:42 Depth: direct index for structure (temp float)
|
||||
0:42 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:42 Constant:
|
||||
0:42 1 (const int)
|
||||
0:42 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) 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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 117
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
Capability SampledCubeArray
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 99 103
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 9 "txval20"
|
||||
Name 12 "g_tTex2df4a"
|
||||
Name 16 "g_sSamp"
|
||||
Name 30 "txval21"
|
||||
Name 33 "g_tTex2di4a"
|
||||
Name 45 "txval22"
|
||||
Name 48 "g_tTex2du4a"
|
||||
Name 57 "txval40"
|
||||
Name 60 "g_tTexcdf4a"
|
||||
Name 67 "txval41"
|
||||
Name 70 "g_tTexcdi4a"
|
||||
Name 77 "txval42"
|
||||
Name 80 "g_tTexcdu4a"
|
||||
Name 90 "PS_OUTPUT"
|
||||
MemberName 90(PS_OUTPUT) 0 "Color"
|
||||
MemberName 90(PS_OUTPUT) 1 "Depth"
|
||||
Name 92 "psout"
|
||||
Name 99 "Color"
|
||||
Name 103 "Depth"
|
||||
Name 109 "g_tTex1df4a"
|
||||
Name 110 "g_tTex1df4"
|
||||
Name 113 "g_tTex1di4a"
|
||||
Name 116 "g_tTex1du4a"
|
||||
Decorate 12(g_tTex2df4a) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) Binding 0
|
||||
Decorate 33(g_tTex2di4a) DescriptorSet 0
|
||||
Decorate 48(g_tTex2du4a) DescriptorSet 0
|
||||
Decorate 60(g_tTexcdf4a) DescriptorSet 0
|
||||
Decorate 70(g_tTexcdi4a) DescriptorSet 0
|
||||
Decorate 80(g_tTexcdu4a) DescriptorSet 0
|
||||
Decorate 99(Color) Location 0
|
||||
Decorate 103(Depth) BuiltIn FragDepth
|
||||
Decorate 109(g_tTex1df4a) DescriptorSet 0
|
||||
Decorate 109(g_tTex1df4a) Binding 1
|
||||
Decorate 110(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 110(g_tTex1df4) Binding 0
|
||||
Decorate 113(g_tTex1di4a) DescriptorSet 0
|
||||
Decorate 116(g_tTex1du4a) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
10: TypeImage 6(float) 2D array sampled format:Unknown
|
||||
11: TypePointer UniformConstant 10
|
||||
12(g_tTex2df4a): 11(ptr) Variable UniformConstant
|
||||
14: TypeSampler
|
||||
15: TypePointer UniformConstant 14
|
||||
16(g_sSamp): 15(ptr) Variable UniformConstant
|
||||
18: TypeSampledImage 10
|
||||
20: TypeVector 6(float) 3
|
||||
21: 6(float) Constant 1036831949
|
||||
22: 6(float) Constant 1045220557
|
||||
23: 6(float) Constant 1050253722
|
||||
24: 20(fvec3) ConstantComposite 21 22 23
|
||||
25: TypeInt 32 1
|
||||
26: 25(int) Constant 0
|
||||
28: TypeVector 25(int) 4
|
||||
29: TypePointer Function 28(ivec4)
|
||||
31: TypeImage 25(int) 2D array sampled format:Unknown
|
||||
32: TypePointer UniformConstant 31
|
||||
33(g_tTex2di4a): 32(ptr) Variable UniformConstant
|
||||
36: TypeSampledImage 31
|
||||
38: 6(float) Constant 1053609165
|
||||
39: 6(float) Constant 1056964608
|
||||
40: 20(fvec3) ConstantComposite 23 38 39
|
||||
42: TypeInt 32 0
|
||||
43: TypeVector 42(int) 4
|
||||
44: TypePointer Function 43(ivec4)
|
||||
46: TypeImage 42(int) 2D array sampled format:Unknown
|
||||
47: TypePointer UniformConstant 46
|
||||
48(g_tTex2du4a): 47(ptr) Variable UniformConstant
|
||||
51: TypeSampledImage 46
|
||||
53: 6(float) Constant 1058642330
|
||||
54: 6(float) Constant 1060320051
|
||||
55: 20(fvec3) ConstantComposite 39 53 54
|
||||
58: TypeImage 6(float) Cube array sampled format:Unknown
|
||||
59: TypePointer UniformConstant 58
|
||||
60(g_tTexcdf4a): 59(ptr) Variable UniformConstant
|
||||
63: TypeSampledImage 58
|
||||
65: 7(fvec4) ConstantComposite 21 22 23 38
|
||||
68: TypeImage 25(int) Cube array sampled format:Unknown
|
||||
69: TypePointer UniformConstant 68
|
||||
70(g_tTexcdi4a): 69(ptr) Variable UniformConstant
|
||||
73: TypeSampledImage 68
|
||||
75: 7(fvec4) ConstantComposite 38 39 53 54
|
||||
78: TypeImage 42(int) Cube array sampled format:Unknown
|
||||
79: TypePointer UniformConstant 78
|
||||
80(g_tTexcdu4a): 79(ptr) Variable UniformConstant
|
||||
83: TypeSampledImage 78
|
||||
85: 6(float) Constant 1061997773
|
||||
86: 6(float) Constant 1063675494
|
||||
87: 6(float) Constant 1065353216
|
||||
88: 7(fvec4) ConstantComposite 54 85 86 87
|
||||
90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
|
||||
91: TypePointer Function 90(PS_OUTPUT)
|
||||
93: 7(fvec4) ConstantComposite 87 87 87 87
|
||||
95: 25(int) Constant 1
|
||||
96: TypePointer Function 6(float)
|
||||
98: TypePointer Output 7(fvec4)
|
||||
99(Color): 98(ptr) Variable Output
|
||||
102: TypePointer Output 6(float)
|
||||
103(Depth): 102(ptr) Variable Output
|
||||
107: TypeImage 6(float) 1D array sampled format:Unknown
|
||||
108: TypePointer UniformConstant 107
|
||||
109(g_tTex1df4a): 108(ptr) Variable UniformConstant
|
||||
110(g_tTex1df4): 108(ptr) Variable UniformConstant
|
||||
111: TypeImage 25(int) 1D array sampled format:Unknown
|
||||
112: TypePointer UniformConstant 111
|
||||
113(g_tTex1di4a): 112(ptr) Variable UniformConstant
|
||||
114: TypeImage 42(int) 1D array sampled format:Unknown
|
||||
115: TypePointer UniformConstant 114
|
||||
116(g_tTex1du4a): 115(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(txval20): 8(ptr) Variable Function
|
||||
30(txval21): 29(ptr) Variable Function
|
||||
45(txval22): 44(ptr) Variable Function
|
||||
57(txval40): 8(ptr) Variable Function
|
||||
67(txval41): 29(ptr) Variable Function
|
||||
77(txval42): 44(ptr) Variable Function
|
||||
92(psout): 91(ptr) Variable Function
|
||||
13: 10 Load 12(g_tTex2df4a)
|
||||
17: 14 Load 16(g_sSamp)
|
||||
19: 18 SampledImage 13 17
|
||||
27: 7(fvec4) ImageGather 19 24 26
|
||||
Store 9(txval20) 27
|
||||
34: 31 Load 33(g_tTex2di4a)
|
||||
35: 14 Load 16(g_sSamp)
|
||||
37: 36 SampledImage 34 35
|
||||
41: 28(ivec4) ImageGather 37 40 26
|
||||
Store 30(txval21) 41
|
||||
49: 46 Load 48(g_tTex2du4a)
|
||||
50: 14 Load 16(g_sSamp)
|
||||
52: 51 SampledImage 49 50
|
||||
56: 43(ivec4) ImageGather 52 55 26
|
||||
Store 45(txval22) 56
|
||||
61: 58 Load 60(g_tTexcdf4a)
|
||||
62: 14 Load 16(g_sSamp)
|
||||
64: 63 SampledImage 61 62
|
||||
66: 7(fvec4) ImageGather 64 65 26
|
||||
Store 57(txval40) 66
|
||||
71: 68 Load 70(g_tTexcdi4a)
|
||||
72: 14 Load 16(g_sSamp)
|
||||
74: 73 SampledImage 71 72
|
||||
76: 28(ivec4) ImageGather 74 75 26
|
||||
Store 67(txval41) 76
|
||||
81: 78 Load 80(g_tTexcdu4a)
|
||||
82: 14 Load 16(g_sSamp)
|
||||
84: 83 SampledImage 81 82
|
||||
89: 43(ivec4) ImageGather 84 88 26
|
||||
Store 77(txval42) 89
|
||||
94: 8(ptr) AccessChain 92(psout) 26
|
||||
Store 94 93
|
||||
97: 96(ptr) AccessChain 92(psout) 95
|
||||
Store 97 87
|
||||
100: 8(ptr) AccessChain 92(psout) 26
|
||||
101: 7(fvec4) Load 100
|
||||
Store 99(Color) 101
|
||||
104: 96(ptr) AccessChain 92(psout) 95
|
||||
105: 6(float) Load 104
|
||||
Store 103(Depth) 105
|
||||
Return
|
||||
FunctionEnd
|
||||
440
Test/baseResults/hlsl.gather.basic.dx10.frag.out
Normal file
440
Test/baseResults/hlsl.gather.basic.dx10.frag.out
Normal file
@ -0,0 +1,440 @@
|
||||
hlsl.gather.basic.dx10.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:29 Function Parameters:
|
||||
0:? Sequence
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp 4-component vector of float)
|
||||
0:34 'txval20' (temp 4-component vector of float)
|
||||
0:34 textureGather (global 4-component vector of float)
|
||||
0:34 Construct combined texture-sampler (temp sampler2D)
|
||||
0:34 'g_tTex2df4' (uniform texture2D)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of int)
|
||||
0:35 'txval21' (temp 4-component vector of int)
|
||||
0:35 textureGather (global 4-component vector of int)
|
||||
0:35 Construct combined texture-sampler (temp isampler2D)
|
||||
0:35 'g_tTex2di4' (uniform itexture2D)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp 4-component vector of uint)
|
||||
0:36 'txval22' (temp 4-component vector of uint)
|
||||
0:36 textureGather (global 4-component vector of uint)
|
||||
0:36 Construct combined texture-sampler (temp usampler2D)
|
||||
0:36 'g_tTex2du4' (uniform utexture2D)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 'txval40' (temp 4-component vector of float)
|
||||
0:40 textureGather (global 4-component vector of float)
|
||||
0:40 Construct combined texture-sampler (temp samplerCube)
|
||||
0:40 'g_tTexcdf4' (uniform textureCube)
|
||||
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:41 Sequence
|
||||
0:41 move second child to first child (temp 4-component vector of int)
|
||||
0:41 'txval41' (temp 4-component vector of int)
|
||||
0:41 textureGather (global 4-component vector of int)
|
||||
0:41 Construct combined texture-sampler (temp isamplerCube)
|
||||
0:41 'g_tTexcdi4' (uniform itextureCube)
|
||||
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:42 Sequence
|
||||
0:42 move second child to first child (temp 4-component vector of uint)
|
||||
0:42 'txval42' (temp 4-component vector of uint)
|
||||
0:42 textureGather (global 4-component vector of uint)
|
||||
0:42 Construct combined texture-sampler (temp usamplerCube)
|
||||
0:42 'g_tTexcdu4' (uniform utextureCube)
|
||||
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:44 move second child to first child (temp 4-component vector of float)
|
||||
0:44 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:44 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:44 Constant:
|
||||
0:44 0 (const int)
|
||||
0:44 Constant:
|
||||
0:44 1.000000
|
||||
0:44 1.000000
|
||||
0:44 1.000000
|
||||
0:44 1.000000
|
||||
0:45 move second child to first child (temp float)
|
||||
0:45 Depth: direct index for structure (temp float)
|
||||
0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:45 Constant:
|
||||
0:45 1 (const int)
|
||||
0:45 Constant:
|
||||
0:45 1.000000
|
||||
0:47 Sequence
|
||||
0:47 Sequence
|
||||
0:47 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:47 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:47 Constant:
|
||||
0:47 0 (const int)
|
||||
0:47 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:47 Depth: direct index for structure (temp float)
|
||||
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:47 Constant:
|
||||
0:47 1 (const int)
|
||||
0:47 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_sSamp2d' (uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
|
||||
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_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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:29 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:29 Function Parameters:
|
||||
0:? Sequence
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp 4-component vector of float)
|
||||
0:34 'txval20' (temp 4-component vector of float)
|
||||
0:34 textureGather (global 4-component vector of float)
|
||||
0:34 Construct combined texture-sampler (temp sampler2D)
|
||||
0:34 'g_tTex2df4' (uniform texture2D)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of int)
|
||||
0:35 'txval21' (temp 4-component vector of int)
|
||||
0:35 textureGather (global 4-component vector of int)
|
||||
0:35 Construct combined texture-sampler (temp isampler2D)
|
||||
0:35 'g_tTex2di4' (uniform itexture2D)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:36 Sequence
|
||||
0:36 move second child to first child (temp 4-component vector of uint)
|
||||
0:36 'txval22' (temp 4-component vector of uint)
|
||||
0:36 textureGather (global 4-component vector of uint)
|
||||
0:36 Construct combined texture-sampler (temp usampler2D)
|
||||
0:36 'g_tTex2du4' (uniform utexture2D)
|
||||
0:36 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 'txval40' (temp 4-component vector of float)
|
||||
0:40 textureGather (global 4-component vector of float)
|
||||
0:40 Construct combined texture-sampler (temp samplerCube)
|
||||
0:40 'g_tTexcdf4' (uniform textureCube)
|
||||
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:41 Sequence
|
||||
0:41 move second child to first child (temp 4-component vector of int)
|
||||
0:41 'txval41' (temp 4-component vector of int)
|
||||
0:41 textureGather (global 4-component vector of int)
|
||||
0:41 Construct combined texture-sampler (temp isamplerCube)
|
||||
0:41 'g_tTexcdi4' (uniform itextureCube)
|
||||
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:42 Sequence
|
||||
0:42 move second child to first child (temp 4-component vector of uint)
|
||||
0:42 'txval42' (temp 4-component vector of uint)
|
||||
0:42 textureGather (global 4-component vector of uint)
|
||||
0:42 Construct combined texture-sampler (temp usamplerCube)
|
||||
0:42 'g_tTexcdu4' (uniform utextureCube)
|
||||
0:42 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:44 move second child to first child (temp 4-component vector of float)
|
||||
0:44 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:44 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:44 Constant:
|
||||
0:44 0 (const int)
|
||||
0:44 Constant:
|
||||
0:44 1.000000
|
||||
0:44 1.000000
|
||||
0:44 1.000000
|
||||
0:44 1.000000
|
||||
0:45 move second child to first child (temp float)
|
||||
0:45 Depth: direct index for structure (temp float)
|
||||
0:45 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:45 Constant:
|
||||
0:45 1 (const int)
|
||||
0:45 Constant:
|
||||
0:45 1.000000
|
||||
0:47 Sequence
|
||||
0:47 Sequence
|
||||
0:47 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:47 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:47 Constant:
|
||||
0:47 0 (const int)
|
||||
0:47 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:47 Depth: direct index for structure (temp float)
|
||||
0:47 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:47 Constant:
|
||||
0:47 1 (const int)
|
||||
0:47 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_sSamp2d' (uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
|
||||
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_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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 128
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 100 104
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 9 "txval20"
|
||||
Name 12 "g_tTex2df4"
|
||||
Name 16 "g_sSamp"
|
||||
Name 29 "txval21"
|
||||
Name 32 "g_tTex2di4"
|
||||
Name 44 "txval22"
|
||||
Name 47 "g_tTex2du4"
|
||||
Name 56 "txval40"
|
||||
Name 59 "g_tTexcdf4"
|
||||
Name 67 "txval41"
|
||||
Name 70 "g_tTexcdi4"
|
||||
Name 77 "txval42"
|
||||
Name 80 "g_tTexcdu4"
|
||||
Name 90 "PS_OUTPUT"
|
||||
MemberName 90(PS_OUTPUT) 0 "Color"
|
||||
MemberName 90(PS_OUTPUT) 1 "Depth"
|
||||
Name 92 "psout"
|
||||
Name 100 "Color"
|
||||
Name 104 "Depth"
|
||||
Name 108 "g_sSamp2d"
|
||||
Name 111 "g_tTex1df4a"
|
||||
Name 112 "g_tTex1df4"
|
||||
Name 115 "g_tTex1di4"
|
||||
Name 118 "g_tTex1du4"
|
||||
Name 121 "g_tTex3df4"
|
||||
Name 124 "g_tTex3di4"
|
||||
Name 127 "g_tTex3du4"
|
||||
Decorate 12(g_tTex2df4) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) Binding 0
|
||||
Decorate 32(g_tTex2di4) DescriptorSet 0
|
||||
Decorate 47(g_tTex2du4) DescriptorSet 0
|
||||
Decorate 59(g_tTexcdf4) DescriptorSet 0
|
||||
Decorate 70(g_tTexcdi4) DescriptorSet 0
|
||||
Decorate 80(g_tTexcdu4) DescriptorSet 0
|
||||
Decorate 100(Color) Location 0
|
||||
Decorate 104(Depth) BuiltIn FragDepth
|
||||
Decorate 108(g_sSamp2d) DescriptorSet 0
|
||||
Decorate 111(g_tTex1df4a) DescriptorSet 0
|
||||
Decorate 111(g_tTex1df4a) Binding 1
|
||||
Decorate 112(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 112(g_tTex1df4) Binding 0
|
||||
Decorate 115(g_tTex1di4) DescriptorSet 0
|
||||
Decorate 118(g_tTex1du4) DescriptorSet 0
|
||||
Decorate 121(g_tTex3df4) DescriptorSet 0
|
||||
Decorate 124(g_tTex3di4) DescriptorSet 0
|
||||
Decorate 127(g_tTex3du4) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
10: TypeImage 6(float) 2D sampled format:Unknown
|
||||
11: TypePointer UniformConstant 10
|
||||
12(g_tTex2df4): 11(ptr) Variable UniformConstant
|
||||
14: TypeSampler
|
||||
15: TypePointer UniformConstant 14
|
||||
16(g_sSamp): 15(ptr) Variable UniformConstant
|
||||
18: TypeSampledImage 10
|
||||
20: TypeVector 6(float) 2
|
||||
21: 6(float) Constant 1036831949
|
||||
22: 6(float) Constant 1045220557
|
||||
23: 20(fvec2) ConstantComposite 21 22
|
||||
24: TypeInt 32 1
|
||||
25: 24(int) Constant 0
|
||||
27: TypeVector 24(int) 4
|
||||
28: TypePointer Function 27(ivec4)
|
||||
30: TypeImage 24(int) 2D sampled format:Unknown
|
||||
31: TypePointer UniformConstant 30
|
||||
32(g_tTex2di4): 31(ptr) Variable UniformConstant
|
||||
35: TypeSampledImage 30
|
||||
37: 6(float) Constant 1050253722
|
||||
38: 6(float) Constant 1053609165
|
||||
39: 20(fvec2) ConstantComposite 37 38
|
||||
41: TypeInt 32 0
|
||||
42: TypeVector 41(int) 4
|
||||
43: TypePointer Function 42(ivec4)
|
||||
45: TypeImage 41(int) 2D sampled format:Unknown
|
||||
46: TypePointer UniformConstant 45
|
||||
47(g_tTex2du4): 46(ptr) Variable UniformConstant
|
||||
50: TypeSampledImage 45
|
||||
52: 6(float) Constant 1056964608
|
||||
53: 6(float) Constant 1058642330
|
||||
54: 20(fvec2) ConstantComposite 52 53
|
||||
57: TypeImage 6(float) Cube sampled format:Unknown
|
||||
58: TypePointer UniformConstant 57
|
||||
59(g_tTexcdf4): 58(ptr) Variable UniformConstant
|
||||
62: TypeSampledImage 57
|
||||
64: TypeVector 6(float) 3
|
||||
65: 64(fvec3) ConstantComposite 21 22 37
|
||||
68: TypeImage 24(int) Cube sampled format:Unknown
|
||||
69: TypePointer UniformConstant 68
|
||||
70(g_tTexcdi4): 69(ptr) Variable UniformConstant
|
||||
73: TypeSampledImage 68
|
||||
75: 64(fvec3) ConstantComposite 38 52 53
|
||||
78: TypeImage 41(int) Cube sampled format:Unknown
|
||||
79: TypePointer UniformConstant 78
|
||||
80(g_tTexcdu4): 79(ptr) Variable UniformConstant
|
||||
83: TypeSampledImage 78
|
||||
85: 6(float) Constant 1060320051
|
||||
86: 6(float) Constant 1061997773
|
||||
87: 6(float) Constant 1063675494
|
||||
88: 64(fvec3) ConstantComposite 85 86 87
|
||||
90(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
|
||||
91: TypePointer Function 90(PS_OUTPUT)
|
||||
93: 6(float) Constant 1065353216
|
||||
94: 7(fvec4) ConstantComposite 93 93 93 93
|
||||
96: 24(int) Constant 1
|
||||
97: TypePointer Function 6(float)
|
||||
99: TypePointer Output 7(fvec4)
|
||||
100(Color): 99(ptr) Variable Output
|
||||
103: TypePointer Output 6(float)
|
||||
104(Depth): 103(ptr) Variable Output
|
||||
108(g_sSamp2d): 15(ptr) Variable UniformConstant
|
||||
109: TypeImage 6(float) 1D sampled format:Unknown
|
||||
110: TypePointer UniformConstant 109
|
||||
111(g_tTex1df4a): 110(ptr) Variable UniformConstant
|
||||
112(g_tTex1df4): 110(ptr) Variable UniformConstant
|
||||
113: TypeImage 24(int) 1D sampled format:Unknown
|
||||
114: TypePointer UniformConstant 113
|
||||
115(g_tTex1di4): 114(ptr) Variable UniformConstant
|
||||
116: TypeImage 41(int) 1D sampled format:Unknown
|
||||
117: TypePointer UniformConstant 116
|
||||
118(g_tTex1du4): 117(ptr) Variable UniformConstant
|
||||
119: TypeImage 6(float) 3D sampled format:Unknown
|
||||
120: TypePointer UniformConstant 119
|
||||
121(g_tTex3df4): 120(ptr) Variable UniformConstant
|
||||
122: TypeImage 24(int) 3D sampled format:Unknown
|
||||
123: TypePointer UniformConstant 122
|
||||
124(g_tTex3di4): 123(ptr) Variable UniformConstant
|
||||
125: TypeImage 41(int) 3D sampled format:Unknown
|
||||
126: TypePointer UniformConstant 125
|
||||
127(g_tTex3du4): 126(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(txval20): 8(ptr) Variable Function
|
||||
29(txval21): 28(ptr) Variable Function
|
||||
44(txval22): 43(ptr) Variable Function
|
||||
56(txval40): 8(ptr) Variable Function
|
||||
67(txval41): 28(ptr) Variable Function
|
||||
77(txval42): 43(ptr) Variable Function
|
||||
92(psout): 91(ptr) Variable Function
|
||||
13: 10 Load 12(g_tTex2df4)
|
||||
17: 14 Load 16(g_sSamp)
|
||||
19: 18 SampledImage 13 17
|
||||
26: 7(fvec4) ImageGather 19 23 25
|
||||
Store 9(txval20) 26
|
||||
33: 30 Load 32(g_tTex2di4)
|
||||
34: 14 Load 16(g_sSamp)
|
||||
36: 35 SampledImage 33 34
|
||||
40: 27(ivec4) ImageGather 36 39 25
|
||||
Store 29(txval21) 40
|
||||
48: 45 Load 47(g_tTex2du4)
|
||||
49: 14 Load 16(g_sSamp)
|
||||
51: 50 SampledImage 48 49
|
||||
55: 42(ivec4) ImageGather 51 54 25
|
||||
Store 44(txval22) 55
|
||||
60: 57 Load 59(g_tTexcdf4)
|
||||
61: 14 Load 16(g_sSamp)
|
||||
63: 62 SampledImage 60 61
|
||||
66: 7(fvec4) ImageGather 63 65 25
|
||||
Store 56(txval40) 66
|
||||
71: 68 Load 70(g_tTexcdi4)
|
||||
72: 14 Load 16(g_sSamp)
|
||||
74: 73 SampledImage 71 72
|
||||
76: 27(ivec4) ImageGather 74 75 25
|
||||
Store 67(txval41) 76
|
||||
81: 78 Load 80(g_tTexcdu4)
|
||||
82: 14 Load 16(g_sSamp)
|
||||
84: 83 SampledImage 81 82
|
||||
89: 42(ivec4) ImageGather 84 88 25
|
||||
Store 77(txval42) 89
|
||||
95: 8(ptr) AccessChain 92(psout) 25
|
||||
Store 95 94
|
||||
98: 97(ptr) AccessChain 92(psout) 96
|
||||
Store 98 93
|
||||
101: 8(ptr) AccessChain 92(psout) 25
|
||||
102: 7(fvec4) Load 101
|
||||
Store 100(Color) 102
|
||||
105: 97(ptr) AccessChain 92(psout) 96
|
||||
106: 6(float) Load 105
|
||||
Store 104(Depth) 106
|
||||
Return
|
||||
FunctionEnd
|
||||
397
Test/baseResults/hlsl.gather.basic.dx10.vert.out
Normal file
397
Test/baseResults/hlsl.gather.basic.dx10.vert.out
Normal file
@ -0,0 +1,397 @@
|
||||
hlsl.gather.basic.dx10.vert
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
|
||||
0:28 Function Parameters:
|
||||
0:? Sequence
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp 4-component vector of float)
|
||||
0:33 'txval20' (temp 4-component vector of float)
|
||||
0:33 textureGather (global 4-component vector of float)
|
||||
0:33 Construct combined texture-sampler (temp sampler2D)
|
||||
0:33 'g_tTex2df4' (uniform texture2D)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp 4-component vector of int)
|
||||
0:34 'txval21' (temp 4-component vector of int)
|
||||
0:34 textureGather (global 4-component vector of int)
|
||||
0:34 Construct combined texture-sampler (temp isampler2D)
|
||||
0:34 'g_tTex2di4' (uniform itexture2D)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of uint)
|
||||
0:35 'txval22' (temp 4-component vector of uint)
|
||||
0:35 textureGather (global 4-component vector of uint)
|
||||
0:35 Construct combined texture-sampler (temp usampler2D)
|
||||
0:35 'g_tTex2du4' (uniform utexture2D)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child (temp 4-component vector of float)
|
||||
0:39 'txval40' (temp 4-component vector of float)
|
||||
0:39 textureGather (global 4-component vector of float)
|
||||
0:39 Construct combined texture-sampler (temp samplerCube)
|
||||
0:39 'g_tTexcdf4' (uniform textureCube)
|
||||
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child (temp 4-component vector of int)
|
||||
0:40 'txval41' (temp 4-component vector of int)
|
||||
0:40 textureGather (global 4-component vector of int)
|
||||
0:40 Construct combined texture-sampler (temp isamplerCube)
|
||||
0:40 'g_tTexcdi4' (uniform itextureCube)
|
||||
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:41 Sequence
|
||||
0:41 move second child to first child (temp 4-component vector of uint)
|
||||
0:41 'txval42' (temp 4-component vector of uint)
|
||||
0:41 textureGather (global 4-component vector of uint)
|
||||
0:41 Construct combined texture-sampler (temp usamplerCube)
|
||||
0:41 'g_tTexcdu4' (uniform utextureCube)
|
||||
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:43 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:45 Sequence
|
||||
0:45 Sequence
|
||||
0:45 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Pos' (out 4-component vector of float Position)
|
||||
0:45 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:45 Constant:
|
||||
0:45 0 (const int)
|
||||
0:45 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_sSamp2d' (uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
|
||||
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_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:? 'Pos' (out 4-component vector of float Position)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
|
||||
0:28 Function Parameters:
|
||||
0:? Sequence
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp 4-component vector of float)
|
||||
0:33 'txval20' (temp 4-component vector of float)
|
||||
0:33 textureGather (global 4-component vector of float)
|
||||
0:33 Construct combined texture-sampler (temp sampler2D)
|
||||
0:33 'g_tTex2df4' (uniform texture2D)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp 4-component vector of int)
|
||||
0:34 'txval21' (temp 4-component vector of int)
|
||||
0:34 textureGather (global 4-component vector of int)
|
||||
0:34 Construct combined texture-sampler (temp isampler2D)
|
||||
0:34 'g_tTex2di4' (uniform itexture2D)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of uint)
|
||||
0:35 'txval22' (temp 4-component vector of uint)
|
||||
0:35 textureGather (global 4-component vector of uint)
|
||||
0:35 Construct combined texture-sampler (temp usampler2D)
|
||||
0:35 'g_tTex2du4' (uniform utexture2D)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:39 Sequence
|
||||
0:39 move second child to first child (temp 4-component vector of float)
|
||||
0:39 'txval40' (temp 4-component vector of float)
|
||||
0:39 textureGather (global 4-component vector of float)
|
||||
0:39 Construct combined texture-sampler (temp samplerCube)
|
||||
0:39 'g_tTexcdf4' (uniform textureCube)
|
||||
0:39 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:40 Sequence
|
||||
0:40 move second child to first child (temp 4-component vector of int)
|
||||
0:40 'txval41' (temp 4-component vector of int)
|
||||
0:40 textureGather (global 4-component vector of int)
|
||||
0:40 Construct combined texture-sampler (temp isamplerCube)
|
||||
0:40 'g_tTexcdi4' (uniform itextureCube)
|
||||
0:40 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:41 Sequence
|
||||
0:41 move second child to first child (temp 4-component vector of uint)
|
||||
0:41 'txval42' (temp 4-component vector of uint)
|
||||
0:41 textureGather (global 4-component vector of uint)
|
||||
0:41 Construct combined texture-sampler (temp usamplerCube)
|
||||
0:41 'g_tTexcdu4' (uniform utextureCube)
|
||||
0:41 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.700000
|
||||
0:? 0.800000
|
||||
0:? 0.900000
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:43 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:45 Sequence
|
||||
0:45 Sequence
|
||||
0:45 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Pos' (out 4-component vector of float Position)
|
||||
0:45 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:45 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:45 Constant:
|
||||
0:45 0 (const int)
|
||||
0:45 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_sSamp2d' (uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
|
||||
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_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:? 'Pos' (out 4-component vector of float Position)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 121
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 97
|
||||
Name 4 "main"
|
||||
Name 9 "txval20"
|
||||
Name 12 "g_tTex2df4"
|
||||
Name 16 "g_sSamp"
|
||||
Name 29 "txval21"
|
||||
Name 32 "g_tTex2di4"
|
||||
Name 44 "txval22"
|
||||
Name 47 "g_tTex2du4"
|
||||
Name 56 "txval40"
|
||||
Name 59 "g_tTexcdf4"
|
||||
Name 67 "txval41"
|
||||
Name 70 "g_tTexcdi4"
|
||||
Name 77 "txval42"
|
||||
Name 80 "g_tTexcdu4"
|
||||
Name 90 "VS_OUTPUT"
|
||||
MemberName 90(VS_OUTPUT) 0 "Pos"
|
||||
Name 92 "vsout"
|
||||
Name 97 "Pos"
|
||||
Name 101 "g_sSamp2d"
|
||||
Name 104 "g_tTex1df4a"
|
||||
Name 105 "g_tTex1df4"
|
||||
Name 108 "g_tTex1di4"
|
||||
Name 111 "g_tTex1du4"
|
||||
Name 114 "g_tTex3df4"
|
||||
Name 117 "g_tTex3di4"
|
||||
Name 120 "g_tTex3du4"
|
||||
Decorate 12(g_tTex2df4) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) Binding 0
|
||||
Decorate 32(g_tTex2di4) DescriptorSet 0
|
||||
Decorate 47(g_tTex2du4) DescriptorSet 0
|
||||
Decorate 59(g_tTexcdf4) DescriptorSet 0
|
||||
Decorate 70(g_tTexcdi4) DescriptorSet 0
|
||||
Decorate 80(g_tTexcdu4) DescriptorSet 0
|
||||
Decorate 97(Pos) BuiltIn Position
|
||||
Decorate 101(g_sSamp2d) DescriptorSet 0
|
||||
Decorate 104(g_tTex1df4a) DescriptorSet 0
|
||||
Decorate 104(g_tTex1df4a) Binding 1
|
||||
Decorate 105(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 105(g_tTex1df4) Binding 0
|
||||
Decorate 108(g_tTex1di4) DescriptorSet 0
|
||||
Decorate 111(g_tTex1du4) DescriptorSet 0
|
||||
Decorate 114(g_tTex3df4) DescriptorSet 0
|
||||
Decorate 117(g_tTex3di4) DescriptorSet 0
|
||||
Decorate 120(g_tTex3du4) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
10: TypeImage 6(float) 2D sampled format:Unknown
|
||||
11: TypePointer UniformConstant 10
|
||||
12(g_tTex2df4): 11(ptr) Variable UniformConstant
|
||||
14: TypeSampler
|
||||
15: TypePointer UniformConstant 14
|
||||
16(g_sSamp): 15(ptr) Variable UniformConstant
|
||||
18: TypeSampledImage 10
|
||||
20: TypeVector 6(float) 2
|
||||
21: 6(float) Constant 1036831949
|
||||
22: 6(float) Constant 1045220557
|
||||
23: 20(fvec2) ConstantComposite 21 22
|
||||
24: TypeInt 32 1
|
||||
25: 24(int) Constant 0
|
||||
27: TypeVector 24(int) 4
|
||||
28: TypePointer Function 27(ivec4)
|
||||
30: TypeImage 24(int) 2D sampled format:Unknown
|
||||
31: TypePointer UniformConstant 30
|
||||
32(g_tTex2di4): 31(ptr) Variable UniformConstant
|
||||
35: TypeSampledImage 30
|
||||
37: 6(float) Constant 1050253722
|
||||
38: 6(float) Constant 1053609165
|
||||
39: 20(fvec2) ConstantComposite 37 38
|
||||
41: TypeInt 32 0
|
||||
42: TypeVector 41(int) 4
|
||||
43: TypePointer Function 42(ivec4)
|
||||
45: TypeImage 41(int) 2D sampled format:Unknown
|
||||
46: TypePointer UniformConstant 45
|
||||
47(g_tTex2du4): 46(ptr) Variable UniformConstant
|
||||
50: TypeSampledImage 45
|
||||
52: 6(float) Constant 1056964608
|
||||
53: 6(float) Constant 1058642330
|
||||
54: 20(fvec2) ConstantComposite 52 53
|
||||
57: TypeImage 6(float) Cube sampled format:Unknown
|
||||
58: TypePointer UniformConstant 57
|
||||
59(g_tTexcdf4): 58(ptr) Variable UniformConstant
|
||||
62: TypeSampledImage 57
|
||||
64: TypeVector 6(float) 3
|
||||
65: 64(fvec3) ConstantComposite 21 22 37
|
||||
68: TypeImage 24(int) Cube sampled format:Unknown
|
||||
69: TypePointer UniformConstant 68
|
||||
70(g_tTexcdi4): 69(ptr) Variable UniformConstant
|
||||
73: TypeSampledImage 68
|
||||
75: 64(fvec3) ConstantComposite 38 52 53
|
||||
78: TypeImage 41(int) Cube sampled format:Unknown
|
||||
79: TypePointer UniformConstant 78
|
||||
80(g_tTexcdu4): 79(ptr) Variable UniformConstant
|
||||
83: TypeSampledImage 78
|
||||
85: 6(float) Constant 1060320051
|
||||
86: 6(float) Constant 1061997773
|
||||
87: 6(float) Constant 1063675494
|
||||
88: 64(fvec3) ConstantComposite 85 86 87
|
||||
90(VS_OUTPUT): TypeStruct 7(fvec4)
|
||||
91: TypePointer Function 90(VS_OUTPUT)
|
||||
93: 6(float) Constant 0
|
||||
94: 7(fvec4) ConstantComposite 93 93 93 93
|
||||
96: TypePointer Output 7(fvec4)
|
||||
97(Pos): 96(ptr) Variable Output
|
||||
101(g_sSamp2d): 15(ptr) Variable UniformConstant
|
||||
102: TypeImage 6(float) 1D sampled format:Unknown
|
||||
103: TypePointer UniformConstant 102
|
||||
104(g_tTex1df4a): 103(ptr) Variable UniformConstant
|
||||
105(g_tTex1df4): 103(ptr) Variable UniformConstant
|
||||
106: TypeImage 24(int) 1D sampled format:Unknown
|
||||
107: TypePointer UniformConstant 106
|
||||
108(g_tTex1di4): 107(ptr) Variable UniformConstant
|
||||
109: TypeImage 41(int) 1D sampled format:Unknown
|
||||
110: TypePointer UniformConstant 109
|
||||
111(g_tTex1du4): 110(ptr) Variable UniformConstant
|
||||
112: TypeImage 6(float) 3D sampled format:Unknown
|
||||
113: TypePointer UniformConstant 112
|
||||
114(g_tTex3df4): 113(ptr) Variable UniformConstant
|
||||
115: TypeImage 24(int) 3D sampled format:Unknown
|
||||
116: TypePointer UniformConstant 115
|
||||
117(g_tTex3di4): 116(ptr) Variable UniformConstant
|
||||
118: TypeImage 41(int) 3D sampled format:Unknown
|
||||
119: TypePointer UniformConstant 118
|
||||
120(g_tTex3du4): 119(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(txval20): 8(ptr) Variable Function
|
||||
29(txval21): 28(ptr) Variable Function
|
||||
44(txval22): 43(ptr) Variable Function
|
||||
56(txval40): 8(ptr) Variable Function
|
||||
67(txval41): 28(ptr) Variable Function
|
||||
77(txval42): 43(ptr) Variable Function
|
||||
92(vsout): 91(ptr) Variable Function
|
||||
13: 10 Load 12(g_tTex2df4)
|
||||
17: 14 Load 16(g_sSamp)
|
||||
19: 18 SampledImage 13 17
|
||||
26: 7(fvec4) ImageGather 19 23 25
|
||||
Store 9(txval20) 26
|
||||
33: 30 Load 32(g_tTex2di4)
|
||||
34: 14 Load 16(g_sSamp)
|
||||
36: 35 SampledImage 33 34
|
||||
40: 27(ivec4) ImageGather 36 39 25
|
||||
Store 29(txval21) 40
|
||||
48: 45 Load 47(g_tTex2du4)
|
||||
49: 14 Load 16(g_sSamp)
|
||||
51: 50 SampledImage 48 49
|
||||
55: 42(ivec4) ImageGather 51 54 25
|
||||
Store 44(txval22) 55
|
||||
60: 57 Load 59(g_tTexcdf4)
|
||||
61: 14 Load 16(g_sSamp)
|
||||
63: 62 SampledImage 60 61
|
||||
66: 7(fvec4) ImageGather 63 65 25
|
||||
Store 56(txval40) 66
|
||||
71: 68 Load 70(g_tTexcdi4)
|
||||
72: 14 Load 16(g_sSamp)
|
||||
74: 73 SampledImage 71 72
|
||||
76: 27(ivec4) ImageGather 74 75 25
|
||||
Store 67(txval41) 76
|
||||
81: 78 Load 80(g_tTexcdu4)
|
||||
82: 14 Load 16(g_sSamp)
|
||||
84: 83 SampledImage 81 82
|
||||
89: 42(ivec4) ImageGather 84 88 25
|
||||
Store 77(txval42) 89
|
||||
95: 8(ptr) AccessChain 92(vsout) 25
|
||||
Store 95 94
|
||||
98: 8(ptr) AccessChain 92(vsout) 25
|
||||
99: 7(fvec4) Load 98
|
||||
Store 97(Pos) 99
|
||||
Return
|
||||
FunctionEnd
|
||||
361
Test/baseResults/hlsl.gather.offset.dx10.frag.out
Normal file
361
Test/baseResults/hlsl.gather.offset.dx10.frag.out
Normal file
@ -0,0 +1,361 @@
|
||||
hlsl.gather.offset.dx10.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:28 Function Parameters:
|
||||
0:? Sequence
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp 4-component vector of float)
|
||||
0:33 'txval20' (temp 4-component vector of float)
|
||||
0:33 textureGatherOffset (global 4-component vector of float)
|
||||
0:33 Construct combined texture-sampler (temp sampler2D)
|
||||
0:33 'g_tTex2df4' (uniform texture2D)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 0 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp 4-component vector of int)
|
||||
0:34 'txval21' (temp 4-component vector of int)
|
||||
0:34 textureGatherOffset (global 4-component vector of int)
|
||||
0:34 Construct combined texture-sampler (temp isampler2D)
|
||||
0:34 'g_tTex2di4' (uniform itexture2D)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of uint)
|
||||
0:35 'txval22' (temp 4-component vector of uint)
|
||||
0:35 textureGatherOffset (global 4-component vector of uint)
|
||||
0:35 Construct combined texture-sampler (temp usampler2D)
|
||||
0:35 'g_tTex2du4' (uniform utexture2D)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? -1 (const int)
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:41 move second child to first child (temp float)
|
||||
0:41 Depth: direct index for structure (temp float)
|
||||
0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 1.000000
|
||||
0:43 Sequence
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:43 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:43 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:43 Depth: direct index for structure (temp float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 1 (const int)
|
||||
0:43 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
|
||||
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_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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:28 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:28 Function Parameters:
|
||||
0:? Sequence
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp 4-component vector of float)
|
||||
0:33 'txval20' (temp 4-component vector of float)
|
||||
0:33 textureGatherOffset (global 4-component vector of float)
|
||||
0:33 Construct combined texture-sampler (temp sampler2D)
|
||||
0:33 'g_tTex2df4' (uniform texture2D)
|
||||
0:33 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 0 (const int)
|
||||
0:34 Sequence
|
||||
0:34 move second child to first child (temp 4-component vector of int)
|
||||
0:34 'txval21' (temp 4-component vector of int)
|
||||
0:34 textureGatherOffset (global 4-component vector of int)
|
||||
0:34 Construct combined texture-sampler (temp isampler2D)
|
||||
0:34 'g_tTex2di4' (uniform itexture2D)
|
||||
0:34 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of uint)
|
||||
0:35 'txval22' (temp 4-component vector of uint)
|
||||
0:35 textureGatherOffset (global 4-component vector of uint)
|
||||
0:35 Construct combined texture-sampler (temp usampler2D)
|
||||
0:35 'g_tTex2du4' (uniform utexture2D)
|
||||
0:35 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? -1 (const int)
|
||||
0:40 move second child to first child (temp 4-component vector of float)
|
||||
0:40 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:40 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:40 1.000000
|
||||
0:41 move second child to first child (temp float)
|
||||
0:41 Depth: direct index for structure (temp float)
|
||||
0:41 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 1.000000
|
||||
0:43 Sequence
|
||||
0:43 Sequence
|
||||
0:43 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:43 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 0 (const int)
|
||||
0:43 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:43 Depth: direct index for structure (temp float)
|
||||
0:43 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:43 Constant:
|
||||
0:43 1 (const int)
|
||||
0:43 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
|
||||
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_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:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 107
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 71 75
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 9 "txval20"
|
||||
Name 12 "g_tTex2df4"
|
||||
Name 16 "g_sSamp"
|
||||
Name 32 "txval21"
|
||||
Name 35 "g_tTex2di4"
|
||||
Name 48 "txval22"
|
||||
Name 51 "g_tTex2du4"
|
||||
Name 62 "PS_OUTPUT"
|
||||
MemberName 62(PS_OUTPUT) 0 "Color"
|
||||
MemberName 62(PS_OUTPUT) 1 "Depth"
|
||||
Name 64 "psout"
|
||||
Name 71 "Color"
|
||||
Name 75 "Depth"
|
||||
Name 81 "g_tTex1df4a"
|
||||
Name 82 "g_tTex1df4"
|
||||
Name 85 "g_tTex1di4"
|
||||
Name 88 "g_tTex1du4"
|
||||
Name 91 "g_tTex3df4"
|
||||
Name 94 "g_tTex3di4"
|
||||
Name 97 "g_tTex3du4"
|
||||
Name 100 "g_tTexcdf4"
|
||||
Name 103 "g_tTexcdi4"
|
||||
Name 106 "g_tTexcdu4"
|
||||
Decorate 12(g_tTex2df4) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) Binding 0
|
||||
Decorate 35(g_tTex2di4) DescriptorSet 0
|
||||
Decorate 51(g_tTex2du4) DescriptorSet 0
|
||||
Decorate 71(Color) Location 0
|
||||
Decorate 75(Depth) BuiltIn FragDepth
|
||||
Decorate 81(g_tTex1df4a) DescriptorSet 0
|
||||
Decorate 81(g_tTex1df4a) Binding 1
|
||||
Decorate 82(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 82(g_tTex1df4) Binding 0
|
||||
Decorate 85(g_tTex1di4) DescriptorSet 0
|
||||
Decorate 88(g_tTex1du4) DescriptorSet 0
|
||||
Decorate 91(g_tTex3df4) DescriptorSet 0
|
||||
Decorate 94(g_tTex3di4) DescriptorSet 0
|
||||
Decorate 97(g_tTex3du4) DescriptorSet 0
|
||||
Decorate 100(g_tTexcdf4) DescriptorSet 0
|
||||
Decorate 103(g_tTexcdi4) DescriptorSet 0
|
||||
Decorate 106(g_tTexcdu4) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
10: TypeImage 6(float) 2D sampled format:Unknown
|
||||
11: TypePointer UniformConstant 10
|
||||
12(g_tTex2df4): 11(ptr) Variable UniformConstant
|
||||
14: TypeSampler
|
||||
15: TypePointer UniformConstant 14
|
||||
16(g_sSamp): 15(ptr) Variable UniformConstant
|
||||
18: TypeSampledImage 10
|
||||
20: TypeVector 6(float) 2
|
||||
21: 6(float) Constant 1036831949
|
||||
22: 6(float) Constant 1045220557
|
||||
23: 20(fvec2) ConstantComposite 21 22
|
||||
24: TypeInt 32 1
|
||||
25: TypeVector 24(int) 2
|
||||
26: 24(int) Constant 1
|
||||
27: 24(int) Constant 0
|
||||
28: 25(ivec2) ConstantComposite 26 27
|
||||
30: TypeVector 24(int) 4
|
||||
31: TypePointer Function 30(ivec4)
|
||||
33: TypeImage 24(int) 2D sampled format:Unknown
|
||||
34: TypePointer UniformConstant 33
|
||||
35(g_tTex2di4): 34(ptr) Variable UniformConstant
|
||||
38: TypeSampledImage 33
|
||||
40: 6(float) Constant 1050253722
|
||||
41: 6(float) Constant 1053609165
|
||||
42: 20(fvec2) ConstantComposite 40 41
|
||||
43: 25(ivec2) ConstantComposite 26 26
|
||||
45: TypeInt 32 0
|
||||
46: TypeVector 45(int) 4
|
||||
47: TypePointer Function 46(ivec4)
|
||||
49: TypeImage 45(int) 2D sampled format:Unknown
|
||||
50: TypePointer UniformConstant 49
|
||||
51(g_tTex2du4): 50(ptr) Variable UniformConstant
|
||||
54: TypeSampledImage 49
|
||||
56: 6(float) Constant 1056964608
|
||||
57: 6(float) Constant 1058642330
|
||||
58: 20(fvec2) ConstantComposite 56 57
|
||||
59: 24(int) Constant 4294967295
|
||||
60: 25(ivec2) ConstantComposite 26 59
|
||||
62(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
|
||||
63: TypePointer Function 62(PS_OUTPUT)
|
||||
65: 6(float) Constant 1065353216
|
||||
66: 7(fvec4) ConstantComposite 65 65 65 65
|
||||
68: TypePointer Function 6(float)
|
||||
70: TypePointer Output 7(fvec4)
|
||||
71(Color): 70(ptr) Variable Output
|
||||
74: TypePointer Output 6(float)
|
||||
75(Depth): 74(ptr) Variable Output
|
||||
79: TypeImage 6(float) 1D sampled format:Unknown
|
||||
80: TypePointer UniformConstant 79
|
||||
81(g_tTex1df4a): 80(ptr) Variable UniformConstant
|
||||
82(g_tTex1df4): 80(ptr) Variable UniformConstant
|
||||
83: TypeImage 24(int) 1D sampled format:Unknown
|
||||
84: TypePointer UniformConstant 83
|
||||
85(g_tTex1di4): 84(ptr) Variable UniformConstant
|
||||
86: TypeImage 45(int) 1D sampled format:Unknown
|
||||
87: TypePointer UniformConstant 86
|
||||
88(g_tTex1du4): 87(ptr) Variable UniformConstant
|
||||
89: TypeImage 6(float) 3D sampled format:Unknown
|
||||
90: TypePointer UniformConstant 89
|
||||
91(g_tTex3df4): 90(ptr) Variable UniformConstant
|
||||
92: TypeImage 24(int) 3D sampled format:Unknown
|
||||
93: TypePointer UniformConstant 92
|
||||
94(g_tTex3di4): 93(ptr) Variable UniformConstant
|
||||
95: TypeImage 45(int) 3D sampled format:Unknown
|
||||
96: TypePointer UniformConstant 95
|
||||
97(g_tTex3du4): 96(ptr) Variable UniformConstant
|
||||
98: TypeImage 6(float) Cube sampled format:Unknown
|
||||
99: TypePointer UniformConstant 98
|
||||
100(g_tTexcdf4): 99(ptr) Variable UniformConstant
|
||||
101: TypeImage 24(int) Cube sampled format:Unknown
|
||||
102: TypePointer UniformConstant 101
|
||||
103(g_tTexcdi4): 102(ptr) Variable UniformConstant
|
||||
104: TypeImage 45(int) Cube sampled format:Unknown
|
||||
105: TypePointer UniformConstant 104
|
||||
106(g_tTexcdu4): 105(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(txval20): 8(ptr) Variable Function
|
||||
32(txval21): 31(ptr) Variable Function
|
||||
48(txval22): 47(ptr) Variable Function
|
||||
64(psout): 63(ptr) Variable Function
|
||||
13: 10 Load 12(g_tTex2df4)
|
||||
17: 14 Load 16(g_sSamp)
|
||||
19: 18 SampledImage 13 17
|
||||
29: 7(fvec4) ImageGather 19 23 27 ConstOffset 28
|
||||
Store 9(txval20) 29
|
||||
36: 33 Load 35(g_tTex2di4)
|
||||
37: 14 Load 16(g_sSamp)
|
||||
39: 38 SampledImage 36 37
|
||||
44: 30(ivec4) ImageGather 39 42 27 ConstOffset 43
|
||||
Store 32(txval21) 44
|
||||
52: 49 Load 51(g_tTex2du4)
|
||||
53: 14 Load 16(g_sSamp)
|
||||
55: 54 SampledImage 52 53
|
||||
61: 46(ivec4) ImageGather 55 58 27 ConstOffset 60
|
||||
Store 48(txval22) 61
|
||||
67: 8(ptr) AccessChain 64(psout) 27
|
||||
Store 67 66
|
||||
69: 68(ptr) AccessChain 64(psout) 26
|
||||
Store 69 65
|
||||
72: 8(ptr) AccessChain 64(psout) 27
|
||||
73: 7(fvec4) Load 72
|
||||
Store 71(Color) 73
|
||||
76: 68(ptr) AccessChain 64(psout) 26
|
||||
77: 6(float) Load 76
|
||||
Store 75(Depth) 77
|
||||
Return
|
||||
FunctionEnd
|
||||
326
Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
Normal file
326
Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
Normal file
@ -0,0 +1,326 @@
|
||||
hlsl.gather.offsetarray.dx10.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:20 Function Parameters:
|
||||
0:? Sequence
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child (temp 4-component vector of float)
|
||||
0:25 'txval20' (temp 4-component vector of float)
|
||||
0:25 textureGatherOffset (global 4-component vector of float)
|
||||
0:25 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:25 'g_tTex2df4' (uniform texture2DArray)
|
||||
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 0 (const int)
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 4-component vector of int)
|
||||
0:26 'txval21' (temp 4-component vector of int)
|
||||
0:26 textureGatherOffset (global 4-component vector of int)
|
||||
0:26 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:26 'g_tTex2di4' (uniform itexture2DArray)
|
||||
0:26 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? 0.400000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int)
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child (temp 4-component vector of uint)
|
||||
0:27 'txval22' (temp 4-component vector of uint)
|
||||
0:27 textureGatherOffset (global 4-component vector of uint)
|
||||
0:27 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:27 'g_tTex2du4' (uniform utexture2DArray)
|
||||
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? 0.700000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? -1 (const int)
|
||||
0:32 move second child to first child (temp 4-component vector of float)
|
||||
0:32 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:32 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:32 Constant:
|
||||
0:32 1.000000
|
||||
0:32 1.000000
|
||||
0:32 1.000000
|
||||
0:32 1.000000
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 Depth: direct index for structure (temp float)
|
||||
0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 1.000000
|
||||
0:35 Sequence
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:35 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:35 Constant:
|
||||
0:35 0 (const int)
|
||||
0:35 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:35 Depth: direct index for structure (temp float)
|
||||
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:35 Constant:
|
||||
0:35 1 (const int)
|
||||
0:35 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1di4' (uniform itexture1DArray)
|
||||
0:? 'g_tTex1du4' (uniform utexture1DArray)
|
||||
0:? 'g_tTex2df4' (uniform texture2DArray)
|
||||
0:? 'g_tTex2di4' (uniform itexture2DArray)
|
||||
0:? 'g_tTex2du4' (uniform utexture2DArray)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:20 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:20 Function Parameters:
|
||||
0:? Sequence
|
||||
0:25 Sequence
|
||||
0:25 move second child to first child (temp 4-component vector of float)
|
||||
0:25 'txval20' (temp 4-component vector of float)
|
||||
0:25 textureGatherOffset (global 4-component vector of float)
|
||||
0:25 Construct combined texture-sampler (temp sampler2DArray)
|
||||
0:25 'g_tTex2df4' (uniform texture2DArray)
|
||||
0:25 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.100000
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 0 (const int)
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 4-component vector of int)
|
||||
0:26 'txval21' (temp 4-component vector of int)
|
||||
0:26 textureGatherOffset (global 4-component vector of int)
|
||||
0:26 Construct combined texture-sampler (temp isampler2DArray)
|
||||
0:26 'g_tTex2di4' (uniform itexture2DArray)
|
||||
0:26 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? 0.400000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int)
|
||||
0:27 Sequence
|
||||
0:27 move second child to first child (temp 4-component vector of uint)
|
||||
0:27 'txval22' (temp 4-component vector of uint)
|
||||
0:27 textureGatherOffset (global 4-component vector of uint)
|
||||
0:27 Construct combined texture-sampler (temp usampler2DArray)
|
||||
0:27 'g_tTex2du4' (uniform utexture2DArray)
|
||||
0:27 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? Constant:
|
||||
0:? 0.500000
|
||||
0:? 0.600000
|
||||
0:? 0.700000
|
||||
0:? Constant:
|
||||
0:? 1 (const int)
|
||||
0:? -1 (const int)
|
||||
0:32 move second child to first child (temp 4-component vector of float)
|
||||
0:32 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:32 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:32 Constant:
|
||||
0:32 1.000000
|
||||
0:32 1.000000
|
||||
0:32 1.000000
|
||||
0:32 1.000000
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 Depth: direct index for structure (temp float)
|
||||
0:33 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 1.000000
|
||||
0:35 Sequence
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:35 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:35 Constant:
|
||||
0:35 0 (const int)
|
||||
0:35 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:35 Depth: direct index for structure (temp float)
|
||||
0:35 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:35 Constant:
|
||||
0:35 1 (const int)
|
||||
0:35 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
|
||||
0:? 'g_tTex1di4' (uniform itexture1DArray)
|
||||
0:? 'g_tTex1du4' (uniform utexture1DArray)
|
||||
0:? 'g_tTex2df4' (uniform texture2DArray)
|
||||
0:? 'g_tTex2di4' (uniform itexture2DArray)
|
||||
0:? 'g_tTex2du4' (uniform utexture2DArray)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 90
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 72 76
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 9 "txval20"
|
||||
Name 12 "g_tTex2df4"
|
||||
Name 16 "g_sSamp"
|
||||
Name 33 "txval21"
|
||||
Name 36 "g_tTex2di4"
|
||||
Name 48 "txval22"
|
||||
Name 51 "g_tTex2du4"
|
||||
Name 63 "PS_OUTPUT"
|
||||
MemberName 63(PS_OUTPUT) 0 "Color"
|
||||
MemberName 63(PS_OUTPUT) 1 "Depth"
|
||||
Name 65 "psout"
|
||||
Name 72 "Color"
|
||||
Name 76 "Depth"
|
||||
Name 82 "g_tTex1df4a"
|
||||
Name 83 "g_tTex1df4"
|
||||
Name 86 "g_tTex1di4"
|
||||
Name 89 "g_tTex1du4"
|
||||
Decorate 12(g_tTex2df4) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) DescriptorSet 0
|
||||
Decorate 16(g_sSamp) Binding 0
|
||||
Decorate 36(g_tTex2di4) DescriptorSet 0
|
||||
Decorate 51(g_tTex2du4) DescriptorSet 0
|
||||
Decorate 72(Color) Location 0
|
||||
Decorate 76(Depth) BuiltIn FragDepth
|
||||
Decorate 82(g_tTex1df4a) DescriptorSet 0
|
||||
Decorate 82(g_tTex1df4a) Binding 1
|
||||
Decorate 83(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 83(g_tTex1df4) Binding 0
|
||||
Decorate 86(g_tTex1di4) DescriptorSet 0
|
||||
Decorate 89(g_tTex1du4) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypePointer Function 7(fvec4)
|
||||
10: TypeImage 6(float) 2D array sampled format:Unknown
|
||||
11: TypePointer UniformConstant 10
|
||||
12(g_tTex2df4): 11(ptr) Variable UniformConstant
|
||||
14: TypeSampler
|
||||
15: TypePointer UniformConstant 14
|
||||
16(g_sSamp): 15(ptr) Variable UniformConstant
|
||||
18: TypeSampledImage 10
|
||||
20: TypeVector 6(float) 3
|
||||
21: 6(float) Constant 1036831949
|
||||
22: 6(float) Constant 1045220557
|
||||
23: 6(float) Constant 1050253722
|
||||
24: 20(fvec3) ConstantComposite 21 22 23
|
||||
25: TypeInt 32 1
|
||||
26: TypeVector 25(int) 2
|
||||
27: 25(int) Constant 1
|
||||
28: 25(int) Constant 0
|
||||
29: 26(ivec2) ConstantComposite 27 28
|
||||
31: TypeVector 25(int) 4
|
||||
32: TypePointer Function 31(ivec4)
|
||||
34: TypeImage 25(int) 2D array sampled format:Unknown
|
||||
35: TypePointer UniformConstant 34
|
||||
36(g_tTex2di4): 35(ptr) Variable UniformConstant
|
||||
39: TypeSampledImage 34
|
||||
41: 6(float) Constant 1053609165
|
||||
42: 20(fvec3) ConstantComposite 23 41 41
|
||||
43: 26(ivec2) ConstantComposite 27 27
|
||||
45: TypeInt 32 0
|
||||
46: TypeVector 45(int) 4
|
||||
47: TypePointer Function 46(ivec4)
|
||||
49: TypeImage 45(int) 2D array sampled format:Unknown
|
||||
50: TypePointer UniformConstant 49
|
||||
51(g_tTex2du4): 50(ptr) Variable UniformConstant
|
||||
54: TypeSampledImage 49
|
||||
56: 6(float) Constant 1056964608
|
||||
57: 6(float) Constant 1058642330
|
||||
58: 6(float) Constant 1060320051
|
||||
59: 20(fvec3) ConstantComposite 56 57 58
|
||||
60: 25(int) Constant 4294967295
|
||||
61: 26(ivec2) ConstantComposite 27 60
|
||||
63(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
|
||||
64: TypePointer Function 63(PS_OUTPUT)
|
||||
66: 6(float) Constant 1065353216
|
||||
67: 7(fvec4) ConstantComposite 66 66 66 66
|
||||
69: TypePointer Function 6(float)
|
||||
71: TypePointer Output 7(fvec4)
|
||||
72(Color): 71(ptr) Variable Output
|
||||
75: TypePointer Output 6(float)
|
||||
76(Depth): 75(ptr) Variable Output
|
||||
80: TypeImage 6(float) 1D array sampled format:Unknown
|
||||
81: TypePointer UniformConstant 80
|
||||
82(g_tTex1df4a): 81(ptr) Variable UniformConstant
|
||||
83(g_tTex1df4): 81(ptr) Variable UniformConstant
|
||||
84: TypeImage 25(int) 1D array sampled format:Unknown
|
||||
85: TypePointer UniformConstant 84
|
||||
86(g_tTex1di4): 85(ptr) Variable UniformConstant
|
||||
87: TypeImage 45(int) 1D array sampled format:Unknown
|
||||
88: TypePointer UniformConstant 87
|
||||
89(g_tTex1du4): 88(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(txval20): 8(ptr) Variable Function
|
||||
33(txval21): 32(ptr) Variable Function
|
||||
48(txval22): 47(ptr) Variable Function
|
||||
65(psout): 64(ptr) Variable Function
|
||||
13: 10 Load 12(g_tTex2df4)
|
||||
17: 14 Load 16(g_sSamp)
|
||||
19: 18 SampledImage 13 17
|
||||
30: 7(fvec4) ImageGather 19 24 28 ConstOffset 29
|
||||
Store 9(txval20) 30
|
||||
37: 34 Load 36(g_tTex2di4)
|
||||
38: 14 Load 16(g_sSamp)
|
||||
40: 39 SampledImage 37 38
|
||||
44: 31(ivec4) ImageGather 40 42 28 ConstOffset 43
|
||||
Store 33(txval21) 44
|
||||
52: 49 Load 51(g_tTex2du4)
|
||||
53: 14 Load 16(g_sSamp)
|
||||
55: 54 SampledImage 52 53
|
||||
62: 46(ivec4) ImageGather 55 59 28 ConstOffset 61
|
||||
Store 48(txval22) 62
|
||||
68: 8(ptr) AccessChain 65(psout) 28
|
||||
Store 68 67
|
||||
70: 69(ptr) AccessChain 65(psout) 27
|
||||
Store 70 66
|
||||
73: 8(ptr) AccessChain 65(psout) 28
|
||||
74: 7(fvec4) Load 73
|
||||
Store 72(Color) 74
|
||||
77: 69(ptr) AccessChain 65(psout) 27
|
||||
78: 6(float) Load 77
|
||||
Store 76(Depth) 78
|
||||
Return
|
||||
FunctionEnd
|
||||
1092
Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
Normal file
1092
Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
1118
Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
Normal file
1118
Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
1765
Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
Normal file
1765
Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
1739
Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
Normal file
1739
Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
3089
Test/baseResults/hlsl.getdimensions.dx10.frag.out
Normal file
3089
Test/baseResults/hlsl.getdimensions.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
182
Test/baseResults/hlsl.getdimensions.dx10.vert.out
Normal file
182
Test/baseResults/hlsl.getdimensions.dx10.vert.out
Normal file
@ -0,0 +1,182 @@
|
||||
hlsl.getdimensions.dx10.vert
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
|
||||
0:11 Function Parameters:
|
||||
0:? Sequence
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child (temp uint)
|
||||
0:21 'sizeQueryTemp' (temp uint)
|
||||
0:21 textureSize (temp uint)
|
||||
0:21 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:21 move second child to first child (temp uint)
|
||||
0:21 'WidthU' (temp uint)
|
||||
0:21 'sizeQueryTemp' (temp uint)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp uint)
|
||||
0:22 'sizeQueryTemp' (temp uint)
|
||||
0:22 textureSize (temp uint)
|
||||
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:22 Constant:
|
||||
0:22 6 (const uint)
|
||||
0:22 move second child to first child (temp uint)
|
||||
0:22 'WidthU' (temp uint)
|
||||
0:22 'sizeQueryTemp' (temp uint)
|
||||
0:22 move second child to first child (temp uint)
|
||||
0:22 'NumberOfLevelsU' (temp uint)
|
||||
0:22 textureQueryLevels (temp uint)
|
||||
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:24 move second child to first child (temp 4-component vector of float)
|
||||
0:24 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:24 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:26 Sequence
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Pos' (out 4-component vector of float Position)
|
||||
0:26 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:? 'Pos' (out 4-component vector of float Position)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
0:? Sequence
|
||||
0:11 Function Definition: main( (temp structure{temp 4-component vector of float Pos})
|
||||
0:11 Function Parameters:
|
||||
0:? Sequence
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child (temp uint)
|
||||
0:21 'sizeQueryTemp' (temp uint)
|
||||
0:21 textureSize (temp uint)
|
||||
0:21 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:21 move second child to first child (temp uint)
|
||||
0:21 'WidthU' (temp uint)
|
||||
0:21 'sizeQueryTemp' (temp uint)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp uint)
|
||||
0:22 'sizeQueryTemp' (temp uint)
|
||||
0:22 textureSize (temp uint)
|
||||
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:22 Constant:
|
||||
0:22 6 (const uint)
|
||||
0:22 move second child to first child (temp uint)
|
||||
0:22 'WidthU' (temp uint)
|
||||
0:22 'sizeQueryTemp' (temp uint)
|
||||
0:22 move second child to first child (temp uint)
|
||||
0:22 'NumberOfLevelsU' (temp uint)
|
||||
0:22 textureQueryLevels (temp uint)
|
||||
0:22 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:24 move second child to first child (temp 4-component vector of float)
|
||||
0:24 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:24 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:? Constant:
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:? 0.000000
|
||||
0:26 Sequence
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Pos' (out 4-component vector of float Position)
|
||||
0:26 Pos: direct index for structure (temp 4-component vector of float)
|
||||
0:26 'vsout' (temp structure{temp 4-component vector of float Pos})
|
||||
0:26 Constant:
|
||||
0:26 0 (const int)
|
||||
0:26 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
|
||||
0:? 'Pos' (out 4-component vector of float Position)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 43
|
||||
|
||||
Capability Shader
|
||||
Capability Sampled1D
|
||||
Capability ImageQuery
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 36
|
||||
Name 4 "main"
|
||||
Name 8 "sizeQueryTemp"
|
||||
Name 12 "g_tTex1df4"
|
||||
Name 16 "WidthU"
|
||||
Name 18 "sizeQueryTemp"
|
||||
Name 23 "NumberOfLevelsU"
|
||||
Name 27 "VS_OUTPUT"
|
||||
MemberName 27(VS_OUTPUT) 0 "Pos"
|
||||
Name 29 "vsout"
|
||||
Name 36 "Pos"
|
||||
Name 42 "g_sSamp"
|
||||
Decorate 12(g_tTex1df4) DescriptorSet 0
|
||||
Decorate 12(g_tTex1df4) Binding 0
|
||||
Decorate 36(Pos) BuiltIn Position
|
||||
Decorate 42(g_sSamp) DescriptorSet 0
|
||||
Decorate 42(g_sSamp) Binding 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypeFloat 32
|
||||
10: TypeImage 9(float) 1D sampled format:Unknown
|
||||
11: TypePointer UniformConstant 10
|
||||
12(g_tTex1df4): 11(ptr) Variable UniformConstant
|
||||
14: TypeInt 32 1
|
||||
20: 6(int) Constant 6
|
||||
26: TypeVector 9(float) 4
|
||||
27(VS_OUTPUT): TypeStruct 26(fvec4)
|
||||
28: TypePointer Function 27(VS_OUTPUT)
|
||||
30: 14(int) Constant 0
|
||||
31: 9(float) Constant 0
|
||||
32: 26(fvec4) ConstantComposite 31 31 31 31
|
||||
33: TypePointer Function 26(fvec4)
|
||||
35: TypePointer Output 26(fvec4)
|
||||
36(Pos): 35(ptr) Variable Output
|
||||
40: TypeSampler
|
||||
41: TypePointer UniformConstant 40
|
||||
42(g_sSamp): 41(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(sizeQueryTemp): 7(ptr) Variable Function
|
||||
16(WidthU): 7(ptr) Variable Function
|
||||
18(sizeQueryTemp): 7(ptr) Variable Function
|
||||
23(NumberOfLevelsU): 7(ptr) Variable Function
|
||||
29(vsout): 28(ptr) Variable Function
|
||||
13: 10 Load 12(g_tTex1df4)
|
||||
15: 14(int) ImageQuerySize 13
|
||||
Store 8(sizeQueryTemp) 15
|
||||
17: 6(int) Load 8(sizeQueryTemp)
|
||||
Store 16(WidthU) 17
|
||||
19: 10 Load 12(g_tTex1df4)
|
||||
21: 14(int) ImageQuerySizeLod 19 20
|
||||
Store 18(sizeQueryTemp) 21
|
||||
22: 6(int) Load 18(sizeQueryTemp)
|
||||
Store 16(WidthU) 22
|
||||
24: 10 Load 12(g_tTex1df4)
|
||||
25: 14(int) ImageQueryLevels 24
|
||||
Store 23(NumberOfLevelsU) 25
|
||||
34: 33(ptr) AccessChain 29(vsout) 30
|
||||
Store 34 32
|
||||
37: 33(ptr) AccessChain 29(vsout) 30
|
||||
38: 26(fvec4) Load 37
|
||||
Store 36(Pos) 38
|
||||
Return
|
||||
FunctionEnd
|
||||
1082
Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
Normal file
1082
Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
133
Test/baseResults/hlsl.getsampleposition.dx10.frag.out
Normal file
133
Test/baseResults/hlsl.getsampleposition.dx10.frag.out
Normal file
@ -0,0 +1,133 @@
|
||||
hlsl.getsampleposition.dx10.frag
|
||||
ERROR: 0:16: '' : unimplemented: GetSamplePosition
|
||||
ERROR: 0:17: '' : unimplemented: GetSamplePosition
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:13 Function Parameters:
|
||||
0:? Sequence
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child (temp 2-component vector of float)
|
||||
0:16 'r00' (temp 2-component vector of float)
|
||||
0:16 ERROR: Bad aggregation op
|
||||
(global 2-component vector of float)
|
||||
0:16 'g_tTex2dmsf4' (uniform texture2DMS)
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp 2-component vector of float)
|
||||
0:17 'r01' (temp 2-component vector of float)
|
||||
0:17 ERROR: Bad aggregation op
|
||||
(global 2-component vector of float)
|
||||
0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray)
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:19 move second child to first child (temp 4-component vector of float)
|
||||
0:19 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:19 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:19 Constant:
|
||||
0:19 0 (const int)
|
||||
0:19 Constant:
|
||||
0:19 1.000000
|
||||
0:19 1.000000
|
||||
0:19 1.000000
|
||||
0:19 1.000000
|
||||
0:20 move second child to first child (temp float)
|
||||
0:20 Depth: direct index for structure (temp float)
|
||||
0:20 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:20 Constant:
|
||||
0:20 1.000000
|
||||
0:22 Sequence
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:22 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:22 Depth: direct index for structure (temp float)
|
||||
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
ERROR: node is still EOpNull!
|
||||
0:13 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:13 Function Parameters:
|
||||
0:? Sequence
|
||||
0:16 Sequence
|
||||
0:16 move second child to first child (temp 2-component vector of float)
|
||||
0:16 'r00' (temp 2-component vector of float)
|
||||
0:16 ERROR: Bad aggregation op
|
||||
(global 2-component vector of float)
|
||||
0:16 'g_tTex2dmsf4' (uniform texture2DMS)
|
||||
0:16 Constant:
|
||||
0:16 1 (const int)
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp 2-component vector of float)
|
||||
0:17 'r01' (temp 2-component vector of float)
|
||||
0:17 ERROR: Bad aggregation op
|
||||
(global 2-component vector of float)
|
||||
0:17 'g_tTex2dmsf4a' (uniform texture2DMSArray)
|
||||
0:17 Constant:
|
||||
0:17 2 (const int)
|
||||
0:19 move second child to first child (temp 4-component vector of float)
|
||||
0:19 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:19 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:19 Constant:
|
||||
0:19 0 (const int)
|
||||
0:19 Constant:
|
||||
0:19 1.000000
|
||||
0:19 1.000000
|
||||
0:19 1.000000
|
||||
0:19 1.000000
|
||||
0:20 move second child to first child (temp float)
|
||||
0:20 Depth: direct index for structure (temp float)
|
||||
0:20 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:20 Constant:
|
||||
0:20 1 (const int)
|
||||
0:20 Constant:
|
||||
0:20 1.000000
|
||||
0:22 Sequence
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:22 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:22 Constant:
|
||||
0:22 0 (const int)
|
||||
0:22 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:22 Depth: direct index for structure (temp float)
|
||||
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
|
||||
0:? 'g_tTex2dmsf4' (uniform texture2DMS)
|
||||
0:? 'g_tTex2dmsf4a' (uniform texture2DMSArray)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
@ -2,71 +2,89 @@ hlsl.if.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:34 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Test condition and select (temp void)
|
||||
0:3 Condition
|
||||
0:3 Compare Equal (temp bool)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 true case
|
||||
0:4 Branch: Return with expression
|
||||
0:4 'input' (in 4-component vector of float)
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:4 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:4 Branch: Return
|
||||
0:6 Test condition and select (temp void)
|
||||
0:6 Condition
|
||||
0:6 Compare Equal (temp bool)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 true case
|
||||
0:7 Branch: Return with expression
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 Sequence
|
||||
0:7 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 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Branch: Return
|
||||
0:6 false case
|
||||
0:9 Branch: Return with expression
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:9 Negate value (temp 4-component vector of float)
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 Branch: Return
|
||||
0:11 Test condition and select (temp void)
|
||||
0:11 Condition
|
||||
0:11 Compare Equal (temp bool)
|
||||
0:11 'input' (in 4-component vector of float)
|
||||
0:11 'input' (in 4-component vector of float)
|
||||
0:11 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:11 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:11 true case is null
|
||||
0:14 Test condition and select (temp void)
|
||||
0:14 Condition
|
||||
0:14 Compare Equal (temp bool)
|
||||
0:14 'input' (in 4-component vector of float)
|
||||
0:14 'input' (in 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 true case is null
|
||||
0:19 Test condition and select (temp void)
|
||||
0:19 Condition
|
||||
0:19 Compare Equal (temp bool)
|
||||
0:19 'input' (in 4-component vector of float)
|
||||
0:19 'input' (in 4-component vector of float)
|
||||
0:19 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:19 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:19 true case
|
||||
0:? Sequence
|
||||
0:20 Branch: Return with expression
|
||||
0:20 'input' (in 4-component vector of float)
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:20 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:20 Branch: Return
|
||||
0:23 Test condition and select (temp void)
|
||||
0:23 Condition
|
||||
0:23 Compare Equal (temp bool)
|
||||
0:23 'input' (in 4-component vector of float)
|
||||
0:23 'input' (in 4-component vector of float)
|
||||
0:23 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:23 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:23 true case
|
||||
0:? Sequence
|
||||
0:24 Branch: Return with expression
|
||||
0:24 'input' (in 4-component vector of float)
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:24 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:24 Branch: Return
|
||||
0:23 false case
|
||||
0:? Sequence
|
||||
0:26 Branch: Return with expression
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:26 Negate value (temp 4-component vector of float)
|
||||
0:26 'input' (in 4-component vector of float)
|
||||
0:26 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:26 Branch: Return
|
||||
0:30 Test condition and select (temp void)
|
||||
0:30 Condition
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 'ii' (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'input' (in 4-component vector of float)
|
||||
0:30 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:30 Constant:
|
||||
0:30 2 (const int)
|
||||
0:30 true case
|
||||
@ -75,6 +93,8 @@ gl_FragCoord origin is upper left
|
||||
0:32 Pre-Increment (temp int)
|
||||
0:32 'ii' (temp int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -83,71 +103,89 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:34 Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:2 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:2 Function Parameters:
|
||||
0:2 'input' (in 4-component vector of float)
|
||||
0:2 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:3 Test condition and select (temp void)
|
||||
0:3 Condition
|
||||
0:3 Compare Equal (temp bool)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:3 true case
|
||||
0:4 Branch: Return with expression
|
||||
0:4 'input' (in 4-component vector of float)
|
||||
0:4 Sequence
|
||||
0:4 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:4 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:4 Branch: Return
|
||||
0:6 Test condition and select (temp void)
|
||||
0:6 Condition
|
||||
0:6 Compare Equal (temp bool)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:6 true case
|
||||
0:7 Branch: Return with expression
|
||||
0:7 'input' (in 4-component vector of float)
|
||||
0:7 Sequence
|
||||
0:7 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 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:7 Branch: Return
|
||||
0:6 false case
|
||||
0:9 Branch: Return with expression
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:9 Negate value (temp 4-component vector of float)
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:9 Branch: Return
|
||||
0:11 Test condition and select (temp void)
|
||||
0:11 Condition
|
||||
0:11 Compare Equal (temp bool)
|
||||
0:11 'input' (in 4-component vector of float)
|
||||
0:11 'input' (in 4-component vector of float)
|
||||
0:11 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:11 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:11 true case is null
|
||||
0:14 Test condition and select (temp void)
|
||||
0:14 Condition
|
||||
0:14 Compare Equal (temp bool)
|
||||
0:14 'input' (in 4-component vector of float)
|
||||
0:14 'input' (in 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:14 true case is null
|
||||
0:19 Test condition and select (temp void)
|
||||
0:19 Condition
|
||||
0:19 Compare Equal (temp bool)
|
||||
0:19 'input' (in 4-component vector of float)
|
||||
0:19 'input' (in 4-component vector of float)
|
||||
0:19 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:19 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:19 true case
|
||||
0:? Sequence
|
||||
0:20 Branch: Return with expression
|
||||
0:20 'input' (in 4-component vector of float)
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:20 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:20 Branch: Return
|
||||
0:23 Test condition and select (temp void)
|
||||
0:23 Condition
|
||||
0:23 Compare Equal (temp bool)
|
||||
0:23 'input' (in 4-component vector of float)
|
||||
0:23 'input' (in 4-component vector of float)
|
||||
0:23 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:23 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:23 true case
|
||||
0:? Sequence
|
||||
0:24 Branch: Return with expression
|
||||
0:24 'input' (in 4-component vector of float)
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:24 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:24 Branch: Return
|
||||
0:23 false case
|
||||
0:? Sequence
|
||||
0:26 Branch: Return with expression
|
||||
0:26 Sequence
|
||||
0:26 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:26 Negate value (temp 4-component vector of float)
|
||||
0:26 'input' (in 4-component vector of float)
|
||||
0:26 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:26 Branch: Return
|
||||
0:30 Test condition and select (temp void)
|
||||
0:30 Condition
|
||||
0:30 move second child to first child (temp float)
|
||||
0:30 'ii' (temp float)
|
||||
0:30 direct index (temp float)
|
||||
0:30 'input' (in 4-component vector of float)
|
||||
0:30 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:30 Constant:
|
||||
0:30 2 (const int)
|
||||
0:30 true case
|
||||
@ -156,21 +194,25 @@ gl_FragCoord origin is upper left
|
||||
0:32 Pre-Increment (temp int)
|
||||
0:32 'ii' (temp int)
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 82
|
||||
// Id's are bound by 84
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 9 19
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 9 "input"
|
||||
Name 65 "ii"
|
||||
Name 78 "ii"
|
||||
Name 19 "@entryPointOutput"
|
||||
Name 67 "ii"
|
||||
Name 80 "ii"
|
||||
Decorate 9(input) Location 0
|
||||
Decorate 19(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -179,18 +221,20 @@ gl_FragCoord origin is upper left
|
||||
9(input): 8(ptr) Variable Input
|
||||
12: TypeBool
|
||||
13: TypeVector 12(bool) 4
|
||||
64: TypePointer Function 6(float)
|
||||
66: TypeInt 32 0
|
||||
67: 66(int) Constant 2
|
||||
68: TypePointer Input 6(float)
|
||||
74: 6(float) Constant 1065353216
|
||||
76: TypeInt 32 1
|
||||
77: TypePointer Function 76(int)
|
||||
80: 76(int) Constant 1
|
||||
18: TypePointer Output 7(fvec4)
|
||||
19(@entryPointOutput): 18(ptr) Variable Output
|
||||
66: TypePointer Function 6(float)
|
||||
68: TypeInt 32 0
|
||||
69: 68(int) Constant 2
|
||||
70: TypePointer Input 6(float)
|
||||
76: 6(float) Constant 1065353216
|
||||
78: TypeInt 32 1
|
||||
79: TypePointer Function 78(int)
|
||||
82: 78(int) Constant 1
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
65(ii): 64(ptr) Variable Function
|
||||
78(ii): 77(ptr) Variable Function
|
||||
67(ii): 66(ptr) Variable Function
|
||||
80(ii): 79(ptr) Variable Function
|
||||
10: 7(fvec4) Load 9(input)
|
||||
11: 7(fvec4) Load 9(input)
|
||||
14: 13(bvec4) FOrdEqual 10 11
|
||||
@ -198,78 +242,84 @@ gl_FragCoord origin is upper left
|
||||
SelectionMerge 17 None
|
||||
BranchConditional 15 16 17
|
||||
16: Label
|
||||
18: 7(fvec4) Load 9(input)
|
||||
ReturnValue 18
|
||||
17: Label
|
||||
20: 7(fvec4) Load 9(input)
|
||||
21: 7(fvec4) Load 9(input)
|
||||
22: 13(bvec4) FOrdEqual 20 21
|
||||
23: 12(bool) All 22
|
||||
SelectionMerge 25 None
|
||||
BranchConditional 23 24 28
|
||||
24: Label
|
||||
26: 7(fvec4) Load 9(input)
|
||||
ReturnValue 26
|
||||
28: Label
|
||||
29: 7(fvec4) Load 9(input)
|
||||
30: 7(fvec4) FNegate 29
|
||||
ReturnValue 30
|
||||
25: Label
|
||||
32: 7(fvec4) Load 9(input)
|
||||
33: 7(fvec4) Load 9(input)
|
||||
34: 13(bvec4) FOrdEqual 32 33
|
||||
35: 12(bool) All 34
|
||||
SelectionMerge 37 None
|
||||
BranchConditional 35 36 37
|
||||
36: Label
|
||||
Branch 37
|
||||
37: Label
|
||||
38: 7(fvec4) Load 9(input)
|
||||
39: 7(fvec4) Load 9(input)
|
||||
40: 13(bvec4) FOrdEqual 38 39
|
||||
41: 12(bool) All 40
|
||||
SelectionMerge 43 None
|
||||
BranchConditional 41 42 43
|
||||
42: Label
|
||||
Branch 43
|
||||
43: Label
|
||||
44: 7(fvec4) Load 9(input)
|
||||
45: 7(fvec4) Load 9(input)
|
||||
46: 13(bvec4) FOrdEqual 44 45
|
||||
47: 12(bool) All 46
|
||||
SelectionMerge 49 None
|
||||
BranchConditional 47 48 49
|
||||
48: Label
|
||||
50: 7(fvec4) Load 9(input)
|
||||
ReturnValue 50
|
||||
49: Label
|
||||
Store 19(@entryPointOutput) 20
|
||||
Return
|
||||
17: Label
|
||||
22: 7(fvec4) Load 9(input)
|
||||
23: 7(fvec4) Load 9(input)
|
||||
24: 13(bvec4) FOrdEqual 22 23
|
||||
25: 12(bool) All 24
|
||||
SelectionMerge 27 None
|
||||
BranchConditional 25 26 30
|
||||
26: Label
|
||||
28: 7(fvec4) Load 9(input)
|
||||
Store 19(@entryPointOutput) 28
|
||||
Return
|
||||
30: Label
|
||||
31: 7(fvec4) Load 9(input)
|
||||
32: 7(fvec4) FNegate 31
|
||||
Store 19(@entryPointOutput) 32
|
||||
Return
|
||||
27: Label
|
||||
34: 7(fvec4) Load 9(input)
|
||||
35: 7(fvec4) Load 9(input)
|
||||
36: 13(bvec4) FOrdEqual 34 35
|
||||
37: 12(bool) All 36
|
||||
SelectionMerge 39 None
|
||||
BranchConditional 37 38 39
|
||||
38: Label
|
||||
Branch 39
|
||||
39: Label
|
||||
40: 7(fvec4) Load 9(input)
|
||||
41: 7(fvec4) Load 9(input)
|
||||
42: 13(bvec4) FOrdEqual 40 41
|
||||
43: 12(bool) All 42
|
||||
SelectionMerge 45 None
|
||||
BranchConditional 43 44 45
|
||||
44: Label
|
||||
Branch 45
|
||||
45: Label
|
||||
46: 7(fvec4) Load 9(input)
|
||||
47: 7(fvec4) Load 9(input)
|
||||
48: 13(bvec4) FOrdEqual 46 47
|
||||
49: 12(bool) All 48
|
||||
SelectionMerge 51 None
|
||||
BranchConditional 49 50 51
|
||||
50: Label
|
||||
52: 7(fvec4) Load 9(input)
|
||||
53: 7(fvec4) Load 9(input)
|
||||
54: 13(bvec4) FOrdEqual 52 53
|
||||
55: 12(bool) All 54
|
||||
SelectionMerge 57 None
|
||||
BranchConditional 55 56 60
|
||||
56: Label
|
||||
58: 7(fvec4) Load 9(input)
|
||||
ReturnValue 58
|
||||
60: Label
|
||||
61: 7(fvec4) Load 9(input)
|
||||
62: 7(fvec4) FNegate 61
|
||||
ReturnValue 62
|
||||
57: Label
|
||||
69: 68(ptr) AccessChain 9(input) 67
|
||||
70: 6(float) Load 69
|
||||
Store 65(ii) 70
|
||||
SelectionMerge 72 None
|
||||
BranchConditional 70 71 72
|
||||
71: Label
|
||||
73: 6(float) Load 65(ii)
|
||||
75: 6(float) FAdd 73 74
|
||||
Store 65(ii) 75
|
||||
Branch 72
|
||||
72: Label
|
||||
79: 76(int) Load 78(ii)
|
||||
81: 76(int) IAdd 79 80
|
||||
Store 78(ii) 81
|
||||
Store 19(@entryPointOutput) 52
|
||||
Return
|
||||
51: Label
|
||||
54: 7(fvec4) Load 9(input)
|
||||
55: 7(fvec4) Load 9(input)
|
||||
56: 13(bvec4) FOrdEqual 54 55
|
||||
57: 12(bool) All 56
|
||||
SelectionMerge 59 None
|
||||
BranchConditional 57 58 62
|
||||
58: Label
|
||||
60: 7(fvec4) Load 9(input)
|
||||
Store 19(@entryPointOutput) 60
|
||||
Return
|
||||
62: Label
|
||||
63: 7(fvec4) Load 9(input)
|
||||
64: 7(fvec4) FNegate 63
|
||||
Store 19(@entryPointOutput) 64
|
||||
Return
|
||||
59: Label
|
||||
71: 70(ptr) AccessChain 9(input) 69
|
||||
72: 6(float) Load 71
|
||||
Store 67(ii) 72
|
||||
SelectionMerge 74 None
|
||||
BranchConditional 72 73 74
|
||||
73: Label
|
||||
75: 6(float) Load 67(ii)
|
||||
77: 6(float) FAdd 75 76
|
||||
Store 67(ii) 77
|
||||
Branch 74
|
||||
74: Label
|
||||
81: 78(int) Load 80(ii)
|
||||
83: 78(int) IAdd 81 82
|
||||
Store 80(ii) 83
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
@ -56,56 +56,81 @@ gl_FragCoord origin is upper left
|
||||
0:6 'c5' (global float)
|
||||
0:6 Constant:
|
||||
0:6 1.500000
|
||||
0:25 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:9 Function Parameters:
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp structure{temp int f})
|
||||
0:9 'single1' (global structure{temp int f})
|
||||
0:9 Constant:
|
||||
0:9 10 (const int)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child (temp structure{temp 2-component vector of uint v})
|
||||
0:12 'single2' (global structure{temp 2-component vector of uint v})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:12 2 (const uint)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child (temp structure{temp structure{temp int f} s1})
|
||||
0:15 'single3' (global structure{temp structure{temp int f} s1})
|
||||
0:15 Constant:
|
||||
0:15 3 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1})
|
||||
0:18 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||
0:18 Constant:
|
||||
0:18 4 (const uint)
|
||||
0:18 5 (const uint)
|
||||
0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:21 Function Parameters:
|
||||
0:21 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child (temp 4-component vector of float)
|
||||
0:10 'a2' (temp 4-component vector of float)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp 4-component vector of float)
|
||||
0:22 'a2' (temp 4-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 Constant:
|
||||
0:20 9 (const int)
|
||||
0:20 'a5' (global float)
|
||||
0:20 Construct structure (temp structure{temp float f, temp int i})
|
||||
0:20 Comma (temp float)
|
||||
0:20 'a3' (global float)
|
||||
0:20 'a4' (global float)
|
||||
0:20 Constant:
|
||||
0:20 12 (const int)
|
||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 Constant:
|
||||
0:32 9 (const int)
|
||||
0:32 'a5' (global float)
|
||||
0:32 Construct structure (temp structure{temp float f, temp int i})
|
||||
0:32 Comma (temp float)
|
||||
0:32 'a3' (global float)
|
||||
0:32 'a4' (global float)
|
||||
0:32 Constant:
|
||||
0:32 12 (const int)
|
||||
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 Constant:
|
||||
0:20 9 (const int)
|
||||
0:20 'a5' (global float)
|
||||
0:32 Constant:
|
||||
0:32 9 (const int)
|
||||
0:32 'a5' (global float)
|
||||
0:? Construct structure (temp structure{temp float f, temp int i})
|
||||
0:20 Comma (temp float)
|
||||
0:20 'a3' (global float)
|
||||
0:20 'a4' (global float)
|
||||
0:20 Constant:
|
||||
0:20 12 (const int)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child (temp float)
|
||||
0:21 'a8' (temp float)
|
||||
0:21 Comma (temp float)
|
||||
0:21 'a2' (temp 4-component vector of float)
|
||||
0:21 'b2' (global float)
|
||||
0:21 move second child to first child (temp float)
|
||||
0:21 'a9' (temp float)
|
||||
0:21 'a5' (global float)
|
||||
0:23 Branch: Return with expression
|
||||
0:23 component-wise multiply (temp 4-component vector of float)
|
||||
0:23 'input' (in 4-component vector of float)
|
||||
0:23 'a1' (global 4-component vector of float)
|
||||
0:32 Comma (temp float)
|
||||
0:32 'a3' (global float)
|
||||
0:32 'a4' (global float)
|
||||
0:32 Constant:
|
||||
0:32 12 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'a8' (temp float)
|
||||
0:33 Comma (temp float)
|
||||
0:33 'a2' (temp 4-component vector of float)
|
||||
0:33 'b2' (global float)
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'a9' (temp float)
|
||||
0:33 'a5' (global float)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:35 component-wise multiply (temp 4-component vector of float)
|
||||
0:35 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:35 'a1' (global 4-component vector of float)
|
||||
0:35 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (global 4-component vector of float)
|
||||
0:? 'b1' (global 4-component vector of float)
|
||||
@ -121,6 +146,12 @@ gl_FragCoord origin is upper left
|
||||
0:? 'a5' (global float)
|
||||
0:? 'b5' (global float)
|
||||
0:? 'c5' (global float)
|
||||
0:? 'single1' (global structure{temp int f})
|
||||
0:? 'single2' (global structure{temp 2-component vector of uint v})
|
||||
0:? 'single3' (global structure{temp structure{temp int f} s1})
|
||||
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -183,56 +214,81 @@ gl_FragCoord origin is upper left
|
||||
0:6 'c5' (global float)
|
||||
0:6 Constant:
|
||||
0:6 1.500000
|
||||
0:25 Function Definition: ShaderFunction(vf4; (global 4-component vector of float)
|
||||
0:9 Function Parameters:
|
||||
0:9 'input' (in 4-component vector of float)
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp structure{temp int f})
|
||||
0:9 'single1' (global structure{temp int f})
|
||||
0:9 Constant:
|
||||
0:9 10 (const int)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child (temp structure{temp 2-component vector of uint v})
|
||||
0:12 'single2' (global structure{temp 2-component vector of uint v})
|
||||
0:12 Constant:
|
||||
0:12 1 (const uint)
|
||||
0:12 2 (const uint)
|
||||
0:15 Sequence
|
||||
0:15 move second child to first child (temp structure{temp structure{temp int f} s1})
|
||||
0:15 'single3' (global structure{temp structure{temp int f} s1})
|
||||
0:15 Constant:
|
||||
0:15 3 (const int)
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child (temp structure{temp structure{temp 2-component vector of uint v} s1})
|
||||
0:18 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||
0:18 Constant:
|
||||
0:18 4 (const uint)
|
||||
0:18 5 (const uint)
|
||||
0:21 Function Definition: ShaderFunction(vf4; (temp 4-component vector of float)
|
||||
0:21 Function Parameters:
|
||||
0:21 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:10 Sequence
|
||||
0:10 move second child to first child (temp 4-component vector of float)
|
||||
0:10 'a2' (temp 4-component vector of float)
|
||||
0:22 Sequence
|
||||
0:22 move second child to first child (temp 4-component vector of float)
|
||||
0:22 'a2' (temp 4-component vector of float)
|
||||
0:? Constant:
|
||||
0:? 0.200000
|
||||
0:? 0.300000
|
||||
0:? 0.400000
|
||||
0:? 0.500000
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 Constant:
|
||||
0:20 9 (const int)
|
||||
0:20 'a5' (global float)
|
||||
0:20 Construct structure (temp structure{temp float f, temp int i})
|
||||
0:20 Comma (temp float)
|
||||
0:20 'a3' (global float)
|
||||
0:20 'a4' (global float)
|
||||
0:20 Constant:
|
||||
0:20 12 (const int)
|
||||
0:20 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 Sequence
|
||||
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 's2i' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 Constant:
|
||||
0:32 9 (const int)
|
||||
0:32 'a5' (global float)
|
||||
0:32 Construct structure (temp structure{temp float f, temp int i})
|
||||
0:32 Comma (temp float)
|
||||
0:32 'a3' (global float)
|
||||
0:32 'a4' (global float)
|
||||
0:32 Constant:
|
||||
0:32 12 (const int)
|
||||
0:32 move second child to first child (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:32 's2' (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:? Construct structure (temp structure{temp int j, temp float g, temp structure{temp float f, temp int i} s1})
|
||||
0:20 Constant:
|
||||
0:20 9 (const int)
|
||||
0:20 'a5' (global float)
|
||||
0:32 Constant:
|
||||
0:32 9 (const int)
|
||||
0:32 'a5' (global float)
|
||||
0:? Construct structure (temp structure{temp float f, temp int i})
|
||||
0:20 Comma (temp float)
|
||||
0:20 'a3' (global float)
|
||||
0:20 'a4' (global float)
|
||||
0:20 Constant:
|
||||
0:20 12 (const int)
|
||||
0:21 Sequence
|
||||
0:21 move second child to first child (temp float)
|
||||
0:21 'a8' (temp float)
|
||||
0:21 Comma (temp float)
|
||||
0:21 'a2' (temp 4-component vector of float)
|
||||
0:21 'b2' (global float)
|
||||
0:21 move second child to first child (temp float)
|
||||
0:21 'a9' (temp float)
|
||||
0:21 'a5' (global float)
|
||||
0:23 Branch: Return with expression
|
||||
0:23 component-wise multiply (temp 4-component vector of float)
|
||||
0:23 'input' (in 4-component vector of float)
|
||||
0:23 'a1' (global 4-component vector of float)
|
||||
0:32 Comma (temp float)
|
||||
0:32 'a3' (global float)
|
||||
0:32 'a4' (global float)
|
||||
0:32 Constant:
|
||||
0:32 12 (const int)
|
||||
0:33 Sequence
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'a8' (temp float)
|
||||
0:33 Comma (temp float)
|
||||
0:33 'a2' (temp 4-component vector of float)
|
||||
0:33 'b2' (global float)
|
||||
0:33 move second child to first child (temp float)
|
||||
0:33 'a9' (temp float)
|
||||
0:33 'a5' (global float)
|
||||
0:35 Sequence
|
||||
0:35 move second child to first child (temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:35 component-wise multiply (temp 4-component vector of float)
|
||||
0:35 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
0:35 'a1' (global 4-component vector of float)
|
||||
0:35 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'a1' (global 4-component vector of float)
|
||||
0:? 'b1' (global 4-component vector of float)
|
||||
@ -248,17 +304,22 @@ gl_FragCoord origin is upper left
|
||||
0:? 'a5' (global float)
|
||||
0:? 'b5' (global float)
|
||||
0:? 'c5' (global float)
|
||||
0:? 'single1' (global structure{temp int f})
|
||||
0:? 'single2' (global structure{temp 2-component vector of uint v})
|
||||
0:? 'single3' (global structure{temp structure{temp int f} s1})
|
||||
0:? 'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'input' (layout(location=0 ) in 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 67
|
||||
// Id's are bound by 97
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "ShaderFunction" 60
|
||||
EntryPoint Fragment 4 "ShaderFunction" 88 90
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "ShaderFunction"
|
||||
Name 9 "a1"
|
||||
Name 14 "b1"
|
||||
@ -269,24 +330,39 @@ gl_FragCoord origin is upper left
|
||||
Name 27 "b4"
|
||||
Name 29 "a5"
|
||||
Name 30 "c5"
|
||||
Name 33 "a2"
|
||||
Name 36 "S1"
|
||||
MemberName 36(S1) 0 "f"
|
||||
MemberName 36(S1) 1 "i"
|
||||
Name 37 "S2"
|
||||
MemberName 37(S2) 0 "j"
|
||||
MemberName 37(S2) 1 "g"
|
||||
MemberName 37(S2) 2 "s1"
|
||||
Name 39 "s2i"
|
||||
Name 42 "a3"
|
||||
Name 43 "a4"
|
||||
Name 48 "s2"
|
||||
Name 54 "a8"
|
||||
Name 55 "b2"
|
||||
Name 57 "a9"
|
||||
Name 60 "input"
|
||||
Name 65 "c4"
|
||||
Name 66 "b5"
|
||||
Name 33 "Single1"
|
||||
MemberName 33(Single1) 0 "f"
|
||||
Name 35 "single1"
|
||||
Name 40 "Single2"
|
||||
MemberName 40(Single2) 0 "v"
|
||||
Name 42 "single2"
|
||||
Name 47 "Single3"
|
||||
MemberName 47(Single3) 0 "s1"
|
||||
Name 49 "single3"
|
||||
Name 53 "Single4"
|
||||
MemberName 53(Single4) 0 "s1"
|
||||
Name 55 "single4"
|
||||
Name 62 "a2"
|
||||
Name 64 "S1"
|
||||
MemberName 64(S1) 0 "f"
|
||||
MemberName 64(S1) 1 "i"
|
||||
Name 65 "S2"
|
||||
MemberName 65(S2) 0 "j"
|
||||
MemberName 65(S2) 1 "g"
|
||||
MemberName 65(S2) 2 "s1"
|
||||
Name 67 "s2i"
|
||||
Name 70 "a3"
|
||||
Name 71 "a4"
|
||||
Name 76 "s2"
|
||||
Name 82 "a8"
|
||||
Name 83 "b2"
|
||||
Name 85 "a9"
|
||||
Name 88 "@entryPointOutput"
|
||||
Name 90 "input"
|
||||
Name 95 "c4"
|
||||
Name 96 "b5"
|
||||
Decorate 88(@entryPointOutput) Location 0
|
||||
Decorate 90(input) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -315,29 +391,59 @@ gl_FragCoord origin is upper left
|
||||
29(a5): 22(ptr) Variable Private
|
||||
30(c5): 22(ptr) Variable Private
|
||||
31: 6(float) Constant 1069547520
|
||||
32: TypePointer Function 7(fvec4)
|
||||
34: 7(fvec4) ConstantComposite 24 26 28 11
|
||||
35: TypeInt 32 1
|
||||
36(S1): TypeStruct 6(float) 35(int)
|
||||
37(S2): TypeStruct 35(int) 6(float) 36(S1)
|
||||
38: TypePointer Function 37(S2)
|
||||
40: 35(int) Constant 9
|
||||
42(a3): 22(ptr) Variable Private
|
||||
43(a4): 22(ptr) Variable Private
|
||||
45: 35(int) Constant 12
|
||||
53: TypePointer Function 6(float)
|
||||
55(b2): 22(ptr) Variable Private
|
||||
59: TypePointer Input 7(fvec4)
|
||||
60(input): 59(ptr) Variable Input
|
||||
65(c4): 22(ptr) Variable Private
|
||||
66(b5): 22(ptr) Variable Private
|
||||
32: TypeInt 32 1
|
||||
33(Single1): TypeStruct 32(int)
|
||||
34: TypePointer Private 33(Single1)
|
||||
35(single1): 34(ptr) Variable Private
|
||||
36: 32(int) Constant 10
|
||||
37: 33(Single1) ConstantComposite 36
|
||||
38: TypeInt 32 0
|
||||
39: TypeVector 38(int) 2
|
||||
40(Single2): TypeStruct 39(ivec2)
|
||||
41: TypePointer Private 40(Single2)
|
||||
42(single2): 41(ptr) Variable Private
|
||||
43: 38(int) Constant 1
|
||||
44: 38(int) Constant 2
|
||||
45: 39(ivec2) ConstantComposite 43 44
|
||||
46: 40(Single2) ConstantComposite 45
|
||||
47(Single3): TypeStruct 33(Single1)
|
||||
48: TypePointer Private 47(Single3)
|
||||
49(single3): 48(ptr) Variable Private
|
||||
50: 32(int) Constant 3
|
||||
51: 33(Single1) ConstantComposite 50
|
||||
52: 47(Single3) ConstantComposite 51
|
||||
53(Single4): TypeStruct 40(Single2)
|
||||
54: TypePointer Private 53(Single4)
|
||||
55(single4): 54(ptr) Variable Private
|
||||
56: 38(int) Constant 4
|
||||
57: 38(int) Constant 5
|
||||
58: 39(ivec2) ConstantComposite 56 57
|
||||
59: 40(Single2) ConstantComposite 58
|
||||
60: 53(Single4) ConstantComposite 59
|
||||
61: TypePointer Function 7(fvec4)
|
||||
63: 7(fvec4) ConstantComposite 24 26 28 11
|
||||
64(S1): TypeStruct 6(float) 32(int)
|
||||
65(S2): TypeStruct 32(int) 6(float) 64(S1)
|
||||
66: TypePointer Function 65(S2)
|
||||
68: 32(int) Constant 9
|
||||
70(a3): 22(ptr) Variable Private
|
||||
71(a4): 22(ptr) Variable Private
|
||||
73: 32(int) Constant 12
|
||||
81: TypePointer Function 6(float)
|
||||
83(b2): 22(ptr) Variable Private
|
||||
87: TypePointer Output 7(fvec4)
|
||||
88(@entryPointOutput): 87(ptr) Variable Output
|
||||
89: TypePointer Input 7(fvec4)
|
||||
90(input): 89(ptr) Variable Input
|
||||
95(c4): 22(ptr) Variable Private
|
||||
96(b5): 22(ptr) Variable Private
|
||||
4(ShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
33(a2): 32(ptr) Variable Function
|
||||
39(s2i): 38(ptr) Variable Function
|
||||
48(s2): 38(ptr) Variable Function
|
||||
54(a8): 53(ptr) Variable Function
|
||||
57(a9): 53(ptr) Variable Function
|
||||
62(a2): 61(ptr) Variable Function
|
||||
67(s2i): 66(ptr) Variable Function
|
||||
76(s2): 66(ptr) Variable Function
|
||||
82(a8): 81(ptr) Variable Function
|
||||
85(a9): 81(ptr) Variable Function
|
||||
Store 9(a1) 13
|
||||
Store 14(b1) 19
|
||||
Store 20(a1i) 13
|
||||
@ -347,23 +453,28 @@ gl_FragCoord origin is upper left
|
||||
Store 27(b4) 28
|
||||
Store 29(a5) 11
|
||||
Store 30(c5) 31
|
||||
Store 33(a2) 34
|
||||
41: 6(float) Load 29(a5)
|
||||
44: 6(float) Load 43(a4)
|
||||
46: 36(S1) CompositeConstruct 44 45
|
||||
47: 37(S2) CompositeConstruct 40 41 46
|
||||
Store 39(s2i) 47
|
||||
49: 6(float) Load 29(a5)
|
||||
50: 6(float) Load 43(a4)
|
||||
51: 36(S1) CompositeConstruct 50 45
|
||||
52: 37(S2) CompositeConstruct 40 49 51
|
||||
Store 48(s2) 52
|
||||
56: 6(float) Load 55(b2)
|
||||
Store 54(a8) 56
|
||||
58: 6(float) Load 29(a5)
|
||||
Store 57(a9) 58
|
||||
61: 7(fvec4) Load 60(input)
|
||||
62: 7(fvec4) Load 9(a1)
|
||||
63: 7(fvec4) FMul 61 62
|
||||
ReturnValue 63
|
||||
Store 35(single1) 37
|
||||
Store 42(single2) 46
|
||||
Store 49(single3) 52
|
||||
Store 55(single4) 60
|
||||
Store 62(a2) 63
|
||||
69: 6(float) Load 29(a5)
|
||||
72: 6(float) Load 71(a4)
|
||||
74: 64(S1) CompositeConstruct 72 73
|
||||
75: 65(S2) CompositeConstruct 68 69 74
|
||||
Store 67(s2i) 75
|
||||
77: 6(float) Load 29(a5)
|
||||
78: 6(float) Load 71(a4)
|
||||
79: 64(S1) CompositeConstruct 78 73
|
||||
80: 65(S2) CompositeConstruct 68 77 79
|
||||
Store 76(s2) 80
|
||||
84: 6(float) Load 83(b2)
|
||||
Store 82(a8) 84
|
||||
86: 6(float) Load 29(a5)
|
||||
Store 85(a9) 86
|
||||
91: 7(fvec4) Load 90(input)
|
||||
92: 7(fvec4) Load 9(a1)
|
||||
93: 7(fvec4) FMul 91 92
|
||||
Store 88(@entryPointOutput) 93
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
197
Test/baseResults/hlsl.init2.frag.out
Normal file
197
Test/baseResults/hlsl.init2.frag.out
Normal file
@ -0,0 +1,197 @@
|
||||
hlsl.init2.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:3 Function Definition: Test1( (temp void)
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (temp structure{temp 2-component vector of float a})
|
||||
0:5 'test1' (temp structure{temp 2-component vector of float a})
|
||||
0:5 Constant:
|
||||
0:5 1.000000
|
||||
0:5 2.000000
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp structure{temp 2-component vector of float a})
|
||||
0:9 'test2' (temp structure{temp 2-component vector of float a})
|
||||
0:9 Constant:
|
||||
0:9 3.000000
|
||||
0:9 4.000000
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp float)
|
||||
0:17 'test4' (temp float)
|
||||
0:17 Constant:
|
||||
0:17 7.000000
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp structure{temp float a, temp float b, temp float c})
|
||||
0:20 'test5' (temp structure{temp float a, temp float b, temp float c})
|
||||
0:20 Constant:
|
||||
0:20 8.000000
|
||||
0:20 9.000000
|
||||
0:20 10.000000
|
||||
0:26 Function Definition: main( (temp structure{temp 4-component vector of float color})
|
||||
0:26 Function Parameters:
|
||||
0:? Sequence
|
||||
0:27 Function Call: Test1( (temp void)
|
||||
0:30 move second child to first child (temp 4-component vector of float)
|
||||
0:30 color: direct index for structure (temp 4-component vector of float)
|
||||
0:30 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 Constant:
|
||||
0:30 1.000000
|
||||
0:30 1.000000
|
||||
0:30 1.000000
|
||||
0:30 1.000000
|
||||
0:31 Sequence
|
||||
0:31 Sequence
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:31 color: direct index for structure (temp 4-component vector of float)
|
||||
0:31 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:3 Function Definition: Test1( (temp void)
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (temp structure{temp 2-component vector of float a})
|
||||
0:5 'test1' (temp structure{temp 2-component vector of float a})
|
||||
0:5 Constant:
|
||||
0:5 1.000000
|
||||
0:5 2.000000
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp structure{temp 2-component vector of float a})
|
||||
0:9 'test2' (temp structure{temp 2-component vector of float a})
|
||||
0:9 Constant:
|
||||
0:9 3.000000
|
||||
0:9 4.000000
|
||||
0:17 Sequence
|
||||
0:17 move second child to first child (temp float)
|
||||
0:17 'test4' (temp float)
|
||||
0:17 Constant:
|
||||
0:17 7.000000
|
||||
0:20 Sequence
|
||||
0:20 move second child to first child (temp structure{temp float a, temp float b, temp float c})
|
||||
0:20 'test5' (temp structure{temp float a, temp float b, temp float c})
|
||||
0:20 Constant:
|
||||
0:20 8.000000
|
||||
0:20 9.000000
|
||||
0:20 10.000000
|
||||
0:26 Function Definition: main( (temp structure{temp 4-component vector of float color})
|
||||
0:26 Function Parameters:
|
||||
0:? Sequence
|
||||
0:27 Function Call: Test1( (temp void)
|
||||
0:30 move second child to first child (temp 4-component vector of float)
|
||||
0:30 color: direct index for structure (temp 4-component vector of float)
|
||||
0:30 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:30 Constant:
|
||||
0:30 0 (const int)
|
||||
0:30 Constant:
|
||||
0:30 1.000000
|
||||
0:30 1.000000
|
||||
0:30 1.000000
|
||||
0:30 1.000000
|
||||
0:31 Sequence
|
||||
0:31 Sequence
|
||||
0:31 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:31 color: direct index for structure (temp 4-component vector of float)
|
||||
0:31 'ps_output' (temp structure{temp 4-component vector of float color})
|
||||
0:31 Constant:
|
||||
0:31 0 (const int)
|
||||
0:31 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 47
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 43
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 6 "Test1("
|
||||
Name 10 "mystruct"
|
||||
MemberName 10(mystruct) 0 "a"
|
||||
Name 12 "test1"
|
||||
Name 17 "test2"
|
||||
Name 23 "test4"
|
||||
Name 25 "mystruct2"
|
||||
MemberName 25(mystruct2) 0 "a"
|
||||
MemberName 25(mystruct2) 1 "b"
|
||||
MemberName 25(mystruct2) 2 "c"
|
||||
Name 27 "test5"
|
||||
Name 34 "PS_OUTPUT"
|
||||
MemberName 34(PS_OUTPUT) 0 "color"
|
||||
Name 36 "ps_output"
|
||||
Name 43 "color"
|
||||
Decorate 43(color) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
8: TypeFloat 32
|
||||
9: TypeVector 8(float) 2
|
||||
10(mystruct): TypeStruct 9(fvec2)
|
||||
11: TypePointer Function 10(mystruct)
|
||||
13: 8(float) Constant 1065353216
|
||||
14: 8(float) Constant 1073741824
|
||||
15: 9(fvec2) ConstantComposite 13 14
|
||||
16:10(mystruct) ConstantComposite 15
|
||||
18: 8(float) Constant 1077936128
|
||||
19: 8(float) Constant 1082130432
|
||||
20: 9(fvec2) ConstantComposite 18 19
|
||||
21:10(mystruct) ConstantComposite 20
|
||||
22: TypePointer Function 8(float)
|
||||
24: 8(float) Constant 1088421888
|
||||
25(mystruct2): TypeStruct 8(float) 8(float) 8(float)
|
||||
26: TypePointer Function 25(mystruct2)
|
||||
28: 8(float) Constant 1090519040
|
||||
29: 8(float) Constant 1091567616
|
||||
30: 8(float) Constant 1092616192
|
||||
31:25(mystruct2) ConstantComposite 28 29 30
|
||||
33: TypeVector 8(float) 4
|
||||
34(PS_OUTPUT): TypeStruct 33(fvec4)
|
||||
35: TypePointer Function 34(PS_OUTPUT)
|
||||
37: TypeInt 32 1
|
||||
38: 37(int) Constant 0
|
||||
39: 33(fvec4) ConstantComposite 13 13 13 13
|
||||
40: TypePointer Function 33(fvec4)
|
||||
42: TypePointer Output 33(fvec4)
|
||||
43(color): 42(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
36(ps_output): 35(ptr) Variable Function
|
||||
32: 2 FunctionCall 6(Test1()
|
||||
41: 40(ptr) AccessChain 36(ps_output) 38
|
||||
Store 41 39
|
||||
44: 40(ptr) AccessChain 36(ps_output) 38
|
||||
45: 33(fvec4) Load 44
|
||||
Store 43(color) 45
|
||||
Return
|
||||
FunctionEnd
|
||||
6(Test1(): 2 Function None 3
|
||||
7: Label
|
||||
12(test1): 11(ptr) Variable Function
|
||||
17(test2): 11(ptr) Variable Function
|
||||
23(test4): 22(ptr) Variable Function
|
||||
27(test5): 26(ptr) Variable Function
|
||||
Store 12(test1) 16
|
||||
Store 17(test2) 21
|
||||
Store 23(test4) 24
|
||||
Store 27(test5) 31
|
||||
Return
|
||||
FunctionEnd
|
||||
272
Test/baseResults/hlsl.inoutquals.frag.out
Normal file
272
Test/baseResults/hlsl.inoutquals.frag.out
Normal file
@ -0,0 +1,272 @@
|
||||
hlsl.inoutquals.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:8 Function Definition: MyFunc(f1;f1;f1; (temp void)
|
||||
0:8 Function Parameters:
|
||||
0:8 'x' (in float)
|
||||
0:8 'y' (out float)
|
||||
0:8 'z' (inout float)
|
||||
0:? Sequence
|
||||
0:9 move second child to first child (temp float)
|
||||
0:9 'y' (out float)
|
||||
0:9 'x' (in float)
|
||||
0:10 move second child to first child (temp float)
|
||||
0:10 'z' (inout float)
|
||||
0:10 'y' (out float)
|
||||
0:11 move second child to first child (temp float)
|
||||
0:11 'x' (in float)
|
||||
0:11 Constant:
|
||||
0:11 -1.000000
|
||||
0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:15 Function Parameters:
|
||||
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
|
||||
0:15 'sampleMask' (out int SampleMaskIn)
|
||||
0:? Sequence
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child (temp float)
|
||||
0:18 'x' (temp float)
|
||||
0:18 Constant:
|
||||
0:18 7.000000
|
||||
0:18 move second child to first child (temp float)
|
||||
0:18 'z' (temp float)
|
||||
0:18 Constant:
|
||||
0:18 3.000000
|
||||
0:19 Function Call: MyFunc(f1;f1;f1; (temp void)
|
||||
0:19 'x' (temp float)
|
||||
0:19 'y' (temp float)
|
||||
0:19 'z' (temp float)
|
||||
0:21 move second child to first child (temp 4-component vector of float)
|
||||
0:21 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:21 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:? Construct vec4 (temp 4-component vector of float)
|
||||
0:21 'x' (temp float)
|
||||
0:21 'y' (temp float)
|
||||
0:21 'z' (temp float)
|
||||
0:21 Constant:
|
||||
0:21 1.000000
|
||||
0:22 move second child to first child (temp float)
|
||||
0:22 Depth: direct index for structure (temp float)
|
||||
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 direct index (temp float)
|
||||
0:22 'inpos' (noperspective in 4-component vector of float FragCoord)
|
||||
0:22 Constant:
|
||||
0:22 3 (const int)
|
||||
0:24 Sequence
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:24 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:24 Depth: direct index for structure (temp float)
|
||||
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
|
||||
0:? 'sampleMask' (out int SampleMaskIn)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:8 Function Definition: MyFunc(f1;f1;f1; (temp void)
|
||||
0:8 Function Parameters:
|
||||
0:8 'x' (in float)
|
||||
0:8 'y' (out float)
|
||||
0:8 'z' (inout float)
|
||||
0:? Sequence
|
||||
0:9 move second child to first child (temp float)
|
||||
0:9 'y' (out float)
|
||||
0:9 'x' (in float)
|
||||
0:10 move second child to first child (temp float)
|
||||
0:10 'z' (inout float)
|
||||
0:10 'y' (out float)
|
||||
0:11 move second child to first child (temp float)
|
||||
0:11 'x' (in float)
|
||||
0:11 Constant:
|
||||
0:11 -1.000000
|
||||
0:15 Function Definition: main(vf4;i1; (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:15 Function Parameters:
|
||||
0:15 'inpos' (noperspective in 4-component vector of float FragCoord)
|
||||
0:15 'sampleMask' (out int SampleMaskIn)
|
||||
0:? Sequence
|
||||
0:18 Sequence
|
||||
0:18 move second child to first child (temp float)
|
||||
0:18 'x' (temp float)
|
||||
0:18 Constant:
|
||||
0:18 7.000000
|
||||
0:18 move second child to first child (temp float)
|
||||
0:18 'z' (temp float)
|
||||
0:18 Constant:
|
||||
0:18 3.000000
|
||||
0:19 Function Call: MyFunc(f1;f1;f1; (temp void)
|
||||
0:19 'x' (temp float)
|
||||
0:19 'y' (temp float)
|
||||
0:19 'z' (temp float)
|
||||
0:21 move second child to first child (temp 4-component vector of float)
|
||||
0:21 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:21 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:21 Constant:
|
||||
0:21 0 (const int)
|
||||
0:? Construct vec4 (temp 4-component vector of float)
|
||||
0:21 'x' (temp float)
|
||||
0:21 'y' (temp float)
|
||||
0:21 'z' (temp float)
|
||||
0:21 Constant:
|
||||
0:21 1.000000
|
||||
0:22 move second child to first child (temp float)
|
||||
0:22 Depth: direct index for structure (temp float)
|
||||
0:22 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:22 Constant:
|
||||
0:22 1 (const int)
|
||||
0:22 direct index (temp float)
|
||||
0:22 'inpos' (noperspective in 4-component vector of float FragCoord)
|
||||
0:22 Constant:
|
||||
0:22 3 (const int)
|
||||
0:24 Sequence
|
||||
0:24 Sequence
|
||||
0:24 move second child to first child (temp 4-component vector of float)
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:24 Color: direct index for structure (temp 4-component vector of float)
|
||||
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Constant:
|
||||
0:24 0 (const int)
|
||||
0:24 move second child to first child (temp float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:24 Depth: direct index for structure (temp float)
|
||||
0:24 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'Depth' (out float FragDepth)
|
||||
0:? 'inpos' (noperspective in 4-component vector of float FragCoord)
|
||||
0:? 'sampleMask' (out int SampleMaskIn)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 63
|
||||
|
||||
Capability Shader
|
||||
Capability SampleRateShading
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 45 53 57 62
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Name 4 "main"
|
||||
Name 12 "MyFunc(f1;f1;f1;"
|
||||
Name 9 "x"
|
||||
Name 10 "y"
|
||||
Name 11 "z"
|
||||
Name 17 "x"
|
||||
Name 19 "z"
|
||||
Name 21 "y"
|
||||
Name 22 "param"
|
||||
Name 24 "param"
|
||||
Name 25 "param"
|
||||
Name 31 "PS_OUTPUT"
|
||||
MemberName 31(PS_OUTPUT) 0 "Color"
|
||||
MemberName 31(PS_OUTPUT) 1 "Depth"
|
||||
Name 33 "psout"
|
||||
Name 45 "inpos"
|
||||
Name 53 "Color"
|
||||
Name 57 "Depth"
|
||||
Name 62 "sampleMask"
|
||||
Decorate 45(inpos) NoPerspective
|
||||
Decorate 45(inpos) BuiltIn FragCoord
|
||||
Decorate 53(Color) Location 0
|
||||
Decorate 57(Depth) BuiltIn FragDepth
|
||||
Decorate 62(sampleMask) BuiltIn SampleMask
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypePointer Function 6(float)
|
||||
8: TypeFunction 2 7(ptr) 7(ptr) 7(ptr)
|
||||
16: 6(float) Constant 3212836864
|
||||
18: 6(float) Constant 1088421888
|
||||
20: 6(float) Constant 1077936128
|
||||
30: TypeVector 6(float) 4
|
||||
31(PS_OUTPUT): TypeStruct 30(fvec4) 6(float)
|
||||
32: TypePointer Function 31(PS_OUTPUT)
|
||||
34: TypeInt 32 1
|
||||
35: 34(int) Constant 0
|
||||
39: 6(float) Constant 1065353216
|
||||
41: TypePointer Function 30(fvec4)
|
||||
43: 34(int) Constant 1
|
||||
44: TypePointer Input 30(fvec4)
|
||||
45(inpos): 44(ptr) Variable Input
|
||||
46: TypeInt 32 0
|
||||
47: 46(int) Constant 3
|
||||
48: TypePointer Input 6(float)
|
||||
52: TypePointer Output 30(fvec4)
|
||||
53(Color): 52(ptr) Variable Output
|
||||
56: TypePointer Output 6(float)
|
||||
57(Depth): 56(ptr) Variable Output
|
||||
61: TypePointer Output 34(int)
|
||||
62(sampleMask): 61(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17(x): 7(ptr) Variable Function
|
||||
19(z): 7(ptr) Variable Function
|
||||
21(y): 7(ptr) Variable Function
|
||||
22(param): 7(ptr) Variable Function
|
||||
24(param): 7(ptr) Variable Function
|
||||
25(param): 7(ptr) Variable Function
|
||||
33(psout): 32(ptr) Variable Function
|
||||
Store 17(x) 18
|
||||
Store 19(z) 20
|
||||
23: 6(float) Load 17(x)
|
||||
Store 22(param) 23
|
||||
26: 6(float) Load 19(z)
|
||||
Store 25(param) 26
|
||||
27: 2 FunctionCall 12(MyFunc(f1;f1;f1;) 22(param) 24(param) 25(param)
|
||||
28: 6(float) Load 24(param)
|
||||
Store 21(y) 28
|
||||
29: 6(float) Load 25(param)
|
||||
Store 19(z) 29
|
||||
36: 6(float) Load 17(x)
|
||||
37: 6(float) Load 21(y)
|
||||
38: 6(float) Load 19(z)
|
||||
40: 30(fvec4) CompositeConstruct 36 37 38 39
|
||||
42: 41(ptr) AccessChain 33(psout) 35
|
||||
Store 42 40
|
||||
49: 48(ptr) AccessChain 45(inpos) 47
|
||||
50: 6(float) Load 49
|
||||
51: 7(ptr) AccessChain 33(psout) 43
|
||||
Store 51 50
|
||||
54: 41(ptr) AccessChain 33(psout) 35
|
||||
55: 30(fvec4) Load 54
|
||||
Store 53(Color) 55
|
||||
58: 7(ptr) AccessChain 33(psout) 43
|
||||
59: 6(float) Load 58
|
||||
Store 57(Depth) 59
|
||||
Return
|
||||
FunctionEnd
|
||||
12(MyFunc(f1;f1;f1;): 2 Function None 8
|
||||
9(x): 7(ptr) FunctionParameter
|
||||
10(y): 7(ptr) FunctionParameter
|
||||
11(z): 7(ptr) FunctionParameter
|
||||
13: Label
|
||||
14: 6(float) Load 9(x)
|
||||
Store 10(y) 14
|
||||
15: 6(float) Load 10(y)
|
||||
Store 11(z) 15
|
||||
Store 9(x) 16
|
||||
Return
|
||||
FunctionEnd
|
||||
@ -2,7 +2,7 @@ hlsl.intrinsics.barriers.comp
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:14 Function Definition: ComputeShaderFunction( (global float)
|
||||
0:3 Function Definition: ComputeShaderFunction( (temp float)
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
0:4 MemoryBarrier (global void)
|
||||
@ -11,10 +11,14 @@ local_size = (1, 1, 1)
|
||||
0:7 GroupMemoryBarrierWithGroupSync (global void)
|
||||
0:8 WorkgroupMemoryBarrier (global void)
|
||||
0:9 WorkgroupMemoryBarrierWithGroupSync (global void)
|
||||
0:11 Branch: Return with expression
|
||||
0:11 Sequence
|
||||
0:11 move second child to first child (temp float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
0:11 Constant:
|
||||
0:11 0.000000
|
||||
0:11 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
@ -23,7 +27,7 @@ Linked compute stage:
|
||||
Shader version: 450
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:14 Function Definition: ComputeShaderFunction( (global float)
|
||||
0:3 Function Definition: ComputeShaderFunction( (temp float)
|
||||
0:3 Function Parameters:
|
||||
0:? Sequence
|
||||
0:4 MemoryBarrier (global void)
|
||||
@ -32,22 +36,27 @@ local_size = (1, 1, 1)
|
||||
0:7 GroupMemoryBarrierWithGroupSync (global void)
|
||||
0:8 WorkgroupMemoryBarrier (global void)
|
||||
0:9 WorkgroupMemoryBarrierWithGroupSync (global void)
|
||||
0:11 Branch: Return with expression
|
||||
0:11 Sequence
|
||||
0:11 move second child to first child (temp float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
0:11 Constant:
|
||||
0:11 0.000000
|
||||
0:11 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 15
|
||||
// Id's are bound by 17
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "ComputeShaderFunction"
|
||||
EntryPoint GLCompute 4 "ComputeShaderFunction" 14
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source HLSL 450
|
||||
Name 4 "ComputeShaderFunction"
|
||||
Name 14 "@entryPointOutput"
|
||||
Decorate 14(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
@ -57,7 +66,9 @@ local_size = (1, 1, 1)
|
||||
10: 6(int) Constant 2
|
||||
11: 6(int) Constant 256
|
||||
12: TypeFloat 32
|
||||
13: 12(float) Constant 0
|
||||
13: TypePointer Output 12(float)
|
||||
14(@entryPointOutput): 13(ptr) Variable Output
|
||||
15: 12(float) Constant 0
|
||||
4(ComputeShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
MemoryBarrier 7 8
|
||||
@ -66,5 +77,6 @@ local_size = (1, 1, 1)
|
||||
ControlBarrier 7 7 9
|
||||
MemoryBarrier 10 11
|
||||
ControlBarrier 10 10 11
|
||||
ReturnValue 13
|
||||
Store 14(@entryPointOutput) 15
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -2,35 +2,47 @@ hlsl.intrinsics.double.frag
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:12 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (global float)
|
||||
0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
|
||||
0:5 Function Parameters:
|
||||
0:5 'inDV1a' (in double)
|
||||
0:5 'inDV1b' (in double)
|
||||
0:5 'inDV1c' (in double)
|
||||
0:5 'inDV2' (in 2-component vector of double)
|
||||
0:5 'inDV3' (in 3-component vector of double)
|
||||
0:5 'inDV4' (in 4-component vector of double)
|
||||
0:5 'inU1a' (in uint)
|
||||
0:5 'inU1b' (in uint)
|
||||
0:5 'inDV1a' (layout(location=0 ) in double)
|
||||
0:5 'inDV1b' (layout(location=1 ) in double)
|
||||
0:5 'inDV1c' (layout(location=2 ) in double)
|
||||
0:5 'inDV2' (layout(location=3 ) in 2-component vector of double)
|
||||
0:5 'inDV3' (layout(location=4 ) in 3-component vector of double)
|
||||
0:5 'inDV4' (layout(location=6 ) in 4-component vector of double)
|
||||
0:5 'inU1a' (layout(location=8 ) in uint)
|
||||
0:5 'inU1b' (layout(location=9 ) in uint)
|
||||
0:? Sequence
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp double)
|
||||
0:6 'r00' (temp double)
|
||||
0:6 fma (global double)
|
||||
0:6 'inDV1a' (in double)
|
||||
0:6 'inDV1b' (in double)
|
||||
0:6 'inDV1c' (in double)
|
||||
0:6 'inDV1a' (layout(location=0 ) in double)
|
||||
0:6 'inDV1b' (layout(location=1 ) in double)
|
||||
0:6 'inDV1c' (layout(location=2 ) in double)
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child (temp double)
|
||||
0:7 'r01' (temp double)
|
||||
0:7 uint64BitsToDouble (temp double)
|
||||
0:7 Construct uvec2 (temp 2-component vector of uint)
|
||||
0:7 'inU1a' (in uint)
|
||||
0:7 'inU1b' (in uint)
|
||||
0:9 Branch: Return with expression
|
||||
0:7 'inU1a' (layout(location=8 ) in uint)
|
||||
0:7 'inU1b' (layout(location=9 ) in uint)
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
0:9 Constant:
|
||||
0:9 0.000000
|
||||
0:9 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
0:? 'inDV1a' (layout(location=0 ) in double)
|
||||
0:? 'inDV1b' (layout(location=1 ) in double)
|
||||
0:? 'inDV1c' (layout(location=2 ) in double)
|
||||
0:? 'inDV2' (layout(location=3 ) in 2-component vector of double)
|
||||
0:? 'inDV3' (layout(location=4 ) in 3-component vector of double)
|
||||
0:? 'inDV4' (layout(location=6 ) in 4-component vector of double)
|
||||
0:? 'inU1a' (layout(location=8 ) in uint)
|
||||
0:? 'inU1b' (layout(location=9 ) in uint)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -39,47 +51,58 @@ Linked fragment stage:
|
||||
Shader version: 450
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:12 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (global float)
|
||||
0:5 Function Definition: PixelShaderFunction(d1;d1;d1;vd2;vd3;vd4;u1;u1; (temp float)
|
||||
0:5 Function Parameters:
|
||||
0:5 'inDV1a' (in double)
|
||||
0:5 'inDV1b' (in double)
|
||||
0:5 'inDV1c' (in double)
|
||||
0:5 'inDV2' (in 2-component vector of double)
|
||||
0:5 'inDV3' (in 3-component vector of double)
|
||||
0:5 'inDV4' (in 4-component vector of double)
|
||||
0:5 'inU1a' (in uint)
|
||||
0:5 'inU1b' (in uint)
|
||||
0:5 'inDV1a' (layout(location=0 ) in double)
|
||||
0:5 'inDV1b' (layout(location=1 ) in double)
|
||||
0:5 'inDV1c' (layout(location=2 ) in double)
|
||||
0:5 'inDV2' (layout(location=3 ) in 2-component vector of double)
|
||||
0:5 'inDV3' (layout(location=4 ) in 3-component vector of double)
|
||||
0:5 'inDV4' (layout(location=6 ) in 4-component vector of double)
|
||||
0:5 'inU1a' (layout(location=8 ) in uint)
|
||||
0:5 'inU1b' (layout(location=9 ) in uint)
|
||||
0:? Sequence
|
||||
0:6 Sequence
|
||||
0:6 move second child to first child (temp double)
|
||||
0:6 'r00' (temp double)
|
||||
0:6 fma (global double)
|
||||
0:6 'inDV1a' (in double)
|
||||
0:6 'inDV1b' (in double)
|
||||
0:6 'inDV1c' (in double)
|
||||
0:6 'inDV1a' (layout(location=0 ) in double)
|
||||
0:6 'inDV1b' (layout(location=1 ) in double)
|
||||
0:6 'inDV1c' (layout(location=2 ) in double)
|
||||
0:7 Sequence
|
||||
0:7 move second child to first child (temp double)
|
||||
0:7 'r01' (temp double)
|
||||
0:7 uint64BitsToDouble (temp double)
|
||||
0:7 Construct uvec2 (temp 2-component vector of uint)
|
||||
0:7 'inU1a' (in uint)
|
||||
0:7 'inU1b' (in uint)
|
||||
0:9 Branch: Return with expression
|
||||
0:7 'inU1a' (layout(location=8 ) in uint)
|
||||
0:7 'inU1b' (layout(location=9 ) in uint)
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp float)
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
0:9 Constant:
|
||||
0:9 0.000000
|
||||
0:9 Branch: Return
|
||||
0:? Linker Objects
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out float)
|
||||
0:? 'inDV1a' (layout(location=0 ) in double)
|
||||
0:? 'inDV1b' (layout(location=1 ) in double)
|
||||
0:? 'inDV1c' (layout(location=2 ) in double)
|
||||
0:? 'inDV2' (layout(location=3 ) in 2-component vector of double)
|
||||
0:? 'inDV3' (layout(location=4 ) in 3-component vector of double)
|
||||
0:? 'inDV4' (layout(location=6 ) in 4-component vector of double)
|
||||
0:? 'inU1a' (layout(location=8 ) in uint)
|
||||
0:? 'inU1b' (layout(location=9 ) in uint)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 30
|
||||
// Id's are bound by 41
|
||||
|
||||
Capability Shader
|
||||
Capability Float64
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 10 12 14 20 22 29 34 37 40
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 450
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "r00"
|
||||
Name 10 "inDV1a"
|
||||
@ -88,6 +111,19 @@ gl_FragCoord origin is upper left
|
||||
Name 17 "r01"
|
||||
Name 20 "inU1a"
|
||||
Name 22 "inU1b"
|
||||
Name 29 "@entryPointOutput"
|
||||
Name 34 "inDV2"
|
||||
Name 37 "inDV3"
|
||||
Name 40 "inDV4"
|
||||
Decorate 10(inDV1a) Location 0
|
||||
Decorate 12(inDV1b) Location 1
|
||||
Decorate 14(inDV1c) Location 2
|
||||
Decorate 20(inU1a) Location 8
|
||||
Decorate 22(inU1b) Location 9
|
||||
Decorate 29(@entryPointOutput) Location 0
|
||||
Decorate 34(inDV2) Location 3
|
||||
Decorate 37(inDV3) Location 4
|
||||
Decorate 40(inDV4) Location 6
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 64
|
||||
@ -102,7 +138,18 @@ gl_FragCoord origin is upper left
|
||||
22(inU1b): 19(ptr) Variable Input
|
||||
24: TypeVector 18(int) 2
|
||||
27: TypeFloat 32
|
||||
28: 27(float) Constant 0
|
||||
28: TypePointer Output 27(float)
|
||||
29(@entryPointOutput): 28(ptr) Variable Output
|
||||
30: 27(float) Constant 0
|
||||
32: TypeVector 6(float) 2
|
||||
33: TypePointer Input 32(fvec2)
|
||||
34(inDV2): 33(ptr) Variable Input
|
||||
35: TypeVector 6(float) 3
|
||||
36: TypePointer Input 35(fvec3)
|
||||
37(inDV3): 36(ptr) Variable Input
|
||||
38: TypeVector 6(float) 4
|
||||
39: TypePointer Input 38(fvec4)
|
||||
40(inDV4): 39(ptr) Variable Input
|
||||
4(PixelShaderFunction): 2 Function None 3
|
||||
5: Label
|
||||
8(r00): 7(ptr) Variable Function
|
||||
@ -117,5 +164,6 @@ gl_FragCoord origin is upper left
|
||||
25: 24(ivec2) CompositeConstruct 21 23
|
||||
26: 6(float) Bitcast 25
|
||||
Store 17(r01) 26
|
||||
ReturnValue 28
|
||||
Store 29(@entryPointOutput) 30
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user