commit
e8e138b9e0
33
BUILD.gn
33
BUILD.gn
@ -37,6 +37,8 @@ spirv_tools_dir = glslang_spirv_tools_dir
|
||||
|
||||
config("glslang_public") {
|
||||
include_dirs = [ "." ]
|
||||
|
||||
defines = [ "ENABLE_HLSL=1" ]
|
||||
}
|
||||
|
||||
source_set("glslang_sources") {
|
||||
@ -129,9 +131,25 @@ source_set("glslang_sources") {
|
||||
"glslang/MachineIndependent/reflection.h",
|
||||
"glslang/OSDependent/osinclude.h",
|
||||
"glslang/Public/ShaderLang.h",
|
||||
"hlsl/hlslAttributes.cpp",
|
||||
"hlsl/hlslAttributes.h",
|
||||
"hlsl/hlslGrammar.cpp",
|
||||
"hlsl/hlslGrammar.h",
|
||||
"hlsl/hlslOpMap.cpp",
|
||||
"hlsl/hlslOpMap.h",
|
||||
"hlsl/hlslParseHelper.cpp",
|
||||
"hlsl/hlslParseHelper.h",
|
||||
"hlsl/hlslParseables.cpp",
|
||||
"hlsl/hlslParseables.h",
|
||||
"hlsl/hlslScanContext.cpp",
|
||||
"hlsl/hlslScanContext.h",
|
||||
"hlsl/hlslTokenStream.cpp",
|
||||
"hlsl/hlslTokenStream.h",
|
||||
"hlsl/hlslTokens.h",
|
||||
]
|
||||
|
||||
defines = [ "ENABLE_OPT=1" ]
|
||||
|
||||
if (is_win) {
|
||||
sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
|
||||
defines += [ "GLSLANG_OSINCLUDE_WIN32" ]
|
||||
@ -148,6 +166,7 @@ source_set("glslang_sources") {
|
||||
"-Wno-inconsistent-missing-override",
|
||||
"-Wno-sign-compare",
|
||||
"-Wno-unused-variable",
|
||||
"-Wno-missing-field-initializers",
|
||||
]
|
||||
}
|
||||
if (is_win && !is_clang) {
|
||||
@ -168,7 +187,9 @@ source_set("glslang_default_resource_limits_sources") {
|
||||
"StandAlone/ResourceLimits.cpp",
|
||||
"StandAlone/ResourceLimits.h",
|
||||
]
|
||||
deps = [ ":glslang_sources" ]
|
||||
deps = [
|
||||
":glslang_sources",
|
||||
]
|
||||
public_configs = [ ":glslang_public" ]
|
||||
}
|
||||
|
||||
@ -186,3 +207,13 @@ executable("glslang_validator") {
|
||||
":glslang_sources",
|
||||
]
|
||||
}
|
||||
|
||||
executable("spirv-remap") {
|
||||
sources = [
|
||||
"StandAlone/spirv-remap.cpp",
|
||||
]
|
||||
defines = [ "ENABLE_OPT=1" ]
|
||||
deps = [
|
||||
":glslang_sources",
|
||||
]
|
||||
}
|
||||
|
||||
@ -9,6 +9,9 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
# Adhere to GNU filesystem layout conventions
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# Needed for CMAKE_DEPENDENT_OPTION macro
|
||||
include(CMakeDependentOption)
|
||||
|
||||
option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
|
||||
|
||||
set(LIB_TYPE STATIC)
|
||||
@ -23,12 +26,13 @@ if(NOT ${SKIP_GLSLANG_INSTALL})
|
||||
endif()
|
||||
option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON)
|
||||
|
||||
option(ENABLE_AMD_EXTENSIONS "Enables support of AMD-specific extensions" ON)
|
||||
option(ENABLE_GLSLANG_BINARIES "Builds glslangValidator and spirv-remap" ON)
|
||||
|
||||
option(ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON)
|
||||
option(ENABLE_GLSLANG_WEB "Reduces glslang to minumum needed for web use" OFF)
|
||||
option(ENABLE_EMSCRIPTEN_SINGLE_FILE "If using emscripten, enables SINGLE_FILE build" OFF)
|
||||
option(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE "If using emscripten, builds to run on Node instead of Web" OFF)
|
||||
|
||||
option(ENABLE_HLSL "Enables HLSL input support" ON)
|
||||
CMAKE_DEPENDENT_OPTION(ENABLE_HLSL "Enables HLSL input support" ON "NOT ENABLE_GLSLANG_WEB" OFF)
|
||||
|
||||
option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
|
||||
|
||||
@ -60,18 +64,14 @@ project(glslang)
|
||||
# make testing optional
|
||||
include(CTest)
|
||||
|
||||
if(ENABLE_AMD_EXTENSIONS)
|
||||
add_definitions(-DAMD_EXTENSIONS)
|
||||
endif(ENABLE_AMD_EXTENSIONS)
|
||||
|
||||
if(ENABLE_NV_EXTENSIONS)
|
||||
add_definitions(-DNV_EXTENSIONS)
|
||||
endif(ENABLE_NV_EXTENSIONS)
|
||||
|
||||
if(ENABLE_HLSL)
|
||||
add_definitions(-DENABLE_HLSL)
|
||||
endif(ENABLE_HLSL)
|
||||
|
||||
if(ENABLE_GLSLANG_WEB)
|
||||
add_definitions(-DGLSLANG_WEB)
|
||||
endif(ENABLE_GLSLANG_WEB)
|
||||
|
||||
if(WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
if(MSVC)
|
||||
@ -88,12 +88,49 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
|
||||
add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
|
||||
-Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions)
|
||||
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over.
|
||||
add_compile_options(-fno-rtti)
|
||||
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||
add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
|
||||
-Wunused-parameter -Wunused-value -Wunused-variable)
|
||||
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over.
|
||||
add_compile_options(-fno-rtti)
|
||||
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC")
|
||||
add_compile_options(/GR-) # Disable RTTI
|
||||
endif()
|
||||
|
||||
if(ENABLE_GLSLANG_WEB)
|
||||
if(EMSCRIPTEN)
|
||||
add_compile_options(-Os -fno-exceptions)
|
||||
add_compile_options("SHELL: -s WASM=1")
|
||||
add_compile_options("SHELL: -s WASM_OBJECT_FILES=0")
|
||||
add_link_options(-Os)
|
||||
add_link_options("SHELL: -s FILESYSTEM=0")
|
||||
add_link_options("SHELL: --llvm-lto 1")
|
||||
add_link_options("SHELL: --closure 1")
|
||||
add_link_options("SHELL: -s ALLOW_MEMORY_GROWTH=1")
|
||||
|
||||
add_link_options("SHELL: -s MODULARIZE=1")
|
||||
if(ENABLE_EMSCRIPTEN_SINGLE_FILE)
|
||||
add_link_options("SHELL: -s SINGLE_FILE=1")
|
||||
endif(ENABLE_EMSCRIPTEN_SINGLE_FILE)
|
||||
|
||||
if(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE)
|
||||
add_link_options("SHELL: -s ENVIRONMENT=node")
|
||||
add_link_options("SHELL: -s BINARYEN_ASYNC_COMPILATION=0")
|
||||
else()
|
||||
add_link_options("SHELL: -s ENVIRONMENT=web,worker")
|
||||
add_link_options("SHELL: -s EXPORT_ES6=1")
|
||||
endif()
|
||||
else()
|
||||
if(MSVC)
|
||||
add_compile_options(/Os /GR-)
|
||||
else()
|
||||
add_compile_options(-Os -fno-exceptions)
|
||||
add_link_options(-Os)
|
||||
endif()
|
||||
endif(EMSCRIPTEN)
|
||||
endif(ENABLE_GLSLANG_WEB)
|
||||
|
||||
# Request C++11
|
||||
if(${CMAKE_VERSION} VERSION_LESS 3.1)
|
||||
# CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD
|
||||
|
||||
0
LICENSE.txt
Executable file → Normal file
0
LICENSE.txt
Executable file → Normal file
41
README.md
41
README.md
@ -155,13 +155,36 @@ changes are quite infrequent. For windows you can get binaries from
|
||||
The command to rebuild is:
|
||||
|
||||
```bash
|
||||
m4 -P MachineIndependent/glslang.m4 > MachineIndependent/glslang.y
|
||||
bison --defines=MachineIndependent/glslang_tab.cpp.h
|
||||
-t MachineIndependent/glslang.y
|
||||
-o MachineIndependent/glslang_tab.cpp
|
||||
```
|
||||
|
||||
The above command is also available in the bash script at
|
||||
`glslang/updateGrammar`.
|
||||
The above commands are also available in the bash script in `updateGrammar`,
|
||||
when executed from the glslang subdirectory of the glslang repository.
|
||||
With no arguments it builds the full grammar, and with a "web" argument,
|
||||
the web grammar subset (see more about the web subset in the next section).
|
||||
|
||||
### WASM for the the Web
|
||||
|
||||
Use the steps in [Build Steps](#build-steps), which following notes/exceptions:
|
||||
* For building the web subset of core glslang:
|
||||
+ `m4` also needs a `-DGLSLANG_WEB` argument, or simply execute `updateGrammar web` from the glslang subdirectory
|
||||
+ turn off the CMAKE options for `BUILD_TESTING`, `ENABLE_OPT`, and `INSTALL_GTEST`,
|
||||
while turning on `ENABLE_GLSLANG_WEB`
|
||||
* `emsdk` needs to be present in your executable search path, *PATH* for
|
||||
Bash-like enivironments
|
||||
+ Instructions located
|
||||
[here](https://emscripten.org/docs/getting_started/downloads.html#sdk-download-and-install)
|
||||
* Do not checkout SPIRV-Tools into `External`
|
||||
+ Does not work correctly with emscripten out of the box and we don't want it
|
||||
in the build anyway. *TBD* Have build ignore SPIRV-Tools for web build
|
||||
* Wrap call to `cmake` using `emconfigure` with ENABLE_GLSLANG_WEB=ON:
|
||||
+ e.g. For Linux, `emconfigure cmake -DCMAKE_BUILD_TYPE=Release
|
||||
-DENABLE_GLSLANG_WEB=ON -DCMAKE_INSTALL_PREFIX="$(pwd)/install" ..`
|
||||
* To get a 'true' minimized build, make sure to use `brotli` to compress the .js
|
||||
and .wasm files
|
||||
|
||||
Testing
|
||||
-------
|
||||
@ -244,7 +267,8 @@ The `main()` in `StandAlone/StandAlone.cpp` shows examples using both styles.
|
||||
### C++ Class Interface (new, preferred)
|
||||
|
||||
This interface is in roughly the last 1/3 of `ShaderLang.h`. It is in the
|
||||
glslang namespace and contains the following.
|
||||
glslang namespace and contains the following, here with suggested calls
|
||||
for generating SPIR-V:
|
||||
|
||||
```cxx
|
||||
const char* GetEsslVersionString();
|
||||
@ -267,8 +291,17 @@ class TProgram
|
||||
Reflection queries
|
||||
```
|
||||
|
||||
For just validating (not generating code), subsitute these calls:
|
||||
|
||||
```cxx
|
||||
setEnvInput(EShSourceHlsl or EShSourceGlsl, stage, EShClientNone, 0);
|
||||
setEnvClient(EShClientNone, 0);
|
||||
setEnvTarget(EShTargetNone, 0);
|
||||
```
|
||||
|
||||
See `ShaderLang.h` and the usage of it in `StandAlone/StandAlone.cpp` for more
|
||||
details.
|
||||
details. There is a block comment giving more detail above the calls for
|
||||
`setEnvInput, setEnvClient, and setEnvTarget`.
|
||||
|
||||
### C Functional Interface (orignal)
|
||||
|
||||
|
||||
@ -25,24 +25,14 @@ set(HEADERS
|
||||
spvIR.h
|
||||
doc.h
|
||||
SpvTools.h
|
||||
disassemble.h)
|
||||
disassemble.h
|
||||
GLSL.ext.AMD.h
|
||||
GLSL.ext.NV.h)
|
||||
|
||||
set(SPVREMAP_HEADERS
|
||||
SPVRemapper.h
|
||||
doc.h)
|
||||
|
||||
if(ENABLE_AMD_EXTENSIONS)
|
||||
list(APPEND
|
||||
HEADERS
|
||||
GLSL.ext.AMD.h)
|
||||
endif(ENABLE_AMD_EXTENSIONS)
|
||||
|
||||
if(ENABLE_NV_EXTENSIONS)
|
||||
list(APPEND
|
||||
HEADERS
|
||||
GLSL.ext.NV.h)
|
||||
endif(ENABLE_NV_EXTENSIONS)
|
||||
|
||||
add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
|
||||
set_property(TARGET SPIRV PROPERTY FOLDER glslang)
|
||||
set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
@ -34,5 +34,6 @@ static const char* const E_SPV_EXT_shader_stencil_export = "SPV_EXT_shade
|
||||
static const char* const E_SPV_EXT_shader_viewport_index_layer = "SPV_EXT_shader_viewport_index_layer";
|
||||
static const char* const E_SPV_EXT_fragment_fully_covered = "SPV_EXT_fragment_fully_covered";
|
||||
static const char* const E_SPV_EXT_fragment_invocation_density = "SPV_EXT_fragment_invocation_density";
|
||||
static const char* const E_SPV_EXT_demote_to_helper_invocation = "SPV_EXT_demote_to_helper_invocation";
|
||||
|
||||
#endif // #ifndef GLSLextEXT_H
|
||||
|
||||
@ -42,5 +42,6 @@ static const char* const E_SPV_KHR_post_depth_coverage = "SPV_KHR_post_
|
||||
static const char* const E_SPV_KHR_vulkan_memory_model = "SPV_KHR_vulkan_memory_model";
|
||||
static const char* const E_SPV_EXT_physical_storage_buffer = "SPV_EXT_physical_storage_buffer";
|
||||
static const char* const E_SPV_EXT_fragment_shader_interlock = "SPV_EXT_fragment_shader_interlock";
|
||||
static const char* const E_SPV_KHR_shader_clock = "SPV_KHR_shader_clock";
|
||||
|
||||
#endif // #ifndef GLSLextKHR_H
|
||||
|
||||
@ -75,4 +75,7 @@ const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
|
||||
//SPV_NV_cooperative_matrix
|
||||
const char* const E_SPV_NV_cooperative_matrix = "SPV_NV_cooperative_matrix";
|
||||
|
||||
//SPV_NV_shader_sm_builtins
|
||||
const char* const E_SPV_NV_shader_sm_builtins = "SPV_NV_shader_sm_builtins";
|
||||
|
||||
#endif // #ifndef GLSLextNV_H
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -32,6 +32,8 @@
|
||||
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
|
||||
#include "Logger.h"
|
||||
|
||||
#include <algorithm>
|
||||
@ -66,3 +68,5 @@ std::string SpvBuildLogger::getAllMessages() const {
|
||||
}
|
||||
|
||||
} // end spv namespace
|
||||
|
||||
#endif
|
||||
@ -46,6 +46,14 @@ class SpvBuildLogger {
|
||||
public:
|
||||
SpvBuildLogger() {}
|
||||
|
||||
#ifdef GLSLANG_WEB
|
||||
void tbdFunctionality(const std::string& f) { }
|
||||
void missingFunctionality(const std::string& f) { }
|
||||
void warning(const std::string& w) { }
|
||||
void error(const std::string& e) { errors.push_back(e); }
|
||||
std::string getAllMessages() { return ""; }
|
||||
#else
|
||||
|
||||
// Registers a TBD functionality.
|
||||
void tbdFunctionality(const std::string& f);
|
||||
// Registers a missing functionality.
|
||||
@ -59,6 +67,7 @@ public:
|
||||
// Returns all messages accumulated in the order of:
|
||||
// TBD functionalities, missing functionalities, warnings, errors.
|
||||
std::string getAllMessages() const;
|
||||
#endif
|
||||
|
||||
private:
|
||||
SpvBuildLogger(const SpvBuildLogger&);
|
||||
|
||||
@ -195,7 +195,7 @@ private:
|
||||
// Header access & set methods
|
||||
spirword_t magic() const { return spv[0]; } // return magic number
|
||||
spirword_t bound() const { return spv[3]; } // return Id bound from header
|
||||
spirword_t bound(spirword_t b) { return spv[3] = b; };
|
||||
spirword_t bound(spirword_t b) { return spv[3] = b; }
|
||||
spirword_t genmagic() const { return spv[2]; } // generator magic
|
||||
spirword_t genmagic(spirword_t m) { return spv[2] = m; }
|
||||
spirword_t schemaNum() const { return spv[4]; } // schema number from header
|
||||
|
||||
@ -46,7 +46,9 @@
|
||||
|
||||
#include "SpvBuilder.h"
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
#include "hex_float.h"
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <cstdio>
|
||||
@ -230,6 +232,11 @@ Id Builder::makePointerFromForwardPointer(StorageClass storageClass, Id forwardP
|
||||
|
||||
Id Builder::makeIntegerType(int width, bool hasSign)
|
||||
{
|
||||
#ifdef GLSLANG_WEB
|
||||
assert(width == 32);
|
||||
width = 32;
|
||||
#endif
|
||||
|
||||
// try to find it
|
||||
Instruction* type;
|
||||
for (int t = 0; t < (int)groupedTypes[OpTypeInt].size(); ++t) {
|
||||
@ -265,6 +272,11 @@ Id Builder::makeIntegerType(int width, bool hasSign)
|
||||
|
||||
Id Builder::makeFloatType(int width)
|
||||
{
|
||||
#ifdef GLSLANG_WEB
|
||||
assert(width == 32);
|
||||
width = 32;
|
||||
#endif
|
||||
|
||||
// try to find it
|
||||
Instruction* type;
|
||||
for (int t = 0; t < (int)groupedTypes[OpTypeFloat].size(); ++t) {
|
||||
@ -516,6 +528,7 @@ Id Builder::makeImageType(Id sampledType, Dim dim, bool depth, bool arrayed, boo
|
||||
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
|
||||
module.mapInstruction(type);
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
// deal with capabilities
|
||||
switch (dim) {
|
||||
case DimBuffer:
|
||||
@ -561,6 +574,7 @@ Id Builder::makeImageType(Id sampledType, Dim dim, bool depth, bool arrayed, boo
|
||||
addCapability(CapabilityImageMSArray);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return type->getResultId();
|
||||
}
|
||||
@ -586,7 +600,7 @@ Id Builder::makeSampledImageType(Id imageType)
|
||||
return type->getResultId();
|
||||
}
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
#ifndef GLSLANG_WEB
|
||||
Id Builder::makeAccelerationStructureNVType()
|
||||
{
|
||||
Instruction *type;
|
||||
@ -602,6 +616,7 @@ Id Builder::makeAccelerationStructureNVType()
|
||||
return type->getResultId();
|
||||
}
|
||||
#endif
|
||||
|
||||
Id Builder::getDerefTypeId(Id resultId) const
|
||||
{
|
||||
Id typeId = getTypeId(resultId);
|
||||
@ -939,6 +954,10 @@ Id Builder::makeFloatConstant(float f, bool specConstant)
|
||||
|
||||
Id Builder::makeDoubleConstant(double d, bool specConstant)
|
||||
{
|
||||
#ifdef GLSLANG_WEB
|
||||
assert(0);
|
||||
return NoResult;
|
||||
#else
|
||||
Op opcode = specConstant ? OpSpecConstant : OpConstant;
|
||||
Id typeId = makeFloatType(64);
|
||||
union { double db; unsigned long long ull; } u;
|
||||
@ -963,10 +982,15 @@ Id Builder::makeDoubleConstant(double d, bool specConstant)
|
||||
module.mapInstruction(c);
|
||||
|
||||
return c->getResultId();
|
||||
#endif
|
||||
}
|
||||
|
||||
Id Builder::makeFloat16Constant(float f16, bool specConstant)
|
||||
{
|
||||
#ifdef GLSLANG_WEB
|
||||
assert(0);
|
||||
return NoResult;
|
||||
#else
|
||||
Op opcode = specConstant ? OpSpecConstant : OpConstant;
|
||||
Id typeId = makeFloatType(16);
|
||||
|
||||
@ -991,13 +1015,21 @@ Id Builder::makeFloat16Constant(float f16, bool specConstant)
|
||||
module.mapInstruction(c);
|
||||
|
||||
return c->getResultId();
|
||||
#endif
|
||||
}
|
||||
|
||||
Id Builder::makeFpConstant(Id type, double d, bool specConstant)
|
||||
{
|
||||
#ifdef GLSLANG_WEB
|
||||
const int width = 32;
|
||||
assert(width == getScalarTypeWidth(type));
|
||||
#else
|
||||
const int width = getScalarTypeWidth(type);
|
||||
#endif
|
||||
|
||||
assert(isFloatType(type));
|
||||
|
||||
switch (getScalarTypeWidth(type)) {
|
||||
switch (width) {
|
||||
case 16:
|
||||
return makeFloat16Constant((float)d, specConstant);
|
||||
case 32:
|
||||
@ -1825,7 +1857,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
|
||||
if (parameters.component != NoResult)
|
||||
texArgs[numArgs++] = parameters.component;
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
#ifndef GLSLANG_WEB
|
||||
if (parameters.granularity != NoResult)
|
||||
texArgs[numArgs++] = parameters.granularity;
|
||||
if (parameters.coarse != NoResult)
|
||||
@ -1872,6 +1904,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
|
||||
mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetsMask);
|
||||
texArgs[numArgs++] = parameters.offsets;
|
||||
}
|
||||
#ifndef GLSLANG_WEB
|
||||
if (parameters.sample) {
|
||||
mask = (ImageOperandsMask)(mask | ImageOperandsSampleMask);
|
||||
texArgs[numArgs++] = parameters.sample;
|
||||
@ -1889,6 +1922,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
|
||||
if (parameters.volatil) {
|
||||
mask = mask | ImageOperandsVolatileTexelKHRMask;
|
||||
}
|
||||
#endif
|
||||
mask = mask | signExtensionMask;
|
||||
if (mask == ImageOperandsMaskNone)
|
||||
--numArgs; // undo speculative reservation for the mask argument
|
||||
@ -1904,10 +1938,9 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
|
||||
opCode = OpImageSparseFetch;
|
||||
else
|
||||
opCode = OpImageFetch;
|
||||
#ifdef NV_EXTENSIONS
|
||||
#ifndef GLSLANG_WEB
|
||||
} else if (parameters.granularity && parameters.coarse) {
|
||||
opCode = OpImageSampleFootprintNV;
|
||||
#endif
|
||||
} else if (gather) {
|
||||
if (parameters.Dref)
|
||||
if (sparse)
|
||||
@ -1919,6 +1952,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
|
||||
opCode = OpImageSparseGather;
|
||||
else
|
||||
opCode = OpImageGather;
|
||||
#endif
|
||||
} else if (explicitLod) {
|
||||
if (parameters.Dref) {
|
||||
if (proj)
|
||||
@ -2067,11 +2101,7 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter
|
||||
break;
|
||||
}
|
||||
case OpImageQueryLod:
|
||||
#ifdef AMD_EXTENSIONS
|
||||
resultType = makeVectorType(getScalarTypeId(getTypeId(parameters.coords)), 2);
|
||||
#else
|
||||
resultType = makeVectorType(makeFloatType(32), 2);
|
||||
#endif
|
||||
break;
|
||||
case OpImageQueryLevels:
|
||||
case OpImageQuerySamples:
|
||||
@ -2089,6 +2119,7 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter
|
||||
if (parameters.lod)
|
||||
query->addIdOperand(parameters.lod);
|
||||
buildPoint->addInstruction(std::unique_ptr<Instruction>(query));
|
||||
addCapability(CapabilityImageQuery);
|
||||
|
||||
return query->getResultId();
|
||||
}
|
||||
@ -2282,7 +2313,12 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector<Id>&
|
||||
int numRows = getTypeNumRows(resultTypeId);
|
||||
|
||||
Instruction* instr = module.getInstruction(componentTypeId);
|
||||
unsigned bitCount = instr->getImmediateOperand(0);
|
||||
#ifdef GLSLANG_WEB
|
||||
const unsigned bitCount = 32;
|
||||
assert(bitCount == instr->getImmediateOperand(0));
|
||||
#else
|
||||
const unsigned bitCount = instr->getImmediateOperand(0);
|
||||
#endif
|
||||
|
||||
// Optimize matrix constructed from a bigger matrix
|
||||
if (isMatrix(sources[0]) && getNumColumns(sources[0]) >= numCols && getNumRows(sources[0]) >= numRows) {
|
||||
|
||||
@ -201,7 +201,11 @@ public:
|
||||
bool isMatrixType(Id typeId) const { return getTypeClass(typeId) == OpTypeMatrix; }
|
||||
bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; }
|
||||
bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; }
|
||||
#ifdef GLSLANG_WEB
|
||||
bool isCooperativeMatrixType(Id typeId)const { return false; }
|
||||
#else
|
||||
bool isCooperativeMatrixType(Id typeId)const { return getTypeClass(typeId) == OpTypeCooperativeMatrixNV; }
|
||||
#endif
|
||||
bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId) || isCooperativeMatrixType(typeId); }
|
||||
bool isImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeImage; }
|
||||
bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; }
|
||||
@ -557,6 +561,14 @@ public:
|
||||
|
||||
// Accumulate whether anything in the chain of structures has coherent decorations.
|
||||
struct CoherentFlags {
|
||||
CoherentFlags() { clear(); }
|
||||
#ifdef GLSLANG_WEB
|
||||
void clear() { }
|
||||
bool isVolatile() const { return false; }
|
||||
CoherentFlags operator |=(const CoherentFlags &other) { return *this; }
|
||||
#else
|
||||
bool isVolatile() const { return volatil; }
|
||||
|
||||
unsigned coherent : 1;
|
||||
unsigned devicecoherent : 1;
|
||||
unsigned queuefamilycoherent : 1;
|
||||
@ -577,7 +589,6 @@ public:
|
||||
isImage = 0;
|
||||
}
|
||||
|
||||
CoherentFlags() { clear(); }
|
||||
CoherentFlags operator |=(const CoherentFlags &other) {
|
||||
coherent |= other.coherent;
|
||||
devicecoherent |= other.devicecoherent;
|
||||
@ -589,6 +600,7 @@ public:
|
||||
isImage |= other.isImage;
|
||||
return *this;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
CoherentFlags coherentFlags;
|
||||
};
|
||||
|
||||
@ -51,12 +51,8 @@ namespace spv {
|
||||
#include "GLSL.std.450.h"
|
||||
#include "GLSL.ext.KHR.h"
|
||||
#include "GLSL.ext.EXT.h"
|
||||
#ifdef AMD_EXTENSIONS
|
||||
#include "GLSL.ext.AMD.h"
|
||||
#endif
|
||||
#ifdef NV_EXTENSIONS
|
||||
#include "GLSL.ext.NV.h"
|
||||
#endif
|
||||
}
|
||||
|
||||
namespace spv {
|
||||
@ -160,7 +156,6 @@ void Builder::postProcessType(const Instruction& inst, Id typeId)
|
||||
}
|
||||
break;
|
||||
case OpExtInst:
|
||||
#if AMD_EXTENSIONS
|
||||
switch (inst.getImmediateOperand(1)) {
|
||||
case GLSLstd450Frexp:
|
||||
case GLSLstd450FrexpStruct:
|
||||
@ -176,7 +171,6 @@ void Builder::postProcessType(const Instruction& inst, Id typeId)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
if (basicTypeOp == OpTypeFloat && width == 16)
|
||||
@ -222,12 +216,10 @@ void Builder::postProcess(Instruction& inst)
|
||||
addCapability(CapabilityImageQuery);
|
||||
break;
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case OpGroupNonUniformPartitionNV:
|
||||
addExtension(E_SPV_NV_shader_subgroup_partitioned);
|
||||
addCapability(CapabilityGroupNonUniformPartitionedNV);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case OpLoad:
|
||||
case OpStore:
|
||||
|
||||
@ -103,7 +103,7 @@ void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& s
|
||||
|
||||
// Apply the SPIRV-Tools validator to generated SPIR-V.
|
||||
void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
||||
spv::SpvBuildLogger* logger)
|
||||
spv::SpvBuildLogger* logger, bool prelegalization)
|
||||
{
|
||||
// validate
|
||||
spv_context context = spvContextCreate(MapToSpirvToolsEnv(intermediate.getSpv(), logger));
|
||||
@ -111,6 +111,7 @@ void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<
|
||||
spv_diagnostic diagnostic = nullptr;
|
||||
spv_validator_options options = spvValidatorOptionsCreate();
|
||||
spvValidatorOptionsSetRelaxBlockLayout(options, intermediate.usingHlslOffsets());
|
||||
spvValidatorOptionsSetBeforeHlslLegalization(options, prelegalization);
|
||||
spvValidateWithOptions(context, options, &binary, &diagnostic);
|
||||
|
||||
// report
|
||||
|
||||
@ -41,8 +41,10 @@
|
||||
#ifndef GLSLANG_SPV_TOOLS_H
|
||||
#define GLSLANG_SPV_TOOLS_H
|
||||
|
||||
#ifdef ENABLE_OPT
|
||||
#include <vector>
|
||||
#include <ostream>
|
||||
#endif
|
||||
|
||||
#include "../glslang/MachineIndependent/localintermediate.h"
|
||||
#include "Logger.h"
|
||||
@ -59,14 +61,14 @@ struct SpvOptions {
|
||||
bool validate;
|
||||
};
|
||||
|
||||
#if ENABLE_OPT
|
||||
#ifdef ENABLE_OPT
|
||||
|
||||
// Use the SPIRV-Tools disassembler to print SPIR-V.
|
||||
void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv);
|
||||
|
||||
// Apply the SPIRV-Tools validator to generated SPIR-V.
|
||||
void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
|
||||
spv::SpvBuildLogger*);
|
||||
spv::SpvBuildLogger*, bool prelegalization);
|
||||
|
||||
// Apply the SPIRV-Tools optimizer to generated SPIR-V, for the purpose of
|
||||
// legalizing HLSL SPIR-V.
|
||||
|
||||
@ -52,26 +52,16 @@ 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
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
#include "GLSL.ext.NV.h"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
const char* GlslStd450DebugNames[spv::GLSLstd450Count];
|
||||
|
||||
namespace spv {
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
static const char* GLSLextAMDGetDebugNames(const char*, unsigned);
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
static const char* GLSLextNVGetDebugNames(const char*, unsigned);
|
||||
#endif
|
||||
|
||||
static void Kill(std::ostream& out, const char* message)
|
||||
{
|
||||
@ -82,15 +72,8 @@ 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
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
GLSLextNVInst,
|
||||
#endif
|
||||
|
||||
OpenCLExtInst,
|
||||
};
|
||||
|
||||
@ -499,14 +482,11 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
|
||||
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
|
||||
#ifdef NV_EXTENSIONS
|
||||
} else if (strcmp(spv::E_SPV_NV_sample_mask_override_coverage, name) == 0 ||
|
||||
strcmp(spv::E_SPV_NV_geometry_shader_passthrough, name) == 0 ||
|
||||
strcmp(spv::E_SPV_NV_viewport_array2, name) == 0 ||
|
||||
@ -514,22 +494,17 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
|
||||
strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 ||
|
||||
strcmp(spv::E_SPV_NV_mesh_shader, name) == 0) {
|
||||
extInstSet = GLSLextNVInst;
|
||||
#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
|
||||
#ifdef NV_EXTENSIONS
|
||||
}
|
||||
else if (extInstSet == GLSLextNVInst) {
|
||||
out << "(" << GLSLextNVGetDebugNames(name, entrypoint) << ")";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -648,9 +623,11 @@ static void GLSLstd450GetDebugNames(const char** names)
|
||||
names[GLSLstd450InterpolateAtCentroid] = "InterpolateAtCentroid";
|
||||
names[GLSLstd450InterpolateAtSample] = "InterpolateAtSample";
|
||||
names[GLSLstd450InterpolateAtOffset] = "InterpolateAtOffset";
|
||||
names[GLSLstd450NMin] = "NMin";
|
||||
names[GLSLstd450NMax] = "NMax";
|
||||
names[GLSLstd450NClamp] = "NClamp";
|
||||
}
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
static const char* GLSLextAMDGetDebugNames(const char* name, unsigned entrypoint)
|
||||
{
|
||||
if (strcmp(name, spv::E_SPV_AMD_shader_ballot) == 0) {
|
||||
@ -692,9 +669,7 @@ static const char* GLSLextAMDGetDebugNames(const char* name, unsigned entrypoint
|
||||
|
||||
return "Bad";
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
|
||||
{
|
||||
if (strcmp(name, spv::E_SPV_NV_sample_mask_override_coverage) == 0 ||
|
||||
@ -731,6 +706,7 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
|
||||
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
|
||||
case CapabilityMeshShadingNV: return "MeshShadingNV";
|
||||
case CapabilityImageFootprintNV: return "ImageFootprintNV";
|
||||
case CapabilitySampleMaskOverrideCoverageNV:return "SampleMaskOverrideCoverageNV";
|
||||
|
||||
// NV Decorations
|
||||
case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
|
||||
@ -747,7 +723,6 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
|
||||
}
|
||||
return "Bad";
|
||||
}
|
||||
#endif
|
||||
|
||||
void Disassemble(std::ostream& out, const std::vector<unsigned int>& stream)
|
||||
{
|
||||
|
||||
@ -50,12 +50,8 @@ namespace spv {
|
||||
// Include C-based headers that don't have a namespace
|
||||
#include "GLSL.ext.KHR.h"
|
||||
#include "GLSL.ext.EXT.h"
|
||||
#ifdef AMD_EXTENSIONS
|
||||
#include "GLSL.ext.AMD.h"
|
||||
#endif
|
||||
#ifdef NV_EXTENSIONS
|
||||
#include "GLSL.ext.NV.h"
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -98,22 +94,17 @@ const char* ExecutionModelString(int model)
|
||||
case 4: return "Fragment";
|
||||
case 5: return "GLCompute";
|
||||
case 6: return "Kernel";
|
||||
#ifdef NV_EXTENSIONS
|
||||
case ExecutionModelTaskNV: return "TaskNV";
|
||||
case ExecutionModelMeshNV: return "MeshNV";
|
||||
#endif
|
||||
|
||||
default: return "Bad";
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case ExecutionModelRayGenerationNV: return "RayGenerationNV";
|
||||
case ExecutionModelIntersectionNV: return "IntersectionNV";
|
||||
case ExecutionModelAnyHitNV: return "AnyHitNV";
|
||||
case ExecutionModelClosestHitNV: return "ClosestHitNV";
|
||||
case ExecutionModelMissNV: return "MissNV";
|
||||
case ExecutionModelCallableNV: return "CallableNV";
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -183,13 +174,11 @@ const char* ExecutionModeString(int mode)
|
||||
|
||||
case 4446: return "PostDepthCoverage";
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case ExecutionModeOutputLinesNV: return "OutputLinesNV";
|
||||
case ExecutionModeOutputPrimitivesNV: return "OutputPrimitivesNV";
|
||||
case ExecutionModeOutputTrianglesNV: return "OutputTrianglesNV";
|
||||
case ExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV";
|
||||
case ExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV";
|
||||
#endif
|
||||
|
||||
case ExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
|
||||
case ExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
|
||||
@ -220,14 +209,12 @@ const char* StorageClassString(int StorageClass)
|
||||
case 11: return "Image";
|
||||
case 12: return "StorageBuffer";
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case StorageClassRayPayloadNV: return "RayPayloadNV";
|
||||
case StorageClassHitAttributeNV: return "HitAttributeNV";
|
||||
case StorageClassIncomingRayPayloadNV: return "IncomingRayPayloadNV";
|
||||
case StorageClassShaderRecordBufferNV: return "ShaderRecordBufferNV";
|
||||
case StorageClassCallableDataNV: return "CallableDataNV";
|
||||
case StorageClassIncomingCallableDataNV: return "IncomingCallableDataNV";
|
||||
#endif
|
||||
|
||||
case StorageClassPhysicalStorageBufferEXT: return "PhysicalStorageBufferEXT";
|
||||
|
||||
@ -289,10 +276,7 @@ const char* DecorationString(int decoration)
|
||||
case DecorationCeiling:
|
||||
default: return "Bad";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case DecorationExplicitInterpAMD: return "ExplicitInterpAMD";
|
||||
#endif
|
||||
#ifdef NV_EXTENSIONS
|
||||
case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
|
||||
case DecorationPassthroughNV: return "PassthroughNV";
|
||||
case DecorationViewportRelativeNV: return "ViewportRelativeNV";
|
||||
@ -301,7 +285,6 @@ const char* DecorationString(int decoration)
|
||||
case DecorationPerViewNV: return "PerViewNV";
|
||||
case DecorationPerTaskNV: return "PerTaskNV";
|
||||
case DecorationPerVertexNV: return "PerVertexNV";
|
||||
#endif
|
||||
|
||||
case DecorationNonUniformEXT: return "DecorationNonUniformEXT";
|
||||
case DecorationHlslCounterBufferGOOGLE: return "DecorationHlslCounterBufferGOOGLE";
|
||||
@ -371,7 +354,6 @@ const char* BuiltInString(int builtIn)
|
||||
case 4426: return "DrawIndex";
|
||||
case 5014: return "FragStencilRefEXT";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case 4992: return "BaryCoordNoPerspAMD";
|
||||
case 4993: return "BaryCoordNoPerspCentroidAMD";
|
||||
case 4994: return "BaryCoordNoPerspSampleAMD";
|
||||
@ -379,9 +361,6 @@ const char* BuiltInString(int builtIn)
|
||||
case 4996: return "BaryCoordSmoothCentroidAMD";
|
||||
case 4997: return "BaryCoordSmoothSampleAMD";
|
||||
case 4998: return "BaryCoordPullModelAMD";
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case BuiltInLaunchIdNV: return "LaunchIdNV";
|
||||
case BuiltInLaunchSizeNV: return "LaunchSizeNV";
|
||||
case BuiltInWorldRayOriginNV: return "WorldRayOriginNV";
|
||||
@ -405,15 +384,12 @@ const char* BuiltInString(int builtIn)
|
||||
// case BuiltInInvocationsPerPixelNV: return "InvocationsPerPixelNV"; // superseded by BuiltInFragInvocationCountEXT
|
||||
case BuiltInBaryCoordNV: return "BaryCoordNV";
|
||||
case BuiltInBaryCoordNoPerspNV: return "BaryCoordNoPerspNV";
|
||||
#endif
|
||||
|
||||
case BuiltInFragSizeEXT: return "FragSizeEXT";
|
||||
case BuiltInFragInvocationCountEXT: return "FragInvocationCountEXT";
|
||||
|
||||
case 5264: return "FullyCoveredEXT";
|
||||
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case BuiltInTaskCountNV: return "TaskCountNV";
|
||||
case BuiltInPrimitiveCountNV: return "PrimitiveCountNV";
|
||||
case BuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV";
|
||||
@ -422,7 +398,10 @@ const char* BuiltInString(int builtIn)
|
||||
case BuiltInLayerPerViewNV: return "LayerPerViewNV";
|
||||
case BuiltInMeshViewCountNV: return "MeshViewCountNV";
|
||||
case BuiltInMeshViewIndicesNV: return "MeshViewIndicesNV";
|
||||
#endif
|
||||
case BuiltInWarpsPerSMNV: return "WarpsPerSMNV";
|
||||
case BuiltInSMCountNV: return "SMCountNV";
|
||||
case BuiltInWarpIDNV: return "WarpIDNV";
|
||||
case BuiltInSMIDNV: return "SMIDNV";
|
||||
|
||||
default: return "Bad";
|
||||
}
|
||||
@ -777,11 +756,9 @@ const char* GroupOperationString(int gop)
|
||||
case GroupOperationInclusiveScan: return "InclusiveScan";
|
||||
case GroupOperationExclusiveScan: return "ExclusiveScan";
|
||||
case GroupOperationClusteredReduce: return "ClusteredReduce";
|
||||
#ifdef NV_EXTENSIONS
|
||||
case GroupOperationPartitionedReduceNV: return "PartitionedReduceNV";
|
||||
case GroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV";
|
||||
case GroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV";
|
||||
#endif
|
||||
|
||||
default: return "Bad";
|
||||
}
|
||||
@ -898,17 +875,14 @@ const char* CapabilityString(int info)
|
||||
|
||||
case CapabilityStencilExportEXT: return "StencilExportEXT";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case CapabilityFloat16ImageAMD: return "Float16ImageAMD";
|
||||
case CapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
|
||||
case CapabilityFragmentMaskAMD: return "FragmentMaskAMD";
|
||||
case CapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD";
|
||||
#endif
|
||||
|
||||
case CapabilityAtomicStorageOps: return "AtomicStorageOps";
|
||||
|
||||
case CapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage";
|
||||
#ifdef NV_EXTENSIONS
|
||||
case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
|
||||
case CapabilityShaderViewportIndexLayerNV: return "ShaderViewportIndexLayerNV";
|
||||
case CapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV";
|
||||
@ -922,7 +896,7 @@ const char* CapabilityString(int info)
|
||||
case CapabilityMeshShadingNV: return "MeshShadingNV";
|
||||
case CapabilityImageFootprintNV: return "ImageFootprintNV";
|
||||
// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT
|
||||
#endif
|
||||
case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
|
||||
case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";
|
||||
|
||||
case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
|
||||
@ -948,11 +922,15 @@ const char* CapabilityString(int info)
|
||||
case CapabilityVariablePointers: return "VariablePointers";
|
||||
|
||||
case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
|
||||
case CapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV";
|
||||
|
||||
case CapabilityFragmentShaderSampleInterlockEXT: return "CapabilityFragmentShaderSampleInterlockEXT";
|
||||
case CapabilityFragmentShaderPixelInterlockEXT: return "CapabilityFragmentShaderPixelInterlockEXT";
|
||||
case CapabilityFragmentShaderShadingRateInterlockEXT: return "CapabilityFragmentShaderShadingRateInterlockEXT";
|
||||
|
||||
case CapabilityDemoteToHelperInvocationEXT: return "DemoteToHelperInvocationEXT";
|
||||
case CapabilityShaderClockKHR: return "ShaderClockKHR";
|
||||
|
||||
default: return "Bad";
|
||||
}
|
||||
}
|
||||
@ -1328,7 +1306,6 @@ const char* OpcodeString(int op)
|
||||
case 4430: return "OpSubgroupAllEqualKHR";
|
||||
case 4432: return "OpSubgroupReadInvocationKHR";
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
case 5000: return "OpGroupIAddNonUniformAMD";
|
||||
case 5001: return "OpGroupFAddNonUniformAMD";
|
||||
case 5002: return "OpGroupFMinNonUniformAMD";
|
||||
@ -1340,12 +1317,12 @@ const char* OpcodeString(int op)
|
||||
|
||||
case 5011: return "OpFragmentMaskFetchAMD";
|
||||
case 5012: return "OpFragmentFetchAMD";
|
||||
#endif
|
||||
|
||||
case OpReadClockKHR: return "OpReadClockKHR";
|
||||
|
||||
case OpDecorateStringGOOGLE: return "OpDecorateStringGOOGLE";
|
||||
case OpMemberDecorateStringGOOGLE: return "OpMemberDecorateStringGOOGLE";
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
|
||||
case OpReportIntersectionNV: return "OpReportIntersectionNV";
|
||||
case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
|
||||
@ -1355,13 +1332,14 @@ const char* OpcodeString(int op)
|
||||
case OpExecuteCallableNV: return "OpExecuteCallableNV";
|
||||
case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
|
||||
case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
|
||||
#endif
|
||||
|
||||
case OpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV";
|
||||
case OpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV";
|
||||
case OpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV";
|
||||
case OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
|
||||
case OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
|
||||
case OpDemoteToHelperInvocationEXT: return "OpDemoteToHelperInvocationEXT";
|
||||
case OpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
|
||||
|
||||
case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
|
||||
case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
|
||||
@ -2673,7 +2651,6 @@ void Parameterize()
|
||||
|
||||
InstructionDesc[OpModuleProcessed].operands.push(OperandLiteralString, "'process'");
|
||||
|
||||
#ifdef AMD_EXTENSIONS
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandScope, "'Execution'");
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
|
||||
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandId, "'X'");
|
||||
@ -2712,9 +2689,7 @@ void Parameterize()
|
||||
InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Image'");
|
||||
InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Coordinate'");
|
||||
InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Fragment Index'");
|
||||
#endif
|
||||
|
||||
#ifdef NV_EXTENSIONS
|
||||
InstructionDesc[OpGroupNonUniformPartitionNV].operands.push(OperandId, "X");
|
||||
|
||||
InstructionDesc[OpTypeAccelerationStructureNV].setResultAndType(true, false);
|
||||
@ -2752,7 +2727,6 @@ void Parameterize()
|
||||
|
||||
InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Index Offset'");
|
||||
InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Packed Indices'");
|
||||
#endif
|
||||
|
||||
InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Component Type'");
|
||||
InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Scope'");
|
||||
@ -2779,6 +2753,10 @@ void Parameterize()
|
||||
InstructionDesc[OpCooperativeMatrixMulAddNV].operands.push(OperandId, "'C'");
|
||||
|
||||
InstructionDesc[OpCooperativeMatrixLengthNV].operands.push(OperandId, "'Type'");
|
||||
|
||||
InstructionDesc[OpDemoteToHelperInvocationEXT].setResultAndType(false, false);
|
||||
|
||||
InstructionDesc[OpReadClockKHR].operands.push(OperandScope, "'Scope'");
|
||||
}
|
||||
|
||||
}; // end spv namespace
|
||||
|
||||
@ -455,6 +455,7 @@ enum Decoration {
|
||||
DecorationHlslCounterBufferGOOGLE = 5634,
|
||||
DecorationHlslSemanticGOOGLE = 5635,
|
||||
DecorationUserSemantic = 5635,
|
||||
DecorationUserTypeGOOGLE = 5636,
|
||||
DecorationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -632,6 +633,7 @@ enum MemorySemanticsShift {
|
||||
MemorySemanticsOutputMemoryKHRShift = 12,
|
||||
MemorySemanticsMakeAvailableKHRShift = 13,
|
||||
MemorySemanticsMakeVisibleKHRShift = 14,
|
||||
MemorySemanticsVolatileShift = 15,
|
||||
MemorySemanticsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -650,6 +652,7 @@ enum MemorySemanticsMask {
|
||||
MemorySemanticsOutputMemoryKHRMask = 0x00001000,
|
||||
MemorySemanticsMakeAvailableKHRMask = 0x00002000,
|
||||
MemorySemanticsMakeVisibleKHRMask = 0x00004000,
|
||||
MemorySemanticsVolatileMask = 0x00008000,
|
||||
};
|
||||
|
||||
enum MemoryAccessShift {
|
||||
@ -806,6 +809,7 @@ enum Capability {
|
||||
CapabilityFragmentMaskAMD = 5010,
|
||||
CapabilityStencilExportEXT = 5013,
|
||||
CapabilityImageReadWriteLodAMD = 5015,
|
||||
CapabilityShaderClockKHR = 5055,
|
||||
CapabilitySampleMaskOverrideCoverageNV = 5249,
|
||||
CapabilityGeometryShaderPassthroughNV = 5251,
|
||||
CapabilityShaderViewportIndexLayerEXT = 5254,
|
||||
@ -843,6 +847,7 @@ enum Capability {
|
||||
CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
||||
CapabilityShaderSMBuiltinsNV = 5373,
|
||||
CapabilityFragmentShaderPixelInterlockEXT = 5378,
|
||||
CapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
CapabilitySubgroupShuffleINTEL = 5568,
|
||||
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
@ -1215,6 +1220,7 @@ enum Op {
|
||||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpReadClockKHR = 5056,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
@ -1231,6 +1237,8 @@ enum Op {
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1745,6 +1753,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
||||
@ -1759,6 +1768,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
@ -1903,8 +1916,6 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
||||
@ -436,6 +436,6 @@ __inline void Block::addInstruction(std::unique_ptr<Instruction> inst)
|
||||
parent.getParent().mapInstruction(raw_instruction);
|
||||
}
|
||||
|
||||
}; // end spv namespace
|
||||
} // end spv namespace
|
||||
|
||||
#endif // spvIR_H
|
||||
|
||||
@ -234,7 +234,6 @@ std::string GetDefaultTBuiltInResourceString()
|
||||
<< "MaxCullDistances " << DefaultTBuiltInResource.maxCullDistances << "\n"
|
||||
<< "MaxCombinedClipAndCullDistances " << DefaultTBuiltInResource.maxCombinedClipAndCullDistances << "\n"
|
||||
<< "MaxSamples " << DefaultTBuiltInResource.maxSamples << "\n"
|
||||
#ifdef NV_EXTENSIONS
|
||||
<< "MaxMeshOutputVerticesNV " << DefaultTBuiltInResource.maxMeshOutputVerticesNV << "\n"
|
||||
<< "MaxMeshOutputPrimitivesNV " << DefaultTBuiltInResource.maxMeshOutputPrimitivesNV << "\n"
|
||||
<< "MaxMeshWorkGroupSizeX_NV " << DefaultTBuiltInResource.maxMeshWorkGroupSizeX_NV << "\n"
|
||||
@ -244,7 +243,6 @@ std::string GetDefaultTBuiltInResourceString()
|
||||
<< "MaxTaskWorkGroupSizeY_NV " << DefaultTBuiltInResource.maxTaskWorkGroupSizeY_NV << "\n"
|
||||
<< "MaxTaskWorkGroupSizeZ_NV " << DefaultTBuiltInResource.maxTaskWorkGroupSizeZ_NV << "\n"
|
||||
<< "MaxMeshViewCountNV " << DefaultTBuiltInResource.maxMeshViewCountNV << "\n"
|
||||
#endif
|
||||
<< "nonInductiveForLoops " << DefaultTBuiltInResource.limits.nonInductiveForLoops << "\n"
|
||||
<< "whileLoops " << DefaultTBuiltInResource.limits.whileLoops << "\n"
|
||||
<< "doWhileLoops " << DefaultTBuiltInResource.limits.doWhileLoops << "\n"
|
||||
@ -451,7 +449,6 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
|
||||
resources->maxCombinedClipAndCullDistances = value;
|
||||
else if (tokenStr == "MaxSamples")
|
||||
resources->maxSamples = value;
|
||||
#ifdef NV_EXTENSIONS
|
||||
else if (tokenStr == "MaxMeshOutputVerticesNV")
|
||||
resources->maxMeshOutputVerticesNV = value;
|
||||
else if (tokenStr == "MaxMeshOutputPrimitivesNV")
|
||||
@ -470,7 +467,6 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
|
||||
resources->maxTaskWorkGroupSizeZ_NV = value;
|
||||
else if (tokenStr == "MaxMeshViewCountNV")
|
||||
resources->maxMeshViewCountNV = value;
|
||||
#endif
|
||||
else if (tokenStr == "nonInductiveForLoops")
|
||||
resources->limits.nonInductiveForLoops = (value != 0);
|
||||
else if (tokenStr == "whileLoops")
|
||||
|
||||
@ -104,6 +104,7 @@ enum TOptions {
|
||||
bool targetHlslFunctionality1 = false;
|
||||
bool SpvToolsDisassembler = false;
|
||||
bool SpvToolsValidate = false;
|
||||
bool NaNClamp = false;
|
||||
|
||||
//
|
||||
// Return codes from main/exit().
|
||||
@ -145,11 +146,13 @@ void ProcessConfigFile()
|
||||
{
|
||||
if (ConfigFile.size() == 0)
|
||||
Resources = glslang::DefaultTBuiltInResource;
|
||||
#ifndef GLSLANG_WEB
|
||||
else {
|
||||
char* configString = ReadFileData(ConfigFile.c_str());
|
||||
glslang::DecodeResourceLimits(&Resources, configString);
|
||||
FreeFileData(configString);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
int ReflectOptions = EShReflectionDefault;
|
||||
@ -254,7 +257,6 @@ const char* GetBinaryName(EShLanguage stage)
|
||||
case EShLangGeometry: name = "geom.spv"; break;
|
||||
case EShLangFragment: name = "frag.spv"; break;
|
||||
case EShLangCompute: name = "comp.spv"; break;
|
||||
#ifdef NV_EXTENSIONS
|
||||
case EShLangRayGenNV: name = "rgen.spv"; break;
|
||||
case EShLangIntersectNV: name = "rint.spv"; break;
|
||||
case EShLangAnyHitNV: name = "rahit.spv"; break;
|
||||
@ -263,7 +265,6 @@ const char* GetBinaryName(EShLanguage stage)
|
||||
case EShLangCallableNV: name = "rcall.spv"; break;
|
||||
case EShLangMeshNV: name = "mesh.spv"; break;
|
||||
case EShLangTaskNV: name = "task.spv"; break;
|
||||
#endif
|
||||
default: name = "unknown"; break;
|
||||
}
|
||||
} else
|
||||
@ -522,6 +523,8 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
|
||||
} else if (lowerword == "keep-uncalled" || // synonyms
|
||||
lowerword == "ku") {
|
||||
Options |= EOptionKeepUncalled;
|
||||
} else if (lowerword == "nan-clamp") {
|
||||
NaNClamp = true;
|
||||
} else if (lowerword == "no-storage-format" || // synonyms
|
||||
lowerword == "nsf") {
|
||||
Options |= EOptionNoStorageFormat;
|
||||
@ -769,8 +772,17 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
|
||||
Error("must provide -S when --stdin is given");
|
||||
|
||||
// Make sure that -E is not specified alongside linking (which includes SPV generation)
|
||||
if ((Options & EOptionOutputPreprocessed) && (Options & EOptionLinkProgram))
|
||||
// Or things that require linking
|
||||
if (Options & EOptionOutputPreprocessed) {
|
||||
if (Options & EOptionLinkProgram)
|
||||
Error("can't use -E when linking is selected");
|
||||
if (Options & EOptionDumpReflection)
|
||||
Error("reflection requires linking, which can't be used when -E when is selected");
|
||||
}
|
||||
|
||||
// reflection requires linking
|
||||
if ((Options & EOptionDumpReflection) && !(Options & EOptionLinkProgram))
|
||||
Error("reflection requires -l for linking");
|
||||
|
||||
// -o or -x makes no sense if there is no target binary
|
||||
if (binaryFileName && (Options & EOptionSpv) == 0)
|
||||
@ -965,6 +977,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
shader->setPreamble(UserPreamble.get());
|
||||
shader->addProcesses(Processes);
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
// Set IO mapper binding shift values
|
||||
for (int r = 0; r < glslang::EResCount; ++r) {
|
||||
const glslang::TResourceType res = glslang::TResourceType(r);
|
||||
@ -978,29 +991,33 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
i != baseBindingForSet[res][compUnit.stage].end(); ++i)
|
||||
shader->setShiftBindingForSet(res, i->second, i->first);
|
||||
}
|
||||
|
||||
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
|
||||
shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
|
||||
shader->setResourceSetBinding(baseResourceSetBinding[compUnit.stage]);
|
||||
|
||||
if (Options & EOptionHlslIoMapping)
|
||||
shader->setHlslIoMapping(true);
|
||||
|
||||
if (Options & EOptionAutoMapBindings)
|
||||
shader->setAutoMapBindings(true);
|
||||
|
||||
if (Options & EOptionAutoMapLocations)
|
||||
shader->setAutoMapLocations(true);
|
||||
|
||||
if (Options & EOptionInvertY)
|
||||
shader->setInvertY(true);
|
||||
|
||||
for (auto& uniOverride : uniformLocationOverrides) {
|
||||
shader->addUniformLocationOverride(uniOverride.first.c_str(),
|
||||
uniOverride.second);
|
||||
}
|
||||
|
||||
shader->setUniformLocationBase(uniformBase);
|
||||
#endif
|
||||
|
||||
shader->setNanMinMaxClamp(NaNClamp);
|
||||
|
||||
#ifdef ENABLE_HLSL
|
||||
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
|
||||
if (Options & EOptionHlslIoMapping)
|
||||
shader->setHlslIoMapping(true);
|
||||
#endif
|
||||
|
||||
if (Options & EOptionInvertY)
|
||||
shader->setInvertY(true);
|
||||
|
||||
// Set up the environment, some subsettings take precedence over earlier
|
||||
// ways of setting things.
|
||||
@ -1010,8 +1027,10 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
compUnit.stage, Client, ClientInputSemanticsVersion);
|
||||
shader->setEnvClient(Client, ClientVersion);
|
||||
shader->setEnvTarget(TargetLanguage, TargetVersion);
|
||||
#ifdef ENABLE_HLSL
|
||||
if (targetHlslFunctionality1)
|
||||
shader->setEnvTargetHlslFunctionality1();
|
||||
#endif
|
||||
}
|
||||
|
||||
shaders.push_back(shader);
|
||||
@ -1021,6 +1040,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
DirStackFileIncluder includer;
|
||||
std::for_each(IncludeDirectoryList.rbegin(), IncludeDirectoryList.rend(), [&includer](const std::string& dir) {
|
||||
includer.pushExternalLocalDirectory(dir); });
|
||||
#ifndef GLSLANG_WEB
|
||||
if (Options & EOptionOutputPreprocessed) {
|
||||
std::string str;
|
||||
if (shader->preprocess(&Resources, defaultVersion, ENoProfile, false, false, messages, &str, includer)) {
|
||||
@ -1032,6 +1052,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
StderrIfNonEmpty(shader->getInfoDebugLog());
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (! shader->parse(&Resources, defaultVersion, false, messages, includer))
|
||||
CompileFailed = true;
|
||||
@ -1054,11 +1075,13 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
if (! (Options & EOptionOutputPreprocessed) && ! program.link(messages))
|
||||
LinkFailed = true;
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
// Map IO
|
||||
if (Options & EOptionSpv) {
|
||||
if (!program.mapIO())
|
||||
LinkFailed = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Report
|
||||
if (! (Options & EOptionSuppressInfolog) &&
|
||||
@ -1067,11 +1090,13 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
PutsIfNonEmpty(program.getInfoDebugLog());
|
||||
}
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
// Reflect
|
||||
if (Options & EOptionDumpReflection) {
|
||||
program.buildReflection(ReflectOptions);
|
||||
program.dumpReflection();
|
||||
}
|
||||
#endif
|
||||
|
||||
// Dump SPIR-V
|
||||
if (Options & EOptionSpv) {
|
||||
@ -1101,8 +1126,10 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
} else {
|
||||
glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage));
|
||||
}
|
||||
#ifndef GLSLANG_WEB
|
||||
if (!SpvToolsDisassembler && (Options & EOptionHumanReadableSpv))
|
||||
spv::Disassemble(std::cout, spirv);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1190,11 +1217,13 @@ int singleMain()
|
||||
workList.add(item.get());
|
||||
});
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
if (Options & EOptionDumpConfig) {
|
||||
printf("%s", glslang::GetDefaultTBuiltInResourceString().c_str());
|
||||
if (workList.empty())
|
||||
return ESuccess;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (Options & EOptionDumpBareVersion) {
|
||||
printf("%d.%d.%d\n",
|
||||
@ -1366,7 +1395,6 @@ EShLanguage FindLanguage(const std::string& name, bool parseStageName)
|
||||
return EShLangFragment;
|
||||
else if (stageName == "comp")
|
||||
return EShLangCompute;
|
||||
#ifdef NV_EXTENSIONS
|
||||
else if (stageName == "rgen")
|
||||
return EShLangRayGenNV;
|
||||
else if (stageName == "rint")
|
||||
@ -1383,7 +1411,6 @@ EShLanguage FindLanguage(const std::string& name, bool parseStageName)
|
||||
return EShLangMeshNV;
|
||||
else if (stageName == "task")
|
||||
return EShLangTaskNV;
|
||||
#endif
|
||||
|
||||
usage();
|
||||
return EShLangVertex;
|
||||
@ -1453,7 +1480,6 @@ void usage()
|
||||
" .geom for a geometry shader\n"
|
||||
" .frag for a fragment shader\n"
|
||||
" .comp for a compute shader\n"
|
||||
#ifdef NV_EXTENSIONS
|
||||
" .mesh for a mesh shader\n"
|
||||
" .task for a task shader\n"
|
||||
" .rgen for a ray generation shader\n"
|
||||
@ -1462,7 +1488,6 @@ void usage()
|
||||
" .rchit for a ray closest hit shader\n"
|
||||
" .rmiss for a ray miss shader\n"
|
||||
" .rcall for a ray callable shader\n"
|
||||
#endif
|
||||
" .glsl for .vert.glsl, .tesc.glsl, ..., .comp.glsl compound suffixes\n"
|
||||
" .hlsl for .vert.hlsl, .tesc.hlsl, ..., .comp.hlsl compound suffixes\n"
|
||||
"\n"
|
||||
@ -1508,7 +1533,7 @@ void usage()
|
||||
" -l link all input files together to form a single module\n"
|
||||
" -m memory leak mode\n"
|
||||
" -o <file> save binary to <file>, requires a binary option (e.g., -V)\n"
|
||||
" -q dump reflection query database\n"
|
||||
" -q dump reflection query database; requires -l for linking\n"
|
||||
" -r | --relaxed-errors"
|
||||
" relaxed GLSL semantic error-checking mode\n"
|
||||
" -s silence syntax and semantic error reporting\n"
|
||||
@ -1533,9 +1558,11 @@ void usage()
|
||||
" works independently of source language\n"
|
||||
" --hlsl-iomap perform IO mapping in HLSL register space\n"
|
||||
" --hlsl-enable-16bit-types allow 16-bit types in SPIR-V for HLSL\n"
|
||||
" --hlsl-dx9-compatible interprets sampler declarations as a texture/sampler combo like DirectX9 would."
|
||||
" --hlsl-dx9-compatible interprets sampler declarations as a\n"
|
||||
" texture/sampler combo like DirectX9 would.\n"
|
||||
" --invert-y | --iy invert position.Y output in vertex shader\n"
|
||||
" --keep-uncalled | --ku don't eliminate uncalled functions\n"
|
||||
" --nan-clamp favor non-NaN operand in min, max, and clamp\n"
|
||||
" --no-storage-format | --nsf use Unknown image format\n"
|
||||
" --reflect-strict-array-suffix use strict array suffix rules when\n"
|
||||
" reflecting\n"
|
||||
|
||||
@ -227,7 +227,7 @@ namespace {
|
||||
}
|
||||
}
|
||||
else if (arg == "--version" || arg == "-V") {
|
||||
std::cout << basename(argv[0]) << " version 0.97 " << __DATE__ << " " << __TIME__ << std::endl;
|
||||
std::cout << basename(argv[0]) << " version 0.97" << std::endl;
|
||||
exit(0);
|
||||
} else if (arg == "--input" || arg == "-i") {
|
||||
// Collect input files
|
||||
|
||||
2
Test/310.frag
Normal file → Executable file
2
Test/310.frag
Normal file → Executable file
@ -58,8 +58,8 @@ void foo23()
|
||||
b1 = mix(b2, b3, b);
|
||||
uvec3 um3 = mix(uvec3(i), uvec3(i), bvec3(b));
|
||||
ivec4 im4 = mix(ivec4(i), ivec4(i), bvec4(b));
|
||||
1 << mix(1u, 1u, false); // does not require folding
|
||||
}
|
||||
|
||||
layout(binding=3) uniform sampler2D s1;
|
||||
layout(binding=3) uniform sampler2D s2; // ERROR: overlapping bindings? Don't see that in the 310 spec.
|
||||
highp layout(binding=2) uniform writeonly image2D i2D;
|
||||
|
||||
43
Test/310.inheritMemory.frag
Normal file
43
Test/310.inheritMemory.frag
Normal file
@ -0,0 +1,43 @@
|
||||
#version 310 es
|
||||
precision mediump float;
|
||||
|
||||
struct S {
|
||||
float buff[10];
|
||||
};
|
||||
|
||||
layout(std430, binding=2) readonly buffer RoBuff {
|
||||
float buff_ro[10];
|
||||
S s_ro;
|
||||
} ro_buffer;
|
||||
|
||||
layout(std430, binding=2) buffer Buff {
|
||||
float buff[10];
|
||||
S s;
|
||||
} non_ro_buffer;
|
||||
|
||||
void non_ro_fun(float[10] buff) { }
|
||||
void non_ro_funf(float el) { }
|
||||
void non_ro_funS(S s) { }
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main()
|
||||
{
|
||||
S s;
|
||||
|
||||
non_ro_fun(s.buff);
|
||||
non_ro_funf(s.buff[3]);
|
||||
non_ro_funS(s);
|
||||
|
||||
non_ro_fun(non_ro_buffer.buff);
|
||||
non_ro_fun(non_ro_buffer.s.buff);
|
||||
non_ro_funf(non_ro_buffer.buff[3]);
|
||||
non_ro_funf(non_ro_buffer.s.buff[3]);
|
||||
non_ro_funS(non_ro_buffer.s);
|
||||
|
||||
non_ro_fun(ro_buffer.buff_ro);
|
||||
non_ro_fun(ro_buffer.s_ro.buff);
|
||||
non_ro_funf(ro_buffer.buff_ro[3]);
|
||||
non_ro_funf(ro_buffer.s_ro.buff[3]);
|
||||
non_ro_funS(ro_buffer.s_ro);
|
||||
}
|
||||
@ -1,5 +1,17 @@
|
||||
#version 320 es
|
||||
|
||||
float fX;
|
||||
float fY;
|
||||
|
||||
void main()
|
||||
{
|
||||
dFdx(fX);
|
||||
dFdy(fY);
|
||||
fwidth(fX);
|
||||
dFdxCoarse(fX);
|
||||
dFdyCoarse(fY);
|
||||
fwidthCoarse(fX);
|
||||
dFdxFine(fX);
|
||||
dFdyFine(fY);
|
||||
fwidthFine(fX);
|
||||
}
|
||||
|
||||
@ -29,7 +29,6 @@ ERROR: 0:94: 'writeonly' : argument cannot drop memory qualifier when passed to
|
||||
ERROR: 0:97: '' : memory qualifiers cannot be used on this type
|
||||
ERROR: 0:98: '' : memory qualifiers cannot be used on this type
|
||||
ERROR: 0:109: 'format' : image formats must match
|
||||
ERROR: 0:110: 'restrict' : argument cannot drop memory qualifier when passed to formal parameter
|
||||
ERROR: 0:110: 'format' : image formats must match
|
||||
ERROR: 0:111: 'format' : image formats must match
|
||||
ERROR: 0:114: 'image load-store format' : not supported with this profile: es
|
||||
@ -87,7 +86,7 @@ WARNING: 0:238: '#define' : names containing consecutive underscores are reserve
|
||||
ERROR: 0:244: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||
ERROR: 0:245: 'gl_ViewIndex' : undeclared identifier
|
||||
ERROR: 0:255: 'gl_ViewIndex' : undeclared identifier
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 85 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 310
|
||||
@ -120,9 +119,9 @@ ERROR: node is still EOpNull!
|
||||
0:59 Function Parameters:
|
||||
0:61 Sequence
|
||||
0:61 move second child to first child ( temp highp float)
|
||||
0:61 direct index (layout( column_major shared) temp highp float)
|
||||
0:61 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:61 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:61 direct index (layout( column_major shared) readonly temp highp float)
|
||||
0:61 values: direct index for structure (layout( column_major shared) readonly buffer unsized 3-element array of highp float)
|
||||
0:61 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) readonly buffer unsized 3-element array of highp float values})
|
||||
0:61 Constant:
|
||||
0:61 1 (const int)
|
||||
0:61 Constant:
|
||||
@ -130,8 +129,8 @@ ERROR: node is still EOpNull!
|
||||
0:61 Constant:
|
||||
0:61 4.700000
|
||||
0:62 array length ( temp int)
|
||||
0:62 values: direct index for structure (layout( column_major shared) buffer unsized 3-element 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 unsized 3-element array of highp float values})
|
||||
0:62 values: direct index for structure (layout( column_major shared) readonly buffer unsized 3-element array of highp float)
|
||||
0:62 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) readonly buffer unsized 3-element array of highp float values})
|
||||
0:62 Constant:
|
||||
0:62 1 (const int)
|
||||
0:63 Pre-Increment ( temp highp 4-component vector of float)
|
||||
@ -283,9 +282,9 @@ ERROR: node is still EOpNull!
|
||||
0:? Sequence
|
||||
0:194 move second child to first child ( temp highp float)
|
||||
0:194 'g' ( temp highp float)
|
||||
0:194 direct index (layout( column_major shared) temp highp float)
|
||||
0:194 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:194 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:194 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:194 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:194 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:194 Constant:
|
||||
0:194 1 (const int)
|
||||
0:194 Constant:
|
||||
@ -293,42 +292,42 @@ ERROR: node is still EOpNull!
|
||||
0:195 Sequence
|
||||
0:195 move second child to first child ( temp highp float)
|
||||
0:195 'f' ( temp highp float)
|
||||
0:195 direct index (layout( column_major shared) temp highp float)
|
||||
0:195 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:195 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:195 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:195 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:195 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:195 Constant:
|
||||
0:195 1 (const int)
|
||||
0:195 Constant:
|
||||
0:195 2 (const int)
|
||||
0:196 Pre-Increment ( temp highp float)
|
||||
0:196 direct index (layout( column_major shared) temp highp float)
|
||||
0:196 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:196 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:196 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:196 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:196 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:196 Constant:
|
||||
0:196 1 (const int)
|
||||
0:196 Constant:
|
||||
0:196 2 (const int)
|
||||
0:197 Post-Decrement ( temp highp float)
|
||||
0:197 direct index (layout( column_major shared) temp highp float)
|
||||
0:197 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:197 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:197 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:197 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:197 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:197 Constant:
|
||||
0:197 1 (const int)
|
||||
0:197 Constant:
|
||||
0:197 2 (const int)
|
||||
0:198 add ( temp highp float)
|
||||
0:198 'f' ( temp highp float)
|
||||
0:198 direct index (layout( column_major shared) temp highp float)
|
||||
0:198 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:198 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:198 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:198 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:198 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:198 Constant:
|
||||
0:198 1 (const int)
|
||||
0:198 Constant:
|
||||
0:198 2 (const int)
|
||||
0:199 subtract ( temp highp float)
|
||||
0:199 direct index (layout( column_major shared) temp highp float)
|
||||
0:199 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:199 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:199 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:199 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:199 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:199 Constant:
|
||||
0:199 1 (const int)
|
||||
0:199 Constant:
|
||||
@ -340,9 +339,9 @@ ERROR: node is still EOpNull!
|
||||
0:201 true case
|
||||
0:201 'f' ( temp highp float)
|
||||
0:201 false case
|
||||
0:201 direct index (layout( column_major shared) temp highp float)
|
||||
0:201 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:201 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:201 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:201 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:201 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:201 Constant:
|
||||
0:201 1 (const int)
|
||||
0:201 Constant:
|
||||
@ -351,9 +350,9 @@ ERROR: node is still EOpNull!
|
||||
0:202 Condition
|
||||
0:202 'b' ( temp bool)
|
||||
0:202 true case
|
||||
0:202 direct index (layout( column_major shared) temp highp float)
|
||||
0:202 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:202 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:202 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:202 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:202 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:202 Constant:
|
||||
0:202 1 (const int)
|
||||
0:202 Constant:
|
||||
@ -364,9 +363,9 @@ ERROR: node is still EOpNull!
|
||||
0:203 Condition
|
||||
0:203 Compare Equal ( temp bool)
|
||||
0:203 'f' ( temp highp float)
|
||||
0:203 direct index (layout( column_major shared) temp highp float)
|
||||
0:203 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:203 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:203 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:203 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:203 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:203 Constant:
|
||||
0:203 1 (const int)
|
||||
0:203 Constant:
|
||||
@ -378,9 +377,9 @@ ERROR: node is still EOpNull!
|
||||
0:205 Condition
|
||||
0:205 Compare Greater Than or Equal ( temp bool)
|
||||
0:205 'f' ( temp highp float)
|
||||
0:205 direct index (layout( column_major shared) temp highp float)
|
||||
0:205 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:205 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:205 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:205 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:205 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:205 Constant:
|
||||
0:205 1 (const int)
|
||||
0:205 Constant:
|
||||
@ -392,9 +391,9 @@ ERROR: node is still EOpNull!
|
||||
0:207 'f' ( temp highp float)
|
||||
0:207 direct index ( temp highp float)
|
||||
0:207 Construct vec3 ( temp highp 3-component vector of float)
|
||||
0:207 direct index (layout( column_major shared) temp highp float)
|
||||
0:207 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:207 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:207 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:207 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:207 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:207 Constant:
|
||||
0:207 1 (const int)
|
||||
0:207 Constant:
|
||||
@ -402,14 +401,14 @@ ERROR: node is still EOpNull!
|
||||
0:207 Constant:
|
||||
0:207 0 (const int)
|
||||
0:208 Bitwise not ( temp highp int)
|
||||
0:208 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:208 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:208 value: direct index for structure (layout( column_major shared) writeonly buffer highp int)
|
||||
0:208 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:208 Constant:
|
||||
0:208 0 (const int)
|
||||
0:209 move second child to first child ( temp highp float)
|
||||
0:209 direct index (layout( column_major shared) temp highp float)
|
||||
0:209 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:209 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:209 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:209 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:209 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:209 Constant:
|
||||
0:209 1 (const int)
|
||||
0:209 Constant:
|
||||
@ -421,22 +420,22 @@ ERROR: node is still EOpNull!
|
||||
0:? Sequence
|
||||
0:221 move second child to first child ( temp highp float)
|
||||
0:221 'g' ( temp highp float)
|
||||
0:221 direct index (layout( column_major shared) temp highp float)
|
||||
0:221 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:221 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:221 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:221 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:221 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:221 Constant:
|
||||
0:221 1 (const int)
|
||||
0:221 Constant:
|
||||
0:221 2 (const int)
|
||||
0:222 Bitwise not ( temp highp int)
|
||||
0:222 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:222 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:222 value: direct index for structure (layout( column_major shared) writeonly buffer highp int)
|
||||
0:222 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:222 Constant:
|
||||
0:222 0 (const int)
|
||||
0:223 move second child to first child ( temp highp float)
|
||||
0:223 direct index (layout( column_major shared) temp highp float)
|
||||
0:223 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of highp float)
|
||||
0:223 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:223 direct index (layout( column_major shared) writeonly temp highp float)
|
||||
0:223 values: direct index for structure (layout( column_major shared) writeonly buffer unsized 3-element array of highp float)
|
||||
0:223 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:223 Constant:
|
||||
0:223 1 (const int)
|
||||
0:223 Constant:
|
||||
@ -444,8 +443,8 @@ ERROR: node is still EOpNull!
|
||||
0:223 Constant:
|
||||
0:223 3.400000
|
||||
0:224 move second child to first child ( temp highp int)
|
||||
0:224 value: direct index for structure (layout( column_major shared) buffer highp int)
|
||||
0:224 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:224 value: direct index for structure (layout( column_major shared) writeonly buffer highp int)
|
||||
0:224 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:224 Constant:
|
||||
0:224 0 (const int)
|
||||
0:224 Constant:
|
||||
@ -478,7 +477,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'arrX' ( global 2-element array of highp int)
|
||||
0:? 'arrY' ( global 1-element array of highp int)
|
||||
0:? 'arrZ' ( global 4096-element array of highp int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) readonly buffer unsized 3-element array of highp float values})
|
||||
0:? 'v' ( buffer highp 4-component vector of float)
|
||||
0:? 'us2dbad' ( uniform mediump usampler2D)
|
||||
0:? 'us2d' ( uniform highp usampler2D)
|
||||
@ -517,7 +516,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D)
|
||||
0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D)
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 1-element array of highp float values})
|
||||
0:? 'inbi' ( in block{ in highp int a})
|
||||
0:? 'outbi' ( out block{ out highp int a})
|
||||
@ -572,7 +571,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'arrX' ( global 2-element array of highp int)
|
||||
0:? 'arrY' ( global 1-element array of highp int)
|
||||
0:? 'arrZ' ( global 4096-element array of highp int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) readonly buffer unsized 3-element array of highp float values})
|
||||
0:? 'v' ( buffer highp 4-component vector of float)
|
||||
0:? 'us2dbad' ( uniform mediump usampler2D)
|
||||
0:? 'us2d' ( uniform highp usampler2D)
|
||||
@ -611,7 +610,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D)
|
||||
0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D)
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values})
|
||||
0:? 'wo' (layout( column_major shared) writeonly buffer block{layout( column_major shared) writeonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 3-element array of highp float values})
|
||||
0:? 'multio' (layout( column_major shared) buffer block{layout( column_major shared) readonly buffer highp int value, layout( column_major shared) writeonly buffer unsized 1-element array of highp float values})
|
||||
0:? 'inbi' ( in block{ in highp int a})
|
||||
0:? 'outbi' ( out block{ out highp int a})
|
||||
|
||||
@ -337,6 +337,16 @@ ERROR: node is still EOpNull!
|
||||
0:60 'i' ( uniform mediump int)
|
||||
0:60 Construct bvec4 ( temp 4-component vector of bool)
|
||||
0:60 'b' ( temp bool)
|
||||
0:61 left-shift ( temp int)
|
||||
0:61 Constant:
|
||||
0:61 1 (const int)
|
||||
0:61 mix ( global uint)
|
||||
0:61 Constant:
|
||||
0:61 1 (const uint)
|
||||
0:61 Constant:
|
||||
0:61 1 (const uint)
|
||||
0:61 Constant:
|
||||
0:61 false (const bool)
|
||||
0:98 Function Definition: foots( ( global void)
|
||||
0:98 Function Parameters:
|
||||
0:100 Sequence
|
||||
|
||||
221
Test/baseResults/310.inheritMemory.frag.out
Normal file
221
Test/baseResults/310.inheritMemory.frag.out
Normal file
@ -0,0 +1,221 @@
|
||||
310.inheritMemory.frag
|
||||
Shader version: 310
|
||||
0:? Sequence
|
||||
0:18 Function Definition: non_ro_fun(f1[10]; ( global void)
|
||||
0:18 Function Parameters:
|
||||
0:18 'buff' ( in 10-element array of mediump float)
|
||||
0:19 Function Definition: non_ro_funf(f1; ( global void)
|
||||
0:19 Function Parameters:
|
||||
0:19 'el' ( in mediump float)
|
||||
0:20 Function Definition: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:20 Function Parameters:
|
||||
0:20 's' ( in structure{ global 10-element array of mediump float buff})
|
||||
0:24 Function Definition: main( ( global void)
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:28 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:28 's' ( temp structure{ global 10-element array of mediump float buff})
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:29 direct index ( temp mediump float)
|
||||
0:29 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:29 's' ( temp structure{ global 10-element array of mediump float buff})
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 Constant:
|
||||
0:29 3 (const int)
|
||||
0:30 Function Call: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:30 's' ( temp structure{ global 10-element array of mediump float buff})
|
||||
0:32 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:32 buff: direct index for structure (layout( column_major std430 offset=0) buffer 10-element array of mediump float)
|
||||
0:32 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:33 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:33 s: direct index for structure (layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff})
|
||||
0:33 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:34 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:34 direct index (layout( column_major std430 offset=0) temp mediump float)
|
||||
0:34 buff: direct index for structure (layout( column_major std430 offset=0) buffer 10-element array of mediump float)
|
||||
0:34 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:34 Constant:
|
||||
0:34 3 (const int)
|
||||
0:35 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:35 direct index ( temp mediump float)
|
||||
0:35 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:35 s: direct index for structure (layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff})
|
||||
0:35 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:35 Constant:
|
||||
0:35 1 (const int)
|
||||
0:35 Constant:
|
||||
0:35 0 (const int)
|
||||
0:35 Constant:
|
||||
0:35 3 (const int)
|
||||
0:36 Function Call: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:36 s: direct index for structure (layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff})
|
||||
0:36 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:38 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:38 buff_ro: direct index for structure (layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float)
|
||||
0:38 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:39 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:39 buff: direct index for structure ( readonly global 10-element array of mediump float)
|
||||
0:39 s_ro: direct index for structure (layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff})
|
||||
0:39 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:39 Constant:
|
||||
0:39 1 (const int)
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:40 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:40 direct index (layout( column_major std430 offset=0) readonly temp mediump float)
|
||||
0:40 buff_ro: direct index for structure (layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float)
|
||||
0:40 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 3 (const int)
|
||||
0:41 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:41 direct index ( readonly temp mediump float)
|
||||
0:41 buff: direct index for structure ( readonly global 10-element array of mediump float)
|
||||
0:41 s_ro: direct index for structure (layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff})
|
||||
0:41 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 0 (const int)
|
||||
0:41 Constant:
|
||||
0:41 3 (const int)
|
||||
0:42 Function Call: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:42 s_ro: direct index for structure (layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff})
|
||||
0:42 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:42 Constant:
|
||||
0:42 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:? 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:? 'fragColor' ( out mediump 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 310
|
||||
0:? Sequence
|
||||
0:18 Function Definition: non_ro_fun(f1[10]; ( global void)
|
||||
0:18 Function Parameters:
|
||||
0:18 'buff' ( in 10-element array of mediump float)
|
||||
0:19 Function Definition: non_ro_funf(f1; ( global void)
|
||||
0:19 Function Parameters:
|
||||
0:19 'el' ( in mediump float)
|
||||
0:20 Function Definition: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:20 Function Parameters:
|
||||
0:20 's' ( in structure{ global 10-element array of mediump float buff})
|
||||
0:24 Function Definition: main( ( global void)
|
||||
0:24 Function Parameters:
|
||||
0:? Sequence
|
||||
0:28 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:28 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:28 's' ( temp structure{ global 10-element array of mediump float buff})
|
||||
0:28 Constant:
|
||||
0:28 0 (const int)
|
||||
0:29 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:29 direct index ( temp mediump float)
|
||||
0:29 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:29 's' ( temp structure{ global 10-element array of mediump float buff})
|
||||
0:29 Constant:
|
||||
0:29 0 (const int)
|
||||
0:29 Constant:
|
||||
0:29 3 (const int)
|
||||
0:30 Function Call: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:30 's' ( temp structure{ global 10-element array of mediump float buff})
|
||||
0:32 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:32 buff: direct index for structure (layout( column_major std430 offset=0) buffer 10-element array of mediump float)
|
||||
0:32 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:32 Constant:
|
||||
0:32 0 (const int)
|
||||
0:33 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:33 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:33 s: direct index for structure (layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff})
|
||||
0:33 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
0:33 0 (const int)
|
||||
0:34 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:34 direct index (layout( column_major std430 offset=0) temp mediump float)
|
||||
0:34 buff: direct index for structure (layout( column_major std430 offset=0) buffer 10-element array of mediump float)
|
||||
0:34 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:34 Constant:
|
||||
0:34 0 (const int)
|
||||
0:34 Constant:
|
||||
0:34 3 (const int)
|
||||
0:35 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:35 direct index ( temp mediump float)
|
||||
0:35 buff: direct index for structure ( global 10-element array of mediump float)
|
||||
0:35 s: direct index for structure (layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff})
|
||||
0:35 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:35 Constant:
|
||||
0:35 1 (const int)
|
||||
0:35 Constant:
|
||||
0:35 0 (const int)
|
||||
0:35 Constant:
|
||||
0:35 3 (const int)
|
||||
0:36 Function Call: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:36 s: direct index for structure (layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff})
|
||||
0:36 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:38 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:38 buff_ro: direct index for structure (layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float)
|
||||
0:38 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:38 Constant:
|
||||
0:38 0 (const int)
|
||||
0:39 Function Call: non_ro_fun(f1[10]; ( global void)
|
||||
0:39 buff: direct index for structure ( readonly global 10-element array of mediump float)
|
||||
0:39 s_ro: direct index for structure (layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff})
|
||||
0:39 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:39 Constant:
|
||||
0:39 1 (const int)
|
||||
0:39 Constant:
|
||||
0:39 0 (const int)
|
||||
0:40 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:40 direct index (layout( column_major std430 offset=0) readonly temp mediump float)
|
||||
0:40 buff_ro: direct index for structure (layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float)
|
||||
0:40 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:40 Constant:
|
||||
0:40 0 (const int)
|
||||
0:40 Constant:
|
||||
0:40 3 (const int)
|
||||
0:41 Function Call: non_ro_funf(f1; ( global void)
|
||||
0:41 direct index ( readonly temp mediump float)
|
||||
0:41 buff: direct index for structure ( readonly global 10-element array of mediump float)
|
||||
0:41 s_ro: direct index for structure (layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff})
|
||||
0:41 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:41 Constant:
|
||||
0:41 1 (const int)
|
||||
0:41 Constant:
|
||||
0:41 0 (const int)
|
||||
0:41 Constant:
|
||||
0:41 3 (const int)
|
||||
0:42 Function Call: non_ro_funS(struct-S-f1[10]1; ( global void)
|
||||
0:42 s_ro: direct index for structure (layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff})
|
||||
0:42 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:42 Constant:
|
||||
0:42 1 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'ro_buffer' (layout( binding=2 column_major std430) readonly buffer block{layout( column_major std430 offset=0) readonly buffer 10-element array of mediump float buff_ro, layout( column_major std430 offset=40) readonly buffer structure{ global 10-element array of mediump float buff} s_ro})
|
||||
0:? 'non_ro_buffer' (layout( binding=2 column_major std430) buffer block{layout( column_major std430 offset=0) buffer 10-element array of mediump float buff, layout( column_major std430 offset=40) buffer structure{ global 10-element array of mediump float buff} s})
|
||||
0:? 'fragColor' ( out mediump 4-component vector of float)
|
||||
|
||||
@ -72,8 +72,8 @@ ERROR: node is still EOpNull!
|
||||
0:25 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:25 'p' ( temp highp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 Constant:
|
||||
@ -82,8 +82,8 @@ ERROR: node is still EOpNull!
|
||||
0:26 move second child to first child ( temp highp float)
|
||||
0:26 'ps' ( temp highp float)
|
||||
0:26 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 Constant:
|
||||
@ -211,8 +211,8 @@ ERROR: node is still EOpNull!
|
||||
0:114 move second child to first child ( temp highp float)
|
||||
0:114 'ps' ( temp highp float)
|
||||
0:114 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:114 Constant:
|
||||
0:114 1 (const int)
|
||||
0:114 Constant:
|
||||
@ -442,8 +442,8 @@ ERROR: node is still EOpNull!
|
||||
0:25 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:25 'p' ( temp highp 4-component vector of float)
|
||||
0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:25 Constant:
|
||||
0:25 1 (const int)
|
||||
0:25 Constant:
|
||||
@ -452,8 +452,8 @@ ERROR: node is still EOpNull!
|
||||
0:26 move second child to first child ( temp highp float)
|
||||
0:26 'ps' ( temp highp float)
|
||||
0:26 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:26 Constant:
|
||||
0:26 1 (const int)
|
||||
0:26 Constant:
|
||||
|
||||
@ -76,8 +76,8 @@ ERROR: node is still EOpNull!
|
||||
0:36 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:36 'p' ( temp highp 4-component vector of float)
|
||||
0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
@ -86,8 +86,8 @@ ERROR: node is still EOpNull!
|
||||
0:37 move second child to first child ( temp highp float)
|
||||
0:37 'ps' ( temp highp float)
|
||||
0:37 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 Constant:
|
||||
@ -209,8 +209,8 @@ ERROR: node is still EOpNull!
|
||||
0:36 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:36 'p' ( temp highp 4-component vector of float)
|
||||
0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:36 Constant:
|
||||
0:36 1 (const int)
|
||||
0:36 Constant:
|
||||
@ -219,8 +219,8 @@ ERROR: node is still EOpNull!
|
||||
0:37 move second child to first child ( temp highp float)
|
||||
0:37 'ps' ( temp highp float)
|
||||
0:37 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 Constant:
|
||||
|
||||
@ -269,7 +269,7 @@ ERROR: node is still EOpNull!
|
||||
0:117 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
0:118 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:118 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:118 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:118 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:118 Constant:
|
||||
0:118 0 (const uint)
|
||||
0:118 Constant:
|
||||
@ -278,7 +278,7 @@ ERROR: node is still EOpNull!
|
||||
0:118 1.000000
|
||||
0:118 1.000000
|
||||
0:119 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
|
||||
0:119 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:119 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:119 Constant:
|
||||
0:119 1 (const uint)
|
||||
0:153 Function Definition: pfooBad( ( global void)
|
||||
@ -940,7 +940,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=12) smooth out highp int)
|
||||
0:? 'inbinst' ( in block{ in highp int a})
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:? 'smon' ( smooth out block{ out highp int i})
|
||||
0:? 'fmon' ( flat out block{ out highp int i})
|
||||
0:? 'cmon' ( centroid out block{ out highp int i})
|
||||
@ -1184,7 +1184,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=12) smooth out highp int)
|
||||
0:? 'inbinst' ( in block{ in highp int a})
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:? 'smon' ( smooth out block{ out highp int i})
|
||||
0:? 'fmon' ( flat out block{ out highp int i})
|
||||
0:? 'cmon' ( centroid out block{ out highp int i})
|
||||
|
||||
@ -1,10 +1,43 @@
|
||||
320.comp
|
||||
ERROR: 0:8: 'dFdx' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:9: 'dFdy' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:10: 'fwidth' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:11: 'dFdxCoarse' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:12: 'dFdyCoarse' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:13: 'fwidthCoarse' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:14: 'dFdxFine' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:15: 'dFdyFine' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 0:16: 'fwidthFine' : required extension not requested: GL_NV_compute_shader_derivatives
|
||||
ERROR: 9 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 320
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:3 Function Definition: main( ( global void)
|
||||
0:3 Function Parameters:
|
||||
ERROR: node is still EOpNull!
|
||||
0:6 Function Definition: main( ( global void)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 dPdx ( global highp float)
|
||||
0:8 'fX' ( global highp float)
|
||||
0:9 dPdy ( global highp float)
|
||||
0:9 'fY' ( global highp float)
|
||||
0:10 fwidth ( global highp float)
|
||||
0:10 'fX' ( global highp float)
|
||||
0:11 dPdxCoarse ( global highp float)
|
||||
0:11 'fX' ( global highp float)
|
||||
0:12 dPdyCoarse ( global highp float)
|
||||
0:12 'fY' ( global highp float)
|
||||
0:13 fwidthCoarse ( global highp float)
|
||||
0:13 'fX' ( global highp float)
|
||||
0:14 dPdxFine ( global highp float)
|
||||
0:14 'fX' ( global highp float)
|
||||
0:15 dPdyFine ( global highp float)
|
||||
0:15 'fY' ( global highp float)
|
||||
0:16 fwidthFine ( global highp float)
|
||||
0:16 'fX' ( global highp float)
|
||||
0:? Linker Objects
|
||||
0:? 'fX' ( global highp float)
|
||||
0:? 'fY' ( global highp float)
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
@ -12,8 +45,29 @@ Linked compute stage:
|
||||
|
||||
Shader version: 320
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
0:3 Function Definition: main( ( global void)
|
||||
0:3 Function Parameters:
|
||||
ERROR: node is still EOpNull!
|
||||
0:6 Function Definition: main( ( global void)
|
||||
0:6 Function Parameters:
|
||||
0:8 Sequence
|
||||
0:8 dPdx ( global highp float)
|
||||
0:8 'fX' ( global highp float)
|
||||
0:9 dPdy ( global highp float)
|
||||
0:9 'fY' ( global highp float)
|
||||
0:10 fwidth ( global highp float)
|
||||
0:10 'fX' ( global highp float)
|
||||
0:11 dPdxCoarse ( global highp float)
|
||||
0:11 'fX' ( global highp float)
|
||||
0:12 dPdyCoarse ( global highp float)
|
||||
0:12 'fY' ( global highp float)
|
||||
0:13 fwidthCoarse ( global highp float)
|
||||
0:13 'fX' ( global highp float)
|
||||
0:14 dPdxFine ( global highp float)
|
||||
0:14 'fX' ( global highp float)
|
||||
0:15 dPdyFine ( global highp float)
|
||||
0:15 'fY' ( global highp float)
|
||||
0:16 fwidthFine ( global highp float)
|
||||
0:16 'fX' ( global highp float)
|
||||
0:? Linker Objects
|
||||
0:? 'fX' ( global highp float)
|
||||
0:? 'fY' ( global highp float)
|
||||
|
||||
|
||||
@ -66,8 +66,8 @@ ERROR: node is still EOpNull!
|
||||
0:23 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:23 'p' ( temp highp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
@ -76,8 +76,8 @@ ERROR: node is still EOpNull!
|
||||
0:24 move second child to first child ( temp highp float)
|
||||
0:24 'ps' ( temp highp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
@ -196,8 +196,8 @@ ERROR: node is still EOpNull!
|
||||
0:104 move second child to first child ( temp highp float)
|
||||
0:104 'ps' ( temp highp float)
|
||||
0:104 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:104 Constant:
|
||||
0:104 1 (const int)
|
||||
0:104 Constant:
|
||||
@ -424,8 +424,8 @@ ERROR: node is still EOpNull!
|
||||
0:23 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:23 'p' ( temp highp 4-component vector of float)
|
||||
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:23 Constant:
|
||||
0:23 1 (const int)
|
||||
0:23 Constant:
|
||||
@ -434,8 +434,8 @@ ERROR: node is still EOpNull!
|
||||
0:24 move second child to first child ( temp highp float)
|
||||
0:24 'ps' ( temp highp float)
|
||||
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:24 Constant:
|
||||
0:24 1 (const int)
|
||||
0:24 Constant:
|
||||
|
||||
@ -66,8 +66,8 @@ ERROR: node is still EOpNull!
|
||||
0:32 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:32 'p' ( temp highp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
@ -76,8 +76,8 @@ ERROR: node is still EOpNull!
|
||||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 'ps' ( temp highp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
@ -184,8 +184,8 @@ ERROR: node is still EOpNull!
|
||||
0:32 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:32 'p' ( temp highp 4-component vector of float)
|
||||
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:32 Constant:
|
||||
0:32 1 (const int)
|
||||
0:32 Constant:
|
||||
@ -194,8 +194,8 @@ ERROR: node is still EOpNull!
|
||||
0:33 move second child to first child ( temp highp float)
|
||||
0:33 'ps' ( temp highp float)
|
||||
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
|
||||
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
|
||||
0:33 Constant:
|
||||
0:33 1 (const int)
|
||||
0:33 Constant:
|
||||
|
||||
@ -49,7 +49,7 @@ ERROR: node is still EOpNull!
|
||||
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
0:27 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:27 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:27 Constant:
|
||||
0:27 0 (const uint)
|
||||
0:27 Constant:
|
||||
@ -58,7 +58,7 @@ ERROR: node is still EOpNull!
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
|
||||
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:28 Constant:
|
||||
0:28 1 (const uint)
|
||||
0:62 Function Definition: pfoo( ( global void)
|
||||
@ -623,7 +623,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=12) smooth out highp int)
|
||||
0:? 'inbinst' ( in block{ in highp int a})
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:? 'smon' ( smooth out block{ out highp int i})
|
||||
0:? 'fmon' ( flat out block{ out highp int i})
|
||||
0:? 'cmon' ( centroid out block{ out highp int i})
|
||||
@ -709,7 +709,7 @@ ERROR: node is still EOpNull!
|
||||
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
0:27 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:27 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
|
||||
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:27 Constant:
|
||||
0:27 0 (const uint)
|
||||
0:27 Constant:
|
||||
@ -718,7 +718,7 @@ ERROR: node is still EOpNull!
|
||||
0:27 1.000000
|
||||
0:27 1.000000
|
||||
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
|
||||
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:28 Constant:
|
||||
0:28 1 (const uint)
|
||||
0:? Linker Objects
|
||||
@ -726,7 +726,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
|
||||
0:? 'aliased' (layout( location=12) smooth out highp int)
|
||||
0:? 'inbinst' ( in block{ in highp int a})
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
|
||||
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
|
||||
0:? 'smon' ( smooth out block{ out highp int i})
|
||||
0:? 'fmon' ( flat out block{ out highp int i})
|
||||
0:? 'cmon' ( centroid out block{ out highp int i})
|
||||
|
||||
@ -71,7 +71,7 @@ ERROR: node is still EOpNull!
|
||||
0:23 move second child to first child ( temp 4-component vector of float)
|
||||
0:23 'c' ( temp 4-component vector of float)
|
||||
0:23 gl_Color: direct index for structure ( in 4-component vector of float Color)
|
||||
0:23 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, })
|
||||
0:23 'anon@0' ( in block{ in 4-component vector of float Color gl_Color})
|
||||
0:23 Constant:
|
||||
0:23 2 (const uint)
|
||||
0:24 move second child to first child ( temp 4-component vector of float)
|
||||
@ -93,7 +93,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'inVar' ( smooth in 4-component vector of float)
|
||||
0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float)
|
||||
0:? 'varyingVar' ( smooth in 4-component vector of float)
|
||||
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, })
|
||||
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color})
|
||||
0:? 'gl_name' ( in block{ in int gl_i})
|
||||
0:? 'start' ( const int)
|
||||
0:? 6 (const int)
|
||||
@ -158,7 +158,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'inVar' ( smooth in 4-component vector of float)
|
||||
0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float)
|
||||
0:? 'varyingVar' ( smooth in 4-component vector of float)
|
||||
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, })
|
||||
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color})
|
||||
0:? 'gl_name' ( in block{ in int gl_i})
|
||||
0:? 'start' ( const int)
|
||||
0:? 6 (const int)
|
||||
|
||||
@ -38,12 +38,12 @@ ERROR: node is still EOpNull!
|
||||
0:30 0 (const int)
|
||||
0:31 move second child to first child ( temp float)
|
||||
0:31 gl_PointSize: direct index for structure (layout( stream=0) gl_PointSize float PointSize)
|
||||
0:31 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, })
|
||||
0:31 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize})
|
||||
0:31 Constant:
|
||||
0:31 1 (const uint)
|
||||
0:31 'p' ( temp float)
|
||||
0:33 gl_Position: direct index for structure (layout( stream=0) gl_Position void Position)
|
||||
0:33 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, })
|
||||
0:33 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize})
|
||||
0:33 Constant:
|
||||
0:33 0 (const uint)
|
||||
0:36 Function Definition: foo5( ( global float)
|
||||
@ -54,7 +54,7 @@ ERROR: node is still EOpNull!
|
||||
0:38 4.000000
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in unsized 2-element array of block{ in float PointSize gl_PointSize})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, })
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize})
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
@ -78,5 +78,5 @@ ERROR: node is still EOpNull!
|
||||
0:5 7 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' ( in 2-element array of block{ in float PointSize gl_PointSize})
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize, })
|
||||
0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_PointSize float PointSize gl_PointSize})
|
||||
|
||||
|
||||
@ -281,7 +281,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'sampb3' (layout( binding=80) uniform sampler2D)
|
||||
0:? 'sampb4' (layout( binding=31) uniform sampler2D)
|
||||
0:? 'sampb5' (layout( binding=79) uniform 2-element array of sampler2D)
|
||||
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'patchOut' ( smooth patch out 4-component vector of float)
|
||||
0:? 'comma0' ( temp int)
|
||||
@ -363,7 +363,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'sampb3' (layout( binding=80) uniform sampler2D)
|
||||
0:? 'sampb4' (layout( binding=31) uniform sampler2D)
|
||||
0:? 'sampb5' (layout( binding=79) uniform 2-element array of sampler2D)
|
||||
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'patchIn' ( patch in 4-component vector of float)
|
||||
0:? 'patchOut' ( smooth patch out 4-component vector of float)
|
||||
0:? 'comma0' ( temp int)
|
||||
|
||||
@ -55,9 +55,9 @@ ERROR: node is still EOpNull!
|
||||
0:63 Function Parameters:
|
||||
0:65 Sequence
|
||||
0:65 move second child to first child ( temp float)
|
||||
0:65 direct index (layout( column_major shared) temp float)
|
||||
0:65 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of float)
|
||||
0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:65 direct index (layout( column_major shared) readonly temp float)
|
||||
0:65 values: direct index for structure (layout( column_major shared) readonly buffer unsized 3-element array of float)
|
||||
0:65 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer int value, layout( column_major shared) readonly buffer unsized 3-element array of float values})
|
||||
0:65 Constant:
|
||||
0:65 1 (const int)
|
||||
0:65 Constant:
|
||||
@ -65,8 +65,8 @@ ERROR: node is still EOpNull!
|
||||
0:65 Constant:
|
||||
0:65 4.700000
|
||||
0:66 array length ( temp int)
|
||||
0:66 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of float)
|
||||
0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:66 values: direct index for structure (layout( column_major shared) readonly buffer unsized 3-element array of float)
|
||||
0:66 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer int value, layout( column_major shared) readonly buffer unsized 3-element array of float values})
|
||||
0:66 Constant:
|
||||
0:66 1 (const int)
|
||||
0:67 Barrier ( global void)
|
||||
@ -140,7 +140,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'arrX' ( global 2-element array of int)
|
||||
0:? 'arrY' ( global 1-element array of int)
|
||||
0:? 'arrZ' ( global 4096-element array of int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer int value, layout( column_major shared) readonly buffer unsized 3-element array of float values})
|
||||
0:? 'roll' ( uniform double)
|
||||
0:? 'destTex' ( writeonly uniform image2D)
|
||||
0:? 'inbi' ( in block{ in int a})
|
||||
@ -201,7 +201,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'arrX' ( global 2-element array of int)
|
||||
0:? 'arrY' ( global 1-element array of int)
|
||||
0:? 'arrZ' ( global 4096-element array of int)
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values})
|
||||
0:? 'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer int value, layout( column_major shared) readonly buffer unsized 3-element array of float values})
|
||||
0:? 'roll' ( uniform double)
|
||||
0:? 'destTex' ( writeonly uniform image2D)
|
||||
0:? 'inbi' ( in block{ in int a})
|
||||
|
||||
@ -78,7 +78,7 @@ ERROR: node is still EOpNull!
|
||||
0:16 move second child to first child ( temp float)
|
||||
0:16 direct index ( temp float ClipDistance)
|
||||
0:16 gl_ClipDistance: direct index for structure ( out 17-element array of float ClipDistance)
|
||||
0:16 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:16 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance})
|
||||
0:16 Constant:
|
||||
0:16 2 (const uint)
|
||||
0:16 Constant:
|
||||
@ -206,7 +206,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'uv4' (layout( location=4) uniform 4-component vector of float)
|
||||
0:? 'b1' (layout( location=2) in block{ in 4-component vector of float v})
|
||||
0:? 'b2' (layout( location=2) out block{ out 4-component vector of float v})
|
||||
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'cs' (layout( location=10) smooth out 2-element array of structure{ global 7-element array of 3X2 matrix of float m, global float f})
|
||||
0:? 'cf' (layout( location=54) smooth out float)
|
||||
0:? 'cg' (layout( location=53) smooth out float)
|
||||
@ -281,7 +281,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'uv4' (layout( location=4) uniform 4-component vector of float)
|
||||
0:? 'b1' (layout( location=2) in block{ in 4-component vector of float v})
|
||||
0:? 'b2' (layout( location=2) out block{ out 4-component vector of float v})
|
||||
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'cs' (layout( location=10) smooth out 2-element array of structure{ global 7-element array of 3X2 matrix of float m, global float f})
|
||||
0:? 'cf' (layout( location=54) smooth out float)
|
||||
0:? 'cg' (layout( location=53) smooth out float)
|
||||
|
||||
@ -156,7 +156,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'bbinst9' ( out block{layout( xfb_buffer=4 xfb_offset=1) out bool b, layout( xfb_buffer=4 xfb_offset=12) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=4 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=4 xfb_offset=90) out int i, layout( xfb_buffer=4 xfb_offset=98) out double d, layout( xfb_buffer=4 xfb_offset=108) out structure{ global int a} s})
|
||||
0:? 'bm' (layout( xfb_buffer=5 xfb_offset=0) smooth out float)
|
||||
0:? 'bbinst10' ( out block{layout( xfb_buffer=7 xfb_offset=0) out 4X4 matrix of double m1, layout( xfb_buffer=7 xfb_offset=128) out 4X4 matrix of double m2, layout( xfb_buffer=7 xfb_offset=256) out float f})
|
||||
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize, })
|
||||
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
@ -241,7 +241,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'bbinst9' ( out block{layout( xfb_buffer=4 xfb_offset=1) out bool b, layout( xfb_buffer=4 xfb_offset=12) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=4 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=4 xfb_offset=90) out int i, layout( xfb_buffer=4 xfb_offset=98) out double d, layout( xfb_buffer=4 xfb_offset=108) out structure{ global int a} s})
|
||||
0:? 'bm' (layout( xfb_buffer=5 xfb_offset=0) smooth out float)
|
||||
0:? 'bbinst10' ( out block{layout( xfb_buffer=7 xfb_offset=0) out 4X4 matrix of double m1, layout( xfb_buffer=7 xfb_offset=128) out 4X4 matrix of double m2, layout( xfb_buffer=7 xfb_offset=256) out float f})
|
||||
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize, })
|
||||
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
||||
@ -9,17 +9,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_init' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'int8_t_init' ( const int8_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int8_t)
|
||||
0:? 'int16_t_init' ( const int16_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int16_t)
|
||||
0:? 'int32_t_init' ( const int)
|
||||
0:? -3 (const int)
|
||||
0:? 'int64_t_init' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'uint8_t_init' ( const uint8_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'uint16_t_init' ( const uint16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint16_t)
|
||||
0:? 'uint32_t_init' ( const uint)
|
||||
0:? 3 (const uint)
|
||||
0:? 'uint64_t_init' ( const uint64_t)
|
||||
@ -33,17 +33,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'int8_t_to_bool' ( const bool)
|
||||
0:? -1 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'int16_t_to_bool' ( const bool)
|
||||
0:? -2 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'int32_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'int64_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'uint8_t_to_bool' ( const bool)
|
||||
0:? 1 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'uint16_t_to_bool' ( const bool)
|
||||
0:? 2 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'uint32_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'uint64_t_to_bool' ( const bool)
|
||||
@ -55,53 +55,53 @@ local_size = (1, 1, 1)
|
||||
0:? 'float64_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'bool_to_int8_t' ( const int8_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const int8_t)
|
||||
0:? 'int8_t_to_int8_t' ( const int8_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int8_t)
|
||||
0:? 'int16_t_to_int8_t' ( const int8_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int8_t)
|
||||
0:? 'int32_t_to_int8_t' ( const int8_t)
|
||||
0:? -3 (const int)
|
||||
0:? -3 (const int8_t)
|
||||
0:? 'int64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? -4 (const int8_t)
|
||||
0:? 'uint8_t_to_int8_t' ( const int8_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int8_t)
|
||||
0:? 'uint16_t_to_int8_t' ( const int8_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const int8_t)
|
||||
0:? 'uint32_t_to_int8_t' ( const int8_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const int8_t)
|
||||
0:? 'uint64_t_to_int8_t' ( const int8_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const int8_t)
|
||||
0:? 'float16_t_to_int8_t' ( const int8_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const int8_t)
|
||||
0:? 'float32_t_to_int8_t' ( const int8_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const int8_t)
|
||||
0:? 'float64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4.000000
|
||||
0:? -4 (const int8_t)
|
||||
0:? 'bool_to_int16_t' ( const int16_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const int16_t)
|
||||
0:? 'int8_t_to_int16_t' ( const int16_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int16_t)
|
||||
0:? 'int16_t_to_int16_t' ( const int16_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int16_t)
|
||||
0:? 'int32_t_to_int16_t' ( const int16_t)
|
||||
0:? -3 (const int)
|
||||
0:? -3 (const int16_t)
|
||||
0:? 'int64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? -4 (const int16_t)
|
||||
0:? 'uint8_t_to_int16_t' ( const int16_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int16_t)
|
||||
0:? 'uint16_t_to_int16_t' ( const int16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const int16_t)
|
||||
0:? 'uint32_t_to_int16_t' ( const int16_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const int16_t)
|
||||
0:? 'uint64_t_to_int16_t' ( const int16_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const int16_t)
|
||||
0:? 'float16_t_to_int16_t' ( const int16_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const int16_t)
|
||||
0:? 'float32_t_to_int16_t' ( const int16_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const int16_t)
|
||||
0:? 'float64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4.000000
|
||||
0:? -4 (const int16_t)
|
||||
0:? 'bool_to_int32_t' ( const int)
|
||||
0:? 1 (const int)
|
||||
0:? 'int8_t_to_int32_t' ( const int)
|
||||
@ -129,17 +129,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_int64_t' ( const int64_t)
|
||||
0:? 1 (const int64_t)
|
||||
0:? 'int8_t_to_int64_t' ( const int64_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int64_t)
|
||||
0:? 'int16_t_to_int64_t' ( const int64_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int64_t)
|
||||
0:? 'int32_t_to_int64_t' ( const int64_t)
|
||||
0:? -3 (const int64_t)
|
||||
0:? 'int64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'uint8_t_to_int64_t' ( const int64_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int64_t)
|
||||
0:? 'uint16_t_to_int64_t' ( const int64_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const int64_t)
|
||||
0:? 'uint32_t_to_int64_t' ( const int64_t)
|
||||
0:? 3 (const int64_t)
|
||||
0:? 'uint64_t_to_int64_t' ( const int64_t)
|
||||
@ -151,67 +151,67 @@ local_size = (1, 1, 1)
|
||||
0:? 'float64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'bool_to_uint8_t' ( const uint8_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'int8_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -1 (const int)
|
||||
0:? 255 (const uint8_t)
|
||||
0:? 'int16_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -2 (const int)
|
||||
0:? 254 (const uint8_t)
|
||||
0:? 'int32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -3 (const int)
|
||||
0:? 253 (const uint8_t)
|
||||
0:? 'int64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 252 (const uint8_t)
|
||||
0:? 'uint8_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'uint16_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint8_t)
|
||||
0:? 'uint32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const uint8_t)
|
||||
0:? 'uint64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const uint8_t)
|
||||
0:? 'float16_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const uint8_t)
|
||||
0:? 'float32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const uint8_t)
|
||||
0:? 'float64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -4.000000
|
||||
0:? 252 (const uint8_t)
|
||||
0:? 'bool_to_uint16_t' ( const uint16_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const uint16_t)
|
||||
0:? 'int8_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -1 (const int)
|
||||
0:? 65535 (const uint16_t)
|
||||
0:? 'int16_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -2 (const int)
|
||||
0:? 65534 (const uint16_t)
|
||||
0:? 'int32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -3 (const int)
|
||||
0:? 65533 (const uint16_t)
|
||||
0:? 'int64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 65532 (const uint16_t)
|
||||
0:? 'uint8_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint16_t)
|
||||
0:? 'uint16_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint16_t)
|
||||
0:? 'uint32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const uint16_t)
|
||||
0:? 'uint64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const uint16_t)
|
||||
0:? 'float16_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const uint16_t)
|
||||
0:? 'float32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const uint16_t)
|
||||
0:? 'float64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -4.000000
|
||||
0:? 65532 (const uint16_t)
|
||||
0:? 'bool_to_uint32_t' ( const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 'int8_t_to_uint32_t' ( const uint)
|
||||
0:? -1 (const int)
|
||||
0:? 4294967295 (const uint)
|
||||
0:? 'int16_t_to_uint32_t' ( const uint)
|
||||
0:? -2 (const int)
|
||||
0:? 4294967294 (const uint)
|
||||
0:? 'int32_t_to_uint32_t' ( const uint)
|
||||
0:? 4294967293 (const uint)
|
||||
0:? 'int64_t_to_uint32_t' ( const uint)
|
||||
0:? 4294967292 (const uint)
|
||||
0:? 'uint8_t_to_uint32_t' ( const uint)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint)
|
||||
0:? 'uint16_t_to_uint32_t' ( const uint)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint)
|
||||
0:? 'uint32_t_to_uint32_t' ( const uint)
|
||||
0:? 3 (const uint)
|
||||
0:? 'uint64_t_to_uint32_t' ( const uint)
|
||||
@ -225,17 +225,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_uint64_t' ( const uint64_t)
|
||||
0:? 1 (const uint64_t)
|
||||
0:? 'int8_t_to_uint64_t' ( const uint64_t)
|
||||
0:? -1 (const int)
|
||||
0:? 18446744073709551615 (const uint64_t)
|
||||
0:? 'int16_t_to_uint64_t' ( const uint64_t)
|
||||
0:? -2 (const int)
|
||||
0:? 18446744073709551614 (const uint64_t)
|
||||
0:? 'int32_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 18446744073709551613 (const uint64_t)
|
||||
0:? 'int64_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 18446744073709551612 (const uint64_t)
|
||||
0:? 'uint8_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint64_t)
|
||||
0:? 'uint16_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint64_t)
|
||||
0:? 'uint32_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 3 (const uint64_t)
|
||||
0:? 'uint64_t_to_uint64_t' ( const uint64_t)
|
||||
@ -249,17 +249,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_float16_t' ( const float16_t)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float16_t' ( const float16_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1.000000
|
||||
0:? 'int16_t_to_float16_t' ( const float16_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2.000000
|
||||
0:? 'int32_t_to_float16_t' ( const float16_t)
|
||||
0:? -3.000000
|
||||
0:? 'int64_t_to_float16_t' ( const float16_t)
|
||||
0:? -4.000000
|
||||
0:? 'uint8_t_to_float16_t' ( const float16_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1.000000
|
||||
0:? 'uint16_t_to_float16_t' ( const float16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2.000000
|
||||
0:? 'uint32_t_to_float16_t' ( const float16_t)
|
||||
0:? 3.000000
|
||||
0:? 'uint64_t_to_float16_t' ( const float16_t)
|
||||
@ -273,17 +273,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_float32_t' ( const float)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float32_t' ( const float)
|
||||
0:? -1 (const int)
|
||||
0:? -1.000000
|
||||
0:? 'int16_t_to_float32_t' ( const float)
|
||||
0:? -2 (const int)
|
||||
0:? -2.000000
|
||||
0:? 'int32_t_to_float32_t' ( const float)
|
||||
0:? -3.000000
|
||||
0:? 'int64_t_to_float32_t' ( const float)
|
||||
0:? -4.000000
|
||||
0:? 'uint8_t_to_float32_t' ( const float)
|
||||
0:? 1 (const int)
|
||||
0:? 1.000000
|
||||
0:? 'uint16_t_to_float32_t' ( const float)
|
||||
0:? 2 (const int)
|
||||
0:? 2.000000
|
||||
0:? 'uint32_t_to_float32_t' ( const float)
|
||||
0:? 3.000000
|
||||
0:? 'uint64_t_to_float32_t' ( const float)
|
||||
@ -297,17 +297,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_float64_t' ( const double)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float64_t' ( const double)
|
||||
0:? -1 (const int)
|
||||
0:? -1.000000
|
||||
0:? 'int16_t_to_float64_t' ( const double)
|
||||
0:? -2 (const int)
|
||||
0:? -2.000000
|
||||
0:? 'int32_t_to_float64_t' ( const double)
|
||||
0:? -3.000000
|
||||
0:? 'int64_t_to_float64_t' ( const double)
|
||||
0:? -4.000000
|
||||
0:? 'uint8_t_to_float64_t' ( const double)
|
||||
0:? 1 (const int)
|
||||
0:? 1.000000
|
||||
0:? 'uint16_t_to_float64_t' ( const double)
|
||||
0:? 2 (const int)
|
||||
0:? 2.000000
|
||||
0:? 'uint32_t_to_float64_t' ( const double)
|
||||
0:? 3.000000
|
||||
0:? 'uint64_t_to_float64_t' ( const double)
|
||||
@ -333,17 +333,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_init' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'int8_t_init' ( const int8_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int8_t)
|
||||
0:? 'int16_t_init' ( const int16_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int16_t)
|
||||
0:? 'int32_t_init' ( const int)
|
||||
0:? -3 (const int)
|
||||
0:? 'int64_t_init' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'uint8_t_init' ( const uint8_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'uint16_t_init' ( const uint16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint16_t)
|
||||
0:? 'uint32_t_init' ( const uint)
|
||||
0:? 3 (const uint)
|
||||
0:? 'uint64_t_init' ( const uint64_t)
|
||||
@ -357,17 +357,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'int8_t_to_bool' ( const bool)
|
||||
0:? -1 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'int16_t_to_bool' ( const bool)
|
||||
0:? -2 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'int32_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'int64_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'uint8_t_to_bool' ( const bool)
|
||||
0:? 1 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'uint16_t_to_bool' ( const bool)
|
||||
0:? 2 (const int)
|
||||
0:? true (const bool)
|
||||
0:? 'uint32_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'uint64_t_to_bool' ( const bool)
|
||||
@ -379,53 +379,53 @@ local_size = (1, 1, 1)
|
||||
0:? 'float64_t_to_bool' ( const bool)
|
||||
0:? true (const bool)
|
||||
0:? 'bool_to_int8_t' ( const int8_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const int8_t)
|
||||
0:? 'int8_t_to_int8_t' ( const int8_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int8_t)
|
||||
0:? 'int16_t_to_int8_t' ( const int8_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int8_t)
|
||||
0:? 'int32_t_to_int8_t' ( const int8_t)
|
||||
0:? -3 (const int)
|
||||
0:? -3 (const int8_t)
|
||||
0:? 'int64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? -4 (const int8_t)
|
||||
0:? 'uint8_t_to_int8_t' ( const int8_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int8_t)
|
||||
0:? 'uint16_t_to_int8_t' ( const int8_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const int8_t)
|
||||
0:? 'uint32_t_to_int8_t' ( const int8_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const int8_t)
|
||||
0:? 'uint64_t_to_int8_t' ( const int8_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const int8_t)
|
||||
0:? 'float16_t_to_int8_t' ( const int8_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const int8_t)
|
||||
0:? 'float32_t_to_int8_t' ( const int8_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const int8_t)
|
||||
0:? 'float64_t_to_int8_t' ( const int8_t)
|
||||
0:? -4.000000
|
||||
0:? -4 (const int8_t)
|
||||
0:? 'bool_to_int16_t' ( const int16_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const int16_t)
|
||||
0:? 'int8_t_to_int16_t' ( const int16_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int16_t)
|
||||
0:? 'int16_t_to_int16_t' ( const int16_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int16_t)
|
||||
0:? 'int32_t_to_int16_t' ( const int16_t)
|
||||
0:? -3 (const int)
|
||||
0:? -3 (const int16_t)
|
||||
0:? 'int64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? -4 (const int16_t)
|
||||
0:? 'uint8_t_to_int16_t' ( const int16_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int16_t)
|
||||
0:? 'uint16_t_to_int16_t' ( const int16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const int16_t)
|
||||
0:? 'uint32_t_to_int16_t' ( const int16_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const int16_t)
|
||||
0:? 'uint64_t_to_int16_t' ( const int16_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const int16_t)
|
||||
0:? 'float16_t_to_int16_t' ( const int16_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const int16_t)
|
||||
0:? 'float32_t_to_int16_t' ( const int16_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const int16_t)
|
||||
0:? 'float64_t_to_int16_t' ( const int16_t)
|
||||
0:? -4.000000
|
||||
0:? -4 (const int16_t)
|
||||
0:? 'bool_to_int32_t' ( const int)
|
||||
0:? 1 (const int)
|
||||
0:? 'int8_t_to_int32_t' ( const int)
|
||||
@ -453,17 +453,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_int64_t' ( const int64_t)
|
||||
0:? 1 (const int64_t)
|
||||
0:? 'int8_t_to_int64_t' ( const int64_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1 (const int64_t)
|
||||
0:? 'int16_t_to_int64_t' ( const int64_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2 (const int64_t)
|
||||
0:? 'int32_t_to_int64_t' ( const int64_t)
|
||||
0:? -3 (const int64_t)
|
||||
0:? 'int64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'uint8_t_to_int64_t' ( const int64_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const int64_t)
|
||||
0:? 'uint16_t_to_int64_t' ( const int64_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const int64_t)
|
||||
0:? 'uint32_t_to_int64_t' ( const int64_t)
|
||||
0:? 3 (const int64_t)
|
||||
0:? 'uint64_t_to_int64_t' ( const int64_t)
|
||||
@ -475,67 +475,67 @@ local_size = (1, 1, 1)
|
||||
0:? 'float64_t_to_int64_t' ( const int64_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 'bool_to_uint8_t' ( const uint8_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'int8_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -1 (const int)
|
||||
0:? 255 (const uint8_t)
|
||||
0:? 'int16_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -2 (const int)
|
||||
0:? 254 (const uint8_t)
|
||||
0:? 'int32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -3 (const int)
|
||||
0:? 253 (const uint8_t)
|
||||
0:? 'int64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 252 (const uint8_t)
|
||||
0:? 'uint8_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint8_t)
|
||||
0:? 'uint16_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint8_t)
|
||||
0:? 'uint32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const uint8_t)
|
||||
0:? 'uint64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const uint8_t)
|
||||
0:? 'float16_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const uint8_t)
|
||||
0:? 'float32_t_to_uint8_t' ( const uint8_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const uint8_t)
|
||||
0:? 'float64_t_to_uint8_t' ( const uint8_t)
|
||||
0:? -4.000000
|
||||
0:? 252 (const uint8_t)
|
||||
0:? 'bool_to_uint16_t' ( const uint16_t)
|
||||
0:? true (const bool)
|
||||
0:? 1 (const uint16_t)
|
||||
0:? 'int8_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -1 (const int)
|
||||
0:? 65535 (const uint16_t)
|
||||
0:? 'int16_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -2 (const int)
|
||||
0:? 65534 (const uint16_t)
|
||||
0:? 'int32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -3 (const int)
|
||||
0:? 65533 (const uint16_t)
|
||||
0:? 'int64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -4 (const int64_t)
|
||||
0:? 65532 (const uint16_t)
|
||||
0:? 'uint8_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint16_t)
|
||||
0:? 'uint16_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint16_t)
|
||||
0:? 'uint32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 3 (const uint)
|
||||
0:? 3 (const uint16_t)
|
||||
0:? 'uint64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 4 (const uint64_t)
|
||||
0:? 4 (const uint16_t)
|
||||
0:? 'float16_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 42.000000
|
||||
0:? 42 (const uint16_t)
|
||||
0:? 'float32_t_to_uint16_t' ( const uint16_t)
|
||||
0:? 13.000000
|
||||
0:? 13 (const uint16_t)
|
||||
0:? 'float64_t_to_uint16_t' ( const uint16_t)
|
||||
0:? -4.000000
|
||||
0:? 65532 (const uint16_t)
|
||||
0:? 'bool_to_uint32_t' ( const uint)
|
||||
0:? 1 (const uint)
|
||||
0:? 'int8_t_to_uint32_t' ( const uint)
|
||||
0:? -1 (const int)
|
||||
0:? 4294967295 (const uint)
|
||||
0:? 'int16_t_to_uint32_t' ( const uint)
|
||||
0:? -2 (const int)
|
||||
0:? 4294967294 (const uint)
|
||||
0:? 'int32_t_to_uint32_t' ( const uint)
|
||||
0:? 4294967293 (const uint)
|
||||
0:? 'int64_t_to_uint32_t' ( const uint)
|
||||
0:? 4294967292 (const uint)
|
||||
0:? 'uint8_t_to_uint32_t' ( const uint)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint)
|
||||
0:? 'uint16_t_to_uint32_t' ( const uint)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint)
|
||||
0:? 'uint32_t_to_uint32_t' ( const uint)
|
||||
0:? 3 (const uint)
|
||||
0:? 'uint64_t_to_uint32_t' ( const uint)
|
||||
@ -549,17 +549,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_uint64_t' ( const uint64_t)
|
||||
0:? 1 (const uint64_t)
|
||||
0:? 'int8_t_to_uint64_t' ( const uint64_t)
|
||||
0:? -1 (const int)
|
||||
0:? 18446744073709551615 (const uint64_t)
|
||||
0:? 'int16_t_to_uint64_t' ( const uint64_t)
|
||||
0:? -2 (const int)
|
||||
0:? 18446744073709551614 (const uint64_t)
|
||||
0:? 'int32_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 18446744073709551613 (const uint64_t)
|
||||
0:? 'int64_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 18446744073709551612 (const uint64_t)
|
||||
0:? 'uint8_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1 (const uint64_t)
|
||||
0:? 'uint16_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2 (const uint64_t)
|
||||
0:? 'uint32_t_to_uint64_t' ( const uint64_t)
|
||||
0:? 3 (const uint64_t)
|
||||
0:? 'uint64_t_to_uint64_t' ( const uint64_t)
|
||||
@ -573,17 +573,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_float16_t' ( const float16_t)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float16_t' ( const float16_t)
|
||||
0:? -1 (const int)
|
||||
0:? -1.000000
|
||||
0:? 'int16_t_to_float16_t' ( const float16_t)
|
||||
0:? -2 (const int)
|
||||
0:? -2.000000
|
||||
0:? 'int32_t_to_float16_t' ( const float16_t)
|
||||
0:? -3.000000
|
||||
0:? 'int64_t_to_float16_t' ( const float16_t)
|
||||
0:? -4.000000
|
||||
0:? 'uint8_t_to_float16_t' ( const float16_t)
|
||||
0:? 1 (const int)
|
||||
0:? 1.000000
|
||||
0:? 'uint16_t_to_float16_t' ( const float16_t)
|
||||
0:? 2 (const int)
|
||||
0:? 2.000000
|
||||
0:? 'uint32_t_to_float16_t' ( const float16_t)
|
||||
0:? 3.000000
|
||||
0:? 'uint64_t_to_float16_t' ( const float16_t)
|
||||
@ -597,17 +597,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_float32_t' ( const float)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float32_t' ( const float)
|
||||
0:? -1 (const int)
|
||||
0:? -1.000000
|
||||
0:? 'int16_t_to_float32_t' ( const float)
|
||||
0:? -2 (const int)
|
||||
0:? -2.000000
|
||||
0:? 'int32_t_to_float32_t' ( const float)
|
||||
0:? -3.000000
|
||||
0:? 'int64_t_to_float32_t' ( const float)
|
||||
0:? -4.000000
|
||||
0:? 'uint8_t_to_float32_t' ( const float)
|
||||
0:? 1 (const int)
|
||||
0:? 1.000000
|
||||
0:? 'uint16_t_to_float32_t' ( const float)
|
||||
0:? 2 (const int)
|
||||
0:? 2.000000
|
||||
0:? 'uint32_t_to_float32_t' ( const float)
|
||||
0:? 3.000000
|
||||
0:? 'uint64_t_to_float32_t' ( const float)
|
||||
@ -621,17 +621,17 @@ local_size = (1, 1, 1)
|
||||
0:? 'bool_to_float64_t' ( const double)
|
||||
0:? 1.000000
|
||||
0:? 'int8_t_to_float64_t' ( const double)
|
||||
0:? -1 (const int)
|
||||
0:? -1.000000
|
||||
0:? 'int16_t_to_float64_t' ( const double)
|
||||
0:? -2 (const int)
|
||||
0:? -2.000000
|
||||
0:? 'int32_t_to_float64_t' ( const double)
|
||||
0:? -3.000000
|
||||
0:? 'int64_t_to_float64_t' ( const double)
|
||||
0:? -4.000000
|
||||
0:? 'uint8_t_to_float64_t' ( const double)
|
||||
0:? 1 (const int)
|
||||
0:? 1.000000
|
||||
0:? 'uint16_t_to_float64_t' ( const double)
|
||||
0:? 2 (const int)
|
||||
0:? 2.000000
|
||||
0:? 'uint32_t_to_float64_t' ( const double)
|
||||
0:? 3.000000
|
||||
0:? 'uint64_t_to_float64_t' ( const double)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:232: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:233: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:234: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:235: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -597,6 +602,20 @@ ERROR: node is still EOpNull!
|
||||
0:226 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:226 'ballot' ( temp 4-component vector of uint)
|
||||
0:226 'parti' ( temp 4-component vector of uint)
|
||||
0:230 Function Definition: sm_builtins_err( ( global void)
|
||||
0:230 Function Parameters:
|
||||
0:232 Sequence
|
||||
0:232 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
|
||||
0:233 'gl_SMCountNV' ( flat in uint SMCountNV)
|
||||
0:234 'gl_WarpIDNV' ( flat in uint WarpIDNV)
|
||||
0:235 'gl_SMIDNV' ( flat in uint SMIDNV)
|
||||
0:242 Function Definition: sm_builtins( ( global void)
|
||||
0:242 Function Parameters:
|
||||
0:244 Sequence
|
||||
0:244 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
|
||||
0:245 'gl_SMCountNV' ( flat in uint SMCountNV)
|
||||
0:246 'gl_WarpIDNV' ( flat in uint WarpIDNV)
|
||||
0:247 'gl_SMIDNV' ( flat in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'data' (layout( location=0) out 4-component vector of uint)
|
||||
|
||||
@ -613,6 +632,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:105 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:238: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:239: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:240: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:241: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
invocations = -1
|
||||
max_vertices = 1
|
||||
@ -606,6 +611,20 @@ ERROR: node is still EOpNull!
|
||||
0:232 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:232 'ballot' ( temp 4-component vector of uint)
|
||||
0:232 'parti' ( temp 4-component vector of uint)
|
||||
0:236 Function Definition: sm_builtins_err( ( global void)
|
||||
0:236 Function Parameters:
|
||||
0:238 Sequence
|
||||
0:238 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:239 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:240 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:241 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:248 Function Definition: sm_builtins( ( global void)
|
||||
0:248 Function Parameters:
|
||||
0:250 Sequence
|
||||
0:250 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:251 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:252 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:253 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
|
||||
|
||||
@ -622,6 +641,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
invocations = 1
|
||||
max_vertices = 1
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:237: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:238: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:239: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:240: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
vertices = 1
|
||||
ERROR: node is still EOpNull!
|
||||
@ -603,6 +608,20 @@ ERROR: node is still EOpNull!
|
||||
0:231 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:231 'ballot' ( temp 4-component vector of uint)
|
||||
0:231 'parti' ( temp 4-component vector of uint)
|
||||
0:235 Function Definition: sm_builtins_err( ( global void)
|
||||
0:235 Function Parameters:
|
||||
0:237 Sequence
|
||||
0:237 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:238 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:239 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:240 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:247 Function Definition: sm_builtins( ( global void)
|
||||
0:247 Function Parameters:
|
||||
0:249 Sequence
|
||||
0:249 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:250 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:251 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:252 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
|
||||
|
||||
@ -619,6 +638,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
vertices = 1
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:237: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:238: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:239: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:240: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
input primitive = isolines
|
||||
vertex spacing = none
|
||||
@ -605,6 +610,20 @@ ERROR: node is still EOpNull!
|
||||
0:231 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:231 'ballot' ( temp 4-component vector of uint)
|
||||
0:231 'parti' ( temp 4-component vector of uint)
|
||||
0:235 Function Definition: sm_builtins_err( ( global void)
|
||||
0:235 Function Parameters:
|
||||
0:237 Sequence
|
||||
0:237 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:238 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:239 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:240 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:247 Function Definition: sm_builtins( ( global void)
|
||||
0:247 Function Parameters:
|
||||
0:249 Sequence
|
||||
0:249 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:250 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:251 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:252 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
|
||||
|
||||
@ -621,6 +640,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
input primitive = isolines
|
||||
vertex spacing = equal_spacing
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:236: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:237: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:238: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:239: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -602,6 +607,20 @@ ERROR: node is still EOpNull!
|
||||
0:230 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:230 'ballot' ( temp 4-component vector of uint)
|
||||
0:230 'parti' ( temp 4-component vector of uint)
|
||||
0:234 Function Definition: sm_builtins_err( ( global void)
|
||||
0:234 Function Parameters:
|
||||
0:236 Sequence
|
||||
0:236 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:237 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:238 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:239 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:246 Function Definition: sm_builtins( ( global void)
|
||||
0:246 Function Parameters:
|
||||
0:248 Sequence
|
||||
0:248 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:249 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:250 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:251 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
@ -620,6 +639,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:109 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:242: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:243: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:244: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:245: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 450
|
||||
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
local_size = (8, 8, 1)
|
||||
ERROR: node is still EOpNull!
|
||||
@ -631,6 +636,20 @@ ERROR: node is still EOpNull!
|
||||
0:236 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:236 'ballot' ( temp 4-component vector of uint)
|
||||
0:236 'parti' ( temp 4-component vector of uint)
|
||||
0:240 Function Definition: sm_builtins_err( ( global void)
|
||||
0:240 Function Parameters:
|
||||
0:242 Sequence
|
||||
0:242 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:243 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:244 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:245 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:252 Function Definition: sm_builtins( ( global void)
|
||||
0:252 Function Parameters:
|
||||
0:254 Sequence
|
||||
0:254 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:255 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:256 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:257 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
|
||||
0:? 8 (const uint)
|
||||
@ -651,6 +670,7 @@ Requested GL_KHR_shader_subgroup_quad
|
||||
Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
local_size = (8, 8, 1)
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:298: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:299: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:300: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:301: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_mesh_shader
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
max_vertices = 81
|
||||
max_primitives = 32
|
||||
@ -887,6 +892,20 @@ ERROR: node is still EOpNull!
|
||||
0:292 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:292 'ballot' ( temp 4-component vector of uint)
|
||||
0:292 'parti' ( temp 4-component vector of uint)
|
||||
0:296 Function Definition: sm_builtins_err( ( global void)
|
||||
0:296 Function Parameters:
|
||||
0:298 Sequence
|
||||
0:298 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:299 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:300 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:301 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:308 Function Definition: sm_builtins( ( global void)
|
||||
0:308 Function Parameters:
|
||||
0:310 Sequence
|
||||
0:310 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:311 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:312 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:313 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
|
||||
0:? 32 (const uint)
|
||||
@ -910,6 +929,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_mesh_shader
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
max_vertices = 81
|
||||
max_primitives = 32
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:259: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:260: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:261: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:262: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -671,6 +676,20 @@ ERROR: node is still EOpNull!
|
||||
0:253 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:253 'ballot' ( temp 4-component vector of uint)
|
||||
0:253 'parti' ( temp 4-component vector of uint)
|
||||
0:257 Function Definition: sm_builtins_err( ( global void)
|
||||
0:257 Function Parameters:
|
||||
0:259 Sequence
|
||||
0:259 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:260 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:261 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:262 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:269 Function Definition: sm_builtins( ( global void)
|
||||
0:269 Function Parameters:
|
||||
0:271 Sequence
|
||||
0:271 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:272 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:273 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:274 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
|
||||
|
||||
@ -688,6 +707,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:106 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:247: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:248: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:249: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:250: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -614,6 +619,20 @@ ERROR: node is still EOpNull!
|
||||
0:241 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:241 'ballot' ( temp 4-component vector of uint)
|
||||
0:241 'parti' ( temp 4-component vector of uint)
|
||||
0:245 Function Definition: sm_builtins_err( ( global void)
|
||||
0:245 Function Parameters:
|
||||
0:247 Sequence
|
||||
0:247 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:248 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:249 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:250 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:257 Function Definition: sm_builtins( ( global void)
|
||||
0:257 Function Parameters:
|
||||
0:259 Sequence
|
||||
0:259 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:260 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:261 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:262 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'data0' (layout( location=0) callableDataNV 4-component vector of float)
|
||||
0:? 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1})
|
||||
@ -632,6 +651,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:109 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:257: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:258: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:259: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:260: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -680,6 +685,20 @@ ERROR: node is still EOpNull!
|
||||
0:251 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:251 'ballot' ( temp 4-component vector of uint)
|
||||
0:251 'parti' ( temp 4-component vector of uint)
|
||||
0:255 Function Definition: sm_builtins_err( ( global void)
|
||||
0:255 Function Parameters:
|
||||
0:257 Sequence
|
||||
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:258 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:260 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:267 Function Definition: sm_builtins( ( global void)
|
||||
0:267 Function Parameters:
|
||||
0:269 Sequence
|
||||
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:270 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:272 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
|
||||
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
|
||||
@ -699,6 +718,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:108 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:251: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:252: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:253: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:254: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -644,6 +649,20 @@ ERROR: node is still EOpNull!
|
||||
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:245 'ballot' ( temp 4-component vector of uint)
|
||||
0:245 'parti' ( temp 4-component vector of uint)
|
||||
0:249 Function Definition: sm_builtins_err( ( global void)
|
||||
0:249 Function Parameters:
|
||||
0:251 Sequence
|
||||
0:251 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:252 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:253 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:254 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:261 Function Definition: sm_builtins( ( global void)
|
||||
0:261 Function Parameters:
|
||||
0:263 Sequence
|
||||
0:263 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:264 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:265 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:266 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
|
||||
0:? 'accNV1' (layout( set=0 binding=1) uniform accelerationStructureNV)
|
||||
@ -664,6 +683,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:113 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:97: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:257: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:258: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:259: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:260: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -658,6 +663,20 @@ ERROR: node is still EOpNull!
|
||||
0:251 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:251 'ballot' ( temp 4-component vector of uint)
|
||||
0:251 'parti' ( temp 4-component vector of uint)
|
||||
0:255 Function Definition: sm_builtins_err( ( global void)
|
||||
0:255 Function Parameters:
|
||||
0:257 Sequence
|
||||
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:258 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:260 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:267 Function Definition: sm_builtins( ( global void)
|
||||
0:267 Function Parameters:
|
||||
0:269 Sequence
|
||||
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:270 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:272 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'iAttr' ( hitAttributeNV 4-component vector of float)
|
||||
|
||||
@ -675,6 +694,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:108 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:97: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:251: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:252: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:253: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:254: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
|
||||
@ -652,6 +657,20 @@ ERROR: node is still EOpNull!
|
||||
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:245 'ballot' ( temp 4-component vector of uint)
|
||||
0:245 'parti' ( temp 4-component vector of uint)
|
||||
0:249 Function Definition: sm_builtins_err( ( global void)
|
||||
0:249 Function Parameters:
|
||||
0:251 Sequence
|
||||
0:251 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:252 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:253 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:254 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:261 Function Definition: sm_builtins( ( global void)
|
||||
0:261 Function Parameters:
|
||||
0:263 Sequence
|
||||
0:263 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:264 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:265 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:266 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
|
||||
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
|
||||
@ -671,6 +690,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_ray_tracing
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
ERROR: node is still EOpNull!
|
||||
0:109 Function Definition: main( ( global void)
|
||||
|
||||
@ -85,7 +85,11 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
||||
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
ERROR: 0:288: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:289: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:290: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 0:291: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
|
||||
ERROR: 90 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_mesh_shader
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
local_size = (32, 1, 1)
|
||||
ERROR: node is still EOpNull!
|
||||
@ -729,6 +734,20 @@ ERROR: node is still EOpNull!
|
||||
0:282 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:282 'ballot' ( temp 4-component vector of uint)
|
||||
0:282 'parti' ( temp 4-component vector of uint)
|
||||
0:286 Function Definition: sm_builtins_err( ( global void)
|
||||
0:286 Function Parameters:
|
||||
0:288 Sequence
|
||||
0:288 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:289 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:290 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:291 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:298 Function Definition: sm_builtins( ( global void)
|
||||
0:298 Function Parameters:
|
||||
0:300 Sequence
|
||||
0:300 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
|
||||
0:301 'gl_SMCountNV' ( in uint SMCountNV)
|
||||
0:302 'gl_WarpIDNV' ( in uint WarpIDNV)
|
||||
0:303 'gl_SMIDNV' ( in uint SMIDNV)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
|
||||
0:? 32 (const uint)
|
||||
@ -753,6 +772,7 @@ Requested GL_KHR_shader_subgroup_shuffle
|
||||
Requested GL_KHR_shader_subgroup_shuffle_relative
|
||||
Requested GL_KHR_shader_subgroup_vote
|
||||
Requested GL_NV_mesh_shader
|
||||
Requested GL_NV_shader_sm_builtins
|
||||
Requested GL_NV_shader_subgroup_partitioned
|
||||
local_size = (32, 1, 1)
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
@ -1,6 +1,25 @@
|
||||
glspv.esversion.vert
|
||||
ERROR: #version: ES shaders for OpenGL SPIR-V are not supported
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 10
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 8 9
|
||||
Source ESSL 310
|
||||
Name 4 "main"
|
||||
Name 8 "gl_VertexID"
|
||||
Name 9 "gl_InstanceID"
|
||||
Decorate 8(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 9(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: TypePointer Input 6(int)
|
||||
8(gl_VertexID): 7(ptr) Variable Input
|
||||
9(gl_InstanceID): 7(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
@ -2,12 +2,14 @@ glspv.vert
|
||||
ERROR: 0:3: 'push_constant' : only allowed when using GLSL for Vulkan
|
||||
ERROR: 0:6: 'descriptor set' : only allowed when using GLSL for Vulkan
|
||||
ERROR: 0:8: 'shared' : not allowed when generating SPIR-V
|
||||
ERROR: 0:8: 'binding' : uniform/buffer blocks require layout(binding=X)
|
||||
ERROR: 0:9: 'packed' : not allowed when generating SPIR-V
|
||||
ERROR: 0:9: 'binding' : uniform/buffer blocks require layout(binding=X)
|
||||
ERROR: 0:13: 'gl_VertexIndex' : undeclared identifier
|
||||
ERROR: 0:14: 'gl_InstanceIndex' : undeclared identifier
|
||||
ERROR: 0:17: 'gl_DepthRangeParameters' : undeclared identifier
|
||||
ERROR: 0:20: '' : syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON
|
||||
ERROR: 8 compilation errors. No code generated.
|
||||
ERROR: 10 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
|
||||
@ -58,8 +58,8 @@ using depth_greater
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 18
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthGreater
|
||||
ExecutionMode 4 DepthReplacing
|
||||
ExecutionMode 4 DepthGreater
|
||||
Source HLSL 500
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 10 "@PixelShaderFunction(f1;"
|
||||
|
||||
@ -50,8 +50,8 @@ using depth_less
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "PixelShaderFunction" 14
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthLess
|
||||
ExecutionMode 4 DepthReplacing
|
||||
ExecutionMode 4 DepthLess
|
||||
Source HLSL 500
|
||||
Name 4 "PixelShaderFunction"
|
||||
Name 8 "@PixelShaderFunction("
|
||||
|
||||
230
Test/baseResults/hlsl.specConstant.frag.out
Executable file
230
Test/baseResults/hlsl.specConstant.frag.out
Executable file
@ -0,0 +1,230 @@
|
||||
hlsl.specConstant.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:6 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp uint)
|
||||
0:8 'i' ( temp uint)
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 Loop with condition tested first
|
||||
0:8 Loop Condition
|
||||
0:8 Compare Less Than ( temp bool)
|
||||
0:8 'i' ( temp uint)
|
||||
0:8 indirect index ( const uint)
|
||||
0:8 Constant:
|
||||
0:8 10 (const uint)
|
||||
0:8 20 (const uint)
|
||||
0:8 30 (const uint)
|
||||
0:8 40 (const uint)
|
||||
0:8 'index' ( specialization-constant const uint)
|
||||
0:8 2 (const uint)
|
||||
0:8 Loop Body
|
||||
0:9 move second child to first child ( temp 4-component vector of float)
|
||||
0:9 'r' ( temp 4-component vector of float)
|
||||
0:9 Construct vec4 ( temp 4-component vector of float)
|
||||
0:9 Convert uint to float ( temp float)
|
||||
0:9 'i' ( temp uint)
|
||||
0:8 Loop Terminal Expression
|
||||
0:8 Post-Increment ( temp uint)
|
||||
0:8 'i' ( temp uint)
|
||||
0:11 add second child into first child ( temp 4-component vector of float)
|
||||
0:11 'r' ( temp 4-component vector of float)
|
||||
0:11 Convert uint to float ( temp float)
|
||||
0:11 add ( specialization-constant const uint)
|
||||
0:11 'index' ( specialization-constant const uint)
|
||||
0:11 2 (const uint)
|
||||
0:11 'index' ( specialization-constant const uint)
|
||||
0:11 2 (const uint)
|
||||
0:12 add second child into first child ( temp 4-component vector of float)
|
||||
0:12 'r' ( temp 4-component vector of float)
|
||||
0:12 Convert uint to float ( temp float)
|
||||
0:12 component-wise multiply ( specialization-constant const uint)
|
||||
0:12 Constant:
|
||||
0:12 2 (const uint)
|
||||
0:12 'index' ( specialization-constant const uint)
|
||||
0:12 2 (const uint)
|
||||
0:14 Branch: Return with expression
|
||||
0:14 'r' ( temp 4-component vector of float)
|
||||
0:6 Function Definition: main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? 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 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'index' ( specialization-constant const uint)
|
||||
0:? 2 (const uint)
|
||||
0:? 'array' ( const 4-element array of uint)
|
||||
0:? 10 (const uint)
|
||||
0:? 20 (const uint)
|
||||
0:? 30 (const uint)
|
||||
0:? 40 (const uint)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:6 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:6 Function Parameters:
|
||||
0:? Sequence
|
||||
0:8 Sequence
|
||||
0:8 move second child to first child ( temp uint)
|
||||
0:8 'i' ( temp uint)
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 Loop with condition tested first
|
||||
0:8 Loop Condition
|
||||
0:8 Compare Less Than ( temp bool)
|
||||
0:8 'i' ( temp uint)
|
||||
0:8 indirect index ( const uint)
|
||||
0:8 Constant:
|
||||
0:8 10 (const uint)
|
||||
0:8 20 (const uint)
|
||||
0:8 30 (const uint)
|
||||
0:8 40 (const uint)
|
||||
0:8 'index' ( specialization-constant const uint)
|
||||
0:8 2 (const uint)
|
||||
0:8 Loop Body
|
||||
0:9 move second child to first child ( temp 4-component vector of float)
|
||||
0:9 'r' ( temp 4-component vector of float)
|
||||
0:9 Construct vec4 ( temp 4-component vector of float)
|
||||
0:9 Convert uint to float ( temp float)
|
||||
0:9 'i' ( temp uint)
|
||||
0:8 Loop Terminal Expression
|
||||
0:8 Post-Increment ( temp uint)
|
||||
0:8 'i' ( temp uint)
|
||||
0:11 add second child into first child ( temp 4-component vector of float)
|
||||
0:11 'r' ( temp 4-component vector of float)
|
||||
0:11 Convert uint to float ( temp float)
|
||||
0:11 add ( specialization-constant const uint)
|
||||
0:11 'index' ( specialization-constant const uint)
|
||||
0:11 2 (const uint)
|
||||
0:11 'index' ( specialization-constant const uint)
|
||||
0:11 2 (const uint)
|
||||
0:12 add second child into first child ( temp 4-component vector of float)
|
||||
0:12 'r' ( temp 4-component vector of float)
|
||||
0:12 Convert uint to float ( temp float)
|
||||
0:12 component-wise multiply ( specialization-constant const uint)
|
||||
0:12 Constant:
|
||||
0:12 2 (const uint)
|
||||
0:12 'index' ( specialization-constant const uint)
|
||||
0:12 2 (const uint)
|
||||
0:14 Branch: Return with expression
|
||||
0:14 'r' ( temp 4-component vector of float)
|
||||
0:6 Function Definition: main( ( temp void)
|
||||
0:6 Function Parameters:
|
||||
0:? 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 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'index' ( specialization-constant const uint)
|
||||
0:? 2 (const uint)
|
||||
0:? 'array' ( const 4-element array of uint)
|
||||
0:? 10 (const uint)
|
||||
0:? 20 (const uint)
|
||||
0:? 30 (const uint)
|
||||
0:? 40 (const uint)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 61
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 59
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 9 "@main("
|
||||
Name 13 "i"
|
||||
Name 28 "index"
|
||||
Name 30 "indexable"
|
||||
Name 36 "r"
|
||||
Name 59 "@entryPointOutput"
|
||||
Decorate 28(index) SpecId 0
|
||||
Decorate 59(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 4
|
||||
8: TypeFunction 7(fvec4)
|
||||
11: TypeInt 32 0
|
||||
12: TypePointer Function 11(int)
|
||||
14: 11(int) Constant 0
|
||||
21: 11(int) Constant 4
|
||||
22: TypeArray 11(int) 21
|
||||
23: 11(int) Constant 10
|
||||
24: 11(int) Constant 20
|
||||
25: 11(int) Constant 30
|
||||
26: 11(int) Constant 40
|
||||
27: 22 ConstantComposite 23 24 25 26
|
||||
28(index): 11(int) SpecConstant 2
|
||||
29: TypePointer Function 22
|
||||
33: TypeBool
|
||||
35: TypePointer Function 7(fvec4)
|
||||
41: TypeInt 32 1
|
||||
42: 41(int) Constant 1
|
||||
44: 11(int) SpecConstantOp 128 28(index) 28(index)
|
||||
49: 11(int) Constant 2
|
||||
50: 11(int) SpecConstantOp 132 49 28(index)
|
||||
58: TypePointer Output 7(fvec4)
|
||||
59(@entryPointOutput): 58(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
60: 7(fvec4) FunctionCall 9(@main()
|
||||
Store 59(@entryPointOutput) 60
|
||||
Return
|
||||
FunctionEnd
|
||||
9(@main(): 7(fvec4) Function None 8
|
||||
10: Label
|
||||
13(i): 12(ptr) Variable Function
|
||||
30(indexable): 29(ptr) Variable Function
|
||||
36(r): 35(ptr) Variable Function
|
||||
Store 13(i) 14
|
||||
Branch 15
|
||||
15: Label
|
||||
LoopMerge 17 18 None
|
||||
Branch 19
|
||||
19: Label
|
||||
20: 11(int) Load 13(i)
|
||||
Store 30(indexable) 27
|
||||
31: 12(ptr) AccessChain 30(indexable) 28(index)
|
||||
32: 11(int) Load 31
|
||||
34: 33(bool) ULessThan 20 32
|
||||
BranchConditional 34 16 17
|
||||
16: Label
|
||||
37: 11(int) Load 13(i)
|
||||
38: 6(float) ConvertUToF 37
|
||||
39: 7(fvec4) CompositeConstruct 38 38 38 38
|
||||
Store 36(r) 39
|
||||
Branch 18
|
||||
18: Label
|
||||
40: 11(int) Load 13(i)
|
||||
43: 11(int) IAdd 40 42
|
||||
Store 13(i) 43
|
||||
Branch 15
|
||||
17: Label
|
||||
45: 6(float) ConvertUToF 44
|
||||
46: 7(fvec4) Load 36(r)
|
||||
47: 7(fvec4) CompositeConstruct 45 45 45 45
|
||||
48: 7(fvec4) FAdd 46 47
|
||||
Store 36(r) 48
|
||||
51: 6(float) ConvertUToF 50
|
||||
52: 7(fvec4) Load 36(r)
|
||||
53: 7(fvec4) CompositeConstruct 51 51 51 51
|
||||
54: 7(fvec4) FAdd 52 53
|
||||
Store 36(r) 54
|
||||
55: 7(fvec4) Load 36(r)
|
||||
ReturnValue 55
|
||||
FunctionEnd
|
||||
@ -170,8 +170,8 @@ using depth_greater
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 22 27 31 36 45 48 51 55
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthGreater
|
||||
ExecutionMode 4 DepthReplacing
|
||||
ExecutionMode 4 DepthGreater
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 8 "T"
|
||||
|
||||
@ -135,7 +135,6 @@ local_size = (256, 1, 1)
|
||||
0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
|
||||
0:? 'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
|
||||
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 63
|
||||
|
||||
@ -42,8 +42,8 @@ gl_FragCoord origin is upper left
|
||||
0:? 'b' ( global 5-element array of highp int)
|
||||
0:? 'c' ( global unsized 4-element array of highp int)
|
||||
0:? 'i' ( global highp int)
|
||||
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float r})
|
||||
0:? 'anon@1' (layout( column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float m})
|
||||
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float r})
|
||||
0:? 'anon@1' (layout( binding=1 column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float m})
|
||||
|
||||
link2.vk.frag
|
||||
Shader version: 450
|
||||
@ -99,8 +99,8 @@ gl_FragCoord origin is upper left
|
||||
0:? 'b' ( global unsized 3-element array of highp int)
|
||||
0:? 'c' ( global 7-element array of highp int)
|
||||
0:? 'i' ( global highp int)
|
||||
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float r})
|
||||
0:? 'anon@1' (layout( column_major std430) buffer block{layout( column_major std430) buffer 4-element array of highp float m})
|
||||
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float r})
|
||||
0:? 'anon@1' (layout( binding=1 column_major std430) buffer block{layout( column_major std430) buffer 4-element array of highp float m})
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
@ -192,8 +192,8 @@ gl_FragCoord origin is upper left
|
||||
0:? 'b' ( global 5-element array of highp int)
|
||||
0:? 'c' ( global 7-element array of highp int)
|
||||
0:? 'i' ( global highp int)
|
||||
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float r})
|
||||
0:? 'anon@1' (layout( column_major std430) buffer block{layout( column_major std430) buffer 4-element array of highp float m})
|
||||
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float r})
|
||||
0:? 'anon@1' (layout( binding=1 column_major std430) buffer block{layout( column_major std430) buffer 4-element array of highp float m})
|
||||
0:? 's2D' (layout( binding=1) uniform highp sampler2D)
|
||||
|
||||
// Module Version 10000
|
||||
@ -233,7 +233,7 @@ gl_FragCoord origin is upper left
|
||||
MemberDecorate 67(bnameImplicit) 0 Offset 0
|
||||
Decorate 67(bnameImplicit) BufferBlock
|
||||
Decorate 69 DescriptorSet 0
|
||||
Decorate 69 Binding 0
|
||||
Decorate 69 Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
|
||||
@ -51,10 +51,15 @@ MultipleArrays.tri[0].v[2].normal[0]: offset 60, type 1406, size 3, index 1, bin
|
||||
MultipleArrays.vert[0].position[0]: offset 360, type 1406, size 3, index 1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 24
|
||||
MultipleArrays.vert[0].normal[0]: offset 372, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
|
||||
MultipleArrays.f[0]: offset 480, type 1406, size 5, index 1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 4
|
||||
ArrayedBind[0].a: offset 0, type 1406, size 1, index 4, binding -1, stages 0
|
||||
ArrayedBind[0].b: offset 4, type 1406, size 1, index 4, binding -1, stages 1
|
||||
|
||||
Buffer block reflection:
|
||||
VertexCollection: offset -1, type ffffffff, size 400, index -1, binding -1, stages 1, numMembers 7
|
||||
MultipleArrays: offset -1, type ffffffff, size 500, index -1, binding -1, stages 1, numMembers 9
|
||||
ArrayedBind[0]: offset -1, type ffffffff, size 8, index -1, binding -1, stages 1, numMembers 2
|
||||
ArrayedBind[1]: offset -1, type ffffffff, size 8, index -1, binding -1, stages 1, numMembers 2
|
||||
ArrayedBind[2]: offset -1, type ffffffff, size 8, index -1, binding -1, stages 1, numMembers 2
|
||||
|
||||
Pipeline input reflection:
|
||||
gl_InstanceID: offset 0, type 1404, size 1, index 0, binding -1, stages 1
|
||||
|
||||
1
Test/baseResults/size
Normal file
1
Test/baseResults/size
Normal file
@ -0,0 +1 @@
|
||||
388096 ../build/install/bin/glslangValidator.exe
|
||||
@ -307,7 +307,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c' ( in 4-component vector of float)
|
||||
0:? 'd' ( in 4-component vector of float)
|
||||
0:? 'v' ( noContraction smooth out 4-component vector of float)
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
|
||||
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
|
||||
0:? 'shv' ( shared 4-component vector of float)
|
||||
0:? 'img1' (layout( rgba32f) uniform image2D)
|
||||
@ -590,7 +590,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c' ( in 4-component vector of float)
|
||||
0:? 'd' ( in 4-component vector of float)
|
||||
0:? 'v' ( noContraction smooth out 4-component vector of float)
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
|
||||
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
|
||||
0:? 'shv' ( shared 4-component vector of float)
|
||||
0:? 'img1' (layout( rgba32f) uniform image2D)
|
||||
|
||||
@ -308,7 +308,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c' ( in 4-component vector of float)
|
||||
0:? 'd' ( in 4-component vector of float)
|
||||
0:? 'v' ( noContraction smooth out 4-component vector of float)
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
|
||||
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
|
||||
0:? 'shv' ( shared 4-component vector of float)
|
||||
0:? 'img1' (layout( rgba32f) uniform image2D)
|
||||
@ -591,7 +591,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'c' ( in 4-component vector of float)
|
||||
0:? 'd' ( in 4-component vector of float)
|
||||
0:? 'v' ( noContraction smooth out 4-component vector of float)
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
|
||||
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
|
||||
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
|
||||
0:? 'shv' ( shared 4-component vector of float)
|
||||
0:? 'img1' (layout( rgba32f) uniform image2D)
|
||||
|
||||
62
Test/baseResults/spv.1.4.constructComposite.comp.out
Normal file
62
Test/baseResults/spv.1.4.constructComposite.comp.out
Normal file
@ -0,0 +1,62 @@
|
||||
spv.1.4.constructComposite.comp
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 15
|
||||
ExecutionMode 4 LocalSize 64 1 1
|
||||
Source GLSL 460
|
||||
Name 4 "main"
|
||||
Name 7 "sA"
|
||||
MemberName 7(sA) 0 "x"
|
||||
MemberName 7(sA) 1 "y"
|
||||
Name 8 "sC"
|
||||
MemberName 8(sC) 0 "state"
|
||||
Name 10 "c"
|
||||
Name 11 "sA"
|
||||
MemberName 11(sA) 0 "x"
|
||||
MemberName 11(sA) 1 "y"
|
||||
Name 12 "sB"
|
||||
MemberName 12(sB) 0 "a"
|
||||
Name 13 "ubo"
|
||||
MemberName 13(ubo) 0 "b"
|
||||
Name 15 ""
|
||||
MemberDecorate 11(sA) 0 Offset 0
|
||||
MemberDecorate 11(sA) 1 Offset 4
|
||||
MemberDecorate 12(sB) 0 Offset 0
|
||||
MemberDecorate 13(ubo) 0 Offset 0
|
||||
Decorate 13(ubo) Block
|
||||
Decorate 15 DescriptorSet 0
|
||||
Decorate 15 Binding 0
|
||||
Decorate 26 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7(sA): TypeStruct 6(int) 6(int)
|
||||
8(sC): TypeStruct 7(sA)
|
||||
9: TypePointer Private 8(sC)
|
||||
10(c): 9(ptr) Variable Private
|
||||
11(sA): TypeStruct 6(int) 6(int)
|
||||
12(sB): TypeStruct 11(sA)
|
||||
13(ubo): TypeStruct 12(sB)
|
||||
14: TypePointer Uniform 13(ubo)
|
||||
15: 14(ptr) Variable Uniform
|
||||
16: 6(int) Constant 0
|
||||
17: TypePointer Uniform 11(sA)
|
||||
22: TypeInt 32 0
|
||||
23: TypeVector 22(int) 3
|
||||
24: 22(int) Constant 64
|
||||
25: 22(int) Constant 1
|
||||
26: 23(ivec3) ConstantComposite 24 25 25
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18: 17(ptr) AccessChain 15 16 16
|
||||
19: 11(sA) Load 18
|
||||
20: 7(sA) CopyLogical 19
|
||||
21: 8(sC) CompositeConstruct 20
|
||||
Store 10(c) 21
|
||||
Return
|
||||
FunctionEnd
|
||||
@ -1,7 +1,7 @@
|
||||
spv.16bitstorage-int.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 172
|
||||
// Id's are bound by 171
|
||||
|
||||
Capability Shader
|
||||
Capability StorageUniformBufferBlock16
|
||||
@ -209,10 +209,7 @@ spv.16bitstorage-int.frag
|
||||
114: 20(int) Constant 7
|
||||
115: 20(int) Constant 6
|
||||
116: TypePointer Uniform 20(int)
|
||||
166: 6(int16_t) Constant 1
|
||||
167: 6(int16_t) Constant 2
|
||||
168: 7(i16vec2) ConstantComposite 166 167
|
||||
170: 6(int16_t) Constant 3
|
||||
166: 39(ivec2) ConstantComposite 32 33
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
69(x0): 68(ptr) Variable Function
|
||||
@ -332,9 +329,11 @@ spv.16bitstorage-int.frag
|
||||
164: 6(int16_t) Load 163
|
||||
165: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 165 164
|
||||
169: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 169 168
|
||||
171: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 171 170
|
||||
167: 7(i16vec2) SConvert 166
|
||||
168: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 168 167
|
||||
169: 6(int16_t) SConvert 58
|
||||
170: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 170 169
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
@ -210,10 +210,8 @@ spv.16bitstorage-uint.frag
|
||||
115: 20(int) Constant 7
|
||||
116: 20(int) Constant 6
|
||||
117: TypePointer Uniform 9(int)
|
||||
167: 6(int16_t) Constant 1
|
||||
168: 6(int16_t) Constant 2
|
||||
169: 7(i16vec2) ConstantComposite 167 168
|
||||
171: 6(int16_t) Constant 3
|
||||
167: 39(ivec2) ConstantComposite 82 10
|
||||
170: 9(int) Constant 3
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
69(x0): 68(ptr) Variable Function
|
||||
@ -333,8 +331,10 @@ spv.16bitstorage-uint.frag
|
||||
165: 6(int16_t) Load 164
|
||||
166: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 166 165
|
||||
170: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 170 169
|
||||
168: 7(i16vec2) UConvert 167
|
||||
169: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 169 168
|
||||
171: 6(int16_t) UConvert 170
|
||||
172: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 172 171
|
||||
Return
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
spv.16bitstorage.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 172
|
||||
// Id's are bound by 173
|
||||
|
||||
Capability Shader
|
||||
Capability StorageUniformBufferBlock16
|
||||
@ -209,10 +209,9 @@ spv.16bitstorage.frag
|
||||
114: 20(int) Constant 7
|
||||
115: 20(int) Constant 6
|
||||
116: TypePointer Uniform 20(int)
|
||||
166:6(float16_t) Constant 15360
|
||||
167:6(float16_t) Constant 16384
|
||||
168: 7(f16vec2) ConstantComposite 166 167
|
||||
170:6(float16_t) Constant 16896
|
||||
166: 37(float) Constant 1073741824
|
||||
167: 40(fvec2) ConstantComposite 83 166
|
||||
170: 37(float) Constant 1077936128
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
70(x0): 69(ptr) Variable Function
|
||||
@ -332,9 +331,11 @@ spv.16bitstorage.frag
|
||||
164:6(float16_t) Load 163
|
||||
165: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 165 164
|
||||
168: 7(f16vec2) FConvert 167
|
||||
169: 43(ptr) AccessChain 19(b2) 32
|
||||
Store 169 168
|
||||
171: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 171 170
|
||||
171:6(float16_t) FConvert 170
|
||||
172: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 172 171
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
1402
Test/baseResults/spv.400.frag.nanclamp.out
Normal file
1402
Test/baseResults/spv.400.frag.nanclamp.out
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
spv.8bitstorage-int.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 172
|
||||
// Id's are bound by 171
|
||||
|
||||
Capability Shader
|
||||
Capability UniformAndStorageBuffer8BitAccess
|
||||
@ -208,10 +208,7 @@ spv.8bitstorage-int.frag
|
||||
114: 20(int) Constant 7
|
||||
115: 20(int) Constant 6
|
||||
116: TypePointer Uniform 20(int)
|
||||
166: 6(int8_t) Constant 1
|
||||
167: 6(int8_t) Constant 2
|
||||
168: 7(i8vec2) ConstantComposite 166 167
|
||||
170: 6(int8_t) Constant 3
|
||||
166: 39(ivec2) ConstantComposite 32 33
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
69(x0): 68(ptr) Variable Function
|
||||
@ -331,9 +328,11 @@ spv.8bitstorage-int.frag
|
||||
164: 6(int8_t) Load 163
|
||||
165: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 165 164
|
||||
169: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 169 168
|
||||
171: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 171 170
|
||||
167: 7(i8vec2) SConvert 166
|
||||
168: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 168 167
|
||||
169: 6(int8_t) SConvert 58
|
||||
170: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 170 169
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
@ -209,10 +209,8 @@ spv.8bitstorage-uint.frag
|
||||
115: 20(int) Constant 7
|
||||
116: 20(int) Constant 6
|
||||
117: TypePointer Uniform 9(int)
|
||||
167: 6(int8_t) Constant 1
|
||||
168: 6(int8_t) Constant 2
|
||||
169: 7(i8vec2) ConstantComposite 167 168
|
||||
171: 6(int8_t) Constant 3
|
||||
167: 39(ivec2) ConstantComposite 82 10
|
||||
170: 9(int) Constant 3
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
69(x0): 68(ptr) Variable Function
|
||||
@ -332,8 +330,10 @@ spv.8bitstorage-uint.frag
|
||||
165: 6(int8_t) Load 164
|
||||
166: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 166 165
|
||||
170: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 170 169
|
||||
168: 7(i8vec2) UConvert 167
|
||||
169: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 169 168
|
||||
171: 6(int8_t) UConvert 170
|
||||
172: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 172 171
|
||||
Return
|
||||
|
||||
@ -4,7 +4,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 60
|
||||
// Id's are bound by 61
|
||||
|
||||
Capability Shader
|
||||
Capability StorageBuffer8BitAccess
|
||||
@ -68,7 +68,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
|
||||
50: 49(ptr) Variable StorageBuffer
|
||||
51: TypePointer StorageBuffer 6(int)
|
||||
54: 31(int) Constant 1
|
||||
58: 27(int8_t) Constant 9
|
||||
58: 6(int) Constant 9
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
20(allOk): 19(ptr) Variable Function
|
||||
@ -103,8 +103,9 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
|
||||
47: Label
|
||||
56: 33(ptr) AccessChain 30 32
|
||||
57: 25(ptr) Load 56
|
||||
59: 36(ptr) AccessChain 57 32
|
||||
Store 59 58 Aligned 16
|
||||
59: 27(int8_t) UConvert 58
|
||||
60: 36(ptr) AccessChain 57 32
|
||||
Store 60 59 Aligned 16
|
||||
Return
|
||||
FunctionEnd
|
||||
12(compare_uint8_t(u1;u1;): 8(bool) Function None 9
|
||||
|
||||
69
Test/baseResults/spv.conditionalDemote.frag.out
Normal file
69
Test/baseResults/spv.conditionalDemote.frag.out
Normal file
@ -0,0 +1,69 @@
|
||||
spv.conditionalDemote.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 38
|
||||
|
||||
Capability Shader
|
||||
Capability DemoteToHelperInvocationEXT
|
||||
Extension "SPV_EXT_demote_to_helper_invocation"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 17 36
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_demote_to_helper_invocation"
|
||||
Name 4 "main"
|
||||
Name 9 "v"
|
||||
Name 13 "tex"
|
||||
Name 17 "coord"
|
||||
Name 33 "x"
|
||||
Name 36 "o"
|
||||
Decorate 13(tex) DescriptorSet 0
|
||||
Decorate 13(tex) Binding 0
|
||||
Decorate 17(coord) Location 0
|
||||
Decorate 36(o) Location 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: TypeSampledImage 10
|
||||
12: TypePointer UniformConstant 11
|
||||
13(tex): 12(ptr) Variable UniformConstant
|
||||
15: TypeVector 6(float) 2
|
||||
16: TypePointer Input 15(fvec2)
|
||||
17(coord): 16(ptr) Variable Input
|
||||
21: 6(float) Constant 1036831949
|
||||
22: 6(float) Constant 1045220557
|
||||
23: 6(float) Constant 1050253722
|
||||
24: 6(float) Constant 1053609165
|
||||
25: 7(fvec4) ConstantComposite 21 22 23 24
|
||||
26: TypeBool
|
||||
27: TypeVector 26(bool) 4
|
||||
32: TypePointer Function 26(bool)
|
||||
35: TypePointer Output 7(fvec4)
|
||||
36(o): 35(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(v): 8(ptr) Variable Function
|
||||
33(x): 32(ptr) Variable Function
|
||||
14: 11 Load 13(tex)
|
||||
18: 15(fvec2) Load 17(coord)
|
||||
19: 7(fvec4) ImageSampleImplicitLod 14 18
|
||||
Store 9(v) 19
|
||||
20: 7(fvec4) Load 9(v)
|
||||
28: 27(bvec4) FOrdEqual 20 25
|
||||
29: 26(bool) All 28
|
||||
SelectionMerge 31 None
|
||||
BranchConditional 29 30 31
|
||||
30: Label
|
||||
DemoteToHelperInvocationEXT
|
||||
Branch 31
|
||||
31: Label
|
||||
34: 26(bool) IsHelperInvocationEXT
|
||||
Store 33(x) 34
|
||||
37: 7(fvec4) Load 9(v)
|
||||
Store 36(o) 37
|
||||
Return
|
||||
FunctionEnd
|
||||
171
Test/baseResults/spv.constConstruct.vert.out
Normal file
171
Test/baseResults/spv.constConstruct.vert.out
Normal file
@ -0,0 +1,171 @@
|
||||
spv.constConstruct.vert
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 150
|
||||
|
||||
Capability Shader
|
||||
Capability Float64
|
||||
Capability Int64
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main"
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float32"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int32"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
Name 4 "main"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 16
|
||||
7:6(float16_t) Constant 15360
|
||||
8:6(float16_t) Constant 16384
|
||||
9:6(float16_t) Constant 16896
|
||||
10:6(float16_t) Constant 17408
|
||||
11:6(float16_t) Constant 17664
|
||||
12:6(float16_t) Constant 17920
|
||||
13:6(float16_t) Constant 18176
|
||||
14:6(float16_t) Constant 18432
|
||||
15:6(float16_t) Constant 18560
|
||||
16:6(float16_t) Constant 18688
|
||||
17:6(float16_t) Constant 18816
|
||||
18: TypeFloat 32
|
||||
19: 18(float) Constant 1099431936
|
||||
20: 18(float) Constant 1099956224
|
||||
21: 18(float) Constant 1100480512
|
||||
22: 18(float) Constant 1101004800
|
||||
23: 18(float) Constant 1101529088
|
||||
24: 18(float) Constant 1102053376
|
||||
25: 18(float) Constant 1102577664
|
||||
26: 18(float) Constant 1103101952
|
||||
27: 18(float) Constant 1103626240
|
||||
28: 18(float) Constant 1104150528
|
||||
29: 18(float) Constant 1104674816
|
||||
30: 18(float) Constant 1065353216
|
||||
31: TypeFloat 64
|
||||
32:31(float64_t) Constant 0 1077968896
|
||||
33:31(float64_t) Constant 0 1078001664
|
||||
34:31(float64_t) Constant 0 1078034432
|
||||
35:31(float64_t) Constant 0 1078067200
|
||||
36:31(float64_t) Constant 0 1078099968
|
||||
37:31(float64_t) Constant 0 1078132736
|
||||
38:31(float64_t) Constant 0 1078165504
|
||||
39:31(float64_t) Constant 0 1078198272
|
||||
40:31(float64_t) Constant 0 1078231040
|
||||
41:31(float64_t) Constant 0 1078263808
|
||||
42:31(float64_t) Constant 0 1078296576
|
||||
43:31(float64_t) Constant 0 1072693248
|
||||
44: TypeInt 8 1
|
||||
45: 44(int8_t) Constant 49
|
||||
46: 44(int8_t) Constant 50
|
||||
47: 44(int8_t) Constant 51
|
||||
48: 44(int8_t) Constant 52
|
||||
49: 44(int8_t) Constant 53
|
||||
50: 44(int8_t) Constant 54
|
||||
51: 44(int8_t) Constant 55
|
||||
52: 44(int8_t) Constant 56
|
||||
53: 44(int8_t) Constant 57
|
||||
54: 44(int8_t) Constant 58
|
||||
55: 44(int8_t) Constant 59
|
||||
56: 44(int8_t) Constant 1
|
||||
57: TypeInt 16 1
|
||||
58: 57(int16_t) Constant 65
|
||||
59: 57(int16_t) Constant 66
|
||||
60: 57(int16_t) Constant 67
|
||||
61: 57(int16_t) Constant 68
|
||||
62: 57(int16_t) Constant 69
|
||||
63: 57(int16_t) Constant 70
|
||||
64: 57(int16_t) Constant 71
|
||||
65: 57(int16_t) Constant 72
|
||||
66: 57(int16_t) Constant 73
|
||||
67: 57(int16_t) Constant 74
|
||||
68: 57(int16_t) Constant 75
|
||||
69: 57(int16_t) Constant 1
|
||||
70: TypeInt 32 1
|
||||
71: 70(int) Constant 81
|
||||
72: 70(int) Constant 82
|
||||
73: 70(int) Constant 83
|
||||
74: 70(int) Constant 84
|
||||
75: 70(int) Constant 85
|
||||
76: 70(int) Constant 86
|
||||
77: 70(int) Constant 87
|
||||
78: 70(int) Constant 88
|
||||
79: 70(int) Constant 89
|
||||
80: 70(int) Constant 90
|
||||
81: 70(int) Constant 91
|
||||
82: 70(int) Constant 1
|
||||
83: TypeInt 64 1
|
||||
84: 83(int64_t) Constant 97 0
|
||||
85: 83(int64_t) Constant 98 0
|
||||
86: 83(int64_t) Constant 99 0
|
||||
87: 83(int64_t) Constant 100 0
|
||||
88: 83(int64_t) Constant 101 0
|
||||
89: 83(int64_t) Constant 102 0
|
||||
90: 83(int64_t) Constant 103 0
|
||||
91: 83(int64_t) Constant 104 0
|
||||
92: 83(int64_t) Constant 105 0
|
||||
93: 83(int64_t) Constant 106 0
|
||||
94: 83(int64_t) Constant 107 0
|
||||
95: 83(int64_t) Constant 1 0
|
||||
96: TypeInt 8 0
|
||||
97: 96(int8_t) Constant 113
|
||||
98: 96(int8_t) Constant 114
|
||||
99: 96(int8_t) Constant 115
|
||||
100: 96(int8_t) Constant 116
|
||||
101: 96(int8_t) Constant 117
|
||||
102: 96(int8_t) Constant 118
|
||||
103: 96(int8_t) Constant 119
|
||||
104: 96(int8_t) Constant 120
|
||||
105: 96(int8_t) Constant 121
|
||||
106: 96(int8_t) Constant 122
|
||||
107: 96(int8_t) Constant 123
|
||||
108: 96(int8_t) Constant 1
|
||||
109: TypeInt 16 0
|
||||
110:109(int16_t) Constant 129
|
||||
111:109(int16_t) Constant 130
|
||||
112:109(int16_t) Constant 131
|
||||
113:109(int16_t) Constant 65412
|
||||
114:109(int16_t) Constant 133
|
||||
115:109(int16_t) Constant 134
|
||||
116:109(int16_t) Constant 135
|
||||
117:109(int16_t) Constant 136
|
||||
118:109(int16_t) Constant 137
|
||||
119:109(int16_t) Constant 138
|
||||
120:109(int16_t) Constant 139
|
||||
121:109(int16_t) Constant 1
|
||||
122: TypeInt 32 0
|
||||
123: 122(int) Constant 145
|
||||
124: 122(int) Constant 146
|
||||
125: 122(int) Constant 147
|
||||
126: 122(int) Constant 4294967188
|
||||
127: 122(int) Constant 149
|
||||
128: 122(int) Constant 150
|
||||
129: 122(int) Constant 151
|
||||
130: 122(int) Constant 152
|
||||
131: 122(int) Constant 153
|
||||
132: 122(int) Constant 154
|
||||
133: 122(int) Constant 155
|
||||
134: 122(int) Constant 1
|
||||
135: TypeInt 64 0
|
||||
136:135(int64_t) Constant 161 0
|
||||
137:135(int64_t) Constant 162 0
|
||||
138:135(int64_t) Constant 163 0
|
||||
139:135(int64_t) Constant 4294967204 4294967295
|
||||
140:135(int64_t) Constant 165 0
|
||||
141:135(int64_t) Constant 166 0
|
||||
142:135(int64_t) Constant 167 0
|
||||
143:135(int64_t) Constant 168 0
|
||||
144:135(int64_t) Constant 169 0
|
||||
145:135(int64_t) Constant 170 0
|
||||
146:135(int64_t) Constant 171 0
|
||||
147:135(int64_t) Constant 1 0
|
||||
148: TypeBool
|
||||
149: 148(bool) ConstantTrue
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
64
Test/baseResults/spv.constructComposite.comp.out
Normal file
64
Test/baseResults/spv.constructComposite.comp.out
Normal file
@ -0,0 +1,64 @@
|
||||
spv.constructComposite.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 64 1 1
|
||||
Source GLSL 460
|
||||
Name 4 "main"
|
||||
Name 7 "sA"
|
||||
MemberName 7(sA) 0 "x"
|
||||
MemberName 7(sA) 1 "y"
|
||||
Name 8 "sC"
|
||||
MemberName 8(sC) 0 "state"
|
||||
Name 10 "c"
|
||||
Name 11 "sA"
|
||||
MemberName 11(sA) 0 "x"
|
||||
MemberName 11(sA) 1 "y"
|
||||
Name 12 "sB"
|
||||
MemberName 12(sB) 0 "a"
|
||||
Name 13 "ubo"
|
||||
MemberName 13(ubo) 0 "b"
|
||||
Name 15 ""
|
||||
MemberDecorate 11(sA) 0 Offset 0
|
||||
MemberDecorate 11(sA) 1 Offset 4
|
||||
MemberDecorate 12(sB) 0 Offset 0
|
||||
MemberDecorate 13(ubo) 0 Offset 0
|
||||
Decorate 13(ubo) Block
|
||||
Decorate 15 DescriptorSet 0
|
||||
Decorate 15 Binding 0
|
||||
Decorate 28 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7(sA): TypeStruct 6(int) 6(int)
|
||||
8(sC): TypeStruct 7(sA)
|
||||
9: TypePointer Private 8(sC)
|
||||
10(c): 9(ptr) Variable Private
|
||||
11(sA): TypeStruct 6(int) 6(int)
|
||||
12(sB): TypeStruct 11(sA)
|
||||
13(ubo): TypeStruct 12(sB)
|
||||
14: TypePointer Uniform 13(ubo)
|
||||
15: 14(ptr) Variable Uniform
|
||||
16: 6(int) Constant 0
|
||||
17: TypePointer Uniform 11(sA)
|
||||
24: TypeInt 32 0
|
||||
25: TypeVector 24(int) 3
|
||||
26: 24(int) Constant 64
|
||||
27: 24(int) Constant 1
|
||||
28: 25(ivec3) ConstantComposite 26 27 27
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18: 17(ptr) AccessChain 15 16 16
|
||||
19: 11(sA) Load 18
|
||||
20: 6(int) CompositeExtract 19 0
|
||||
21: 6(int) CompositeExtract 19 1
|
||||
22: 7(sA) CompositeConstruct 20 21
|
||||
23: 8(sC) CompositeConstruct 22
|
||||
Store 10(c) 23
|
||||
Return
|
||||
FunctionEnd
|
||||
@ -282,7 +282,7 @@ spv.coopmat.comp
|
||||
101: 100(ptr) AccessChain 91(block16) 99
|
||||
102: 85(ptr) Load 101 MakePointerVisibleKHR NonPrivatePointerKHR 71
|
||||
104: 103(ptr) AccessChain 102 58 31
|
||||
105: 32 CooperativeMatrixLoadNV 104 74 76 Aligned 16
|
||||
105: 32 CooperativeMatrixLoadNV 104 74 76 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 71
|
||||
Store 98(tempArg) 105
|
||||
106: 32 Load 98(tempArg)
|
||||
Store 34(m) 106
|
||||
@ -290,7 +290,7 @@ spv.coopmat.comp
|
||||
108: 100(ptr) AccessChain 91(block16) 99
|
||||
109: 85(ptr) Load 108 MakePointerVisibleKHR NonPrivatePointerKHR 71
|
||||
110: 103(ptr) AccessChain 109 58 31
|
||||
CooperativeMatrixStoreNV 110 107 74 76 Aligned 16
|
||||
CooperativeMatrixStoreNV 110 107 74 76 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 71
|
||||
113: 50 Load 112(A)
|
||||
115: 10 Load 114(B)
|
||||
117: 32 Load 116(C)
|
||||
|
||||
@ -81,6 +81,7 @@ void main()
|
||||
Name 97 "i"
|
||||
ModuleProcessed "no-storage-format"
|
||||
ModuleProcessed "resource-set-binding 3"
|
||||
ModuleProcessed "auto-map-bindings"
|
||||
ModuleProcessed "auto-map-locations"
|
||||
ModuleProcessed "client opengl100"
|
||||
ModuleProcessed "target-env spirv1.3"
|
||||
@ -99,7 +100,7 @@ void main()
|
||||
Decorate 56 Binding 0
|
||||
Decorate 67(s2d) Location 0
|
||||
Decorate 67(s2d) DescriptorSet 3
|
||||
Decorate 67(s2d) Binding 0
|
||||
Decorate 67(s2d) Binding 1
|
||||
3: TypeVoid
|
||||
4: TypeFunction 3
|
||||
7: TypeInt 32 1
|
||||
|
||||
6
Test/baseResults/spv.demoteDisabled.frag.out
Normal file
6
Test/baseResults/spv.demoteDisabled.frag.out
Normal file
@ -0,0 +1,6 @@
|
||||
spv.demoteDisabled.frag
|
||||
ERROR: 0:9: 'demote' : undeclared identifier
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
@ -8,8 +8,8 @@ spv.depthOut.frag
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 8 10 14
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
ExecutionMode 4 DepthGreater
|
||||
ExecutionMode 4 DepthReplacing
|
||||
ExecutionMode 4 DepthGreater
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
Name 8 "gl_FragDepth"
|
||||
|
||||
62
Test/baseResults/spv.functionParameterTypes.frag.out
Normal file
62
Test/baseResults/spv.functionParameterTypes.frag.out
Normal file
@ -0,0 +1,62 @@
|
||||
spv.functionParameterTypes.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 34
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
Name 4 "main"
|
||||
Name 29 "f(i81;u81;i161;u161;i641;u641;f161;"
|
||||
Name 22 "i8"
|
||||
Name 23 "u8"
|
||||
Name 24 "i16"
|
||||
Name 25 "u16"
|
||||
Name 26 "i64"
|
||||
Name 27 "u64"
|
||||
Name 28 "f16"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 8 1
|
||||
7: TypePointer Function 6(int8_t)
|
||||
8: TypeInt 8 0
|
||||
9: TypePointer Function 8(int8_t)
|
||||
10: TypeInt 16 1
|
||||
11: TypePointer Function 10(int16_t)
|
||||
12: TypeInt 16 0
|
||||
13: TypePointer Function 12(int16_t)
|
||||
14: TypeInt 64 1
|
||||
15: TypePointer Function 14(int64_t)
|
||||
16: TypeInt 64 0
|
||||
17: TypePointer Function 16(int64_t)
|
||||
18: TypeFloat 16
|
||||
19: TypePointer Function 18(float16_t)
|
||||
20: TypeInt 32 1
|
||||
21: TypeFunction 20(int) 7(ptr) 9(ptr) 11(ptr) 13(ptr) 15(ptr) 17(ptr) 19(ptr)
|
||||
31: 20(int) Constant 0
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
29(f(i81;u81;i161;u161;i641;u641;f161;): 20(int) Function None 21
|
||||
22(i8): 7(ptr) FunctionParameter
|
||||
23(u8): 9(ptr) FunctionParameter
|
||||
24(i16): 11(ptr) FunctionParameter
|
||||
25(u16): 13(ptr) FunctionParameter
|
||||
26(i64): 15(ptr) FunctionParameter
|
||||
27(u64): 17(ptr) FunctionParameter
|
||||
28(f16): 19(ptr) FunctionParameter
|
||||
30: Label
|
||||
ReturnValue 31
|
||||
FunctionEnd
|
||||
@ -15,12 +15,12 @@ spv.hlslDebugInfo.vert
|
||||
// OpModuleProcessed shift-UBO-binding 6
|
||||
// OpModuleProcessed shift-ssbo-binding 3
|
||||
// OpModuleProcessed shift-uav-binding 5
|
||||
// OpModuleProcessed flatten-uniform-arrays
|
||||
// OpModuleProcessed no-storage-format
|
||||
// OpModuleProcessed resource-set-binding t0 0 0
|
||||
// OpModuleProcessed hlsl-iomap
|
||||
// OpModuleProcessed auto-map-bindings
|
||||
// OpModuleProcessed auto-map-locations
|
||||
// OpModuleProcessed flatten-uniform-arrays
|
||||
// OpModuleProcessed hlsl-iomap
|
||||
// OpModuleProcessed client vulkan100
|
||||
// OpModuleProcessed target-env vulkan1.0
|
||||
// OpModuleProcessed source-entrypoint origMain
|
||||
|
||||
@ -4,7 +4,7 @@ Shader version: 450
|
||||
0:27 Function Definition: main( ( global void)
|
||||
0:27 Function Parameters:
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
|
||||
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
@ -15,7 +15,7 @@ Shader version: 450
|
||||
0:27 Function Definition: main( ( global void)
|
||||
0:27 Function Parameters:
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
|
||||
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
|
||||
418
Test/baseResults/spv.intcoopmat.comp.out
Normal file
418
Test/baseResults/spv.intcoopmat.comp.out
Normal file
@ -0,0 +1,418 @@
|
||||
spv.intcoopmat.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 262
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int8
|
||||
Capability StorageBuffer8BitAccess
|
||||
Capability VulkanMemoryModelKHR
|
||||
Capability PhysicalStorageBufferAddressesEXT
|
||||
Capability CooperativeMatrixNV
|
||||
Extension "SPV_EXT_physical_storage_buffer"
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
Extension "SPV_KHR_storage_buffer_storage_class"
|
||||
Extension "SPV_KHR_vulkan_memory_model"
|
||||
Extension "SPV_NV_cooperative_matrix"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 64 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_buffer_reference"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
|
||||
SourceExtension "GL_KHR_memory_scope_semantics"
|
||||
SourceExtension "GL_NV_cooperative_matrix"
|
||||
SourceExtension "GL_NV_integer_cooperative_matrix"
|
||||
Name 4 "main"
|
||||
Name 14 "ineg(i81;"
|
||||
Name 13 "m"
|
||||
Name 21 "umul(u81;"
|
||||
Name 20 "m"
|
||||
Name 35 "mu"
|
||||
Name 39 "mi"
|
||||
Name 55 "mf16_0"
|
||||
Name 61 "mf32_0"
|
||||
Name 64 "mf16_1"
|
||||
Name 67 "mf32_1"
|
||||
Name 71 "x"
|
||||
Name 81 "tempArg"
|
||||
Name 85 "Block"
|
||||
MemberName 85(Block) 0 "y"
|
||||
MemberName 85(Block) 1 "x"
|
||||
Name 87 "block"
|
||||
Name 98 "tempArg"
|
||||
Name 103 "Block16"
|
||||
MemberName 103(Block16) 0 "y"
|
||||
MemberName 103(Block16) 1 "x"
|
||||
MemberName 103(Block16) 2 "b"
|
||||
Name 106 "Block"
|
||||
MemberName 106(Block) 0 "y"
|
||||
MemberName 106(Block) 1 "x"
|
||||
Name 108 "block8"
|
||||
Name 115 "tempArg"
|
||||
Name 128 "D"
|
||||
Name 129 "A"
|
||||
Name 131 "B"
|
||||
Name 133 "C"
|
||||
Name 137 "l"
|
||||
Name 142 "a"
|
||||
Name 146 "md1"
|
||||
Name 156 "Y"
|
||||
Name 157 "Z"
|
||||
Name 161 "muC2"
|
||||
Name 169 "miC2"
|
||||
Name 176 "tempArg"
|
||||
Name 182 "tempArg"
|
||||
Name 188 "p1"
|
||||
Name 189 "param"
|
||||
Name 192 "p2"
|
||||
Name 193 "param"
|
||||
Name 207 "tempArg"
|
||||
Name 212 "shmatrix"
|
||||
Name 217 "ms"
|
||||
Name 225 "miC"
|
||||
Name 226 "muC"
|
||||
Name 231 "iarr"
|
||||
Name 236 "iarr2"
|
||||
Name 241 "uarr"
|
||||
Name 246 "uarr2"
|
||||
Name 251 "S"
|
||||
MemberName 251(S) 0 "a"
|
||||
MemberName 251(S) 1 "b"
|
||||
MemberName 251(S) 2 "c"
|
||||
Name 256 "SC"
|
||||
Name 261 "scm"
|
||||
Decorate 83 ArrayStride 4
|
||||
Decorate 84 ArrayStride 4
|
||||
MemberDecorate 85(Block) 0 Offset 0
|
||||
MemberDecorate 85(Block) 1 Offset 4194304
|
||||
Decorate 85(Block) Block
|
||||
Decorate 87(block) DescriptorSet 0
|
||||
Decorate 87(block) Binding 0
|
||||
Decorate 99 ArrayStride 1
|
||||
Decorate 101 ArrayStride 1
|
||||
MemberDecorate 103(Block16) 0 Offset 0
|
||||
MemberDecorate 103(Block16) 1 Offset 1048576
|
||||
MemberDecorate 103(Block16) 2 Offset 1048584
|
||||
Decorate 103(Block16) Block
|
||||
Decorate 104 ArrayStride 4
|
||||
Decorate 105 ArrayStride 4
|
||||
MemberDecorate 106(Block) 0 Offset 0
|
||||
MemberDecorate 106(Block) 1 Offset 4194304
|
||||
Decorate 106(Block) Block
|
||||
Decorate 108(block8) DescriptorSet 0
|
||||
Decorate 108(block8) Binding 0
|
||||
Decorate 156(Y) SpecId 0
|
||||
Decorate 223 BuiltIn WorkgroupSize
|
||||
Decorate 256(SC) SpecId 2
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 8 1
|
||||
7: TypeInt 32 0
|
||||
8: 7(int) Constant 3
|
||||
9: 7(int) Constant 8
|
||||
10: TypeCooperativeMatrixNV 6(int8_t) 8 9 9
|
||||
11: TypePointer Function 10
|
||||
12: TypeFunction 10 11(ptr)
|
||||
16: TypeInt 8 0
|
||||
17: TypeCooperativeMatrixNV 16(int8_t) 8 9 9
|
||||
18: TypePointer Function 17
|
||||
19: TypeFunction 17 18(ptr)
|
||||
28: 16(int8_t) Constant 2
|
||||
32: 7(int) Constant 16
|
||||
33: TypeCooperativeMatrixNV 16(int8_t) 8 32 9
|
||||
34: TypePointer Function 33
|
||||
36: 33 ConstantComposite 28
|
||||
37: TypeCooperativeMatrixNV 6(int8_t) 8 32 9
|
||||
38: TypePointer Function 37
|
||||
40: 6(int8_t) Constant 2
|
||||
41: 37 ConstantComposite 40
|
||||
52: TypeFloat 16
|
||||
53: TypeCooperativeMatrixNV 52(float16_t) 8 32 9
|
||||
54: TypePointer Function 53
|
||||
58: TypeFloat 32
|
||||
59: TypeCooperativeMatrixNV 58(float) 8 32 9
|
||||
60: TypePointer Function 59
|
||||
70: TypePointer Function 16(int8_t)
|
||||
72: TypeInt 32 1
|
||||
73: 72(int) Constant 1
|
||||
76: 72(int) Constant 0
|
||||
79: TypePointer Function 6(int8_t)
|
||||
82: 7(int) Constant 1048576
|
||||
83: TypeArray 7(int) 82
|
||||
84: TypeRuntimeArray 7(int)
|
||||
85(Block): TypeStruct 83 84
|
||||
86: TypePointer StorageBuffer 85(Block)
|
||||
87(block): 86(ptr) Variable StorageBuffer
|
||||
88: 7(int) Constant 5
|
||||
89: TypePointer StorageBuffer 7(int)
|
||||
91: 7(int) Constant 128
|
||||
92: TypeBool
|
||||
93: 92(bool) ConstantFalse
|
||||
99: TypeArray 6(int8_t) 82
|
||||
100: 7(int) Constant 1
|
||||
101: TypeArray 6(int8_t) 100
|
||||
TypeForwardPointer 102 PhysicalStorageBufferEXT
|
||||
103(Block16): TypeStruct 99 101 102
|
||||
104: TypeArray 7(int) 82
|
||||
105: TypeRuntimeArray 7(int)
|
||||
106(Block): TypeStruct 104 105
|
||||
102: TypePointer PhysicalStorageBufferEXT 106(Block)
|
||||
107: TypePointer StorageBuffer 103(Block16)
|
||||
108(block8): 107(ptr) Variable StorageBuffer
|
||||
109: TypePointer StorageBuffer 6(int8_t)
|
||||
116: 72(int) Constant 2
|
||||
117: TypePointer StorageBuffer 102(ptr)
|
||||
120: TypePointer PhysicalStorageBufferEXT 7(int)
|
||||
136: TypePointer Function 72(int)
|
||||
138: 7(int) SpecConstantOp 5362 33
|
||||
139: 72(int) SpecConstantOp 128 138 76
|
||||
140: TypeArray 37 88
|
||||
141: TypePointer Function 140
|
||||
143: 72(int) Constant 3
|
||||
144: 6(int8_t) Constant 1
|
||||
150: 72(int) Constant 1234
|
||||
155: 72(int) Constant 8
|
||||
156(Y): 72(int) SpecConstant 2
|
||||
157(Z): 72(int) SpecConstantOp 132 155 156(Y)
|
||||
158: TypeCooperativeMatrixNV 16(int8_t) 8 157(Z) 9
|
||||
159: TypeArray 158 8
|
||||
160: TypePointer Private 159
|
||||
161(muC2): 160(ptr) Variable Private
|
||||
162: TypePointer Private 158
|
||||
166: TypeCooperativeMatrixNV 6(int8_t) 8 157(Z) 9
|
||||
167: TypeArray 166 8
|
||||
168: TypePointer Private 167
|
||||
169(miC2): 168(ptr) Variable Private
|
||||
170: TypePointer Private 6(int8_t)
|
||||
174: TypePointer Private 16(int8_t)
|
||||
204: 16(int8_t) Constant 4
|
||||
208: TypeVector 7(int) 4
|
||||
209: 7(int) Constant 32
|
||||
210: TypeArray 208(ivec4) 209
|
||||
211: TypePointer Workgroup 210
|
||||
212(shmatrix): 211(ptr) Variable Workgroup
|
||||
213: 7(int) Constant 2
|
||||
214: TypePointer Workgroup 208(ivec4)
|
||||
221: TypeVector 7(int) 3
|
||||
222: 7(int) Constant 64
|
||||
223: 221(ivec3) ConstantComposite 222 100 100
|
||||
224: TypePointer Private 166
|
||||
225(miC): 224(ptr) Variable Private
|
||||
226(muC): 162(ptr) Variable Private
|
||||
227: 7(int) SpecConstantOp 5362 166
|
||||
228: 72(int) SpecConstantOp 128 227 76
|
||||
229: TypeArray 72(int) 228
|
||||
230: TypePointer Private 229
|
||||
231(iarr): 230(ptr) Variable Private
|
||||
232: 7(int) SpecConstantOp 5362 166
|
||||
233: 72(int) SpecConstantOp 128 232 76
|
||||
234: TypeArray 72(int) 233
|
||||
235: TypePointer Private 234
|
||||
236(iarr2): 235(ptr) Variable Private
|
||||
237: 7(int) SpecConstantOp 5362 158
|
||||
238: 72(int) SpecConstantOp 128 237 76
|
||||
239: TypeArray 72(int) 238
|
||||
240: TypePointer Private 239
|
||||
241(uarr): 240(ptr) Variable Private
|
||||
242: 7(int) SpecConstantOp 5362 158
|
||||
243: 72(int) SpecConstantOp 128 242 76
|
||||
244: TypeArray 72(int) 243
|
||||
245: TypePointer Private 244
|
||||
246(uarr2): 245(ptr) Variable Private
|
||||
247: TypeCooperativeMatrixNV 72(int) 8 157(Z) 9
|
||||
248: 247 ConstantComposite 73
|
||||
249: 16(int8_t) Constant 1
|
||||
250: 17 ConstantComposite 249
|
||||
251(S): TypeStruct 72(int) 72(int) 72(int)
|
||||
252: 72(int) Constant 12
|
||||
253: 72(int) Constant 23
|
||||
254: 72(int) Constant 34
|
||||
255: 251(S) ConstantComposite 252 253 254
|
||||
256(SC): 72(int) SpecConstant 1
|
||||
257: TypeCooperativeMatrixNV 7(int) 8 256(SC) 256(SC)
|
||||
258: TypeArray 257 256(SC)
|
||||
259: TypeArray 258 256(SC)
|
||||
260: TypePointer Private 259
|
||||
261(scm): 260(ptr) Variable Private
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
35(mu): 34(ptr) Variable Function
|
||||
39(mi): 38(ptr) Variable Function
|
||||
55(mf16_0): 54(ptr) Variable Function
|
||||
61(mf32_0): 60(ptr) Variable Function
|
||||
64(mf16_1): 54(ptr) Variable Function
|
||||
67(mf32_1): 60(ptr) Variable Function
|
||||
71(x): 70(ptr) Variable Function
|
||||
81(tempArg): 38(ptr) Variable Function
|
||||
98(tempArg): 34(ptr) Variable Function
|
||||
115(tempArg): 38(ptr) Variable Function
|
||||
128(D): 34(ptr) Variable Function
|
||||
129(A): 34(ptr) Variable Function
|
||||
131(B): 18(ptr) Variable Function
|
||||
133(C): 34(ptr) Variable Function
|
||||
137(l): 136(ptr) Variable Function
|
||||
142(a): 141(ptr) Variable Function
|
||||
146(md1): 136(ptr) Variable Function
|
||||
176(tempArg): 38(ptr) Variable Function
|
||||
182(tempArg): 34(ptr) Variable Function
|
||||
188(p1): 11(ptr) Variable Function
|
||||
189(param): 11(ptr) Variable Function
|
||||
192(p2): 18(ptr) Variable Function
|
||||
193(param): 18(ptr) Variable Function
|
||||
207(tempArg): 38(ptr) Variable Function
|
||||
217(ms): 38(ptr) Variable Function
|
||||
Store 35(mu) 36
|
||||
Store 39(mi) 41
|
||||
42: 33 Load 35(mu)
|
||||
43: 33 Load 35(mu)
|
||||
44: 33 IAdd 42 43
|
||||
Store 35(mu) 44
|
||||
45: 33 Load 35(mu)
|
||||
46: 33 Load 35(mu)
|
||||
47: 33 ISub 45 46
|
||||
Store 35(mu) 47
|
||||
48: 37 Load 39(mi)
|
||||
49: 37 SNegate 48
|
||||
Store 39(mi) 49
|
||||
50: 37 Load 39(mi)
|
||||
51: 37 MatrixTimesScalar 50 40
|
||||
Store 39(mi) 51
|
||||
56: 33 Load 35(mu)
|
||||
57: 53 ConvertUToF 56
|
||||
Store 55(mf16_0) 57
|
||||
62: 33 Load 35(mu)
|
||||
63: 59 ConvertUToF 62
|
||||
Store 61(mf32_0) 63
|
||||
65: 37 Load 39(mi)
|
||||
66: 53 ConvertSToF 65
|
||||
Store 64(mf16_1) 66
|
||||
68: 37 Load 39(mi)
|
||||
69: 59 ConvertSToF 68
|
||||
Store 67(mf32_1) 69
|
||||
74: 70(ptr) AccessChain 35(mu) 73
|
||||
75: 16(int8_t) Load 74
|
||||
Store 71(x) 75
|
||||
77: 16(int8_t) Load 71(x)
|
||||
78: 6(int8_t) Bitcast 77
|
||||
80: 79(ptr) AccessChain 39(mi) 76
|
||||
Store 80 78
|
||||
90: 89(ptr) AccessChain 87(block) 73 32
|
||||
94: 37 CooperativeMatrixLoadNV 90 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88
|
||||
Store 81(tempArg) 94
|
||||
95: 37 Load 81(tempArg)
|
||||
Store 39(mi) 95
|
||||
96: 37 Load 39(mi)
|
||||
97: 89(ptr) AccessChain 87(block) 73 32
|
||||
CooperativeMatrixStoreNV 97 96 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88
|
||||
110: 109(ptr) AccessChain 108(block8) 73 32
|
||||
111: 33 CooperativeMatrixLoadNV 110 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88
|
||||
Store 98(tempArg) 111
|
||||
112: 33 Load 98(tempArg)
|
||||
Store 35(mu) 112
|
||||
113: 33 Load 35(mu)
|
||||
114: 109(ptr) AccessChain 108(block8) 73 32
|
||||
CooperativeMatrixStoreNV 114 113 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88
|
||||
118: 117(ptr) AccessChain 108(block8) 116
|
||||
119: 102(ptr) Load 118 MakePointerVisibleKHR NonPrivatePointerKHR 88
|
||||
121: 120(ptr) AccessChain 119 73 32
|
||||
122: 37 CooperativeMatrixLoadNV 121 91 93 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 88
|
||||
Store 115(tempArg) 122
|
||||
123: 37 Load 115(tempArg)
|
||||
Store 39(mi) 123
|
||||
124: 37 Load 39(mi)
|
||||
125: 117(ptr) AccessChain 108(block8) 116
|
||||
126: 102(ptr) Load 125 MakePointerVisibleKHR NonPrivatePointerKHR 88
|
||||
127: 120(ptr) AccessChain 126 73 32
|
||||
CooperativeMatrixStoreNV 127 124 91 93 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 88
|
||||
130: 33 Load 129(A)
|
||||
132: 17 Load 131(B)
|
||||
134: 33 Load 133(C)
|
||||
135: 33 CooperativeMatrixMulAddNV 130 132 134
|
||||
Store 128(D) 135
|
||||
Store 137(l) 139
|
||||
145: 79(ptr) AccessChain 142(a) 143 76
|
||||
Store 145 144
|
||||
Store 146(md1) 73
|
||||
147: 37 Load 39(mi)
|
||||
148: 37 Load 39(mi)
|
||||
149: 37 IAdd 148 147
|
||||
Store 39(mi) 149
|
||||
151: 6(int8_t) CompositeExtract 149 1234
|
||||
152: 72(int) SConvert 151
|
||||
153: 72(int) Load 146(md1)
|
||||
154: 72(int) IAdd 153 152
|
||||
Store 146(md1) 154
|
||||
163: 162(ptr) AccessChain 161(muC2) 73
|
||||
164: 158 Load 163
|
||||
165: 162(ptr) AccessChain 161(muC2) 76
|
||||
Store 165 164
|
||||
171: 170(ptr) AccessChain 169(miC2) 116 76
|
||||
172: 6(int8_t) Load 171
|
||||
173: 16(int8_t) Bitcast 172
|
||||
175: 174(ptr) AccessChain 161(muC2) 73 76
|
||||
Store 175 173
|
||||
177: 89(ptr) AccessChain 87(block) 76 32
|
||||
178: 37 CooperativeMatrixLoadNV 177 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88
|
||||
Store 176(tempArg) 178
|
||||
179: 37 Load 176(tempArg)
|
||||
Store 39(mi) 179
|
||||
180: 37 Load 39(mi)
|
||||
181: 89(ptr) AccessChain 87(block) 76 32
|
||||
CooperativeMatrixStoreNV 181 180 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88
|
||||
183: 109(ptr) AccessChain 108(block8) 76 32
|
||||
184: 33 CooperativeMatrixLoadNV 183 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88
|
||||
Store 182(tempArg) 184
|
||||
185: 33 Load 182(tempArg)
|
||||
Store 35(mu) 185
|
||||
186: 33 Load 35(mu)
|
||||
187: 109(ptr) AccessChain 108(block8) 76 32
|
||||
CooperativeMatrixStoreNV 187 186 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88
|
||||
190: 10 Load 188(p1)
|
||||
Store 189(param) 190
|
||||
191: 10 FunctionCall 14(ineg(i81;) 189(param)
|
||||
Store 188(p1) 191
|
||||
194: 17 Load 192(p2)
|
||||
Store 193(param) 194
|
||||
195: 17 FunctionCall 21(umul(u81;) 193(param)
|
||||
Store 192(p2) 195
|
||||
196: 10 Load 188(p1)
|
||||
197: 10 Load 188(p1)
|
||||
198: 10 SDiv 197 196
|
||||
Store 188(p1) 198
|
||||
199: 17 Load 192(p2)
|
||||
200: 17 Load 192(p2)
|
||||
201: 17 UDiv 200 199
|
||||
Store 192(p2) 201
|
||||
202: 10 Load 188(p1)
|
||||
203: 10 MatrixTimesScalar 202 40
|
||||
Store 188(p1) 203
|
||||
205: 17 Load 192(p2)
|
||||
206: 17 MatrixTimesScalar 205 204
|
||||
Store 192(p2) 206
|
||||
215: 214(ptr) AccessChain 212(shmatrix) 100
|
||||
216: 37 CooperativeMatrixLoadNV 215 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213
|
||||
Store 207(tempArg) 216
|
||||
218: 37 Load 207(tempArg)
|
||||
Store 217(ms) 218
|
||||
219: 37 Load 217(ms)
|
||||
220: 214(ptr) AccessChain 212(shmatrix) 100
|
||||
CooperativeMatrixStoreNV 220 219 213 93 MakePointerAvailableKHR NonPrivatePointerKHR 213
|
||||
Return
|
||||
FunctionEnd
|
||||
14(ineg(i81;): 10 Function None 12
|
||||
13(m): 11(ptr) FunctionParameter
|
||||
15: Label
|
||||
23: 10 Load 13(m)
|
||||
24: 10 SNegate 23
|
||||
ReturnValue 24
|
||||
FunctionEnd
|
||||
21(umul(u81;): 17 Function None 19
|
||||
20(m): 18(ptr) FunctionParameter
|
||||
22: Label
|
||||
27: 17 Load 20(m)
|
||||
29: 17 MatrixTimesScalar 27 28
|
||||
ReturnValue 29
|
||||
FunctionEnd
|
||||
@ -1,7 +1,7 @@
|
||||
spv.memoryScopeSemantics.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 148
|
||||
// Id's are bound by 163
|
||||
|
||||
Capability Shader
|
||||
Capability Int64
|
||||
@ -23,59 +23,66 @@ spv.memoryScopeSemantics.comp
|
||||
Name 23 "atomu"
|
||||
Name 24 "value"
|
||||
Name 36 "imagei"
|
||||
Name 45 "imageu"
|
||||
Name 65 "BufferU"
|
||||
MemberName 65(BufferU) 0 "x"
|
||||
Name 67 "bufferu"
|
||||
Name 72 "y"
|
||||
Name 77 "BufferI"
|
||||
MemberName 77(BufferI) 0 "x"
|
||||
Name 79 "bufferi"
|
||||
Name 83 "A"
|
||||
MemberName 83(A) 0 "x"
|
||||
Name 84 "BufferJ"
|
||||
MemberName 84(BufferJ) 0 "a"
|
||||
Name 87 "bufferj"
|
||||
Name 98 "BufferK"
|
||||
MemberName 98(BufferK) 0 "x"
|
||||
Name 100 "bufferk"
|
||||
Name 110 "imagej"
|
||||
Name 122 "samp"
|
||||
Name 133 "atomu64"
|
||||
Name 138 "atomi64"
|
||||
Name 143 "BufferL"
|
||||
MemberName 143(BufferL) 0 "x"
|
||||
Name 145 "bufferl"
|
||||
Name 46 "imageu"
|
||||
Name 66 "BufferU"
|
||||
MemberName 66(BufferU) 0 "x"
|
||||
Name 68 "bufferu"
|
||||
Name 73 "y"
|
||||
Name 78 "BufferI"
|
||||
MemberName 78(BufferI) 0 "x"
|
||||
Name 80 "bufferi"
|
||||
Name 84 "A"
|
||||
MemberName 84(A) 0 "x"
|
||||
Name 85 "BufferJ"
|
||||
MemberName 85(BufferJ) 0 "a"
|
||||
Name 88 "bufferj"
|
||||
Name 99 "BufferK"
|
||||
MemberName 99(BufferK) 0 "x"
|
||||
Name 101 "bufferk"
|
||||
Name 111 "imagej"
|
||||
Name 123 "samp"
|
||||
Name 134 "atomu64"
|
||||
Name 139 "atomi64"
|
||||
Name 144 "BufferL"
|
||||
MemberName 144(BufferL) 0 "x"
|
||||
Name 146 "bufferl"
|
||||
Name 151 "BufferM"
|
||||
MemberName 151(BufferM) 0 "x"
|
||||
Name 153 "bufferm"
|
||||
Decorate 36(imagei) DescriptorSet 0
|
||||
Decorate 36(imagei) Binding 1
|
||||
Decorate 45(imageu) DescriptorSet 0
|
||||
Decorate 45(imageu) Binding 0
|
||||
MemberDecorate 65(BufferU) 0 Offset 0
|
||||
Decorate 65(BufferU) Block
|
||||
Decorate 67(bufferu) DescriptorSet 0
|
||||
Decorate 67(bufferu) Binding 2
|
||||
MemberDecorate 77(BufferI) 0 Offset 0
|
||||
Decorate 77(BufferI) Block
|
||||
Decorate 79(bufferi) DescriptorSet 0
|
||||
Decorate 79(bufferi) Binding 3
|
||||
Decorate 82 ArrayStride 4
|
||||
MemberDecorate 83(A) 0 Offset 0
|
||||
MemberDecorate 84(BufferJ) 0 Offset 0
|
||||
Decorate 84(BufferJ) Block
|
||||
Decorate 87(bufferj) DescriptorSet 0
|
||||
Decorate 87(bufferj) Binding 4
|
||||
MemberDecorate 98(BufferK) 0 Offset 0
|
||||
Decorate 98(BufferK) Block
|
||||
Decorate 100(bufferk) DescriptorSet 0
|
||||
Decorate 100(bufferk) Binding 7
|
||||
Decorate 110(imagej) DescriptorSet 0
|
||||
Decorate 110(imagej) Binding 5
|
||||
Decorate 122(samp) DescriptorSet 0
|
||||
Decorate 122(samp) Binding 6
|
||||
MemberDecorate 143(BufferL) 0 Offset 0
|
||||
Decorate 143(BufferL) Block
|
||||
Decorate 145(bufferl) DescriptorSet 0
|
||||
Decorate 145(bufferl) Binding 8
|
||||
Decorate 46(imageu) DescriptorSet 0
|
||||
Decorate 46(imageu) Binding 0
|
||||
MemberDecorate 66(BufferU) 0 Offset 0
|
||||
Decorate 66(BufferU) Block
|
||||
Decorate 68(bufferu) DescriptorSet 0
|
||||
Decorate 68(bufferu) Binding 2
|
||||
MemberDecorate 78(BufferI) 0 Offset 0
|
||||
Decorate 78(BufferI) Block
|
||||
Decorate 80(bufferi) DescriptorSet 0
|
||||
Decorate 80(bufferi) Binding 3
|
||||
Decorate 83 ArrayStride 4
|
||||
MemberDecorate 84(A) 0 Offset 0
|
||||
MemberDecorate 85(BufferJ) 0 Offset 0
|
||||
Decorate 85(BufferJ) Block
|
||||
Decorate 88(bufferj) DescriptorSet 0
|
||||
Decorate 88(bufferj) Binding 4
|
||||
MemberDecorate 99(BufferK) 0 Offset 0
|
||||
Decorate 99(BufferK) Block
|
||||
Decorate 101(bufferk) DescriptorSet 0
|
||||
Decorate 101(bufferk) Binding 7
|
||||
Decorate 111(imagej) DescriptorSet 0
|
||||
Decorate 111(imagej) Binding 5
|
||||
Decorate 123(samp) DescriptorSet 0
|
||||
Decorate 123(samp) Binding 6
|
||||
MemberDecorate 144(BufferL) 0 Offset 0
|
||||
Decorate 144(BufferL) Block
|
||||
Decorate 146(bufferl) DescriptorSet 0
|
||||
Decorate 146(bufferl) Binding 8
|
||||
MemberDecorate 151(BufferM) 0 Offset 0
|
||||
Decorate 151(BufferM) Block
|
||||
Decorate 153(bufferm) DescriptorSet 0
|
||||
Decorate 153(bufferm) Binding 9
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
@ -106,67 +113,72 @@ spv.memoryScopeSemantics.comp
|
||||
38: 6(int) Constant 0
|
||||
39: 37(ivec2) ConstantComposite 38 38
|
||||
40: TypePointer Image 6(int)
|
||||
43: TypeImage 15(int) 2D nonsampled format:R32ui
|
||||
44: TypePointer UniformConstant 43
|
||||
45(imageu): 44(ptr) Variable UniformConstant
|
||||
46: 15(int) Constant 3
|
||||
47: TypePointer Image 15(int)
|
||||
50: 15(int) Constant 4
|
||||
52: 15(int) Constant 7
|
||||
57: 6(int) Constant 7
|
||||
61: 15(int) Constant 10
|
||||
63: 15(int) Constant 322
|
||||
65(BufferU): TypeStruct 15(int)
|
||||
66: TypePointer StorageBuffer 65(BufferU)
|
||||
67(bufferu): 66(ptr) Variable StorageBuffer
|
||||
68: TypePointer StorageBuffer 15(int)
|
||||
70: 15(int) Constant 1
|
||||
77(BufferI): TypeStruct 15(int)
|
||||
78: TypePointer StorageBuffer 77(BufferI)
|
||||
79(bufferi): 78(ptr) Variable StorageBuffer
|
||||
82: TypeArray 15(int) 26
|
||||
83(A): TypeStruct 82
|
||||
84(BufferJ): TypeStruct 83(A)
|
||||
85: TypeArray 84(BufferJ) 26
|
||||
86: TypePointer StorageBuffer 85
|
||||
87(bufferj): 86(ptr) Variable StorageBuffer
|
||||
94: TypePointer StorageBuffer 83(A)
|
||||
98(BufferK): TypeStruct 15(int)
|
||||
99: TypePointer Uniform 98(BufferK)
|
||||
100(bufferk): 99(ptr) Variable Uniform
|
||||
101: TypePointer Uniform 15(int)
|
||||
106: TypeVector 6(int) 4
|
||||
108: TypeArray 34 26
|
||||
109: TypePointer UniformConstant 108
|
||||
110(imagej): 109(ptr) Variable UniformConstant
|
||||
116: 106(ivec4) ConstantComposite 38 38 38 38
|
||||
117: TypeFloat 32
|
||||
118: TypeImage 117(float) 2D sampled format:Unknown
|
||||
119: TypeSampledImage 118
|
||||
120: TypeArray 119 26
|
||||
121: TypePointer UniformConstant 120
|
||||
122(samp): 121(ptr) Variable UniformConstant
|
||||
123: TypePointer UniformConstant 119
|
||||
126: TypeVector 117(float) 2
|
||||
127: 117(float) Constant 0
|
||||
128: 126(fvec2) ConstantComposite 127 127
|
||||
129: TypeVector 117(float) 4
|
||||
131: TypeInt 64 0
|
||||
132: TypePointer Workgroup 131(int64_t)
|
||||
133(atomu64): 132(ptr) Variable Workgroup
|
||||
134:131(int64_t) Constant 7 0
|
||||
136: TypeInt 64 1
|
||||
137: TypePointer Workgroup 136(int64_t)
|
||||
138(atomi64): 137(ptr) Variable Workgroup
|
||||
139:136(int64_t) Constant 10 0
|
||||
143(BufferL): TypeStruct 15(int)
|
||||
144: TypePointer StorageBuffer 143(BufferL)
|
||||
145(bufferl): 144(ptr) Variable StorageBuffer
|
||||
42: 15(int) Constant 32768
|
||||
44: TypeImage 15(int) 2D nonsampled format:R32ui
|
||||
45: TypePointer UniformConstant 44
|
||||
46(imageu): 45(ptr) Variable UniformConstant
|
||||
47: 15(int) Constant 3
|
||||
48: TypePointer Image 15(int)
|
||||
51: 15(int) Constant 4
|
||||
53: 15(int) Constant 7
|
||||
58: 6(int) Constant 7
|
||||
62: 15(int) Constant 10
|
||||
64: 15(int) Constant 322
|
||||
66(BufferU): TypeStruct 15(int)
|
||||
67: TypePointer StorageBuffer 66(BufferU)
|
||||
68(bufferu): 67(ptr) Variable StorageBuffer
|
||||
69: TypePointer StorageBuffer 15(int)
|
||||
71: 15(int) Constant 1
|
||||
78(BufferI): TypeStruct 15(int)
|
||||
79: TypePointer StorageBuffer 78(BufferI)
|
||||
80(bufferi): 79(ptr) Variable StorageBuffer
|
||||
83: TypeArray 15(int) 26
|
||||
84(A): TypeStruct 83
|
||||
85(BufferJ): TypeStruct 84(A)
|
||||
86: TypeArray 85(BufferJ) 26
|
||||
87: TypePointer StorageBuffer 86
|
||||
88(bufferj): 87(ptr) Variable StorageBuffer
|
||||
95: TypePointer StorageBuffer 84(A)
|
||||
99(BufferK): TypeStruct 15(int)
|
||||
100: TypePointer Uniform 99(BufferK)
|
||||
101(bufferk): 100(ptr) Variable Uniform
|
||||
102: TypePointer Uniform 15(int)
|
||||
107: TypeVector 6(int) 4
|
||||
109: TypeArray 34 26
|
||||
110: TypePointer UniformConstant 109
|
||||
111(imagej): 110(ptr) Variable UniformConstant
|
||||
117: 107(ivec4) ConstantComposite 38 38 38 38
|
||||
118: TypeFloat 32
|
||||
119: TypeImage 118(float) 2D sampled format:Unknown
|
||||
120: TypeSampledImage 119
|
||||
121: TypeArray 120 26
|
||||
122: TypePointer UniformConstant 121
|
||||
123(samp): 122(ptr) Variable UniformConstant
|
||||
124: TypePointer UniformConstant 120
|
||||
127: TypeVector 118(float) 2
|
||||
128: 118(float) Constant 0
|
||||
129: 127(fvec2) ConstantComposite 128 128
|
||||
130: TypeVector 118(float) 4
|
||||
132: TypeInt 64 0
|
||||
133: TypePointer Workgroup 132(int64_t)
|
||||
134(atomu64): 133(ptr) Variable Workgroup
|
||||
135:132(int64_t) Constant 7 0
|
||||
137: TypeInt 64 1
|
||||
138: TypePointer Workgroup 137(int64_t)
|
||||
139(atomi64): 138(ptr) Variable Workgroup
|
||||
140:137(int64_t) Constant 10 0
|
||||
144(BufferL): TypeStruct 15(int)
|
||||
145: TypePointer StorageBuffer 144(BufferL)
|
||||
146(bufferl): 145(ptr) Variable StorageBuffer
|
||||
151(BufferM): TypeStruct 15(int)
|
||||
152: TypePointer StorageBuffer 151(BufferM)
|
||||
153(bufferm): 152(ptr) Variable StorageBuffer
|
||||
161: 6(int) Constant 32768
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(origi): 7(ptr) Variable Function
|
||||
21(origu): 20(ptr) Variable Function
|
||||
72(y): 20(ptr) Variable Function
|
||||
73(y): 20(ptr) Variable Function
|
||||
19: 6(int) AtomicIAdd 10(atomi) 12 18 11
|
||||
Store 8(origi) 19
|
||||
25: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
@ -177,77 +189,87 @@ spv.memoryScopeSemantics.comp
|
||||
32: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
AtomicStore 23(atomu) 12 33 32
|
||||
41: 40(ptr) ImageTexelPointer 36(imagei) 39 17
|
||||
42: 6(int) AtomicLoad 41 12 30
|
||||
Store 8(origi) 42
|
||||
48: 47(ptr) ImageTexelPointer 45(imageu) 39 17
|
||||
49: 15(int) AtomicIAdd 48 12 30 46
|
||||
Store 21(origu) 49
|
||||
51: 47(ptr) ImageTexelPointer 45(imageu) 39 17
|
||||
AtomicStore 51 12 33 50
|
||||
53: 15(int) AtomicOr 23(atomu) 12 17 52
|
||||
Store 21(origu) 53
|
||||
54: 15(int) AtomicXor 23(atomu) 12 17 52
|
||||
43: 6(int) AtomicLoad 41 12 30
|
||||
Store 8(origi) 43
|
||||
49: 48(ptr) ImageTexelPointer 46(imageu) 39 17
|
||||
50: 15(int) AtomicIAdd 49 12 30 47
|
||||
Store 21(origu) 50
|
||||
52: 48(ptr) ImageTexelPointer 46(imageu) 39 17
|
||||
AtomicStore 52 12 33 51
|
||||
54: 15(int) AtomicOr 23(atomu) 12 17 53
|
||||
Store 21(origu) 54
|
||||
55: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
56: 15(int) AtomicUMin 23(atomu) 12 17 55
|
||||
Store 21(origu) 56
|
||||
58: 6(int) AtomicSMax 10(atomi) 12 17 57
|
||||
Store 8(origi) 58
|
||||
59: 6(int) Load 8(origi)
|
||||
60: 6(int) AtomicExchange 10(atomi) 12 17 59
|
||||
Store 8(origi) 60
|
||||
62: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
64: 15(int) AtomicCompareExchange 23(atomu) 12 63 63 62 61
|
||||
Store 21(origu) 64
|
||||
69: 68(ptr) AccessChain 67(bufferu) 38
|
||||
71: 15(int) AtomicIAdd 69 12 18 70
|
||||
55: 15(int) AtomicXor 23(atomu) 12 17 53
|
||||
Store 21(origu) 55
|
||||
56: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
57: 15(int) AtomicUMin 23(atomu) 12 17 56
|
||||
Store 21(origu) 57
|
||||
59: 6(int) AtomicSMax 10(atomi) 12 17 58
|
||||
Store 8(origi) 59
|
||||
60: 6(int) Load 8(origi)
|
||||
61: 6(int) AtomicExchange 10(atomi) 12 17 60
|
||||
Store 8(origi) 61
|
||||
63: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
65: 15(int) AtomicCompareExchange 23(atomu) 12 64 64 63 62
|
||||
Store 21(origu) 65
|
||||
70: 69(ptr) AccessChain 68(bufferu) 38
|
||||
72: 15(int) AtomicIAdd 70 12 18 71
|
||||
MemoryBarrier 26 18
|
||||
ControlBarrier 26 26 63
|
||||
ControlBarrier 26 26 64
|
||||
ControlBarrier 26 26 17
|
||||
73: 68(ptr) AccessChain 67(bufferu) 38
|
||||
74: 15(int) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
Store 72(y) 74
|
||||
75: 15(int) Load 72(y)
|
||||
76: 68(ptr) AccessChain 67(bufferu) 38
|
||||
Store 76 75 MakePointerAvailableKHR NonPrivatePointerKHR 26
|
||||
80: 68(ptr) AccessChain 79(bufferi) 38
|
||||
81: 15(int) Load 80 MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
Store 72(y) 81
|
||||
88: 68(ptr) AccessChain 87(bufferj) 38 38 38 12
|
||||
89: 15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
Store 72(y) 89
|
||||
90: 15(int) Load 72(y)
|
||||
91: 68(ptr) AccessChain 79(bufferi) 38
|
||||
Store 91 90 MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
92: 15(int) Load 72(y)
|
||||
93: 68(ptr) AccessChain 87(bufferj) 38 38 38 12
|
||||
Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
95: 94(ptr) AccessChain 87(bufferj) 12 38
|
||||
96: 83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
97: 94(ptr) AccessChain 87(bufferj) 38 38
|
||||
Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
102: 101(ptr) AccessChain 100(bufferk) 38
|
||||
103: 15(int) Load 102 NonPrivatePointerKHR
|
||||
104: 68(ptr) AccessChain 79(bufferi) 38
|
||||
Store 104 103 MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
105: 34 Load 36(imagei)
|
||||
107: 106(ivec4) ImageRead 105 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
|
||||
111: 35(ptr) AccessChain 110(imagej) 38
|
||||
112: 34 Load 111
|
||||
113: 106(ivec4) ImageRead 112 39 NonPrivateTexelKHR
|
||||
114: 35(ptr) AccessChain 110(imagej) 12
|
||||
115: 34 Load 114
|
||||
ImageWrite 115 39 116 NonPrivateTexelKHR
|
||||
124: 123(ptr) AccessChain 122(samp) 38
|
||||
125: 119 Load 124
|
||||
130: 129(fvec4) ImageSampleExplicitLod 125 128 Lod NonPrivateTexelKHR 127
|
||||
135:131(int64_t) AtomicUMax 133(atomu64) 12 17 134
|
||||
Store 133(atomu64) 135 MakePointerAvailableKHR NonPrivatePointerKHR 26
|
||||
140:131(int64_t) Load 133(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
141:136(int64_t) Bitcast 140
|
||||
142:136(int64_t) AtomicCompareExchange 138(atomi64) 12 63 63 141 139
|
||||
146: 68(ptr) AccessChain 145(bufferl) 38
|
||||
147: 15(int) Load 146 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
Store 72(y) 147
|
||||
74: 69(ptr) AccessChain 68(bufferu) 38
|
||||
75: 15(int) Load 74 MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
Store 73(y) 75
|
||||
76: 15(int) Load 73(y)
|
||||
77: 69(ptr) AccessChain 68(bufferu) 38
|
||||
Store 77 76 MakePointerAvailableKHR NonPrivatePointerKHR 26
|
||||
81: 69(ptr) AccessChain 80(bufferi) 38
|
||||
82: 15(int) Load 81 MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
Store 73(y) 82
|
||||
89: 69(ptr) AccessChain 88(bufferj) 38 38 38 12
|
||||
90: 15(int) Load 89 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
Store 73(y) 90
|
||||
91: 15(int) Load 73(y)
|
||||
92: 69(ptr) AccessChain 80(bufferi) 38
|
||||
Store 92 91 MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
93: 15(int) Load 73(y)
|
||||
94: 69(ptr) AccessChain 88(bufferj) 38 38 38 12
|
||||
Store 94 93 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
96: 95(ptr) AccessChain 88(bufferj) 12 38
|
||||
97: 84(A) Load 96 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
98: 95(ptr) AccessChain 88(bufferj) 38 38
|
||||
Store 98 97 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
103: 102(ptr) AccessChain 101(bufferk) 38
|
||||
104: 15(int) Load 103 NonPrivatePointerKHR
|
||||
105: 69(ptr) AccessChain 80(bufferi) 38
|
||||
Store 105 104 MakePointerAvailableKHR NonPrivatePointerKHR 16
|
||||
106: 34 Load 36(imagei)
|
||||
108: 107(ivec4) ImageRead 106 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
|
||||
112: 35(ptr) AccessChain 111(imagej) 38
|
||||
113: 34 Load 112
|
||||
114: 107(ivec4) ImageRead 113 39 NonPrivateTexelKHR
|
||||
115: 35(ptr) AccessChain 111(imagej) 12
|
||||
116: 34 Load 115
|
||||
ImageWrite 116 39 117 NonPrivateTexelKHR
|
||||
125: 124(ptr) AccessChain 123(samp) 38
|
||||
126: 120 Load 125
|
||||
131: 130(fvec4) ImageSampleExplicitLod 126 129 Lod NonPrivateTexelKHR 128
|
||||
136:132(int64_t) AtomicUMax 134(atomu64) 12 17 135
|
||||
Store 134(atomu64) 136 MakePointerAvailableKHR NonPrivatePointerKHR 26
|
||||
141:132(int64_t) Load 134(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
|
||||
142:137(int64_t) Bitcast 141
|
||||
143:137(int64_t) AtomicCompareExchange 139(atomi64) 12 64 64 142 140
|
||||
147: 69(ptr) AccessChain 146(bufferl) 38
|
||||
148: 15(int) Load 147 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
|
||||
Store 73(y) 148
|
||||
149: 69(ptr) AccessChain 146(bufferl) 38
|
||||
150: 15(int) AtomicIAdd 149 16 42 71
|
||||
154: 69(ptr) AccessChain 153(bufferm) 38
|
||||
155: 15(int) AtomicOr 154 16 42 26
|
||||
156: 40(ptr) ImageTexelPointer 36(imagei) 39 17
|
||||
157: 6(int) AtomicIAdd 156 16 42 11
|
||||
158: 69(ptr) AccessChain 68(bufferu) 38
|
||||
159: 15(int) AtomicIAdd 158 12 17 51
|
||||
160: 69(ptr) AccessChain 68(bufferu) 38
|
||||
162: 15(int) AtomicIAdd 160 12 42 16
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
@ -11,7 +11,9 @@ ERROR: 0:23: 'atomicAdd' : Semantics must not include multiple of gl_SemanticsRe
|
||||
ERROR: 0:24: 'atomicCompSwap' : semUnequal must not be gl_SemanticsRelease or gl_SemanticsAcquireRelease
|
||||
ERROR: 0:25: 'memoryBarrier' : gl_SemanticsMakeVisible requires gl_SemanticsAcquire or gl_SemanticsAcquireRelease
|
||||
ERROR: 0:26: 'memoryBarrier' : gl_SemanticsMakeAvailable requires gl_SemanticsRelease or gl_SemanticsAcquireRelease
|
||||
ERROR: 12 compilation errors. No code generated.
|
||||
ERROR: 0:27: 'memoryBarrier' : gl_SemanticsVolatile must not be used with memoryBarrier or controlBarrier
|
||||
ERROR: 0:28: 'atomicCompSwap' : semEqual and semUnequal must either both include gl_SemanticsVolatile or neither
|
||||
ERROR: 14 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
spv.meshShaderPerViewUserDefined.mesh
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 90
|
||||
// Id's are bound by 108
|
||||
|
||||
Capability MeshShadingNV
|
||||
Extension "SPV_NV_mesh_shader"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MeshNV 4 "main" 11 20 21 35 67
|
||||
EntryPoint MeshNV 4 "main" 11 20 21 35 67 92 95 96 97 102 105 106 107
|
||||
ExecutionMode 4 LocalSize 32 1 1
|
||||
ExecutionMode 4 OutputVertices 81
|
||||
ExecutionMode 4 OutputPrimitivesNV 32
|
||||
@ -32,6 +32,14 @@ spv.meshShaderPerViewUserDefined.mesh
|
||||
MemberName 64(perviewBlock) 2 "color7"
|
||||
MemberName 64(perviewBlock) 3 "color8"
|
||||
Name 67 "b2"
|
||||
Name 92 "nonBlk1"
|
||||
Name 95 "nonBlk2"
|
||||
Name 96 "nonBlk3"
|
||||
Name 97 "nonBlk4"
|
||||
Name 102 "nonBlkArr1"
|
||||
Name 105 "nonBlkArr2"
|
||||
Name 106 "nonBlkArr3"
|
||||
Name 107 "nonBlkArr4"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
|
||||
Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
|
||||
@ -50,6 +58,26 @@ spv.meshShaderPerViewUserDefined.mesh
|
||||
Decorate 64(perviewBlock) Block
|
||||
Decorate 67(b2) Location 10
|
||||
Decorate 89 BuiltIn WorkgroupSize
|
||||
Decorate 92(nonBlk1) PerViewNV
|
||||
Decorate 92(nonBlk1) Location 18
|
||||
Decorate 95(nonBlk2) PerPrimitiveNV
|
||||
Decorate 95(nonBlk2) PerViewNV
|
||||
Decorate 95(nonBlk2) Location 19
|
||||
Decorate 96(nonBlk3) PerViewNV
|
||||
Decorate 96(nonBlk3) Location 20
|
||||
Decorate 97(nonBlk4) PerPrimitiveNV
|
||||
Decorate 97(nonBlk4) PerViewNV
|
||||
Decorate 97(nonBlk4) Location 21
|
||||
Decorate 102(nonBlkArr1) PerViewNV
|
||||
Decorate 102(nonBlkArr1) Location 22
|
||||
Decorate 105(nonBlkArr2) PerPrimitiveNV
|
||||
Decorate 105(nonBlkArr2) PerViewNV
|
||||
Decorate 105(nonBlkArr2) Location 24
|
||||
Decorate 106(nonBlkArr3) PerViewNV
|
||||
Decorate 106(nonBlkArr3) Location 26
|
||||
Decorate 107(nonBlkArr4) PerPrimitiveNV
|
||||
Decorate 107(nonBlkArr4) PerViewNV
|
||||
Decorate 107(nonBlkArr4) Location 28
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
@ -106,6 +134,24 @@ spv.meshShaderPerViewUserDefined.mesh
|
||||
86: 27(fvec4) ConstantComposite 85 85 85 85
|
||||
88: 6(int) Constant 32
|
||||
89: 9(ivec3) ConstantComposite 88 60 60
|
||||
90: TypeArray 63 32
|
||||
91: TypePointer Output 90
|
||||
92(nonBlk1): 91(ptr) Variable Output
|
||||
93: TypeArray 63 88
|
||||
94: TypePointer Output 93
|
||||
95(nonBlk2): 94(ptr) Variable Output
|
||||
96(nonBlk3): 91(ptr) Variable Output
|
||||
97(nonBlk4): 94(ptr) Variable Output
|
||||
98: TypeArray 27(fvec4) 62
|
||||
99: TypeArray 98 17
|
||||
100: TypeArray 99 32
|
||||
101: TypePointer Output 100
|
||||
102(nonBlkArr1): 101(ptr) Variable Output
|
||||
103: TypeArray 99 88
|
||||
104: TypePointer Output 103
|
||||
105(nonBlkArr2): 104(ptr) Variable Output
|
||||
106(nonBlkArr3): 101(ptr) Variable Output
|
||||
107(nonBlkArr4): 104(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(iid): 7(ptr) Variable Function
|
||||
|
||||
11
Test/baseResults/spv.meshShaderPerView_Errors.mesh.out
Normal file
11
Test/baseResults/spv.meshShaderPerView_Errors.mesh.out
Normal file
@ -0,0 +1,11 @@
|
||||
spv.meshShaderPerView_Errors.mesh
|
||||
ERROR: 0:19: '[]' : only outermost dimension of an array of arrays can be implicitly sized
|
||||
ERROR: 0:20: '[]' : mesh view output array size must be gl_MaxMeshViewCountNV or implicitly sized
|
||||
ERROR: 0:21: 'perviewNV' : requires a view array dimension
|
||||
ERROR: 0:25: '[]' : only outermost dimension of an array of arrays can be implicitly sized
|
||||
ERROR: 0:26: '[]' : mesh view output array size must be gl_MaxMeshViewCountNV or implicitly sized
|
||||
ERROR: 0:27: 'perviewNV' : requires a view array dimension
|
||||
ERROR: 6 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
@ -1,8 +1,7 @@
|
||||
spv.multiviewPerViewAttributes.tesc
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 37
|
||||
// Id's are bound by 41
|
||||
|
||||
Capability Tessellation
|
||||
Capability PerViewAttributesNV
|
||||
@ -24,7 +23,7 @@ Validation failed
|
||||
MemberName 27(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
MemberName 27(gl_PerVertex) 3 "gl_CullDistance"
|
||||
MemberName 27(gl_PerVertex) 5 "gl_PositionPerViewNV"
|
||||
MemberName 27(gl_PerVertex) 4 "gl_PositionPerViewNV"
|
||||
Name 31 "gl_in"
|
||||
MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV
|
||||
MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV
|
||||
@ -34,6 +33,7 @@ Validation failed
|
||||
MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance
|
||||
MemberDecorate 27(gl_PerVertex) 4 BuiltIn PositionPerViewNV
|
||||
Decorate 27(gl_PerVertex) Block
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
@ -61,7 +61,8 @@ Validation failed
|
||||
30: TypePointer Input 29
|
||||
31(gl_in): 30(ptr) Variable Input
|
||||
32: TypePointer Input 7(fvec4)
|
||||
35: TypePointer Output 7(fvec4)
|
||||
35: 11(int) Constant 4
|
||||
39: TypePointer Output 7(fvec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
20: 11(int) Load 19(gl_InvocationID)
|
||||
@ -70,7 +71,10 @@ Validation failed
|
||||
25: 11(int) Load 19(gl_InvocationID)
|
||||
33: 32(ptr) AccessChain 31(gl_in) 21 22
|
||||
34: 7(fvec4) Load 33
|
||||
36: 35(ptr) AccessChain 17(gl_out) 25 22 22
|
||||
Store 36 34
|
||||
36: 32(ptr) AccessChain 31(gl_in) 21 35 22
|
||||
37: 7(fvec4) Load 36
|
||||
38: 7(fvec4) FAdd 34 37
|
||||
40: 39(ptr) AccessChain 17(gl_out) 25 22 22
|
||||
Store 40 38
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
54
Test/baseResults/spv.privateVariableTypes.frag.out
Normal file
54
Test/baseResults/spv.privateVariableTypes.frag.out
Normal file
@ -0,0 +1,54 @@
|
||||
spv.privateVariableTypes.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main"
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
Name 4 "main"
|
||||
Name 8 "i8"
|
||||
Name 11 "u8"
|
||||
Name 14 "i16"
|
||||
Name 17 "u16"
|
||||
Name 20 "i64"
|
||||
Name 23 "u64"
|
||||
Name 26 "f16"
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 8 1
|
||||
7: TypePointer Private 6(int8_t)
|
||||
8(i8): 7(ptr) Variable Private
|
||||
9: TypeInt 8 0
|
||||
10: TypePointer Private 9(int8_t)
|
||||
11(u8): 10(ptr) Variable Private
|
||||
12: TypeInt 16 1
|
||||
13: TypePointer Private 12(int16_t)
|
||||
14(i16): 13(ptr) Variable Private
|
||||
15: TypeInt 16 0
|
||||
16: TypePointer Private 15(int16_t)
|
||||
17(u16): 16(ptr) Variable Private
|
||||
18: TypeInt 64 1
|
||||
19: TypePointer Private 18(int64_t)
|
||||
20(i64): 19(ptr) Variable Private
|
||||
21: TypeInt 64 0
|
||||
22: TypePointer Private 21(int64_t)
|
||||
23(u64): 22(ptr) Variable Private
|
||||
24: TypeFloat 16
|
||||
25: TypePointer Private 24(float16_t)
|
||||
26(f16): 25(ptr) Variable Private
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
@ -1,10 +1,10 @@
|
||||
spv.sampleMaskOverrideCoverage.frag
|
||||
Validation failed
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 20
|
||||
|
||||
Capability Shader
|
||||
Capability SampleMaskOverrideCoverageNV
|
||||
Extension "SPV_NV_sample_mask_override_coverage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
spv.shaderBallot.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 298
|
||||
// Id's are bound by 318
|
||||
|
||||
Capability Shader
|
||||
Capability Int64
|
||||
@ -9,7 +9,7 @@ spv.shaderBallot.comp
|
||||
Extension "SPV_KHR_shader_ballot"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12 21 23 26 29 32
|
||||
EntryPoint GLCompute 4 "main" 10 12 22 29 36 43 50
|
||||
ExecutionMode 4 LocalSize 8 8 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_ARB_gpu_shader_int64"
|
||||
@ -19,30 +19,30 @@ spv.shaderBallot.comp
|
||||
Name 10 "gl_SubGroupInvocationARB"
|
||||
Name 12 "gl_SubGroupSizeARB"
|
||||
Name 19 "relMask"
|
||||
Name 21 "gl_SubGroupEqMaskARB"
|
||||
Name 23 "gl_SubGroupGeMaskARB"
|
||||
Name 26 "gl_SubGroupGtMaskARB"
|
||||
Name 29 "gl_SubGroupLeMaskARB"
|
||||
Name 32 "gl_SubGroupLtMaskARB"
|
||||
Name 52 "Buffers"
|
||||
MemberName 52(Buffers) 0 "f4"
|
||||
MemberName 52(Buffers) 1 "i4"
|
||||
MemberName 52(Buffers) 2 "u4"
|
||||
Name 55 "data"
|
||||
Name 22 "gl_SubGroupEqMaskARB"
|
||||
Name 29 "gl_SubGroupGeMaskARB"
|
||||
Name 36 "gl_SubGroupGtMaskARB"
|
||||
Name 43 "gl_SubGroupLeMaskARB"
|
||||
Name 50 "gl_SubGroupLtMaskARB"
|
||||
Name 72 "Buffers"
|
||||
MemberName 72(Buffers) 0 "f4"
|
||||
MemberName 72(Buffers) 1 "i4"
|
||||
MemberName 72(Buffers) 2 "u4"
|
||||
Name 75 "data"
|
||||
Decorate 10(gl_SubGroupInvocationARB) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 12(gl_SubGroupSizeARB) BuiltIn SubgroupSize
|
||||
Decorate 21(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR
|
||||
Decorate 23(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
|
||||
Decorate 26(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR
|
||||
Decorate 29(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR
|
||||
Decorate 32(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
|
||||
MemberDecorate 52(Buffers) 0 Offset 0
|
||||
MemberDecorate 52(Buffers) 1 Offset 16
|
||||
MemberDecorate 52(Buffers) 2 Offset 32
|
||||
Decorate 52(Buffers) BufferBlock
|
||||
Decorate 55(data) DescriptorSet 0
|
||||
Decorate 55(data) Binding 0
|
||||
Decorate 297 BuiltIn WorkgroupSize
|
||||
Decorate 22(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR
|
||||
Decorate 29(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
|
||||
Decorate 36(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR
|
||||
Decorate 43(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR
|
||||
Decorate 50(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
|
||||
MemberDecorate 72(Buffers) 0 Offset 0
|
||||
MemberDecorate 72(Buffers) 1 Offset 16
|
||||
MemberDecorate 72(Buffers) 2 Offset 32
|
||||
Decorate 72(Buffers) BufferBlock
|
||||
Decorate 75(data) DescriptorSet 0
|
||||
Decorate 75(data) Binding 0
|
||||
Decorate 317 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
@ -53,43 +53,43 @@ spv.shaderBallot.comp
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 64 0
|
||||
18: TypePointer Function 17(int64_t)
|
||||
20: TypePointer Input 17(int64_t)
|
||||
21(gl_SubGroupEqMaskARB): 20(ptr) Variable Input
|
||||
23(gl_SubGroupGeMaskARB): 20(ptr) Variable Input
|
||||
26(gl_SubGroupGtMaskARB): 20(ptr) Variable Input
|
||||
29(gl_SubGroupLeMaskARB): 20(ptr) Variable Input
|
||||
32(gl_SubGroupLtMaskARB): 20(ptr) Variable Input
|
||||
36: TypeBool
|
||||
37: 36(bool) ConstantTrue
|
||||
38: TypeVector 6(int) 4
|
||||
42: TypeVector 6(int) 2
|
||||
48: TypeFloat 32
|
||||
49: TypeVector 48(float) 4
|
||||
50: TypeInt 32 1
|
||||
51: TypeVector 50(int) 4
|
||||
52(Buffers): TypeStruct 49(fvec4) 51(ivec4) 38(ivec4)
|
||||
53: TypeArray 52(Buffers) 15
|
||||
54: TypePointer Uniform 53
|
||||
55(data): 54(ptr) Variable Uniform
|
||||
57: 50(int) Constant 0
|
||||
58: 6(int) Constant 0
|
||||
59: TypePointer Uniform 48(float)
|
||||
66: 50(int) Constant 1
|
||||
67: TypeVector 48(float) 2
|
||||
68: TypePointer Uniform 49(fvec4)
|
||||
82: 50(int) Constant 2
|
||||
83: TypeVector 48(float) 3
|
||||
99: 50(int) Constant 3
|
||||
114: TypePointer Uniform 50(int)
|
||||
121: TypeVector 50(int) 2
|
||||
122: TypePointer Uniform 51(ivec4)
|
||||
136: TypeVector 50(int) 3
|
||||
166: TypePointer Uniform 6(int)
|
||||
173: TypePointer Uniform 38(ivec4)
|
||||
187: TypeVector 6(int) 3
|
||||
295: 6(int) Constant 8
|
||||
296: 6(int) Constant 1
|
||||
297: 187(ivec3) ConstantComposite 295 295 296
|
||||
20: TypeVector 6(int) 4
|
||||
21: TypePointer Input 20(ivec4)
|
||||
22(gl_SubGroupEqMaskARB): 21(ptr) Variable Input
|
||||
26: TypeVector 6(int) 2
|
||||
29(gl_SubGroupGeMaskARB): 21(ptr) Variable Input
|
||||
36(gl_SubGroupGtMaskARB): 21(ptr) Variable Input
|
||||
43(gl_SubGroupLeMaskARB): 21(ptr) Variable Input
|
||||
50(gl_SubGroupLtMaskARB): 21(ptr) Variable Input
|
||||
58: TypeBool
|
||||
59: 58(bool) ConstantTrue
|
||||
68: TypeFloat 32
|
||||
69: TypeVector 68(float) 4
|
||||
70: TypeInt 32 1
|
||||
71: TypeVector 70(int) 4
|
||||
72(Buffers): TypeStruct 69(fvec4) 71(ivec4) 20(ivec4)
|
||||
73: TypeArray 72(Buffers) 15
|
||||
74: TypePointer Uniform 73
|
||||
75(data): 74(ptr) Variable Uniform
|
||||
77: 70(int) Constant 0
|
||||
78: 6(int) Constant 0
|
||||
79: TypePointer Uniform 68(float)
|
||||
86: 70(int) Constant 1
|
||||
87: TypeVector 68(float) 2
|
||||
88: TypePointer Uniform 69(fvec4)
|
||||
102: 70(int) Constant 2
|
||||
103: TypeVector 68(float) 3
|
||||
119: 70(int) Constant 3
|
||||
134: TypePointer Uniform 70(int)
|
||||
141: TypeVector 70(int) 2
|
||||
142: TypePointer Uniform 71(ivec4)
|
||||
156: TypeVector 70(int) 3
|
||||
186: TypePointer Uniform 6(int)
|
||||
193: TypePointer Uniform 20(ivec4)
|
||||
207: TypeVector 6(int) 3
|
||||
315: 6(int) Constant 8
|
||||
316: 6(int) Constant 1
|
||||
317: 207(ivec3) ConstantComposite 315 315 316
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
@ -99,275 +99,295 @@ spv.shaderBallot.comp
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
22: 17(int64_t) Load 21(gl_SubGroupEqMaskARB)
|
||||
24: 17(int64_t) Load 23(gl_SubGroupGeMaskARB)
|
||||
25: 17(int64_t) IAdd 22 24
|
||||
27: 17(int64_t) Load 26(gl_SubGroupGtMaskARB)
|
||||
28: 17(int64_t) IAdd 25 27
|
||||
30: 17(int64_t) Load 29(gl_SubGroupLeMaskARB)
|
||||
31: 17(int64_t) IAdd 28 30
|
||||
33: 17(int64_t) Load 32(gl_SubGroupLtMaskARB)
|
||||
34: 17(int64_t) IAdd 31 33
|
||||
Store 19(relMask) 34
|
||||
35: 17(int64_t) Load 19(relMask)
|
||||
39: 38(ivec4) SubgroupBallotKHR 37
|
||||
40: 6(int) CompositeExtract 39 0
|
||||
41: 6(int) CompositeExtract 39 1
|
||||
43: 42(ivec2) CompositeConstruct 40 41
|
||||
44: 17(int64_t) Bitcast 43
|
||||
45: 36(bool) IEqual 35 44
|
||||
SelectionMerge 47 None
|
||||
BranchConditional 45 46 216
|
||||
46: Label
|
||||
56: 6(int) Load 8(invocation)
|
||||
60: 59(ptr) AccessChain 55(data) 57 57 58
|
||||
61: 48(float) Load 60
|
||||
62: 6(int) Load 8(invocation)
|
||||
63: 48(float) SubgroupReadInvocationKHR 61 62
|
||||
64: 59(ptr) AccessChain 55(data) 56 57 58
|
||||
Store 64 63
|
||||
65: 6(int) Load 8(invocation)
|
||||
69: 68(ptr) AccessChain 55(data) 66 57
|
||||
70: 49(fvec4) Load 69
|
||||
71: 67(fvec2) VectorShuffle 70 70 0 1
|
||||
72: 6(int) Load 8(invocation)
|
||||
73: 48(float) CompositeExtract 71 0
|
||||
74: 48(float) SubgroupReadInvocationKHR 73 72
|
||||
75: 48(float) CompositeExtract 71 1
|
||||
76: 48(float) SubgroupReadInvocationKHR 75 72
|
||||
77: 67(fvec2) CompositeConstruct 74 76
|
||||
78: 68(ptr) AccessChain 55(data) 65 57
|
||||
79: 49(fvec4) Load 78
|
||||
80: 49(fvec4) VectorShuffle 79 77 4 5 2 3
|
||||
Store 78 80
|
||||
81: 6(int) Load 8(invocation)
|
||||
84: 68(ptr) AccessChain 55(data) 82 57
|
||||
85: 49(fvec4) Load 84
|
||||
86: 83(fvec3) VectorShuffle 85 85 0 1 2
|
||||
87: 6(int) Load 8(invocation)
|
||||
88: 48(float) CompositeExtract 86 0
|
||||
89: 48(float) SubgroupReadInvocationKHR 88 87
|
||||
90: 48(float) CompositeExtract 86 1
|
||||
91: 48(float) SubgroupReadInvocationKHR 90 87
|
||||
92: 48(float) CompositeExtract 86 2
|
||||
93: 48(float) SubgroupReadInvocationKHR 92 87
|
||||
94: 83(fvec3) CompositeConstruct 89 91 93
|
||||
95: 68(ptr) AccessChain 55(data) 81 57
|
||||
96: 49(fvec4) Load 95
|
||||
97: 49(fvec4) VectorShuffle 96 94 4 5 6 3
|
||||
Store 95 97
|
||||
98: 6(int) Load 8(invocation)
|
||||
100: 68(ptr) AccessChain 55(data) 99 57
|
||||
101: 49(fvec4) Load 100
|
||||
102: 6(int) Load 8(invocation)
|
||||
103: 48(float) CompositeExtract 101 0
|
||||
104: 48(float) SubgroupReadInvocationKHR 103 102
|
||||
105: 48(float) CompositeExtract 101 1
|
||||
106: 48(float) SubgroupReadInvocationKHR 105 102
|
||||
107: 48(float) CompositeExtract 101 2
|
||||
108: 48(float) SubgroupReadInvocationKHR 107 102
|
||||
109: 48(float) CompositeExtract 101 3
|
||||
110: 48(float) SubgroupReadInvocationKHR 109 102
|
||||
111: 49(fvec4) CompositeConstruct 104 106 108 110
|
||||
112: 68(ptr) AccessChain 55(data) 98 57
|
||||
Store 112 111
|
||||
113: 6(int) Load 8(invocation)
|
||||
115: 114(ptr) AccessChain 55(data) 57 66 58
|
||||
116: 50(int) Load 115
|
||||
117: 6(int) Load 8(invocation)
|
||||
118: 50(int) SubgroupReadInvocationKHR 116 117
|
||||
119: 114(ptr) AccessChain 55(data) 113 66 58
|
||||
Store 119 118
|
||||
120: 6(int) Load 8(invocation)
|
||||
123: 122(ptr) AccessChain 55(data) 66 66
|
||||
124: 51(ivec4) Load 123
|
||||
125: 121(ivec2) VectorShuffle 124 124 0 1
|
||||
126: 6(int) Load 8(invocation)
|
||||
127: 50(int) CompositeExtract 125 0
|
||||
128: 50(int) SubgroupReadInvocationKHR 127 126
|
||||
129: 50(int) CompositeExtract 125 1
|
||||
130: 50(int) SubgroupReadInvocationKHR 129 126
|
||||
131: 121(ivec2) CompositeConstruct 128 130
|
||||
132: 122(ptr) AccessChain 55(data) 120 66
|
||||
133: 51(ivec4) Load 132
|
||||
134: 51(ivec4) VectorShuffle 133 131 4 5 2 3
|
||||
Store 132 134
|
||||
135: 6(int) Load 8(invocation)
|
||||
137: 122(ptr) AccessChain 55(data) 82 66
|
||||
138: 51(ivec4) Load 137
|
||||
139: 136(ivec3) VectorShuffle 138 138 0 1 2
|
||||
23: 20(ivec4) Load 22(gl_SubGroupEqMaskARB)
|
||||
24: 6(int) CompositeExtract 23 0
|
||||
25: 6(int) CompositeExtract 23 1
|
||||
27: 26(ivec2) CompositeConstruct 24 25
|
||||
28: 17(int64_t) Bitcast 27
|
||||
30: 20(ivec4) Load 29(gl_SubGroupGeMaskARB)
|
||||
31: 6(int) CompositeExtract 30 0
|
||||
32: 6(int) CompositeExtract 30 1
|
||||
33: 26(ivec2) CompositeConstruct 31 32
|
||||
34: 17(int64_t) Bitcast 33
|
||||
35: 17(int64_t) IAdd 28 34
|
||||
37: 20(ivec4) Load 36(gl_SubGroupGtMaskARB)
|
||||
38: 6(int) CompositeExtract 37 0
|
||||
39: 6(int) CompositeExtract 37 1
|
||||
40: 26(ivec2) CompositeConstruct 38 39
|
||||
41: 17(int64_t) Bitcast 40
|
||||
42: 17(int64_t) IAdd 35 41
|
||||
44: 20(ivec4) Load 43(gl_SubGroupLeMaskARB)
|
||||
45: 6(int) CompositeExtract 44 0
|
||||
46: 6(int) CompositeExtract 44 1
|
||||
47: 26(ivec2) CompositeConstruct 45 46
|
||||
48: 17(int64_t) Bitcast 47
|
||||
49: 17(int64_t) IAdd 42 48
|
||||
51: 20(ivec4) Load 50(gl_SubGroupLtMaskARB)
|
||||
52: 6(int) CompositeExtract 51 0
|
||||
53: 6(int) CompositeExtract 51 1
|
||||
54: 26(ivec2) CompositeConstruct 52 53
|
||||
55: 17(int64_t) Bitcast 54
|
||||
56: 17(int64_t) IAdd 49 55
|
||||
Store 19(relMask) 56
|
||||
57: 17(int64_t) Load 19(relMask)
|
||||
60: 20(ivec4) SubgroupBallotKHR 59
|
||||
61: 6(int) CompositeExtract 60 0
|
||||
62: 6(int) CompositeExtract 60 1
|
||||
63: 26(ivec2) CompositeConstruct 61 62
|
||||
64: 17(int64_t) Bitcast 63
|
||||
65: 58(bool) IEqual 57 64
|
||||
SelectionMerge 67 None
|
||||
BranchConditional 65 66 236
|
||||
66: Label
|
||||
76: 6(int) Load 8(invocation)
|
||||
80: 79(ptr) AccessChain 75(data) 77 77 78
|
||||
81: 68(float) Load 80
|
||||
82: 6(int) Load 8(invocation)
|
||||
83: 68(float) SubgroupReadInvocationKHR 81 82
|
||||
84: 79(ptr) AccessChain 75(data) 76 77 78
|
||||
Store 84 83
|
||||
85: 6(int) Load 8(invocation)
|
||||
89: 88(ptr) AccessChain 75(data) 86 77
|
||||
90: 69(fvec4) Load 89
|
||||
91: 87(fvec2) VectorShuffle 90 90 0 1
|
||||
92: 6(int) Load 8(invocation)
|
||||
93: 68(float) CompositeExtract 91 0
|
||||
94: 68(float) SubgroupReadInvocationKHR 93 92
|
||||
95: 68(float) CompositeExtract 91 1
|
||||
96: 68(float) SubgroupReadInvocationKHR 95 92
|
||||
97: 87(fvec2) CompositeConstruct 94 96
|
||||
98: 88(ptr) AccessChain 75(data) 85 77
|
||||
99: 69(fvec4) Load 98
|
||||
100: 69(fvec4) VectorShuffle 99 97 4 5 2 3
|
||||
Store 98 100
|
||||
101: 6(int) Load 8(invocation)
|
||||
104: 88(ptr) AccessChain 75(data) 102 77
|
||||
105: 69(fvec4) Load 104
|
||||
106: 103(fvec3) VectorShuffle 105 105 0 1 2
|
||||
107: 6(int) Load 8(invocation)
|
||||
108: 68(float) CompositeExtract 106 0
|
||||
109: 68(float) SubgroupReadInvocationKHR 108 107
|
||||
110: 68(float) CompositeExtract 106 1
|
||||
111: 68(float) SubgroupReadInvocationKHR 110 107
|
||||
112: 68(float) CompositeExtract 106 2
|
||||
113: 68(float) SubgroupReadInvocationKHR 112 107
|
||||
114: 103(fvec3) CompositeConstruct 109 111 113
|
||||
115: 88(ptr) AccessChain 75(data) 101 77
|
||||
116: 69(fvec4) Load 115
|
||||
117: 69(fvec4) VectorShuffle 116 114 4 5 6 3
|
||||
Store 115 117
|
||||
118: 6(int) Load 8(invocation)
|
||||
120: 88(ptr) AccessChain 75(data) 119 77
|
||||
121: 69(fvec4) Load 120
|
||||
122: 6(int) Load 8(invocation)
|
||||
123: 68(float) CompositeExtract 121 0
|
||||
124: 68(float) SubgroupReadInvocationKHR 123 122
|
||||
125: 68(float) CompositeExtract 121 1
|
||||
126: 68(float) SubgroupReadInvocationKHR 125 122
|
||||
127: 68(float) CompositeExtract 121 2
|
||||
128: 68(float) SubgroupReadInvocationKHR 127 122
|
||||
129: 68(float) CompositeExtract 121 3
|
||||
130: 68(float) SubgroupReadInvocationKHR 129 122
|
||||
131: 69(fvec4) CompositeConstruct 124 126 128 130
|
||||
132: 88(ptr) AccessChain 75(data) 118 77
|
||||
Store 132 131
|
||||
133: 6(int) Load 8(invocation)
|
||||
135: 134(ptr) AccessChain 75(data) 77 86 78
|
||||
136: 70(int) Load 135
|
||||
137: 6(int) Load 8(invocation)
|
||||
138: 70(int) SubgroupReadInvocationKHR 136 137
|
||||
139: 134(ptr) AccessChain 75(data) 133 86 78
|
||||
Store 139 138
|
||||
140: 6(int) Load 8(invocation)
|
||||
141: 50(int) CompositeExtract 139 0
|
||||
142: 50(int) SubgroupReadInvocationKHR 141 140
|
||||
143: 50(int) CompositeExtract 139 1
|
||||
144: 50(int) SubgroupReadInvocationKHR 143 140
|
||||
145: 50(int) CompositeExtract 139 2
|
||||
146: 50(int) SubgroupReadInvocationKHR 145 140
|
||||
147: 136(ivec3) CompositeConstruct 142 144 146
|
||||
148: 122(ptr) AccessChain 55(data) 135 66
|
||||
149: 51(ivec4) Load 148
|
||||
150: 51(ivec4) VectorShuffle 149 147 4 5 6 3
|
||||
Store 148 150
|
||||
151: 6(int) Load 8(invocation)
|
||||
152: 122(ptr) AccessChain 55(data) 99 66
|
||||
153: 51(ivec4) Load 152
|
||||
154: 6(int) Load 8(invocation)
|
||||
155: 50(int) CompositeExtract 153 0
|
||||
156: 50(int) SubgroupReadInvocationKHR 155 154
|
||||
157: 50(int) CompositeExtract 153 1
|
||||
158: 50(int) SubgroupReadInvocationKHR 157 154
|
||||
159: 50(int) CompositeExtract 153 2
|
||||
160: 50(int) SubgroupReadInvocationKHR 159 154
|
||||
161: 50(int) CompositeExtract 153 3
|
||||
162: 50(int) SubgroupReadInvocationKHR 161 154
|
||||
163: 51(ivec4) CompositeConstruct 156 158 160 162
|
||||
164: 122(ptr) AccessChain 55(data) 151 66
|
||||
Store 164 163
|
||||
165: 6(int) Load 8(invocation)
|
||||
167: 166(ptr) AccessChain 55(data) 57 82 58
|
||||
168: 6(int) Load 167
|
||||
169: 6(int) Load 8(invocation)
|
||||
170: 6(int) SubgroupReadInvocationKHR 168 169
|
||||
171: 166(ptr) AccessChain 55(data) 165 82 58
|
||||
Store 171 170
|
||||
172: 6(int) Load 8(invocation)
|
||||
174: 173(ptr) AccessChain 55(data) 66 82
|
||||
175: 38(ivec4) Load 174
|
||||
176: 42(ivec2) VectorShuffle 175 175 0 1
|
||||
177: 6(int) Load 8(invocation)
|
||||
178: 6(int) CompositeExtract 176 0
|
||||
179: 6(int) SubgroupReadInvocationKHR 178 177
|
||||
180: 6(int) CompositeExtract 176 1
|
||||
181: 6(int) SubgroupReadInvocationKHR 180 177
|
||||
182: 42(ivec2) CompositeConstruct 179 181
|
||||
183: 173(ptr) AccessChain 55(data) 172 82
|
||||
184: 38(ivec4) Load 183
|
||||
185: 38(ivec4) VectorShuffle 184 182 4 5 2 3
|
||||
Store 183 185
|
||||
186: 6(int) Load 8(invocation)
|
||||
188: 173(ptr) AccessChain 55(data) 82 82
|
||||
189: 38(ivec4) Load 188
|
||||
190: 187(ivec3) VectorShuffle 189 189 0 1 2
|
||||
191: 6(int) Load 8(invocation)
|
||||
192: 6(int) CompositeExtract 190 0
|
||||
193: 6(int) SubgroupReadInvocationKHR 192 191
|
||||
194: 6(int) CompositeExtract 190 1
|
||||
195: 6(int) SubgroupReadInvocationKHR 194 191
|
||||
196: 6(int) CompositeExtract 190 2
|
||||
197: 6(int) SubgroupReadInvocationKHR 196 191
|
||||
198: 187(ivec3) CompositeConstruct 193 195 197
|
||||
199: 173(ptr) AccessChain 55(data) 186 82
|
||||
200: 38(ivec4) Load 199
|
||||
201: 38(ivec4) VectorShuffle 200 198 4 5 6 3
|
||||
Store 199 201
|
||||
202: 6(int) Load 8(invocation)
|
||||
203: 173(ptr) AccessChain 55(data) 99 82
|
||||
204: 38(ivec4) Load 203
|
||||
205: 6(int) Load 8(invocation)
|
||||
206: 6(int) CompositeExtract 204 0
|
||||
207: 6(int) SubgroupReadInvocationKHR 206 205
|
||||
208: 6(int) CompositeExtract 204 1
|
||||
209: 6(int) SubgroupReadInvocationKHR 208 205
|
||||
210: 6(int) CompositeExtract 204 2
|
||||
211: 6(int) SubgroupReadInvocationKHR 210 205
|
||||
212: 6(int) CompositeExtract 204 3
|
||||
213: 6(int) SubgroupReadInvocationKHR 212 205
|
||||
214: 38(ivec4) CompositeConstruct 207 209 211 213
|
||||
215: 173(ptr) AccessChain 55(data) 202 82
|
||||
Store 215 214
|
||||
Branch 47
|
||||
216: Label
|
||||
217: 6(int) Load 8(invocation)
|
||||
218: 59(ptr) AccessChain 55(data) 57 57 58
|
||||
219: 48(float) Load 218
|
||||
220: 48(float) SubgroupFirstInvocationKHR 219
|
||||
221: 59(ptr) AccessChain 55(data) 217 57 58
|
||||
Store 221 220
|
||||
143: 142(ptr) AccessChain 75(data) 86 86
|
||||
144: 71(ivec4) Load 143
|
||||
145: 141(ivec2) VectorShuffle 144 144 0 1
|
||||
146: 6(int) Load 8(invocation)
|
||||
147: 70(int) CompositeExtract 145 0
|
||||
148: 70(int) SubgroupReadInvocationKHR 147 146
|
||||
149: 70(int) CompositeExtract 145 1
|
||||
150: 70(int) SubgroupReadInvocationKHR 149 146
|
||||
151: 141(ivec2) CompositeConstruct 148 150
|
||||
152: 142(ptr) AccessChain 75(data) 140 86
|
||||
153: 71(ivec4) Load 152
|
||||
154: 71(ivec4) VectorShuffle 153 151 4 5 2 3
|
||||
Store 152 154
|
||||
155: 6(int) Load 8(invocation)
|
||||
157: 142(ptr) AccessChain 75(data) 102 86
|
||||
158: 71(ivec4) Load 157
|
||||
159: 156(ivec3) VectorShuffle 158 158 0 1 2
|
||||
160: 6(int) Load 8(invocation)
|
||||
161: 70(int) CompositeExtract 159 0
|
||||
162: 70(int) SubgroupReadInvocationKHR 161 160
|
||||
163: 70(int) CompositeExtract 159 1
|
||||
164: 70(int) SubgroupReadInvocationKHR 163 160
|
||||
165: 70(int) CompositeExtract 159 2
|
||||
166: 70(int) SubgroupReadInvocationKHR 165 160
|
||||
167: 156(ivec3) CompositeConstruct 162 164 166
|
||||
168: 142(ptr) AccessChain 75(data) 155 86
|
||||
169: 71(ivec4) Load 168
|
||||
170: 71(ivec4) VectorShuffle 169 167 4 5 6 3
|
||||
Store 168 170
|
||||
171: 6(int) Load 8(invocation)
|
||||
172: 142(ptr) AccessChain 75(data) 119 86
|
||||
173: 71(ivec4) Load 172
|
||||
174: 6(int) Load 8(invocation)
|
||||
175: 70(int) CompositeExtract 173 0
|
||||
176: 70(int) SubgroupReadInvocationKHR 175 174
|
||||
177: 70(int) CompositeExtract 173 1
|
||||
178: 70(int) SubgroupReadInvocationKHR 177 174
|
||||
179: 70(int) CompositeExtract 173 2
|
||||
180: 70(int) SubgroupReadInvocationKHR 179 174
|
||||
181: 70(int) CompositeExtract 173 3
|
||||
182: 70(int) SubgroupReadInvocationKHR 181 174
|
||||
183: 71(ivec4) CompositeConstruct 176 178 180 182
|
||||
184: 142(ptr) AccessChain 75(data) 171 86
|
||||
Store 184 183
|
||||
185: 6(int) Load 8(invocation)
|
||||
187: 186(ptr) AccessChain 75(data) 77 102 78
|
||||
188: 6(int) Load 187
|
||||
189: 6(int) Load 8(invocation)
|
||||
190: 6(int) SubgroupReadInvocationKHR 188 189
|
||||
191: 186(ptr) AccessChain 75(data) 185 102 78
|
||||
Store 191 190
|
||||
192: 6(int) Load 8(invocation)
|
||||
194: 193(ptr) AccessChain 75(data) 86 102
|
||||
195: 20(ivec4) Load 194
|
||||
196: 26(ivec2) VectorShuffle 195 195 0 1
|
||||
197: 6(int) Load 8(invocation)
|
||||
198: 6(int) CompositeExtract 196 0
|
||||
199: 6(int) SubgroupReadInvocationKHR 198 197
|
||||
200: 6(int) CompositeExtract 196 1
|
||||
201: 6(int) SubgroupReadInvocationKHR 200 197
|
||||
202: 26(ivec2) CompositeConstruct 199 201
|
||||
203: 193(ptr) AccessChain 75(data) 192 102
|
||||
204: 20(ivec4) Load 203
|
||||
205: 20(ivec4) VectorShuffle 204 202 4 5 2 3
|
||||
Store 203 205
|
||||
206: 6(int) Load 8(invocation)
|
||||
208: 193(ptr) AccessChain 75(data) 102 102
|
||||
209: 20(ivec4) Load 208
|
||||
210: 207(ivec3) VectorShuffle 209 209 0 1 2
|
||||
211: 6(int) Load 8(invocation)
|
||||
212: 6(int) CompositeExtract 210 0
|
||||
213: 6(int) SubgroupReadInvocationKHR 212 211
|
||||
214: 6(int) CompositeExtract 210 1
|
||||
215: 6(int) SubgroupReadInvocationKHR 214 211
|
||||
216: 6(int) CompositeExtract 210 2
|
||||
217: 6(int) SubgroupReadInvocationKHR 216 211
|
||||
218: 207(ivec3) CompositeConstruct 213 215 217
|
||||
219: 193(ptr) AccessChain 75(data) 206 102
|
||||
220: 20(ivec4) Load 219
|
||||
221: 20(ivec4) VectorShuffle 220 218 4 5 6 3
|
||||
Store 219 221
|
||||
222: 6(int) Load 8(invocation)
|
||||
223: 68(ptr) AccessChain 55(data) 66 57
|
||||
224: 49(fvec4) Load 223
|
||||
225: 67(fvec2) VectorShuffle 224 224 0 1
|
||||
226: 67(fvec2) SubgroupFirstInvocationKHR 225
|
||||
227: 68(ptr) AccessChain 55(data) 222 57
|
||||
228: 49(fvec4) Load 227
|
||||
229: 49(fvec4) VectorShuffle 228 226 4 5 2 3
|
||||
Store 227 229
|
||||
230: 6(int) Load 8(invocation)
|
||||
231: 68(ptr) AccessChain 55(data) 82 57
|
||||
232: 49(fvec4) Load 231
|
||||
233: 83(fvec3) VectorShuffle 232 232 0 1 2
|
||||
234: 83(fvec3) SubgroupFirstInvocationKHR 233
|
||||
235: 68(ptr) AccessChain 55(data) 230 57
|
||||
236: 49(fvec4) Load 235
|
||||
237: 49(fvec4) VectorShuffle 236 234 4 5 6 3
|
||||
Store 235 237
|
||||
238: 6(int) Load 8(invocation)
|
||||
239: 68(ptr) AccessChain 55(data) 99 57
|
||||
240: 49(fvec4) Load 239
|
||||
241: 49(fvec4) SubgroupFirstInvocationKHR 240
|
||||
242: 68(ptr) AccessChain 55(data) 238 57
|
||||
Store 242 241
|
||||
243: 6(int) Load 8(invocation)
|
||||
244: 114(ptr) AccessChain 55(data) 57 66 58
|
||||
245: 50(int) Load 244
|
||||
246: 50(int) SubgroupFirstInvocationKHR 245
|
||||
247: 114(ptr) AccessChain 55(data) 243 66 58
|
||||
Store 247 246
|
||||
248: 6(int) Load 8(invocation)
|
||||
249: 122(ptr) AccessChain 55(data) 66 66
|
||||
250: 51(ivec4) Load 249
|
||||
251: 121(ivec2) VectorShuffle 250 250 0 1
|
||||
252: 121(ivec2) SubgroupFirstInvocationKHR 251
|
||||
253: 122(ptr) AccessChain 55(data) 248 66
|
||||
254: 51(ivec4) Load 253
|
||||
255: 51(ivec4) VectorShuffle 254 252 4 5 2 3
|
||||
Store 253 255
|
||||
256: 6(int) Load 8(invocation)
|
||||
257: 122(ptr) AccessChain 55(data) 82 66
|
||||
258: 51(ivec4) Load 257
|
||||
259: 136(ivec3) VectorShuffle 258 258 0 1 2
|
||||
260: 136(ivec3) SubgroupFirstInvocationKHR 259
|
||||
261: 122(ptr) AccessChain 55(data) 256 66
|
||||
262: 51(ivec4) Load 261
|
||||
263: 51(ivec4) VectorShuffle 262 260 4 5 6 3
|
||||
Store 261 263
|
||||
264: 6(int) Load 8(invocation)
|
||||
265: 122(ptr) AccessChain 55(data) 99 66
|
||||
266: 51(ivec4) Load 265
|
||||
267: 51(ivec4) SubgroupFirstInvocationKHR 266
|
||||
268: 122(ptr) AccessChain 55(data) 264 66
|
||||
Store 268 267
|
||||
269: 6(int) Load 8(invocation)
|
||||
270: 166(ptr) AccessChain 55(data) 57 82 58
|
||||
271: 6(int) Load 270
|
||||
272: 6(int) SubgroupFirstInvocationKHR 271
|
||||
273: 166(ptr) AccessChain 55(data) 269 82 58
|
||||
Store 273 272
|
||||
274: 6(int) Load 8(invocation)
|
||||
275: 173(ptr) AccessChain 55(data) 66 82
|
||||
276: 38(ivec4) Load 275
|
||||
277: 42(ivec2) VectorShuffle 276 276 0 1
|
||||
278: 42(ivec2) SubgroupFirstInvocationKHR 277
|
||||
279: 173(ptr) AccessChain 55(data) 274 82
|
||||
280: 38(ivec4) Load 279
|
||||
281: 38(ivec4) VectorShuffle 280 278 4 5 2 3
|
||||
Store 279 281
|
||||
282: 6(int) Load 8(invocation)
|
||||
283: 173(ptr) AccessChain 55(data) 82 82
|
||||
284: 38(ivec4) Load 283
|
||||
285: 187(ivec3) VectorShuffle 284 284 0 1 2
|
||||
286: 187(ivec3) SubgroupFirstInvocationKHR 285
|
||||
287: 173(ptr) AccessChain 55(data) 282 82
|
||||
288: 38(ivec4) Load 287
|
||||
289: 38(ivec4) VectorShuffle 288 286 4 5 6 3
|
||||
Store 287 289
|
||||
290: 6(int) Load 8(invocation)
|
||||
291: 173(ptr) AccessChain 55(data) 99 82
|
||||
292: 38(ivec4) Load 291
|
||||
293: 38(ivec4) SubgroupFirstInvocationKHR 292
|
||||
294: 173(ptr) AccessChain 55(data) 290 82
|
||||
Store 294 293
|
||||
Branch 47
|
||||
47: Label
|
||||
223: 193(ptr) AccessChain 75(data) 119 102
|
||||
224: 20(ivec4) Load 223
|
||||
225: 6(int) Load 8(invocation)
|
||||
226: 6(int) CompositeExtract 224 0
|
||||
227: 6(int) SubgroupReadInvocationKHR 226 225
|
||||
228: 6(int) CompositeExtract 224 1
|
||||
229: 6(int) SubgroupReadInvocationKHR 228 225
|
||||
230: 6(int) CompositeExtract 224 2
|
||||
231: 6(int) SubgroupReadInvocationKHR 230 225
|
||||
232: 6(int) CompositeExtract 224 3
|
||||
233: 6(int) SubgroupReadInvocationKHR 232 225
|
||||
234: 20(ivec4) CompositeConstruct 227 229 231 233
|
||||
235: 193(ptr) AccessChain 75(data) 222 102
|
||||
Store 235 234
|
||||
Branch 67
|
||||
236: Label
|
||||
237: 6(int) Load 8(invocation)
|
||||
238: 79(ptr) AccessChain 75(data) 77 77 78
|
||||
239: 68(float) Load 238
|
||||
240: 68(float) SubgroupFirstInvocationKHR 239
|
||||
241: 79(ptr) AccessChain 75(data) 237 77 78
|
||||
Store 241 240
|
||||
242: 6(int) Load 8(invocation)
|
||||
243: 88(ptr) AccessChain 75(data) 86 77
|
||||
244: 69(fvec4) Load 243
|
||||
245: 87(fvec2) VectorShuffle 244 244 0 1
|
||||
246: 87(fvec2) SubgroupFirstInvocationKHR 245
|
||||
247: 88(ptr) AccessChain 75(data) 242 77
|
||||
248: 69(fvec4) Load 247
|
||||
249: 69(fvec4) VectorShuffle 248 246 4 5 2 3
|
||||
Store 247 249
|
||||
250: 6(int) Load 8(invocation)
|
||||
251: 88(ptr) AccessChain 75(data) 102 77
|
||||
252: 69(fvec4) Load 251
|
||||
253: 103(fvec3) VectorShuffle 252 252 0 1 2
|
||||
254: 103(fvec3) SubgroupFirstInvocationKHR 253
|
||||
255: 88(ptr) AccessChain 75(data) 250 77
|
||||
256: 69(fvec4) Load 255
|
||||
257: 69(fvec4) VectorShuffle 256 254 4 5 6 3
|
||||
Store 255 257
|
||||
258: 6(int) Load 8(invocation)
|
||||
259: 88(ptr) AccessChain 75(data) 119 77
|
||||
260: 69(fvec4) Load 259
|
||||
261: 69(fvec4) SubgroupFirstInvocationKHR 260
|
||||
262: 88(ptr) AccessChain 75(data) 258 77
|
||||
Store 262 261
|
||||
263: 6(int) Load 8(invocation)
|
||||
264: 134(ptr) AccessChain 75(data) 77 86 78
|
||||
265: 70(int) Load 264
|
||||
266: 70(int) SubgroupFirstInvocationKHR 265
|
||||
267: 134(ptr) AccessChain 75(data) 263 86 78
|
||||
Store 267 266
|
||||
268: 6(int) Load 8(invocation)
|
||||
269: 142(ptr) AccessChain 75(data) 86 86
|
||||
270: 71(ivec4) Load 269
|
||||
271: 141(ivec2) VectorShuffle 270 270 0 1
|
||||
272: 141(ivec2) SubgroupFirstInvocationKHR 271
|
||||
273: 142(ptr) AccessChain 75(data) 268 86
|
||||
274: 71(ivec4) Load 273
|
||||
275: 71(ivec4) VectorShuffle 274 272 4 5 2 3
|
||||
Store 273 275
|
||||
276: 6(int) Load 8(invocation)
|
||||
277: 142(ptr) AccessChain 75(data) 102 86
|
||||
278: 71(ivec4) Load 277
|
||||
279: 156(ivec3) VectorShuffle 278 278 0 1 2
|
||||
280: 156(ivec3) SubgroupFirstInvocationKHR 279
|
||||
281: 142(ptr) AccessChain 75(data) 276 86
|
||||
282: 71(ivec4) Load 281
|
||||
283: 71(ivec4) VectorShuffle 282 280 4 5 6 3
|
||||
Store 281 283
|
||||
284: 6(int) Load 8(invocation)
|
||||
285: 142(ptr) AccessChain 75(data) 119 86
|
||||
286: 71(ivec4) Load 285
|
||||
287: 71(ivec4) SubgroupFirstInvocationKHR 286
|
||||
288: 142(ptr) AccessChain 75(data) 284 86
|
||||
Store 288 287
|
||||
289: 6(int) Load 8(invocation)
|
||||
290: 186(ptr) AccessChain 75(data) 77 102 78
|
||||
291: 6(int) Load 290
|
||||
292: 6(int) SubgroupFirstInvocationKHR 291
|
||||
293: 186(ptr) AccessChain 75(data) 289 102 78
|
||||
Store 293 292
|
||||
294: 6(int) Load 8(invocation)
|
||||
295: 193(ptr) AccessChain 75(data) 86 102
|
||||
296: 20(ivec4) Load 295
|
||||
297: 26(ivec2) VectorShuffle 296 296 0 1
|
||||
298: 26(ivec2) SubgroupFirstInvocationKHR 297
|
||||
299: 193(ptr) AccessChain 75(data) 294 102
|
||||
300: 20(ivec4) Load 299
|
||||
301: 20(ivec4) VectorShuffle 300 298 4 5 2 3
|
||||
Store 299 301
|
||||
302: 6(int) Load 8(invocation)
|
||||
303: 193(ptr) AccessChain 75(data) 102 102
|
||||
304: 20(ivec4) Load 303
|
||||
305: 207(ivec3) VectorShuffle 304 304 0 1 2
|
||||
306: 207(ivec3) SubgroupFirstInvocationKHR 305
|
||||
307: 193(ptr) AccessChain 75(data) 302 102
|
||||
308: 20(ivec4) Load 307
|
||||
309: 20(ivec4) VectorShuffle 308 306 4 5 6 3
|
||||
Store 307 309
|
||||
310: 6(int) Load 8(invocation)
|
||||
311: 193(ptr) AccessChain 75(data) 119 102
|
||||
312: 20(ivec4) Load 311
|
||||
313: 20(ivec4) SubgroupFirstInvocationKHR 312
|
||||
314: 193(ptr) AccessChain 75(data) 310 102
|
||||
Store 314 313
|
||||
Branch 67
|
||||
67: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
50
Test/baseResults/spv.smBuiltins.frag.out
Normal file
50
Test/baseResults/spv.smBuiltins.frag.out
Normal file
@ -0,0 +1,50 @@
|
||||
spv.smBuiltins.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 20
|
||||
|
||||
Capability Shader
|
||||
Capability ShaderSMBuiltinsNV
|
||||
Extension "SPV_NV_shader_sm_builtins"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 9 11 13 15 17
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_NV_shader_sm_builtins"
|
||||
Name 4 "main"
|
||||
Name 9 "data"
|
||||
Name 11 "gl_WarpsPerSMNV"
|
||||
Name 13 "gl_SMCountNV"
|
||||
Name 15 "gl_WarpIDNV"
|
||||
Name 17 "gl_SMIDNV"
|
||||
Decorate 9(data) Location 0
|
||||
Decorate 11(gl_WarpsPerSMNV) Flat
|
||||
Decorate 11(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV
|
||||
Decorate 13(gl_SMCountNV) Flat
|
||||
Decorate 13(gl_SMCountNV) BuiltIn SMCountNV
|
||||
Decorate 15(gl_WarpIDNV) Flat
|
||||
Decorate 15(gl_WarpIDNV) BuiltIn WarpIDNV
|
||||
Decorate 17(gl_SMIDNV) Flat
|
||||
Decorate 17(gl_SMIDNV) BuiltIn SMIDNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 4
|
||||
8: TypePointer Output 7(ivec4)
|
||||
9(data): 8(ptr) Variable Output
|
||||
10: TypePointer Input 6(int)
|
||||
11(gl_WarpsPerSMNV): 10(ptr) Variable Input
|
||||
13(gl_SMCountNV): 10(ptr) Variable Input
|
||||
15(gl_WarpIDNV): 10(ptr) Variable Input
|
||||
17(gl_SMIDNV): 10(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
12: 6(int) Load 11(gl_WarpsPerSMNV)
|
||||
14: 6(int) Load 13(gl_SMCountNV)
|
||||
16: 6(int) Load 15(gl_WarpIDNV)
|
||||
18: 6(int) Load 17(gl_SMIDNV)
|
||||
19: 7(ivec4) CompositeConstruct 12 14 16 18
|
||||
Store 9(data) 19
|
||||
Return
|
||||
FunctionEnd
|
||||
62
Test/baseResults/spv.smBuiltins.vert.out
Normal file
62
Test/baseResults/spv.smBuiltins.vert.out
Normal file
@ -0,0 +1,62 @@
|
||||
spv.smBuiltins.vert
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 29
|
||||
|
||||
Capability Shader
|
||||
Capability ShaderSMBuiltinsNV
|
||||
Extension "SPV_NV_shader_sm_builtins"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 15 18 20 22 24
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_NV_shader_sm_builtins"
|
||||
Name 4 "main"
|
||||
Name 9 "Output"
|
||||
MemberName 9(Output) 0 "result"
|
||||
Name 11 ""
|
||||
Name 15 "gl_VertexIndex"
|
||||
Name 18 "gl_WarpsPerSMNV"
|
||||
Name 20 "gl_SMCountNV"
|
||||
Name 22 "gl_WarpIDNV"
|
||||
Name 24 "gl_SMIDNV"
|
||||
Decorate 8 ArrayStride 16
|
||||
MemberDecorate 9(Output) 0 Offset 0
|
||||
Decorate 9(Output) BufferBlock
|
||||
Decorate 11 DescriptorSet 0
|
||||
Decorate 11 Binding 0
|
||||
Decorate 15(gl_VertexIndex) BuiltIn VertexIndex
|
||||
Decorate 18(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV
|
||||
Decorate 20(gl_SMCountNV) BuiltIn SMCountNV
|
||||
Decorate 22(gl_WarpIDNV) BuiltIn WarpIDNV
|
||||
Decorate 24(gl_SMIDNV) BuiltIn SMIDNV
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 4
|
||||
8: TypeRuntimeArray 7(ivec4)
|
||||
9(Output): TypeStruct 8
|
||||
10: TypePointer Uniform 9(Output)
|
||||
11: 10(ptr) Variable Uniform
|
||||
12: TypeInt 32 1
|
||||
13: 12(int) Constant 0
|
||||
14: TypePointer Input 12(int)
|
||||
15(gl_VertexIndex): 14(ptr) Variable Input
|
||||
17: TypePointer Input 6(int)
|
||||
18(gl_WarpsPerSMNV): 17(ptr) Variable Input
|
||||
20(gl_SMCountNV): 17(ptr) Variable Input
|
||||
22(gl_WarpIDNV): 17(ptr) Variable Input
|
||||
24(gl_SMIDNV): 17(ptr) Variable Input
|
||||
27: TypePointer Uniform 7(ivec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
16: 12(int) Load 15(gl_VertexIndex)
|
||||
19: 6(int) Load 18(gl_WarpsPerSMNV)
|
||||
21: 6(int) Load 20(gl_SMCountNV)
|
||||
23: 6(int) Load 22(gl_WarpIDNV)
|
||||
25: 6(int) Load 24(gl_SMIDNV)
|
||||
26: 7(ivec4) CompositeConstruct 19 21 23 25
|
||||
28: 27(ptr) AccessChain 11 13 16
|
||||
Store 28 26
|
||||
Return
|
||||
FunctionEnd
|
||||
6
Test/baseResults/spv.specConstArrayCheck.vert.out
Executable file
6
Test/baseResults/spv.specConstArrayCheck.vert.out
Executable file
@ -0,0 +1,6 @@
|
||||
spv.specConstArrayCheck.vert
|
||||
ERROR: 0:13: '[' : array index out of range '6'
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
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