Merge pull request #6 from Roy-AMD/sync

Sync code
This commit is contained in:
Roy.li 2019-09-02 11:58:14 +08:00 committed by GitHub
commit e8e138b9e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
206 changed files with 21984 additions and 10704 deletions

View File

@ -37,6 +37,8 @@ spirv_tools_dir = glslang_spirv_tools_dir
config("glslang_public") { config("glslang_public") {
include_dirs = [ "." ] include_dirs = [ "." ]
defines = [ "ENABLE_HLSL=1" ]
} }
source_set("glslang_sources") { source_set("glslang_sources") {
@ -129,9 +131,25 @@ source_set("glslang_sources") {
"glslang/MachineIndependent/reflection.h", "glslang/MachineIndependent/reflection.h",
"glslang/OSDependent/osinclude.h", "glslang/OSDependent/osinclude.h",
"glslang/Public/ShaderLang.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" ] defines = [ "ENABLE_OPT=1" ]
if (is_win) { if (is_win) {
sources += [ "glslang/OSDependent/Windows/ossource.cpp" ] sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
defines += [ "GLSLANG_OSINCLUDE_WIN32" ] defines += [ "GLSLANG_OSINCLUDE_WIN32" ]
@ -148,12 +166,13 @@ source_set("glslang_sources") {
"-Wno-inconsistent-missing-override", "-Wno-inconsistent-missing-override",
"-Wno-sign-compare", "-Wno-sign-compare",
"-Wno-unused-variable", "-Wno-unused-variable",
"-Wno-missing-field-initializers",
] ]
} }
if (is_win && !is_clang) { if (is_win && !is_clang) {
cflags = [ cflags = [
"/wd4018", # signed/unsigned mismatch "/wd4018", # signed/unsigned mismatch
"/wd4189", # local variable is initialized but not referenced "/wd4189", # local variable is initialized but not referenced
] ]
} }
@ -168,7 +187,9 @@ source_set("glslang_default_resource_limits_sources") {
"StandAlone/ResourceLimits.cpp", "StandAlone/ResourceLimits.cpp",
"StandAlone/ResourceLimits.h", "StandAlone/ResourceLimits.h",
] ]
deps = [ ":glslang_sources" ] deps = [
":glslang_sources",
]
public_configs = [ ":glslang_public" ] public_configs = [ ":glslang_public" ]
} }
@ -186,3 +207,13 @@ executable("glslang_validator") {
":glslang_sources", ":glslang_sources",
] ]
} }
executable("spirv-remap") {
sources = [
"StandAlone/spirv-remap.cpp",
]
defines = [ "ENABLE_OPT=1" ]
deps = [
":glslang_sources",
]
}

View File

@ -9,6 +9,9 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Adhere to GNU filesystem layout conventions # Adhere to GNU filesystem layout conventions
include(GNUInstallDirs) include(GNUInstallDirs)
# Needed for CMAKE_DEPENDENT_OPTION macro
include(CMakeDependentOption)
option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF) option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
set(LIB_TYPE STATIC) set(LIB_TYPE STATIC)
@ -23,12 +26,13 @@ if(NOT ${SKIP_GLSLANG_INSTALL})
endif() endif()
option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON) 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_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) option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
@ -60,18 +64,14 @@ project(glslang)
# make testing optional # make testing optional
include(CTest) 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) if(ENABLE_HLSL)
add_definitions(-DENABLE_HLSL) add_definitions(-DENABLE_HLSL)
endif(ENABLE_HLSL) endif(ENABLE_HLSL)
if(ENABLE_GLSLANG_WEB)
add_definitions(-DGLSLANG_WEB)
endif(ENABLE_GLSLANG_WEB)
if(WIN32) if(WIN32)
set(CMAKE_DEBUG_POSTFIX "d") set(CMAKE_DEBUG_POSTFIX "d")
if(MSVC) if(MSVC)
@ -88,12 +88,49 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs 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) -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(-Wno-reorder) # disable this from -Wall, since it happens all over.
add_compile_options(-fno-rtti)
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable) -Wunused-parameter -Wunused-value -Wunused-variable)
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over. 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() 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 # Request C++11
if(${CMAKE_VERSION} VERSION_LESS 3.1) if(${CMAKE_VERSION} VERSION_LESS 3.1)
# CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD # CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD

0
LICENSE.txt Executable file → Normal file
View File

View File

@ -155,13 +155,36 @@ changes are quite infrequent. For windows you can get binaries from
The command to rebuild is: The command to rebuild is:
```bash ```bash
m4 -P MachineIndependent/glslang.m4 > MachineIndependent/glslang.y
bison --defines=MachineIndependent/glslang_tab.cpp.h bison --defines=MachineIndependent/glslang_tab.cpp.h
-t MachineIndependent/glslang.y -t MachineIndependent/glslang.y
-o MachineIndependent/glslang_tab.cpp -o MachineIndependent/glslang_tab.cpp
``` ```
The above command is also available in the bash script at The above commands are also available in the bash script in `updateGrammar`,
`glslang/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 Testing
------- -------
@ -244,7 +267,8 @@ The `main()` in `StandAlone/StandAlone.cpp` shows examples using both styles.
### C++ Class Interface (new, preferred) ### C++ Class Interface (new, preferred)
This interface is in roughly the last 1/3 of `ShaderLang.h`. It is in the 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 ```cxx
const char* GetEsslVersionString(); const char* GetEsslVersionString();
@ -267,8 +291,17 @@ class TProgram
Reflection queries 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 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) ### C Functional Interface (orignal)

View File

@ -25,24 +25,14 @@ set(HEADERS
spvIR.h spvIR.h
doc.h doc.h
SpvTools.h SpvTools.h
disassemble.h) disassemble.h
GLSL.ext.AMD.h
GLSL.ext.NV.h)
set(SPVREMAP_HEADERS set(SPVREMAP_HEADERS
SPVRemapper.h SPVRemapper.h
doc.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}) add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
set_property(TARGET SPIRV PROPERTY FOLDER glslang) set_property(TARGET SPIRV PROPERTY FOLDER glslang)
set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)

View File

@ -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_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_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_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 #endif // #ifndef GLSLextEXT_H

View File

@ -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_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_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_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 #endif // #ifndef GLSLextKHR_H

View File

@ -75,4 +75,7 @@ const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
//SPV_NV_cooperative_matrix //SPV_NV_cooperative_matrix
const char* const E_SPV_NV_cooperative_matrix = "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 #endif // #ifndef GLSLextNV_H

File diff suppressed because it is too large Load Diff

View File

@ -32,6 +32,8 @@
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE. // POSSIBILITY OF SUCH DAMAGE.
#ifndef GLSLANG_WEB
#include "Logger.h" #include "Logger.h"
#include <algorithm> #include <algorithm>
@ -66,3 +68,5 @@ std::string SpvBuildLogger::getAllMessages() const {
} }
} // end spv namespace } // end spv namespace
#endif

View File

@ -46,6 +46,14 @@ class SpvBuildLogger {
public: public:
SpvBuildLogger() {} 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. // Registers a TBD functionality.
void tbdFunctionality(const std::string& f); void tbdFunctionality(const std::string& f);
// Registers a missing functionality. // Registers a missing functionality.
@ -59,6 +67,7 @@ public:
// Returns all messages accumulated in the order of: // Returns all messages accumulated in the order of:
// TBD functionalities, missing functionalities, warnings, errors. // TBD functionalities, missing functionalities, warnings, errors.
std::string getAllMessages() const; std::string getAllMessages() const;
#endif
private: private:
SpvBuildLogger(const SpvBuildLogger&); SpvBuildLogger(const SpvBuildLogger&);

View File

@ -195,7 +195,7 @@ private:
// Header access & set methods // Header access & set methods
spirword_t magic() const { return spv[0]; } // return magic number 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() 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() const { return spv[2]; } // generator magic
spirword_t genmagic(spirword_t m) { return spv[2] = m; } spirword_t genmagic(spirword_t m) { return spv[2] = m; }
spirword_t schemaNum() const { return spv[4]; } // schema number from header spirword_t schemaNum() const { return spv[4]; } // schema number from header

View File

@ -46,7 +46,9 @@
#include "SpvBuilder.h" #include "SpvBuilder.h"
#ifndef GLSLANG_WEB
#include "hex_float.h" #include "hex_float.h"
#endif
#ifndef _WIN32 #ifndef _WIN32
#include <cstdio> #include <cstdio>
@ -230,6 +232,11 @@ Id Builder::makePointerFromForwardPointer(StorageClass storageClass, Id forwardP
Id Builder::makeIntegerType(int width, bool hasSign) Id Builder::makeIntegerType(int width, bool hasSign)
{ {
#ifdef GLSLANG_WEB
assert(width == 32);
width = 32;
#endif
// try to find it // try to find it
Instruction* type; Instruction* type;
for (int t = 0; t < (int)groupedTypes[OpTypeInt].size(); ++t) { 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) Id Builder::makeFloatType(int width)
{ {
#ifdef GLSLANG_WEB
assert(width == 32);
width = 32;
#endif
// try to find it // try to find it
Instruction* type; Instruction* type;
for (int t = 0; t < (int)groupedTypes[OpTypeFloat].size(); ++t) { 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)); constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
module.mapInstruction(type); module.mapInstruction(type);
#ifndef GLSLANG_WEB
// deal with capabilities // deal with capabilities
switch (dim) { switch (dim) {
case DimBuffer: case DimBuffer:
@ -561,6 +574,7 @@ Id Builder::makeImageType(Id sampledType, Dim dim, bool depth, bool arrayed, boo
addCapability(CapabilityImageMSArray); addCapability(CapabilityImageMSArray);
} }
} }
#endif
return type->getResultId(); return type->getResultId();
} }
@ -586,7 +600,7 @@ Id Builder::makeSampledImageType(Id imageType)
return type->getResultId(); return type->getResultId();
} }
#ifdef NV_EXTENSIONS #ifndef GLSLANG_WEB
Id Builder::makeAccelerationStructureNVType() Id Builder::makeAccelerationStructureNVType()
{ {
Instruction *type; Instruction *type;
@ -602,6 +616,7 @@ Id Builder::makeAccelerationStructureNVType()
return type->getResultId(); return type->getResultId();
} }
#endif #endif
Id Builder::getDerefTypeId(Id resultId) const Id Builder::getDerefTypeId(Id resultId) const
{ {
Id typeId = getTypeId(resultId); Id typeId = getTypeId(resultId);
@ -939,6 +954,10 @@ Id Builder::makeFloatConstant(float f, bool specConstant)
Id Builder::makeDoubleConstant(double d, bool specConstant) Id Builder::makeDoubleConstant(double d, bool specConstant)
{ {
#ifdef GLSLANG_WEB
assert(0);
return NoResult;
#else
Op opcode = specConstant ? OpSpecConstant : OpConstant; Op opcode = specConstant ? OpSpecConstant : OpConstant;
Id typeId = makeFloatType(64); Id typeId = makeFloatType(64);
union { double db; unsigned long long ull; } u; union { double db; unsigned long long ull; } u;
@ -963,10 +982,15 @@ Id Builder::makeDoubleConstant(double d, bool specConstant)
module.mapInstruction(c); module.mapInstruction(c);
return c->getResultId(); return c->getResultId();
#endif
} }
Id Builder::makeFloat16Constant(float f16, bool specConstant) Id Builder::makeFloat16Constant(float f16, bool specConstant)
{ {
#ifdef GLSLANG_WEB
assert(0);
return NoResult;
#else
Op opcode = specConstant ? OpSpecConstant : OpConstant; Op opcode = specConstant ? OpSpecConstant : OpConstant;
Id typeId = makeFloatType(16); Id typeId = makeFloatType(16);
@ -991,25 +1015,33 @@ Id Builder::makeFloat16Constant(float f16, bool specConstant)
module.mapInstruction(c); module.mapInstruction(c);
return c->getResultId(); return c->getResultId();
#endif
} }
Id Builder::makeFpConstant(Id type, double d, bool specConstant) Id Builder::makeFpConstant(Id type, double d, bool specConstant)
{ {
assert(isFloatType(type)); #ifdef GLSLANG_WEB
const int width = 32;
assert(width == getScalarTypeWidth(type));
#else
const int width = getScalarTypeWidth(type);
#endif
switch (getScalarTypeWidth(type)) { assert(isFloatType(type));
case 16:
return makeFloat16Constant((float)d, specConstant);
case 32:
return makeFloatConstant((float)d, specConstant);
case 64:
return makeDoubleConstant(d, specConstant);
default:
break;
}
assert(false); switch (width) {
return NoResult; case 16:
return makeFloat16Constant((float)d, specConstant);
case 32:
return makeFloatConstant((float)d, specConstant);
case 64:
return makeDoubleConstant(d, specConstant);
default:
break;
}
assert(false);
return NoResult;
} }
Id Builder::findCompositeConstant(Op typeClass, Id typeId, const std::vector<Id>& comps) Id Builder::findCompositeConstant(Op typeClass, Id typeId, const std::vector<Id>& comps)
@ -1825,7 +1857,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
if (parameters.component != NoResult) if (parameters.component != NoResult)
texArgs[numArgs++] = parameters.component; texArgs[numArgs++] = parameters.component;
#ifdef NV_EXTENSIONS #ifndef GLSLANG_WEB
if (parameters.granularity != NoResult) if (parameters.granularity != NoResult)
texArgs[numArgs++] = parameters.granularity; texArgs[numArgs++] = parameters.granularity;
if (parameters.coarse != NoResult) if (parameters.coarse != NoResult)
@ -1872,6 +1904,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetsMask); mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetsMask);
texArgs[numArgs++] = parameters.offsets; texArgs[numArgs++] = parameters.offsets;
} }
#ifndef GLSLANG_WEB
if (parameters.sample) { if (parameters.sample) {
mask = (ImageOperandsMask)(mask | ImageOperandsSampleMask); mask = (ImageOperandsMask)(mask | ImageOperandsSampleMask);
texArgs[numArgs++] = parameters.sample; texArgs[numArgs++] = parameters.sample;
@ -1889,6 +1922,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
if (parameters.volatil) { if (parameters.volatil) {
mask = mask | ImageOperandsVolatileTexelKHRMask; mask = mask | ImageOperandsVolatileTexelKHRMask;
} }
#endif
mask = mask | signExtensionMask; mask = mask | signExtensionMask;
if (mask == ImageOperandsMaskNone) if (mask == ImageOperandsMaskNone)
--numArgs; // undo speculative reservation for the mask argument --numArgs; // undo speculative reservation for the mask argument
@ -1904,10 +1938,9 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
opCode = OpImageSparseFetch; opCode = OpImageSparseFetch;
else else
opCode = OpImageFetch; opCode = OpImageFetch;
#ifdef NV_EXTENSIONS #ifndef GLSLANG_WEB
} else if (parameters.granularity && parameters.coarse) { } else if (parameters.granularity && parameters.coarse) {
opCode = OpImageSampleFootprintNV; opCode = OpImageSampleFootprintNV;
#endif
} else if (gather) { } else if (gather) {
if (parameters.Dref) if (parameters.Dref)
if (sparse) if (sparse)
@ -1919,6 +1952,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
opCode = OpImageSparseGather; opCode = OpImageSparseGather;
else else
opCode = OpImageGather; opCode = OpImageGather;
#endif
} else if (explicitLod) { } else if (explicitLod) {
if (parameters.Dref) { if (parameters.Dref) {
if (proj) if (proj)
@ -2067,11 +2101,7 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter
break; break;
} }
case OpImageQueryLod: case OpImageQueryLod:
#ifdef AMD_EXTENSIONS
resultType = makeVectorType(getScalarTypeId(getTypeId(parameters.coords)), 2); resultType = makeVectorType(getScalarTypeId(getTypeId(parameters.coords)), 2);
#else
resultType = makeVectorType(makeFloatType(32), 2);
#endif
break; break;
case OpImageQueryLevels: case OpImageQueryLevels:
case OpImageQuerySamples: case OpImageQuerySamples:
@ -2089,6 +2119,7 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter
if (parameters.lod) if (parameters.lod)
query->addIdOperand(parameters.lod); query->addIdOperand(parameters.lod);
buildPoint->addInstruction(std::unique_ptr<Instruction>(query)); buildPoint->addInstruction(std::unique_ptr<Instruction>(query));
addCapability(CapabilityImageQuery);
return query->getResultId(); return query->getResultId();
} }
@ -2282,7 +2313,12 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector<Id>&
int numRows = getTypeNumRows(resultTypeId); int numRows = getTypeNumRows(resultTypeId);
Instruction* instr = module.getInstruction(componentTypeId); 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 // Optimize matrix constructed from a bigger matrix
if (isMatrix(sources[0]) && getNumColumns(sources[0]) >= numCols && getNumRows(sources[0]) >= numRows) { if (isMatrix(sources[0]) && getNumColumns(sources[0]) >= numCols && getNumRows(sources[0]) >= numRows) {

View File

@ -201,7 +201,11 @@ public:
bool isMatrixType(Id typeId) const { return getTypeClass(typeId) == OpTypeMatrix; } bool isMatrixType(Id typeId) const { return getTypeClass(typeId) == OpTypeMatrix; }
bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; } bool isStructType(Id typeId) const { return getTypeClass(typeId) == OpTypeStruct; }
bool isArrayType(Id typeId) const { return getTypeClass(typeId) == OpTypeArray; } 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; } bool isCooperativeMatrixType(Id typeId)const { return getTypeClass(typeId) == OpTypeCooperativeMatrixNV; }
#endif
bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId) || isCooperativeMatrixType(typeId); } bool isAggregateType(Id typeId) const { return isArrayType(typeId) || isStructType(typeId) || isCooperativeMatrixType(typeId); }
bool isImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeImage; } bool isImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeImage; }
bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; } 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. // Accumulate whether anything in the chain of structures has coherent decorations.
struct CoherentFlags { 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 coherent : 1;
unsigned devicecoherent : 1; unsigned devicecoherent : 1;
unsigned queuefamilycoherent : 1; unsigned queuefamilycoherent : 1;
@ -577,7 +589,6 @@ public:
isImage = 0; isImage = 0;
} }
CoherentFlags() { clear(); }
CoherentFlags operator |=(const CoherentFlags &other) { CoherentFlags operator |=(const CoherentFlags &other) {
coherent |= other.coherent; coherent |= other.coherent;
devicecoherent |= other.devicecoherent; devicecoherent |= other.devicecoherent;
@ -589,6 +600,7 @@ public:
isImage |= other.isImage; isImage |= other.isImage;
return *this; return *this;
} }
#endif
}; };
CoherentFlags coherentFlags; CoherentFlags coherentFlags;
}; };

View File

@ -51,12 +51,8 @@ namespace spv {
#include "GLSL.std.450.h" #include "GLSL.std.450.h"
#include "GLSL.ext.KHR.h" #include "GLSL.ext.KHR.h"
#include "GLSL.ext.EXT.h" #include "GLSL.ext.EXT.h"
#ifdef AMD_EXTENSIONS
#include "GLSL.ext.AMD.h" #include "GLSL.ext.AMD.h"
#endif
#ifdef NV_EXTENSIONS
#include "GLSL.ext.NV.h" #include "GLSL.ext.NV.h"
#endif
} }
namespace spv { namespace spv {
@ -160,7 +156,6 @@ void Builder::postProcessType(const Instruction& inst, Id typeId)
} }
break; break;
case OpExtInst: case OpExtInst:
#if AMD_EXTENSIONS
switch (inst.getImmediateOperand(1)) { switch (inst.getImmediateOperand(1)) {
case GLSLstd450Frexp: case GLSLstd450Frexp:
case GLSLstd450FrexpStruct: case GLSLstd450FrexpStruct:
@ -176,7 +171,6 @@ void Builder::postProcessType(const Instruction& inst, Id typeId)
default: default:
break; break;
} }
#endif
break; break;
default: default:
if (basicTypeOp == OpTypeFloat && width == 16) if (basicTypeOp == OpTypeFloat && width == 16)
@ -222,12 +216,10 @@ void Builder::postProcess(Instruction& inst)
addCapability(CapabilityImageQuery); addCapability(CapabilityImageQuery);
break; break;
#ifdef NV_EXTENSIONS
case OpGroupNonUniformPartitionNV: case OpGroupNonUniformPartitionNV:
addExtension(E_SPV_NV_shader_subgroup_partitioned); addExtension(E_SPV_NV_shader_subgroup_partitioned);
addCapability(CapabilityGroupNonUniformPartitionedNV); addCapability(CapabilityGroupNonUniformPartitionedNV);
break; break;
#endif
case OpLoad: case OpLoad:
case OpStore: case OpStore:

View File

@ -103,7 +103,7 @@ void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& s
// Apply the SPIRV-Tools validator to generated SPIR-V. // Apply the SPIRV-Tools validator to generated SPIR-V.
void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv, void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
spv::SpvBuildLogger* logger) spv::SpvBuildLogger* logger, bool prelegalization)
{ {
// validate // validate
spv_context context = spvContextCreate(MapToSpirvToolsEnv(intermediate.getSpv(), logger)); 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_diagnostic diagnostic = nullptr;
spv_validator_options options = spvValidatorOptionsCreate(); spv_validator_options options = spvValidatorOptionsCreate();
spvValidatorOptionsSetRelaxBlockLayout(options, intermediate.usingHlslOffsets()); spvValidatorOptionsSetRelaxBlockLayout(options, intermediate.usingHlslOffsets());
spvValidatorOptionsSetBeforeHlslLegalization(options, prelegalization);
spvValidateWithOptions(context, options, &binary, &diagnostic); spvValidateWithOptions(context, options, &binary, &diagnostic);
// report // report

View File

@ -41,8 +41,10 @@
#ifndef GLSLANG_SPV_TOOLS_H #ifndef GLSLANG_SPV_TOOLS_H
#define GLSLANG_SPV_TOOLS_H #define GLSLANG_SPV_TOOLS_H
#ifdef ENABLE_OPT
#include <vector> #include <vector>
#include <ostream> #include <ostream>
#endif
#include "../glslang/MachineIndependent/localintermediate.h" #include "../glslang/MachineIndependent/localintermediate.h"
#include "Logger.h" #include "Logger.h"
@ -59,14 +61,14 @@ struct SpvOptions {
bool validate; bool validate;
}; };
#if ENABLE_OPT #ifdef ENABLE_OPT
// Use the SPIRV-Tools disassembler to print SPIR-V. // Use the SPIRV-Tools disassembler to print SPIR-V.
void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv); void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv);
// Apply the SPIRV-Tools validator to generated SPIR-V. // Apply the SPIRV-Tools validator to generated SPIR-V.
void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv, 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 // Apply the SPIRV-Tools optimizer to generated SPIR-V, for the purpose of
// legalizing HLSL SPIR-V. // legalizing HLSL SPIR-V.

View File

@ -52,26 +52,16 @@ namespace spv {
extern "C" { extern "C" {
// Include C-based headers that don't have a namespace // Include C-based headers that don't have a namespace
#include "GLSL.std.450.h" #include "GLSL.std.450.h"
#ifdef AMD_EXTENSIONS
#include "GLSL.ext.AMD.h" #include "GLSL.ext.AMD.h"
#endif
#ifdef NV_EXTENSIONS
#include "GLSL.ext.NV.h" #include "GLSL.ext.NV.h"
#endif
} }
} }
const char* GlslStd450DebugNames[spv::GLSLstd450Count]; const char* GlslStd450DebugNames[spv::GLSLstd450Count];
namespace spv { namespace spv {
#ifdef AMD_EXTENSIONS
static const char* GLSLextAMDGetDebugNames(const char*, unsigned); static const char* GLSLextAMDGetDebugNames(const char*, unsigned);
#endif
#ifdef NV_EXTENSIONS
static const char* GLSLextNVGetDebugNames(const char*, unsigned); static const char* GLSLextNVGetDebugNames(const char*, unsigned);
#endif
static void Kill(std::ostream& out, const char* message) 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 // used to identify the extended instruction library imported when printing
enum ExtInstSet { enum ExtInstSet {
GLSL450Inst, GLSL450Inst,
#ifdef AMD_EXTENSIONS
GLSLextAMDInst, GLSLextAMDInst,
#endif
#ifdef NV_EXTENSIONS
GLSLextNVInst, GLSLextNVInst,
#endif
OpenCLExtInst, OpenCLExtInst,
}; };
@ -499,37 +482,29 @@ void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode,
const char* name = idDescriptor[stream[word - 2]].c_str(); const char* name = idDescriptor[stream[word - 2]].c_str();
if (0 == memcmp("OpenCL", name, 6)) { if (0 == memcmp("OpenCL", name, 6)) {
extInstSet = OpenCLExtInst; extInstSet = OpenCLExtInst;
#ifdef AMD_EXTENSIONS
} else if (strcmp(spv::E_SPV_AMD_shader_ballot, name) == 0 || } 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_trinary_minmax, name) == 0 ||
strcmp(spv::E_SPV_AMD_shader_explicit_vertex_parameter, name) == 0 || strcmp(spv::E_SPV_AMD_shader_explicit_vertex_parameter, name) == 0 ||
strcmp(spv::E_SPV_AMD_gcn_shader, name) == 0) { strcmp(spv::E_SPV_AMD_gcn_shader, name) == 0) {
extInstSet = GLSLextAMDInst; extInstSet = GLSLextAMDInst;
#endif } else if (strcmp(spv::E_SPV_NV_sample_mask_override_coverage, name) == 0 ||
#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_geometry_shader_passthrough, name) == 0 ||
strcmp(spv::E_SPV_NV_viewport_array2, name) == 0 || strcmp(spv::E_SPV_NV_viewport_array2, name) == 0 ||
strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0 || strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0 ||
strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 || strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 ||
strcmp(spv::E_SPV_NV_mesh_shader, name) == 0) { strcmp(spv::E_SPV_NV_mesh_shader, name) == 0) {
extInstSet = GLSLextNVInst; extInstSet = GLSLextNVInst;
#endif
} }
unsigned entrypoint = stream[word - 1]; unsigned entrypoint = stream[word - 1];
if (extInstSet == GLSL450Inst) { if (extInstSet == GLSL450Inst) {
if (entrypoint < GLSLstd450Count) { if (entrypoint < GLSLstd450Count) {
out << "(" << GlslStd450DebugNames[entrypoint] << ")"; out << "(" << GlslStd450DebugNames[entrypoint] << ")";
} }
#ifdef AMD_EXTENSIONS
} else if (extInstSet == GLSLextAMDInst) { } else if (extInstSet == GLSLextAMDInst) {
out << "(" << GLSLextAMDGetDebugNames(name, entrypoint) << ")"; out << "(" << GLSLextAMDGetDebugNames(name, entrypoint) << ")";
#endif
#ifdef NV_EXTENSIONS
} }
else if (extInstSet == GLSLextNVInst) { else if (extInstSet == GLSLextNVInst) {
out << "(" << GLSLextNVGetDebugNames(name, entrypoint) << ")"; out << "(" << GLSLextNVGetDebugNames(name, entrypoint) << ")";
#endif
} }
} }
break; break;
@ -648,9 +623,11 @@ static void GLSLstd450GetDebugNames(const char** names)
names[GLSLstd450InterpolateAtCentroid] = "InterpolateAtCentroid"; names[GLSLstd450InterpolateAtCentroid] = "InterpolateAtCentroid";
names[GLSLstd450InterpolateAtSample] = "InterpolateAtSample"; names[GLSLstd450InterpolateAtSample] = "InterpolateAtSample";
names[GLSLstd450InterpolateAtOffset] = "InterpolateAtOffset"; names[GLSLstd450InterpolateAtOffset] = "InterpolateAtOffset";
names[GLSLstd450NMin] = "NMin";
names[GLSLstd450NMax] = "NMax";
names[GLSLstd450NClamp] = "NClamp";
} }
#ifdef AMD_EXTENSIONS
static const char* GLSLextAMDGetDebugNames(const char* name, unsigned entrypoint) static const char* GLSLextAMDGetDebugNames(const char* name, unsigned entrypoint)
{ {
if (strcmp(name, spv::E_SPV_AMD_shader_ballot) == 0) { 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"; return "Bad";
} }
#endif
#ifdef NV_EXTENSIONS
static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint) static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
{ {
if (strcmp(name, spv::E_SPV_NV_sample_mask_override_coverage) == 0 || 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 CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV"; case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV"; case CapabilityImageFootprintNV: return "ImageFootprintNV";
case CapabilitySampleMaskOverrideCoverageNV:return "SampleMaskOverrideCoverageNV";
// NV Decorations // NV Decorations
case DecorationOverrideCoverageNV: return "OverrideCoverageNV"; case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
@ -747,7 +723,6 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
} }
return "Bad"; return "Bad";
} }
#endif
void Disassemble(std::ostream& out, const std::vector<unsigned int>& stream) void Disassemble(std::ostream& out, const std::vector<unsigned int>& stream)
{ {

View File

@ -50,12 +50,8 @@ namespace spv {
// Include C-based headers that don't have a namespace // Include C-based headers that don't have a namespace
#include "GLSL.ext.KHR.h" #include "GLSL.ext.KHR.h"
#include "GLSL.ext.EXT.h" #include "GLSL.ext.EXT.h"
#ifdef AMD_EXTENSIONS
#include "GLSL.ext.AMD.h" #include "GLSL.ext.AMD.h"
#endif
#ifdef NV_EXTENSIONS
#include "GLSL.ext.NV.h" #include "GLSL.ext.NV.h"
#endif
} }
} }
@ -98,22 +94,17 @@ const char* ExecutionModelString(int model)
case 4: return "Fragment"; case 4: return "Fragment";
case 5: return "GLCompute"; case 5: return "GLCompute";
case 6: return "Kernel"; case 6: return "Kernel";
#ifdef NV_EXTENSIONS
case ExecutionModelTaskNV: return "TaskNV"; case ExecutionModelTaskNV: return "TaskNV";
case ExecutionModelMeshNV: return "MeshNV"; case ExecutionModelMeshNV: return "MeshNV";
#endif
default: return "Bad"; default: return "Bad";
#ifdef NV_EXTENSIONS
case ExecutionModelRayGenerationNV: return "RayGenerationNV"; case ExecutionModelRayGenerationNV: return "RayGenerationNV";
case ExecutionModelIntersectionNV: return "IntersectionNV"; case ExecutionModelIntersectionNV: return "IntersectionNV";
case ExecutionModelAnyHitNV: return "AnyHitNV"; case ExecutionModelAnyHitNV: return "AnyHitNV";
case ExecutionModelClosestHitNV: return "ClosestHitNV"; case ExecutionModelClosestHitNV: return "ClosestHitNV";
case ExecutionModelMissNV: return "MissNV"; case ExecutionModelMissNV: return "MissNV";
case ExecutionModelCallableNV: return "CallableNV"; case ExecutionModelCallableNV: return "CallableNV";
#endif
} }
} }
@ -183,13 +174,11 @@ const char* ExecutionModeString(int mode)
case 4446: return "PostDepthCoverage"; case 4446: return "PostDepthCoverage";
#ifdef NV_EXTENSIONS
case ExecutionModeOutputLinesNV: return "OutputLinesNV"; case ExecutionModeOutputLinesNV: return "OutputLinesNV";
case ExecutionModeOutputPrimitivesNV: return "OutputPrimitivesNV"; case ExecutionModeOutputPrimitivesNV: return "OutputPrimitivesNV";
case ExecutionModeOutputTrianglesNV: return "OutputTrianglesNV"; case ExecutionModeOutputTrianglesNV: return "OutputTrianglesNV";
case ExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV"; case ExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV";
case ExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV"; case ExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV";
#endif
case ExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT"; case ExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
case ExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT"; case ExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
@ -220,14 +209,12 @@ const char* StorageClassString(int StorageClass)
case 11: return "Image"; case 11: return "Image";
case 12: return "StorageBuffer"; case 12: return "StorageBuffer";
#ifdef NV_EXTENSIONS
case StorageClassRayPayloadNV: return "RayPayloadNV"; case StorageClassRayPayloadNV: return "RayPayloadNV";
case StorageClassHitAttributeNV: return "HitAttributeNV"; case StorageClassHitAttributeNV: return "HitAttributeNV";
case StorageClassIncomingRayPayloadNV: return "IncomingRayPayloadNV"; case StorageClassIncomingRayPayloadNV: return "IncomingRayPayloadNV";
case StorageClassShaderRecordBufferNV: return "ShaderRecordBufferNV"; case StorageClassShaderRecordBufferNV: return "ShaderRecordBufferNV";
case StorageClassCallableDataNV: return "CallableDataNV"; case StorageClassCallableDataNV: return "CallableDataNV";
case StorageClassIncomingCallableDataNV: return "IncomingCallableDataNV"; case StorageClassIncomingCallableDataNV: return "IncomingCallableDataNV";
#endif
case StorageClassPhysicalStorageBufferEXT: return "PhysicalStorageBufferEXT"; case StorageClassPhysicalStorageBufferEXT: return "PhysicalStorageBufferEXT";
@ -289,10 +276,7 @@ const char* DecorationString(int decoration)
case DecorationCeiling: case DecorationCeiling:
default: return "Bad"; default: return "Bad";
#ifdef AMD_EXTENSIONS
case DecorationExplicitInterpAMD: return "ExplicitInterpAMD"; case DecorationExplicitInterpAMD: return "ExplicitInterpAMD";
#endif
#ifdef NV_EXTENSIONS
case DecorationOverrideCoverageNV: return "OverrideCoverageNV"; case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
case DecorationPassthroughNV: return "PassthroughNV"; case DecorationPassthroughNV: return "PassthroughNV";
case DecorationViewportRelativeNV: return "ViewportRelativeNV"; case DecorationViewportRelativeNV: return "ViewportRelativeNV";
@ -301,7 +285,6 @@ const char* DecorationString(int decoration)
case DecorationPerViewNV: return "PerViewNV"; case DecorationPerViewNV: return "PerViewNV";
case DecorationPerTaskNV: return "PerTaskNV"; case DecorationPerTaskNV: return "PerTaskNV";
case DecorationPerVertexNV: return "PerVertexNV"; case DecorationPerVertexNV: return "PerVertexNV";
#endif
case DecorationNonUniformEXT: return "DecorationNonUniformEXT"; case DecorationNonUniformEXT: return "DecorationNonUniformEXT";
case DecorationHlslCounterBufferGOOGLE: return "DecorationHlslCounterBufferGOOGLE"; case DecorationHlslCounterBufferGOOGLE: return "DecorationHlslCounterBufferGOOGLE";
@ -371,7 +354,6 @@ const char* BuiltInString(int builtIn)
case 4426: return "DrawIndex"; case 4426: return "DrawIndex";
case 5014: return "FragStencilRefEXT"; case 5014: return "FragStencilRefEXT";
#ifdef AMD_EXTENSIONS
case 4992: return "BaryCoordNoPerspAMD"; case 4992: return "BaryCoordNoPerspAMD";
case 4993: return "BaryCoordNoPerspCentroidAMD"; case 4993: return "BaryCoordNoPerspCentroidAMD";
case 4994: return "BaryCoordNoPerspSampleAMD"; case 4994: return "BaryCoordNoPerspSampleAMD";
@ -379,9 +361,6 @@ const char* BuiltInString(int builtIn)
case 4996: return "BaryCoordSmoothCentroidAMD"; case 4996: return "BaryCoordSmoothCentroidAMD";
case 4997: return "BaryCoordSmoothSampleAMD"; case 4997: return "BaryCoordSmoothSampleAMD";
case 4998: return "BaryCoordPullModelAMD"; case 4998: return "BaryCoordPullModelAMD";
#endif
#ifdef NV_EXTENSIONS
case BuiltInLaunchIdNV: return "LaunchIdNV"; case BuiltInLaunchIdNV: return "LaunchIdNV";
case BuiltInLaunchSizeNV: return "LaunchSizeNV"; case BuiltInLaunchSizeNV: return "LaunchSizeNV";
case BuiltInWorldRayOriginNV: return "WorldRayOriginNV"; case BuiltInWorldRayOriginNV: return "WorldRayOriginNV";
@ -405,15 +384,12 @@ const char* BuiltInString(int builtIn)
// case BuiltInInvocationsPerPixelNV: return "InvocationsPerPixelNV"; // superseded by BuiltInFragInvocationCountEXT // case BuiltInInvocationsPerPixelNV: return "InvocationsPerPixelNV"; // superseded by BuiltInFragInvocationCountEXT
case BuiltInBaryCoordNV: return "BaryCoordNV"; case BuiltInBaryCoordNV: return "BaryCoordNV";
case BuiltInBaryCoordNoPerspNV: return "BaryCoordNoPerspNV"; case BuiltInBaryCoordNoPerspNV: return "BaryCoordNoPerspNV";
#endif
case BuiltInFragSizeEXT: return "FragSizeEXT"; case BuiltInFragSizeEXT: return "FragSizeEXT";
case BuiltInFragInvocationCountEXT: return "FragInvocationCountEXT"; case BuiltInFragInvocationCountEXT: return "FragInvocationCountEXT";
case 5264: return "FullyCoveredEXT"; case 5264: return "FullyCoveredEXT";
#ifdef NV_EXTENSIONS
case BuiltInTaskCountNV: return "TaskCountNV"; case BuiltInTaskCountNV: return "TaskCountNV";
case BuiltInPrimitiveCountNV: return "PrimitiveCountNV"; case BuiltInPrimitiveCountNV: return "PrimitiveCountNV";
case BuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV"; case BuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV";
@ -422,7 +398,10 @@ const char* BuiltInString(int builtIn)
case BuiltInLayerPerViewNV: return "LayerPerViewNV"; case BuiltInLayerPerViewNV: return "LayerPerViewNV";
case BuiltInMeshViewCountNV: return "MeshViewCountNV"; case BuiltInMeshViewCountNV: return "MeshViewCountNV";
case BuiltInMeshViewIndicesNV: return "MeshViewIndicesNV"; case BuiltInMeshViewIndicesNV: return "MeshViewIndicesNV";
#endif case BuiltInWarpsPerSMNV: return "WarpsPerSMNV";
case BuiltInSMCountNV: return "SMCountNV";
case BuiltInWarpIDNV: return "WarpIDNV";
case BuiltInSMIDNV: return "SMIDNV";
default: return "Bad"; default: return "Bad";
} }
@ -777,11 +756,9 @@ const char* GroupOperationString(int gop)
case GroupOperationInclusiveScan: return "InclusiveScan"; case GroupOperationInclusiveScan: return "InclusiveScan";
case GroupOperationExclusiveScan: return "ExclusiveScan"; case GroupOperationExclusiveScan: return "ExclusiveScan";
case GroupOperationClusteredReduce: return "ClusteredReduce"; case GroupOperationClusteredReduce: return "ClusteredReduce";
#ifdef NV_EXTENSIONS
case GroupOperationPartitionedReduceNV: return "PartitionedReduceNV"; case GroupOperationPartitionedReduceNV: return "PartitionedReduceNV";
case GroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV"; case GroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV";
case GroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV"; case GroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV";
#endif
default: return "Bad"; default: return "Bad";
} }
@ -898,17 +875,14 @@ const char* CapabilityString(int info)
case CapabilityStencilExportEXT: return "StencilExportEXT"; case CapabilityStencilExportEXT: return "StencilExportEXT";
#ifdef AMD_EXTENSIONS
case CapabilityFloat16ImageAMD: return "Float16ImageAMD"; case CapabilityFloat16ImageAMD: return "Float16ImageAMD";
case CapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD"; case CapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
case CapabilityFragmentMaskAMD: return "FragmentMaskAMD"; case CapabilityFragmentMaskAMD: return "FragmentMaskAMD";
case CapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD"; case CapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD";
#endif
case CapabilityAtomicStorageOps: return "AtomicStorageOps"; case CapabilityAtomicStorageOps: return "AtomicStorageOps";
case CapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage"; case CapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage";
#ifdef NV_EXTENSIONS
case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV"; case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
case CapabilityShaderViewportIndexLayerNV: return "ShaderViewportIndexLayerNV"; case CapabilityShaderViewportIndexLayerNV: return "ShaderViewportIndexLayerNV";
case CapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV"; case CapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV";
@ -922,7 +896,7 @@ const char* CapabilityString(int info)
case CapabilityMeshShadingNV: return "MeshShadingNV"; case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV"; case CapabilityImageFootprintNV: return "ImageFootprintNV";
// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT // case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT
#endif case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
case CapabilityFragmentDensityEXT: return "FragmentDensityEXT"; case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";
case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT"; case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
@ -948,11 +922,15 @@ const char* CapabilityString(int info)
case CapabilityVariablePointers: return "VariablePointers"; case CapabilityVariablePointers: return "VariablePointers";
case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV"; case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
case CapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV";
case CapabilityFragmentShaderSampleInterlockEXT: return "CapabilityFragmentShaderSampleInterlockEXT"; case CapabilityFragmentShaderSampleInterlockEXT: return "CapabilityFragmentShaderSampleInterlockEXT";
case CapabilityFragmentShaderPixelInterlockEXT: return "CapabilityFragmentShaderPixelInterlockEXT"; case CapabilityFragmentShaderPixelInterlockEXT: return "CapabilityFragmentShaderPixelInterlockEXT";
case CapabilityFragmentShaderShadingRateInterlockEXT: return "CapabilityFragmentShaderShadingRateInterlockEXT"; case CapabilityFragmentShaderShadingRateInterlockEXT: return "CapabilityFragmentShaderShadingRateInterlockEXT";
case CapabilityDemoteToHelperInvocationEXT: return "DemoteToHelperInvocationEXT";
case CapabilityShaderClockKHR: return "ShaderClockKHR";
default: return "Bad"; default: return "Bad";
} }
} }
@ -1328,7 +1306,6 @@ const char* OpcodeString(int op)
case 4430: return "OpSubgroupAllEqualKHR"; case 4430: return "OpSubgroupAllEqualKHR";
case 4432: return "OpSubgroupReadInvocationKHR"; case 4432: return "OpSubgroupReadInvocationKHR";
#ifdef AMD_EXTENSIONS
case 5000: return "OpGroupIAddNonUniformAMD"; case 5000: return "OpGroupIAddNonUniformAMD";
case 5001: return "OpGroupFAddNonUniformAMD"; case 5001: return "OpGroupFAddNonUniformAMD";
case 5002: return "OpGroupFMinNonUniformAMD"; case 5002: return "OpGroupFMinNonUniformAMD";
@ -1340,12 +1317,12 @@ const char* OpcodeString(int op)
case 5011: return "OpFragmentMaskFetchAMD"; case 5011: return "OpFragmentMaskFetchAMD";
case 5012: return "OpFragmentFetchAMD"; case 5012: return "OpFragmentFetchAMD";
#endif
case OpReadClockKHR: return "OpReadClockKHR";
case OpDecorateStringGOOGLE: return "OpDecorateStringGOOGLE"; case OpDecorateStringGOOGLE: return "OpDecorateStringGOOGLE";
case OpMemberDecorateStringGOOGLE: return "OpMemberDecorateStringGOOGLE"; case OpMemberDecorateStringGOOGLE: return "OpMemberDecorateStringGOOGLE";
#ifdef NV_EXTENSIONS
case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV"; case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
case OpReportIntersectionNV: return "OpReportIntersectionNV"; case OpReportIntersectionNV: return "OpReportIntersectionNV";
case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV"; case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
@ -1355,13 +1332,14 @@ const char* OpcodeString(int op)
case OpExecuteCallableNV: return "OpExecuteCallableNV"; case OpExecuteCallableNV: return "OpExecuteCallableNV";
case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV"; case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV"; case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
#endif
case OpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV"; case OpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV";
case OpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV"; case OpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV";
case OpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV"; case OpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV";
case OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV"; case OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
case OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV"; case OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
case OpDemoteToHelperInvocationEXT: return "OpDemoteToHelperInvocationEXT";
case OpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT"; case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT"; case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
@ -2673,7 +2651,6 @@ void Parameterize()
InstructionDesc[OpModuleProcessed].operands.push(OperandLiteralString, "'process'"); InstructionDesc[OpModuleProcessed].operands.push(OperandLiteralString, "'process'");
#ifdef AMD_EXTENSIONS
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandScope, "'Execution'"); InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandScope, "'Execution'");
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'"); InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandId, "'X'"); InstructionDesc[OpGroupIAddNonUniformAMD].operands.push(OperandId, "'X'");
@ -2712,9 +2689,7 @@ void Parameterize()
InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Image'"); InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Image'");
InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Coordinate'"); InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Coordinate'");
InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Fragment Index'"); InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Fragment Index'");
#endif
#ifdef NV_EXTENSIONS
InstructionDesc[OpGroupNonUniformPartitionNV].operands.push(OperandId, "X"); InstructionDesc[OpGroupNonUniformPartitionNV].operands.push(OperandId, "X");
InstructionDesc[OpTypeAccelerationStructureNV].setResultAndType(true, false); InstructionDesc[OpTypeAccelerationStructureNV].setResultAndType(true, false);
@ -2752,7 +2727,6 @@ void Parameterize()
InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Index Offset'"); InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Index Offset'");
InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Packed Indices'"); InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Packed Indices'");
#endif
InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Component Type'"); InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Component Type'");
InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Scope'"); InstructionDesc[OpTypeCooperativeMatrixNV].operands.push(OperandId, "'Scope'");
@ -2779,6 +2753,10 @@ void Parameterize()
InstructionDesc[OpCooperativeMatrixMulAddNV].operands.push(OperandId, "'C'"); InstructionDesc[OpCooperativeMatrixMulAddNV].operands.push(OperandId, "'C'");
InstructionDesc[OpCooperativeMatrixLengthNV].operands.push(OperandId, "'Type'"); InstructionDesc[OpCooperativeMatrixLengthNV].operands.push(OperandId, "'Type'");
InstructionDesc[OpDemoteToHelperInvocationEXT].setResultAndType(false, false);
InstructionDesc[OpReadClockKHR].operands.push(OperandScope, "'Scope'");
} }
}; // end spv namespace }; // end spv namespace

View File

@ -455,6 +455,7 @@ enum Decoration {
DecorationHlslCounterBufferGOOGLE = 5634, DecorationHlslCounterBufferGOOGLE = 5634,
DecorationHlslSemanticGOOGLE = 5635, DecorationHlslSemanticGOOGLE = 5635,
DecorationUserSemantic = 5635, DecorationUserSemantic = 5635,
DecorationUserTypeGOOGLE = 5636,
DecorationMax = 0x7fffffff, DecorationMax = 0x7fffffff,
}; };
@ -632,6 +633,7 @@ enum MemorySemanticsShift {
MemorySemanticsOutputMemoryKHRShift = 12, MemorySemanticsOutputMemoryKHRShift = 12,
MemorySemanticsMakeAvailableKHRShift = 13, MemorySemanticsMakeAvailableKHRShift = 13,
MemorySemanticsMakeVisibleKHRShift = 14, MemorySemanticsMakeVisibleKHRShift = 14,
MemorySemanticsVolatileShift = 15,
MemorySemanticsMax = 0x7fffffff, MemorySemanticsMax = 0x7fffffff,
}; };
@ -650,6 +652,7 @@ enum MemorySemanticsMask {
MemorySemanticsOutputMemoryKHRMask = 0x00001000, MemorySemanticsOutputMemoryKHRMask = 0x00001000,
MemorySemanticsMakeAvailableKHRMask = 0x00002000, MemorySemanticsMakeAvailableKHRMask = 0x00002000,
MemorySemanticsMakeVisibleKHRMask = 0x00004000, MemorySemanticsMakeVisibleKHRMask = 0x00004000,
MemorySemanticsVolatileMask = 0x00008000,
}; };
enum MemoryAccessShift { enum MemoryAccessShift {
@ -806,6 +809,7 @@ enum Capability {
CapabilityFragmentMaskAMD = 5010, CapabilityFragmentMaskAMD = 5010,
CapabilityStencilExportEXT = 5013, CapabilityStencilExportEXT = 5013,
CapabilityImageReadWriteLodAMD = 5015, CapabilityImageReadWriteLodAMD = 5015,
CapabilityShaderClockKHR = 5055,
CapabilitySampleMaskOverrideCoverageNV = 5249, CapabilitySampleMaskOverrideCoverageNV = 5249,
CapabilityGeometryShaderPassthroughNV = 5251, CapabilityGeometryShaderPassthroughNV = 5251,
CapabilityShaderViewportIndexLayerEXT = 5254, CapabilityShaderViewportIndexLayerEXT = 5254,
@ -843,6 +847,7 @@ enum Capability {
CapabilityFragmentShaderShadingRateInterlockEXT = 5372, CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
CapabilityShaderSMBuiltinsNV = 5373, CapabilityShaderSMBuiltinsNV = 5373,
CapabilityFragmentShaderPixelInterlockEXT = 5378, CapabilityFragmentShaderPixelInterlockEXT = 5378,
CapabilityDemoteToHelperInvocationEXT = 5379,
CapabilitySubgroupShuffleINTEL = 5568, CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569, CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570, CapabilitySubgroupImageBlockIOINTEL = 5570,
@ -1215,6 +1220,7 @@ enum Op {
OpGroupSMaxNonUniformAMD = 5007, OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011, OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012, OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
OpImageSampleFootprintNV = 5283, OpImageSampleFootprintNV = 5283,
OpGroupNonUniformPartitionNV = 5296, OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299, OpWritePackedPrimitiveIndices4x8NV = 5299,
@ -1231,6 +1237,8 @@ enum Op {
OpCooperativeMatrixLengthNV = 5362, OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364, OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365, OpEndInvocationInterlockEXT = 5365,
OpDemoteToHelperInvocationEXT = 5380,
OpIsHelperInvocationEXT = 5381,
OpSubgroupShuffleINTEL = 5571, OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572, OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573, OpSubgroupShuffleUpINTEL = 5573,
@ -1745,6 +1753,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break; case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case OpFragmentFetchAMD: *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 OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break; case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; 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 OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break; case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
case OpCooperativeMatrixLengthNV: *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 OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break; case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupShuffleUpINTEL: *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 OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break; case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAvcSicGetInterRawSadsINTEL: *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 */ #endif /* SPV_ENABLE_UTILITY_CODE */

View File

@ -436,6 +436,6 @@ __inline void Block::addInstruction(std::unique_ptr<Instruction> inst)
parent.getParent().mapInstruction(raw_instruction); parent.getParent().mapInstruction(raw_instruction);
} }
}; // end spv namespace } // end spv namespace
#endif // spvIR_H #endif // spvIR_H

View File

@ -234,7 +234,6 @@ std::string GetDefaultTBuiltInResourceString()
<< "MaxCullDistances " << DefaultTBuiltInResource.maxCullDistances << "\n" << "MaxCullDistances " << DefaultTBuiltInResource.maxCullDistances << "\n"
<< "MaxCombinedClipAndCullDistances " << DefaultTBuiltInResource.maxCombinedClipAndCullDistances << "\n" << "MaxCombinedClipAndCullDistances " << DefaultTBuiltInResource.maxCombinedClipAndCullDistances << "\n"
<< "MaxSamples " << DefaultTBuiltInResource.maxSamples << "\n" << "MaxSamples " << DefaultTBuiltInResource.maxSamples << "\n"
#ifdef NV_EXTENSIONS
<< "MaxMeshOutputVerticesNV " << DefaultTBuiltInResource.maxMeshOutputVerticesNV << "\n" << "MaxMeshOutputVerticesNV " << DefaultTBuiltInResource.maxMeshOutputVerticesNV << "\n"
<< "MaxMeshOutputPrimitivesNV " << DefaultTBuiltInResource.maxMeshOutputPrimitivesNV << "\n" << "MaxMeshOutputPrimitivesNV " << DefaultTBuiltInResource.maxMeshOutputPrimitivesNV << "\n"
<< "MaxMeshWorkGroupSizeX_NV " << DefaultTBuiltInResource.maxMeshWorkGroupSizeX_NV << "\n" << "MaxMeshWorkGroupSizeX_NV " << DefaultTBuiltInResource.maxMeshWorkGroupSizeX_NV << "\n"
@ -244,7 +243,6 @@ std::string GetDefaultTBuiltInResourceString()
<< "MaxTaskWorkGroupSizeY_NV " << DefaultTBuiltInResource.maxTaskWorkGroupSizeY_NV << "\n" << "MaxTaskWorkGroupSizeY_NV " << DefaultTBuiltInResource.maxTaskWorkGroupSizeY_NV << "\n"
<< "MaxTaskWorkGroupSizeZ_NV " << DefaultTBuiltInResource.maxTaskWorkGroupSizeZ_NV << "\n" << "MaxTaskWorkGroupSizeZ_NV " << DefaultTBuiltInResource.maxTaskWorkGroupSizeZ_NV << "\n"
<< "MaxMeshViewCountNV " << DefaultTBuiltInResource.maxMeshViewCountNV << "\n" << "MaxMeshViewCountNV " << DefaultTBuiltInResource.maxMeshViewCountNV << "\n"
#endif
<< "nonInductiveForLoops " << DefaultTBuiltInResource.limits.nonInductiveForLoops << "\n" << "nonInductiveForLoops " << DefaultTBuiltInResource.limits.nonInductiveForLoops << "\n"
<< "whileLoops " << DefaultTBuiltInResource.limits.whileLoops << "\n" << "whileLoops " << DefaultTBuiltInResource.limits.whileLoops << "\n"
<< "doWhileLoops " << DefaultTBuiltInResource.limits.doWhileLoops << "\n" << "doWhileLoops " << DefaultTBuiltInResource.limits.doWhileLoops << "\n"
@ -451,7 +449,6 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
resources->maxCombinedClipAndCullDistances = value; resources->maxCombinedClipAndCullDistances = value;
else if (tokenStr == "MaxSamples") else if (tokenStr == "MaxSamples")
resources->maxSamples = value; resources->maxSamples = value;
#ifdef NV_EXTENSIONS
else if (tokenStr == "MaxMeshOutputVerticesNV") else if (tokenStr == "MaxMeshOutputVerticesNV")
resources->maxMeshOutputVerticesNV = value; resources->maxMeshOutputVerticesNV = value;
else if (tokenStr == "MaxMeshOutputPrimitivesNV") else if (tokenStr == "MaxMeshOutputPrimitivesNV")
@ -470,7 +467,6 @@ void DecodeResourceLimits(TBuiltInResource* resources, char* config)
resources->maxTaskWorkGroupSizeZ_NV = value; resources->maxTaskWorkGroupSizeZ_NV = value;
else if (tokenStr == "MaxMeshViewCountNV") else if (tokenStr == "MaxMeshViewCountNV")
resources->maxMeshViewCountNV = value; resources->maxMeshViewCountNV = value;
#endif
else if (tokenStr == "nonInductiveForLoops") else if (tokenStr == "nonInductiveForLoops")
resources->limits.nonInductiveForLoops = (value != 0); resources->limits.nonInductiveForLoops = (value != 0);
else if (tokenStr == "whileLoops") else if (tokenStr == "whileLoops")

View File

@ -104,6 +104,7 @@ enum TOptions {
bool targetHlslFunctionality1 = false; bool targetHlslFunctionality1 = false;
bool SpvToolsDisassembler = false; bool SpvToolsDisassembler = false;
bool SpvToolsValidate = false; bool SpvToolsValidate = false;
bool NaNClamp = false;
// //
// Return codes from main/exit(). // Return codes from main/exit().
@ -145,11 +146,13 @@ void ProcessConfigFile()
{ {
if (ConfigFile.size() == 0) if (ConfigFile.size() == 0)
Resources = glslang::DefaultTBuiltInResource; Resources = glslang::DefaultTBuiltInResource;
#ifndef GLSLANG_WEB
else { else {
char* configString = ReadFileData(ConfigFile.c_str()); char* configString = ReadFileData(ConfigFile.c_str());
glslang::DecodeResourceLimits(&Resources, configString); glslang::DecodeResourceLimits(&Resources, configString);
FreeFileData(configString); FreeFileData(configString);
} }
#endif
} }
int ReflectOptions = EShReflectionDefault; int ReflectOptions = EShReflectionDefault;
@ -254,7 +257,6 @@ const char* GetBinaryName(EShLanguage stage)
case EShLangGeometry: name = "geom.spv"; break; case EShLangGeometry: name = "geom.spv"; break;
case EShLangFragment: name = "frag.spv"; break; case EShLangFragment: name = "frag.spv"; break;
case EShLangCompute: name = "comp.spv"; break; case EShLangCompute: name = "comp.spv"; break;
#ifdef NV_EXTENSIONS
case EShLangRayGenNV: name = "rgen.spv"; break; case EShLangRayGenNV: name = "rgen.spv"; break;
case EShLangIntersectNV: name = "rint.spv"; break; case EShLangIntersectNV: name = "rint.spv"; break;
case EShLangAnyHitNV: name = "rahit.spv"; break; case EShLangAnyHitNV: name = "rahit.spv"; break;
@ -263,7 +265,6 @@ const char* GetBinaryName(EShLanguage stage)
case EShLangCallableNV: name = "rcall.spv"; break; case EShLangCallableNV: name = "rcall.spv"; break;
case EShLangMeshNV: name = "mesh.spv"; break; case EShLangMeshNV: name = "mesh.spv"; break;
case EShLangTaskNV: name = "task.spv"; break; case EShLangTaskNV: name = "task.spv"; break;
#endif
default: name = "unknown"; break; default: name = "unknown"; break;
} }
} else } else
@ -522,6 +523,8 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
} else if (lowerword == "keep-uncalled" || // synonyms } else if (lowerword == "keep-uncalled" || // synonyms
lowerword == "ku") { lowerword == "ku") {
Options |= EOptionKeepUncalled; Options |= EOptionKeepUncalled;
} else if (lowerword == "nan-clamp") {
NaNClamp = true;
} else if (lowerword == "no-storage-format" || // synonyms } else if (lowerword == "no-storage-format" || // synonyms
lowerword == "nsf") { lowerword == "nsf") {
Options |= EOptionNoStorageFormat; Options |= EOptionNoStorageFormat;
@ -769,8 +772,17 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
Error("must provide -S when --stdin is given"); Error("must provide -S when --stdin is given");
// Make sure that -E is not specified alongside linking (which includes SPV generation) // Make sure that -E is not specified alongside linking (which includes SPV generation)
if ((Options & EOptionOutputPreprocessed) && (Options & EOptionLinkProgram)) // Or things that require linking
Error("can't use -E when linking is selected"); 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 // -o or -x makes no sense if there is no target binary
if (binaryFileName && (Options & EOptionSpv) == 0) if (binaryFileName && (Options & EOptionSpv) == 0)
@ -965,6 +977,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
shader->setPreamble(UserPreamble.get()); shader->setPreamble(UserPreamble.get());
shader->addProcesses(Processes); shader->addProcesses(Processes);
#ifndef GLSLANG_WEB
// Set IO mapper binding shift values // Set IO mapper binding shift values
for (int r = 0; r < glslang::EResCount; ++r) { for (int r = 0; r < glslang::EResCount; ++r) {
const glslang::TResourceType res = glslang::TResourceType(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) i != baseBindingForSet[res][compUnit.stage].end(); ++i)
shader->setShiftBindingForSet(res, i->second, i->first); shader->setShiftBindingForSet(res, i->second, i->first);
} }
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0); shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
shader->setResourceSetBinding(baseResourceSetBinding[compUnit.stage]); shader->setResourceSetBinding(baseResourceSetBinding[compUnit.stage]);
if (Options & EOptionHlslIoMapping)
shader->setHlslIoMapping(true);
if (Options & EOptionAutoMapBindings) if (Options & EOptionAutoMapBindings)
shader->setAutoMapBindings(true); shader->setAutoMapBindings(true);
if (Options & EOptionAutoMapLocations) if (Options & EOptionAutoMapLocations)
shader->setAutoMapLocations(true); shader->setAutoMapLocations(true);
if (Options & EOptionInvertY)
shader->setInvertY(true);
for (auto& uniOverride : uniformLocationOverrides) { for (auto& uniOverride : uniformLocationOverrides) {
shader->addUniformLocationOverride(uniOverride.first.c_str(), shader->addUniformLocationOverride(uniOverride.first.c_str(),
uniOverride.second); uniOverride.second);
} }
shader->setUniformLocationBase(uniformBase); 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 // Set up the environment, some subsettings take precedence over earlier
// ways of setting things. // ways of setting things.
@ -1010,8 +1027,10 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
compUnit.stage, Client, ClientInputSemanticsVersion); compUnit.stage, Client, ClientInputSemanticsVersion);
shader->setEnvClient(Client, ClientVersion); shader->setEnvClient(Client, ClientVersion);
shader->setEnvTarget(TargetLanguage, TargetVersion); shader->setEnvTarget(TargetLanguage, TargetVersion);
#ifdef ENABLE_HLSL
if (targetHlslFunctionality1) if (targetHlslFunctionality1)
shader->setEnvTargetHlslFunctionality1(); shader->setEnvTargetHlslFunctionality1();
#endif
} }
shaders.push_back(shader); shaders.push_back(shader);
@ -1021,6 +1040,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
DirStackFileIncluder includer; DirStackFileIncluder includer;
std::for_each(IncludeDirectoryList.rbegin(), IncludeDirectoryList.rend(), [&includer](const std::string& dir) { std::for_each(IncludeDirectoryList.rbegin(), IncludeDirectoryList.rend(), [&includer](const std::string& dir) {
includer.pushExternalLocalDirectory(dir); }); includer.pushExternalLocalDirectory(dir); });
#ifndef GLSLANG_WEB
if (Options & EOptionOutputPreprocessed) { if (Options & EOptionOutputPreprocessed) {
std::string str; std::string str;
if (shader->preprocess(&Resources, defaultVersion, ENoProfile, false, false, messages, &str, includer)) { if (shader->preprocess(&Resources, defaultVersion, ENoProfile, false, false, messages, &str, includer)) {
@ -1032,6 +1052,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
StderrIfNonEmpty(shader->getInfoDebugLog()); StderrIfNonEmpty(shader->getInfoDebugLog());
continue; continue;
} }
#endif
if (! shader->parse(&Resources, defaultVersion, false, messages, includer)) if (! shader->parse(&Resources, defaultVersion, false, messages, includer))
CompileFailed = true; CompileFailed = true;
@ -1054,11 +1075,13 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
if (! (Options & EOptionOutputPreprocessed) && ! program.link(messages)) if (! (Options & EOptionOutputPreprocessed) && ! program.link(messages))
LinkFailed = true; LinkFailed = true;
#ifndef GLSLANG_WEB
// Map IO // Map IO
if (Options & EOptionSpv) { if (Options & EOptionSpv) {
if (!program.mapIO()) if (!program.mapIO())
LinkFailed = true; LinkFailed = true;
} }
#endif
// Report // Report
if (! (Options & EOptionSuppressInfolog) && if (! (Options & EOptionSuppressInfolog) &&
@ -1067,11 +1090,13 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
PutsIfNonEmpty(program.getInfoDebugLog()); PutsIfNonEmpty(program.getInfoDebugLog());
} }
#ifndef GLSLANG_WEB
// Reflect // Reflect
if (Options & EOptionDumpReflection) { if (Options & EOptionDumpReflection) {
program.buildReflection(ReflectOptions); program.buildReflection(ReflectOptions);
program.dumpReflection(); program.dumpReflection();
} }
#endif
// Dump SPIR-V // Dump SPIR-V
if (Options & EOptionSpv) { if (Options & EOptionSpv) {
@ -1101,8 +1126,10 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
} else { } else {
glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage)); glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage));
} }
#ifndef GLSLANG_WEB
if (!SpvToolsDisassembler && (Options & EOptionHumanReadableSpv)) if (!SpvToolsDisassembler && (Options & EOptionHumanReadableSpv))
spv::Disassemble(std::cout, spirv); spv::Disassemble(std::cout, spirv);
#endif
} }
} }
} }
@ -1190,11 +1217,13 @@ int singleMain()
workList.add(item.get()); workList.add(item.get());
}); });
#ifndef GLSLANG_WEB
if (Options & EOptionDumpConfig) { if (Options & EOptionDumpConfig) {
printf("%s", glslang::GetDefaultTBuiltInResourceString().c_str()); printf("%s", glslang::GetDefaultTBuiltInResourceString().c_str());
if (workList.empty()) if (workList.empty())
return ESuccess; return ESuccess;
} }
#endif
if (Options & EOptionDumpBareVersion) { if (Options & EOptionDumpBareVersion) {
printf("%d.%d.%d\n", printf("%d.%d.%d\n",
@ -1366,7 +1395,6 @@ EShLanguage FindLanguage(const std::string& name, bool parseStageName)
return EShLangFragment; return EShLangFragment;
else if (stageName == "comp") else if (stageName == "comp")
return EShLangCompute; return EShLangCompute;
#ifdef NV_EXTENSIONS
else if (stageName == "rgen") else if (stageName == "rgen")
return EShLangRayGenNV; return EShLangRayGenNV;
else if (stageName == "rint") else if (stageName == "rint")
@ -1383,7 +1411,6 @@ EShLanguage FindLanguage(const std::string& name, bool parseStageName)
return EShLangMeshNV; return EShLangMeshNV;
else if (stageName == "task") else if (stageName == "task")
return EShLangTaskNV; return EShLangTaskNV;
#endif
usage(); usage();
return EShLangVertex; return EShLangVertex;
@ -1453,7 +1480,6 @@ void usage()
" .geom for a geometry shader\n" " .geom for a geometry shader\n"
" .frag for a fragment shader\n" " .frag for a fragment shader\n"
" .comp for a compute shader\n" " .comp for a compute shader\n"
#ifdef NV_EXTENSIONS
" .mesh for a mesh shader\n" " .mesh for a mesh shader\n"
" .task for a task shader\n" " .task for a task shader\n"
" .rgen for a ray generation shader\n" " .rgen for a ray generation shader\n"
@ -1462,7 +1488,6 @@ void usage()
" .rchit for a ray closest hit shader\n" " .rchit for a ray closest hit shader\n"
" .rmiss for a ray miss shader\n" " .rmiss for a ray miss shader\n"
" .rcall for a ray callable shader\n" " .rcall for a ray callable shader\n"
#endif
" .glsl for .vert.glsl, .tesc.glsl, ..., .comp.glsl compound suffixes\n" " .glsl for .vert.glsl, .tesc.glsl, ..., .comp.glsl compound suffixes\n"
" .hlsl for .vert.hlsl, .tesc.hlsl, ..., .comp.hlsl compound suffixes\n" " .hlsl for .vert.hlsl, .tesc.hlsl, ..., .comp.hlsl compound suffixes\n"
"\n" "\n"
@ -1508,7 +1533,7 @@ void usage()
" -l link all input files together to form a single module\n" " -l link all input files together to form a single module\n"
" -m memory leak mode\n" " -m memory leak mode\n"
" -o <file> save binary to <file>, requires a binary option (e.g., -V)\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" " -r | --relaxed-errors"
" relaxed GLSL semantic error-checking mode\n" " relaxed GLSL semantic error-checking mode\n"
" -s silence syntax and semantic error reporting\n" " -s silence syntax and semantic error reporting\n"
@ -1533,9 +1558,11 @@ void usage()
" works independently of source language\n" " works independently of source language\n"
" --hlsl-iomap perform IO mapping in HLSL register space\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-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" " --invert-y | --iy invert position.Y output in vertex shader\n"
" --keep-uncalled | --ku don't eliminate uncalled functions\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" " --no-storage-format | --nsf use Unknown image format\n"
" --reflect-strict-array-suffix use strict array suffix rules when\n" " --reflect-strict-array-suffix use strict array suffix rules when\n"
" reflecting\n" " reflecting\n"

View File

@ -227,7 +227,7 @@ namespace {
} }
} }
else if (arg == "--version" || arg == "-V") { 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); exit(0);
} else if (arg == "--input" || arg == "-i") { } else if (arg == "--input" || arg == "-i") {
// Collect input files // Collect input files

2
Test/310.frag Normal file → Executable file
View File

@ -58,8 +58,8 @@ void foo23()
b1 = mix(b2, b3, b); b1 = mix(b2, b3, b);
uvec3 um3 = mix(uvec3(i), uvec3(i), bvec3(b)); uvec3 um3 = mix(uvec3(i), uvec3(i), bvec3(b));
ivec4 im4 = mix(ivec4(i), ivec4(i), bvec4(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 s1;
layout(binding=3) uniform sampler2D s2; // ERROR: overlapping bindings? Don't see that in the 310 spec. 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; highp layout(binding=2) uniform writeonly image2D i2D;

View 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);
}

View File

@ -1,5 +1,17 @@
#version 320 es #version 320 es
float fX;
float fY;
void main() void main()
{ {
dFdx(fX);
dFdy(fY);
fwidth(fX);
dFdxCoarse(fX);
dFdyCoarse(fY);
fwidthCoarse(fX);
dFdxFine(fX);
dFdyFine(fY);
fwidthFine(fX);
} }

View File

@ -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:97: '' : memory qualifiers cannot be used on this type
ERROR: 0:98: '' : 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: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:110: 'format' : image formats must match
ERROR: 0:111: '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 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:244: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
ERROR: 0:245: 'gl_ViewIndex' : undeclared identifier ERROR: 0:245: 'gl_ViewIndex' : undeclared identifier
ERROR: 0:255: '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 Shader version: 310
@ -120,9 +119,9 @@ ERROR: node is still EOpNull!
0:59 Function Parameters: 0:59 Function Parameters:
0:61 Sequence 0:61 Sequence
0:61 move second child to first child ( temp highp float) 0:61 move second child to first child ( temp highp float)
0:61 direct index (layout( column_major shared) temp highp float) 0:61 direct index (layout( column_major shared) readonly temp highp float)
0:61 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:61 1 (const int) 0:61 1 (const int)
0:61 Constant: 0:61 Constant:
@ -130,8 +129,8 @@ ERROR: node is still EOpNull!
0:61 Constant: 0:61 Constant:
0:61 4.700000 0:61 4.700000
0:62 array length ( temp int) 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 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:62 1 (const int) 0:62 1 (const int)
0:63 Pre-Increment ( temp highp 4-component vector of float) 0:63 Pre-Increment ( temp highp 4-component vector of float)
@ -283,9 +282,9 @@ ERROR: node is still EOpNull!
0:? Sequence 0:? Sequence
0:194 move second child to first child ( temp highp float) 0:194 move second child to first child ( temp highp float)
0:194 'g' ( temp highp float) 0:194 'g' ( temp highp float)
0:194 direct index (layout( column_major shared) temp highp float) 0:194 direct index (layout( column_major shared) writeonly temp highp float)
0:194 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:194 1 (const int) 0:194 1 (const int)
0:194 Constant: 0:194 Constant:
@ -293,42 +292,42 @@ ERROR: node is still EOpNull!
0:195 Sequence 0:195 Sequence
0:195 move second child to first child ( temp highp float) 0:195 move second child to first child ( temp highp float)
0:195 'f' ( temp highp float) 0:195 'f' ( temp highp float)
0:195 direct index (layout( column_major shared) temp highp float) 0:195 direct index (layout( column_major shared) writeonly temp highp float)
0:195 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:195 1 (const int) 0:195 1 (const int)
0:195 Constant: 0:195 Constant:
0:195 2 (const int) 0:195 2 (const int)
0:196 Pre-Increment ( temp highp float) 0:196 Pre-Increment ( temp highp float)
0:196 direct index (layout( column_major shared) temp highp float) 0:196 direct index (layout( column_major shared) writeonly temp highp float)
0:196 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:196 1 (const int) 0:196 1 (const int)
0:196 Constant: 0:196 Constant:
0:196 2 (const int) 0:196 2 (const int)
0:197 Post-Decrement ( temp highp float) 0:197 Post-Decrement ( temp highp float)
0:197 direct index (layout( column_major shared) temp highp float) 0:197 direct index (layout( column_major shared) writeonly temp highp float)
0:197 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:197 1 (const int) 0:197 1 (const int)
0:197 Constant: 0:197 Constant:
0:197 2 (const int) 0:197 2 (const int)
0:198 add ( temp highp float) 0:198 add ( temp highp float)
0:198 'f' ( temp highp float) 0:198 'f' ( temp highp float)
0:198 direct index (layout( column_major shared) temp highp float) 0:198 direct index (layout( column_major shared) writeonly temp highp float)
0:198 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:198 1 (const int) 0:198 1 (const int)
0:198 Constant: 0:198 Constant:
0:198 2 (const int) 0:198 2 (const int)
0:199 subtract ( temp highp float) 0:199 subtract ( temp highp float)
0:199 direct index (layout( column_major shared) temp highp float) 0:199 direct index (layout( column_major shared) writeonly temp highp float)
0:199 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:199 1 (const int) 0:199 1 (const int)
0:199 Constant: 0:199 Constant:
@ -340,9 +339,9 @@ ERROR: node is still EOpNull!
0:201 true case 0:201 true case
0:201 'f' ( temp highp float) 0:201 'f' ( temp highp float)
0:201 false case 0:201 false case
0:201 direct index (layout( column_major shared) temp highp float) 0:201 direct index (layout( column_major shared) writeonly temp highp float)
0:201 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:201 1 (const int) 0:201 1 (const int)
0:201 Constant: 0:201 Constant:
@ -351,9 +350,9 @@ ERROR: node is still EOpNull!
0:202 Condition 0:202 Condition
0:202 'b' ( temp bool) 0:202 'b' ( temp bool)
0:202 true case 0:202 true case
0:202 direct index (layout( column_major shared) temp highp float) 0:202 direct index (layout( column_major shared) writeonly temp highp float)
0:202 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:202 1 (const int) 0:202 1 (const int)
0:202 Constant: 0:202 Constant:
@ -364,9 +363,9 @@ ERROR: node is still EOpNull!
0:203 Condition 0:203 Condition
0:203 Compare Equal ( temp bool) 0:203 Compare Equal ( temp bool)
0:203 'f' ( temp highp float) 0:203 'f' ( temp highp float)
0:203 direct index (layout( column_major shared) temp highp float) 0:203 direct index (layout( column_major shared) writeonly temp highp float)
0:203 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:203 1 (const int) 0:203 1 (const int)
0:203 Constant: 0:203 Constant:
@ -378,9 +377,9 @@ ERROR: node is still EOpNull!
0:205 Condition 0:205 Condition
0:205 Compare Greater Than or Equal ( temp bool) 0:205 Compare Greater Than or Equal ( temp bool)
0:205 'f' ( temp highp float) 0:205 'f' ( temp highp float)
0:205 direct index (layout( column_major shared) temp highp float) 0:205 direct index (layout( column_major shared) writeonly temp highp float)
0:205 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:205 1 (const int) 0:205 1 (const int)
0:205 Constant: 0:205 Constant:
@ -392,9 +391,9 @@ ERROR: node is still EOpNull!
0:207 'f' ( temp highp float) 0:207 'f' ( temp highp float)
0:207 direct index ( temp highp float) 0:207 direct index ( temp highp float)
0:207 Construct vec3 ( temp highp 3-component vector of 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 direct index (layout( column_major shared) writeonly temp highp float)
0:207 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:207 1 (const int) 0:207 1 (const int)
0:207 Constant: 0:207 Constant:
@ -402,14 +401,14 @@ ERROR: node is still EOpNull!
0:207 Constant: 0:207 Constant:
0:207 0 (const int) 0:207 0 (const int)
0:208 Bitwise not ( temp highp int) 0:208 Bitwise not ( temp highp int)
0:208 value: direct index for structure (layout( column_major shared) buffer highp int) 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:208 0 (const int) 0:208 0 (const int)
0:209 move second child to first child ( temp highp float) 0:209 move second child to first child ( temp highp float)
0:209 direct index (layout( column_major shared) temp highp float) 0:209 direct index (layout( column_major shared) writeonly temp highp float)
0:209 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:209 1 (const int) 0:209 1 (const int)
0:209 Constant: 0:209 Constant:
@ -421,22 +420,22 @@ ERROR: node is still EOpNull!
0:? Sequence 0:? Sequence
0:221 move second child to first child ( temp highp float) 0:221 move second child to first child ( temp highp float)
0:221 'g' ( temp highp float) 0:221 'g' ( temp highp float)
0:221 direct index (layout( column_major shared) temp highp float) 0:221 direct index (layout( column_major shared) writeonly temp highp float)
0:221 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:221 1 (const int) 0:221 1 (const int)
0:221 Constant: 0:221 Constant:
0:221 2 (const int) 0:221 2 (const int)
0:222 Bitwise not ( temp highp int) 0:222 Bitwise not ( temp highp int)
0:222 value: direct index for structure (layout( column_major shared) buffer highp int) 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:222 0 (const int) 0:222 0 (const int)
0:223 move second child to first child ( temp highp float) 0:223 move second child to first child ( temp highp float)
0:223 direct index (layout( column_major shared) temp highp float) 0:223 direct index (layout( column_major shared) writeonly temp highp float)
0:223 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:223 1 (const int) 0:223 1 (const int)
0:223 Constant: 0:223 Constant:
@ -444,8 +443,8 @@ ERROR: node is still EOpNull!
0:223 Constant: 0:223 Constant:
0:223 3.400000 0:223 3.400000
0:224 move second child to first child ( temp highp int) 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 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) buffer highp int value, layout( column_major shared) buffer unsized 3-element array of highp float values}) 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 Constant:
0:224 0 (const int) 0:224 0 (const int)
0:224 Constant: 0:224 Constant:
@ -478,7 +477,7 @@ ERROR: node is still EOpNull!
0:? 'arrX' ( global 2-element array of highp int) 0:? 'arrX' ( global 2-element array of highp int)
0:? 'arrY' ( global 1-element array of highp int) 0:? 'arrY' ( global 1-element array of highp int)
0:? 'arrZ' ( global 4096-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:? 'v' ( buffer highp 4-component vector of float)
0:? 'us2dbad' ( uniform mediump usampler2D) 0:? 'us2dbad' ( uniform mediump usampler2D)
0:? 'us2d' ( uniform highp 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:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D)
0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D) 0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D)
0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D) 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:? '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:? 'inbi' ( in block{ in highp int a})
0:? 'outbi' ( out block{ out 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:? 'arrX' ( global 2-element array of highp int)
0:? 'arrY' ( global 1-element array of highp int) 0:? 'arrY' ( global 1-element array of highp int)
0:? 'arrZ' ( global 4096-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:? 'v' ( buffer highp 4-component vector of float)
0:? 'us2dbad' ( uniform mediump usampler2D) 0:? 'us2dbad' ( uniform mediump usampler2D)
0:? 'us2d' ( uniform highp 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:? 'badQ1' (layout( rgba32f) coherent volatile restrict uniform highp image2D)
0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D) 0:? 'badQ2' (layout( rgba8i) coherent volatile restrict uniform highp iimage2D)
0:? 'badQ3' (layout( rgba16ui) coherent volatile restrict uniform highp uimage2D) 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:? '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:? 'inbi' ( in block{ in highp int a})
0:? 'outbi' ( out block{ out highp int a}) 0:? 'outbi' ( out block{ out highp int a})

View File

@ -337,6 +337,16 @@ ERROR: node is still EOpNull!
0:60 'i' ( uniform mediump int) 0:60 'i' ( uniform mediump int)
0:60 Construct bvec4 ( temp 4-component vector of bool) 0:60 Construct bvec4 ( temp 4-component vector of bool)
0:60 'b' ( temp 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 Definition: foots( ( global void)
0:98 Function Parameters: 0:98 Function Parameters:
0:100 Sequence 0:100 Sequence

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

View File

@ -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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:25 Constant: 0:25 Constant:
0:25 1 (const int) 0:25 1 (const int)
0:25 Constant: 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 move second child to first child ( temp highp float)
0:26 'ps' ( temp highp float) 0:26 'ps' ( temp highp float)
0:26 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:26 Constant: 0:26 Constant:
0:26 1 (const int) 0:26 1 (const int)
0:26 Constant: 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 move second child to first child ( temp highp float)
0:114 'ps' ( temp highp float) 0:114 'ps' ( temp highp float)
0:114 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:114 Constant: 0:114 Constant:
0:114 1 (const int) 0:114 1 (const int)
0:114 Constant: 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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:25 Constant: 0:25 Constant:
0:25 1 (const int) 0:25 1 (const int)
0:25 Constant: 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 move second child to first child ( temp highp float)
0:26 'ps' ( temp highp float) 0:26 'ps' ( temp highp float)
0:26 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:26 Constant: 0:26 Constant:
0:26 1 (const int) 0:26 1 (const int)
0:26 Constant: 0:26 Constant:

View File

@ -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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:36 Constant: 0:36 Constant:
0:36 1 (const int) 0:36 1 (const int)
0:36 Constant: 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 move second child to first child ( temp highp float)
0:37 'ps' ( temp highp float) 0:37 'ps' ( temp highp float)
0:37 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:37 Constant: 0:37 Constant:
0:37 1 (const int) 0:37 1 (const int)
0:37 Constant: 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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:36 Constant: 0:36 Constant:
0:36 1 (const int) 0:36 1 (const int)
0:36 Constant: 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 move second child to first child ( temp highp float)
0:37 'ps' ( temp highp float) 0:37 'ps' ( temp highp float)
0:37 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:37 Constant: 0:37 Constant:
0:37 1 (const int) 0:37 1 (const int)
0:37 Constant: 0:37 Constant:

View File

@ -269,7 +269,7 @@ ERROR: node is still EOpNull!
0:117 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) 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 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 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 Constant:
0:118 0 (const uint) 0:118 0 (const uint)
0:118 Constant: 0:118 Constant:
@ -278,7 +278,7 @@ ERROR: node is still EOpNull!
0:118 1.000000 0:118 1.000000
0:118 1.000000 0:118 1.000000
0:119 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize) 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 Constant:
0:119 1 (const uint) 0:119 1 (const uint)
0:153 Function Definition: pfooBad( ( global void) 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:? '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:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a}) 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:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i}) 0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid 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:? '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:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a}) 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:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i}) 0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid out block{ out highp int i}) 0:? 'cmon' ( centroid out block{ out highp int i})

View File

@ -1,10 +1,43 @@
320.comp 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 Shader version: 320
local_size = (1, 1, 1) local_size = (1, 1, 1)
0:? Sequence ERROR: node is still EOpNull!
0:3 Function Definition: main( ( global void) 0:6 Function Definition: main( ( global void)
0:3 Function Parameters: 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:? Linker Objects
0:? 'fX' ( global highp float)
0:? 'fY' ( global highp float)
Linked compute stage: Linked compute stage:
@ -12,8 +45,29 @@ Linked compute stage:
Shader version: 320 Shader version: 320
local_size = (1, 1, 1) local_size = (1, 1, 1)
0:? Sequence ERROR: node is still EOpNull!
0:3 Function Definition: main( ( global void) 0:6 Function Definition: main( ( global void)
0:3 Function Parameters: 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:? Linker Objects
0:? 'fX' ( global highp float)
0:? 'fY' ( global highp float)

View File

@ -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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:23 Constant: 0:23 Constant:
0:23 1 (const int) 0:23 1 (const int)
0:23 Constant: 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 move second child to first child ( temp highp float)
0:24 'ps' ( temp highp float) 0:24 'ps' ( temp highp float)
0:24 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:24 Constant: 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 move second child to first child ( temp highp float)
0:104 'ps' ( temp highp float) 0:104 'ps' ( temp highp float)
0:104 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:104 Constant: 0:104 Constant:
0:104 1 (const int) 0:104 1 (const int)
0:104 Constant: 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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:23 Constant: 0:23 Constant:
0:23 1 (const int) 0:23 1 (const int)
0:23 Constant: 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 move second child to first child ( temp highp float)
0:24 'ps' ( temp highp float) 0:24 'ps' ( temp highp float)
0:24 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:24 Constant: 0:24 Constant:

View File

@ -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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:32 Constant: 0:32 Constant:
0:32 1 (const int) 0:32 1 (const int)
0:32 Constant: 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 move second child to first child ( temp highp float)
0:33 'ps' ( temp highp float) 0:33 'ps' ( temp highp float)
0:33 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:33 Constant: 0:33 Constant:
0:33 1 (const int) 0:33 1 (const int)
0:33 Constant: 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 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 '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 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:32 Constant: 0:32 Constant:
0:32 1 (const int) 0:32 1 (const int)
0:32 Constant: 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 move second child to first child ( temp highp float)
0:33 'ps' ( temp highp float) 0:33 'ps' ( temp highp float)
0:33 gl_PointSize: direct index for structure ( in highp float PointSize) 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 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 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 SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:33 Constant: 0:33 Constant:
0:33 1 (const int) 0:33 1 (const int)
0:33 Constant: 0:33 Constant:

View File

@ -49,7 +49,7 @@ ERROR: node is still EOpNull!
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId) 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 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 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 Constant:
0:27 0 (const uint) 0:27 0 (const uint)
0:27 Constant: 0:27 Constant:
@ -58,7 +58,7 @@ ERROR: node is still EOpNull!
0:27 1.000000 0:27 1.000000
0:27 1.000000 0:27 1.000000
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize) 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 Constant:
0:28 1 (const uint) 0:28 1 (const uint)
0:62 Function Definition: pfoo( ( global void) 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:? '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:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a}) 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:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i}) 0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid 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: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 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 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 Constant:
0:27 0 (const uint) 0:27 0 (const uint)
0:27 Constant: 0:27 Constant:
@ -718,7 +718,7 @@ ERROR: node is still EOpNull!
0:27 1.000000 0:27 1.000000
0:27 1.000000 0:27 1.000000
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize) 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 Constant:
0:28 1 (const uint) 0:28 1 (const uint)
0:? Linker Objects 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:? '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:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a}) 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:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i}) 0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid out block{ out highp int i}) 0:? 'cmon' ( centroid out block{ out highp int i})

View File

@ -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 move second child to first child ( temp 4-component vector of float)
0:23 'c' ( 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 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 Constant:
0:23 2 (const uint) 0:23 2 (const uint)
0:24 move second child to first child ( temp 4-component vector of float) 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:? 'inVar' ( smooth in 4-component vector of float)
0:? 'outVar' (layout( location=0 index=0) out 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:? '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:? 'gl_name' ( in block{ in int gl_i})
0:? 'start' ( const int) 0:? 'start' ( const int)
0:? 6 (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:? 'inVar' ( smooth in 4-component vector of float)
0:? 'outVar' (layout( location=0 index=0) out 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:? '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:? 'gl_name' ( in block{ in int gl_i})
0:? 'start' ( const int) 0:? 'start' ( const int)
0:? 6 (const int) 0:? 6 (const int)

View File

@ -38,12 +38,12 @@ ERROR: node is still EOpNull!
0:30 0 (const int) 0:30 0 (const int)
0:31 move second child to first child ( temp float) 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 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 Constant:
0:31 1 (const uint) 0:31 1 (const uint)
0:31 'p' ( temp float) 0:31 'p' ( temp float)
0:33 gl_Position: direct index for structure (layout( stream=0) gl_Position void Position) 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 Constant:
0:33 0 (const uint) 0:33 0 (const uint)
0:36 Function Definition: foo5( ( global float) 0:36 Function Definition: foo5( ( global float)
@ -54,7 +54,7 @@ ERROR: node is still EOpNull!
0:38 4.000000 0:38 4.000000
0:? Linker Objects 0:? Linker Objects
0:? 'gl_in' ( in unsized 2-element array of block{ in float PointSize gl_PointSize}) 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: Linked geometry stage:
@ -78,5 +78,5 @@ ERROR: node is still EOpNull!
0:5 7 (const int) 0:5 7 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_in' ( in 2-element array of block{ in float PointSize gl_PointSize}) 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})

View File

@ -281,7 +281,7 @@ ERROR: node is still EOpNull!
0:? 'sampb3' (layout( binding=80) uniform sampler2D) 0:? 'sampb3' (layout( binding=80) uniform sampler2D)
0:? 'sampb4' (layout( binding=31) uniform sampler2D) 0:? 'sampb4' (layout( binding=31) uniform sampler2D)
0:? 'sampb5' (layout( binding=79) uniform 2-element array of 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:? 'patchIn' ( patch in 4-component vector of float)
0:? 'patchOut' ( smooth patch out 4-component vector of float) 0:? 'patchOut' ( smooth patch out 4-component vector of float)
0:? 'comma0' ( temp int) 0:? 'comma0' ( temp int)
@ -363,7 +363,7 @@ ERROR: node is still EOpNull!
0:? 'sampb3' (layout( binding=80) uniform sampler2D) 0:? 'sampb3' (layout( binding=80) uniform sampler2D)
0:? 'sampb4' (layout( binding=31) uniform sampler2D) 0:? 'sampb4' (layout( binding=31) uniform sampler2D)
0:? 'sampb5' (layout( binding=79) uniform 2-element array of 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:? 'patchIn' ( patch in 4-component vector of float)
0:? 'patchOut' ( smooth patch out 4-component vector of float) 0:? 'patchOut' ( smooth patch out 4-component vector of float)
0:? 'comma0' ( temp int) 0:? 'comma0' ( temp int)

View File

@ -55,9 +55,9 @@ ERROR: node is still EOpNull!
0:63 Function Parameters: 0:63 Function Parameters:
0:65 Sequence 0:65 Sequence
0:65 move second child to first child ( temp float) 0:65 move second child to first child ( temp float)
0:65 direct index (layout( column_major shared) temp float) 0:65 direct index (layout( column_major shared) readonly temp float)
0:65 values: direct index for structure (layout( column_major shared) buffer unsized 3-element array of 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) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values}) 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 Constant:
0:65 1 (const int) 0:65 1 (const int)
0:65 Constant: 0:65 Constant:
@ -65,8 +65,8 @@ ERROR: node is still EOpNull!
0:65 Constant: 0:65 Constant:
0:65 4.700000 0:65 4.700000
0:66 array length ( temp int) 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 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) buffer int value, layout( column_major shared) buffer unsized 3-element array of float values}) 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 Constant:
0:66 1 (const int) 0:66 1 (const int)
0:67 Barrier ( global void) 0:67 Barrier ( global void)
@ -140,7 +140,7 @@ ERROR: node is still EOpNull!
0:? 'arrX' ( global 2-element array of int) 0:? 'arrX' ( global 2-element array of int)
0:? 'arrY' ( global 1-element array of int) 0:? 'arrY' ( global 1-element array of int)
0:? 'arrZ' ( global 4096-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:? 'roll' ( uniform double)
0:? 'destTex' ( writeonly uniform image2D) 0:? 'destTex' ( writeonly uniform image2D)
0:? 'inbi' ( in block{ in int a}) 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:? 'arrX' ( global 2-element array of int)
0:? 'arrY' ( global 1-element array of int) 0:? 'arrY' ( global 1-element array of int)
0:? 'arrZ' ( global 4096-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:? 'roll' ( uniform double)
0:? 'destTex' ( writeonly uniform image2D) 0:? 'destTex' ( writeonly uniform image2D)
0:? 'inbi' ( in block{ in int a}) 0:? 'inbi' ( in block{ in int a})

View File

@ -78,7 +78,7 @@ ERROR: node is still EOpNull!
0:16 move second child to first child ( temp float) 0:16 move second child to first child ( temp float)
0:16 direct index ( temp float ClipDistance) 0:16 direct index ( temp float ClipDistance)
0:16 gl_ClipDistance: direct index for structure ( out 17-element array of 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 Constant:
0:16 2 (const uint) 0:16 2 (const uint)
0:16 Constant: 0:16 Constant:
@ -206,7 +206,7 @@ ERROR: node is still EOpNull!
0:? 'uv4' (layout( location=4) uniform 4-component vector of float) 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:? '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:? '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:? '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:? 'cf' (layout( location=54) smooth out float)
0:? 'cg' (layout( location=53) 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:? '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:? '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:? '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:? '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:? 'cf' (layout( location=54) smooth out float)
0:? 'cg' (layout( location=53) smooth out float) 0:? 'cg' (layout( location=53) smooth out float)

View File

@ -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:? '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:? '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:? '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_VertexID' ( gl_VertexId int VertexId)
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) 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:? '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:? '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:? '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_VertexID' ( gl_VertexId int VertexId)
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) 0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)

View File

@ -9,17 +9,17 @@ local_size = (1, 1, 1)
0:? 'bool_init' ( const bool) 0:? 'bool_init' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'int8_t_init' ( const int8_t) 0:? 'int8_t_init' ( const int8_t)
0:? -1 (const int) 0:? -1 (const int8_t)
0:? 'int16_t_init' ( const int16_t) 0:? 'int16_t_init' ( const int16_t)
0:? -2 (const int) 0:? -2 (const int16_t)
0:? 'int32_t_init' ( const int) 0:? 'int32_t_init' ( const int)
0:? -3 (const int) 0:? -3 (const int)
0:? 'int64_t_init' ( const int64_t) 0:? 'int64_t_init' ( const int64_t)
0:? -4 (const int64_t) 0:? -4 (const int64_t)
0:? 'uint8_t_init' ( const uint8_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:? 'uint16_t_init' ( const uint16_t)
0:? 2 (const int) 0:? 2 (const uint16_t)
0:? 'uint32_t_init' ( const uint) 0:? 'uint32_t_init' ( const uint)
0:? 3 (const uint) 0:? 3 (const uint)
0:? 'uint64_t_init' ( const uint64_t) 0:? 'uint64_t_init' ( const uint64_t)
@ -33,17 +33,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_bool' ( const bool) 0:? 'bool_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'int8_t_to_bool' ( 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:? 'int16_t_to_bool' ( const bool)
0:? -2 (const int) 0:? true (const bool)
0:? 'int32_t_to_bool' ( const bool) 0:? 'int32_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'int64_t_to_bool' ( const bool) 0:? 'int64_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'uint8_t_to_bool' ( 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:? 'uint16_t_to_bool' ( const bool)
0:? 2 (const int) 0:? true (const bool)
0:? 'uint32_t_to_bool' ( const bool) 0:? 'uint32_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'uint64_t_to_bool' ( 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:? 'float64_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'bool_to_int8_t' ( const int8_t) 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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? 'float64_t_to_int16_t' ( const int16_t)
0:? -4.000000 0:? -4 (const int16_t)
0:? 'bool_to_int32_t' ( const int) 0:? 'bool_to_int32_t' ( const int)
0:? 1 (const int) 0:? 1 (const int)
0:? 'int8_t_to_int32_t' ( 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:? 'bool_to_int64_t' ( const int64_t)
0:? 1 (const int64_t) 0:? 1 (const int64_t)
0:? 'int8_t_to_int64_t' ( 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:? '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:? 'int32_t_to_int64_t' ( const int64_t)
0:? -3 (const int64_t) 0:? -3 (const int64_t)
0:? 'int64_t_to_int64_t' ( const int64_t) 0:? 'int64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t) 0:? -4 (const int64_t)
0:? 'uint8_t_to_int64_t' ( 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:? '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:? 'uint32_t_to_int64_t' ( const int64_t)
0:? 3 (const int64_t) 0:? 3 (const int64_t)
0:? 'uint64_t_to_int64_t' ( 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:? 'float64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t) 0:? -4 (const int64_t)
0:? 'bool_to_uint8_t' ( const uint8_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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? 'float64_t_to_uint16_t' ( const uint16_t)
0:? -4.000000 0:? 65532 (const uint16_t)
0:? 'bool_to_uint32_t' ( const uint) 0:? 'bool_to_uint32_t' ( const uint)
0:? 1 (const uint) 0:? 1 (const uint)
0:? 'int8_t_to_uint32_t' ( 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:? 'int16_t_to_uint32_t' ( const uint)
0:? -2 (const int) 0:? 4294967294 (const uint)
0:? 'int32_t_to_uint32_t' ( const uint) 0:? 'int32_t_to_uint32_t' ( const uint)
0:? 4294967293 (const uint) 0:? 4294967293 (const uint)
0:? 'int64_t_to_uint32_t' ( const uint) 0:? 'int64_t_to_uint32_t' ( const uint)
0:? 4294967292 (const uint) 0:? 4294967292 (const uint)
0:? 'uint8_t_to_uint32_t' ( 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:? 'uint16_t_to_uint32_t' ( const uint)
0:? 2 (const int) 0:? 2 (const uint)
0:? 'uint32_t_to_uint32_t' ( const uint) 0:? 'uint32_t_to_uint32_t' ( const uint)
0:? 3 (const uint) 0:? 3 (const uint)
0:? 'uint64_t_to_uint32_t' ( 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:? 'bool_to_uint64_t' ( const uint64_t)
0:? 1 (const uint64_t) 0:? 1 (const uint64_t)
0:? 'int8_t_to_uint64_t' ( 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:? '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:? 'int32_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551613 (const uint64_t) 0:? 18446744073709551613 (const uint64_t)
0:? 'int64_t_to_uint64_t' ( const uint64_t) 0:? 'int64_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551612 (const uint64_t) 0:? 18446744073709551612 (const uint64_t)
0:? 'uint8_t_to_uint64_t' ( 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:? '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:? 'uint32_t_to_uint64_t' ( const uint64_t)
0:? 3 (const uint64_t) 0:? 3 (const uint64_t)
0:? 'uint64_t_to_uint64_t' ( 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:? 'bool_to_float16_t' ( const float16_t)
0:? 1.000000 0:? 1.000000
0:? 'int8_t_to_float16_t' ( const float16_t) 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:? '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:? 'int32_t_to_float16_t' ( const float16_t)
0:? -3.000000 0:? -3.000000
0:? 'int64_t_to_float16_t' ( const float16_t) 0:? 'int64_t_to_float16_t' ( const float16_t)
0:? -4.000000 0:? -4.000000
0:? 'uint8_t_to_float16_t' ( const float16_t) 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:? '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:? 'uint32_t_to_float16_t' ( const float16_t)
0:? 3.000000 0:? 3.000000
0:? 'uint64_t_to_float16_t' ( const float16_t) 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:? 'bool_to_float32_t' ( const float)
0:? 1.000000 0:? 1.000000
0:? 'int8_t_to_float32_t' ( const float) 0:? 'int8_t_to_float32_t' ( const float)
0:? -1 (const int) 0:? -1.000000
0:? 'int16_t_to_float32_t' ( const float) 0:? 'int16_t_to_float32_t' ( const float)
0:? -2 (const int) 0:? -2.000000
0:? 'int32_t_to_float32_t' ( const float) 0:? 'int32_t_to_float32_t' ( const float)
0:? -3.000000 0:? -3.000000
0:? 'int64_t_to_float32_t' ( const float) 0:? 'int64_t_to_float32_t' ( const float)
0:? -4.000000 0:? -4.000000
0:? 'uint8_t_to_float32_t' ( const float) 0:? 'uint8_t_to_float32_t' ( const float)
0:? 1 (const int) 0:? 1.000000
0:? 'uint16_t_to_float32_t' ( const float) 0:? 'uint16_t_to_float32_t' ( const float)
0:? 2 (const int) 0:? 2.000000
0:? 'uint32_t_to_float32_t' ( const float) 0:? 'uint32_t_to_float32_t' ( const float)
0:? 3.000000 0:? 3.000000
0:? 'uint64_t_to_float32_t' ( const float) 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:? 'bool_to_float64_t' ( const double)
0:? 1.000000 0:? 1.000000
0:? 'int8_t_to_float64_t' ( const double) 0:? 'int8_t_to_float64_t' ( const double)
0:? -1 (const int) 0:? -1.000000
0:? 'int16_t_to_float64_t' ( const double) 0:? 'int16_t_to_float64_t' ( const double)
0:? -2 (const int) 0:? -2.000000
0:? 'int32_t_to_float64_t' ( const double) 0:? 'int32_t_to_float64_t' ( const double)
0:? -3.000000 0:? -3.000000
0:? 'int64_t_to_float64_t' ( const double) 0:? 'int64_t_to_float64_t' ( const double)
0:? -4.000000 0:? -4.000000
0:? 'uint8_t_to_float64_t' ( const double) 0:? 'uint8_t_to_float64_t' ( const double)
0:? 1 (const int) 0:? 1.000000
0:? 'uint16_t_to_float64_t' ( const double) 0:? 'uint16_t_to_float64_t' ( const double)
0:? 2 (const int) 0:? 2.000000
0:? 'uint32_t_to_float64_t' ( const double) 0:? 'uint32_t_to_float64_t' ( const double)
0:? 3.000000 0:? 3.000000
0:? 'uint64_t_to_float64_t' ( const double) 0:? 'uint64_t_to_float64_t' ( const double)
@ -333,17 +333,17 @@ local_size = (1, 1, 1)
0:? 'bool_init' ( const bool) 0:? 'bool_init' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'int8_t_init' ( const int8_t) 0:? 'int8_t_init' ( const int8_t)
0:? -1 (const int) 0:? -1 (const int8_t)
0:? 'int16_t_init' ( const int16_t) 0:? 'int16_t_init' ( const int16_t)
0:? -2 (const int) 0:? -2 (const int16_t)
0:? 'int32_t_init' ( const int) 0:? 'int32_t_init' ( const int)
0:? -3 (const int) 0:? -3 (const int)
0:? 'int64_t_init' ( const int64_t) 0:? 'int64_t_init' ( const int64_t)
0:? -4 (const int64_t) 0:? -4 (const int64_t)
0:? 'uint8_t_init' ( const uint8_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:? 'uint16_t_init' ( const uint16_t)
0:? 2 (const int) 0:? 2 (const uint16_t)
0:? 'uint32_t_init' ( const uint) 0:? 'uint32_t_init' ( const uint)
0:? 3 (const uint) 0:? 3 (const uint)
0:? 'uint64_t_init' ( const uint64_t) 0:? 'uint64_t_init' ( const uint64_t)
@ -357,17 +357,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_bool' ( const bool) 0:? 'bool_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'int8_t_to_bool' ( 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:? 'int16_t_to_bool' ( const bool)
0:? -2 (const int) 0:? true (const bool)
0:? 'int32_t_to_bool' ( const bool) 0:? 'int32_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'int64_t_to_bool' ( const bool) 0:? 'int64_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'uint8_t_to_bool' ( 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:? 'uint16_t_to_bool' ( const bool)
0:? 2 (const int) 0:? true (const bool)
0:? 'uint32_t_to_bool' ( const bool) 0:? 'uint32_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'uint64_t_to_bool' ( 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:? 'float64_t_to_bool' ( const bool)
0:? true (const bool) 0:? true (const bool)
0:? 'bool_to_int8_t' ( const int8_t) 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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? 'float64_t_to_int16_t' ( const int16_t)
0:? -4.000000 0:? -4 (const int16_t)
0:? 'bool_to_int32_t' ( const int) 0:? 'bool_to_int32_t' ( const int)
0:? 1 (const int) 0:? 1 (const int)
0:? 'int8_t_to_int32_t' ( 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:? 'bool_to_int64_t' ( const int64_t)
0:? 1 (const int64_t) 0:? 1 (const int64_t)
0:? 'int8_t_to_int64_t' ( 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:? '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:? 'int32_t_to_int64_t' ( const int64_t)
0:? -3 (const int64_t) 0:? -3 (const int64_t)
0:? 'int64_t_to_int64_t' ( const int64_t) 0:? 'int64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t) 0:? -4 (const int64_t)
0:? 'uint8_t_to_int64_t' ( 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:? '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:? 'uint32_t_to_int64_t' ( const int64_t)
0:? 3 (const int64_t) 0:? 3 (const int64_t)
0:? 'uint64_t_to_int64_t' ( 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:? 'float64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t) 0:? -4 (const int64_t)
0:? 'bool_to_uint8_t' ( const uint8_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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? '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:? 'float64_t_to_uint16_t' ( const uint16_t)
0:? -4.000000 0:? 65532 (const uint16_t)
0:? 'bool_to_uint32_t' ( const uint) 0:? 'bool_to_uint32_t' ( const uint)
0:? 1 (const uint) 0:? 1 (const uint)
0:? 'int8_t_to_uint32_t' ( 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:? 'int16_t_to_uint32_t' ( const uint)
0:? -2 (const int) 0:? 4294967294 (const uint)
0:? 'int32_t_to_uint32_t' ( const uint) 0:? 'int32_t_to_uint32_t' ( const uint)
0:? 4294967293 (const uint) 0:? 4294967293 (const uint)
0:? 'int64_t_to_uint32_t' ( const uint) 0:? 'int64_t_to_uint32_t' ( const uint)
0:? 4294967292 (const uint) 0:? 4294967292 (const uint)
0:? 'uint8_t_to_uint32_t' ( 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:? 'uint16_t_to_uint32_t' ( const uint)
0:? 2 (const int) 0:? 2 (const uint)
0:? 'uint32_t_to_uint32_t' ( const uint) 0:? 'uint32_t_to_uint32_t' ( const uint)
0:? 3 (const uint) 0:? 3 (const uint)
0:? 'uint64_t_to_uint32_t' ( 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:? 'bool_to_uint64_t' ( const uint64_t)
0:? 1 (const uint64_t) 0:? 1 (const uint64_t)
0:? 'int8_t_to_uint64_t' ( 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:? '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:? 'int32_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551613 (const uint64_t) 0:? 18446744073709551613 (const uint64_t)
0:? 'int64_t_to_uint64_t' ( const uint64_t) 0:? 'int64_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551612 (const uint64_t) 0:? 18446744073709551612 (const uint64_t)
0:? 'uint8_t_to_uint64_t' ( 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:? '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:? 'uint32_t_to_uint64_t' ( const uint64_t)
0:? 3 (const uint64_t) 0:? 3 (const uint64_t)
0:? 'uint64_t_to_uint64_t' ( 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:? 'bool_to_float16_t' ( const float16_t)
0:? 1.000000 0:? 1.000000
0:? 'int8_t_to_float16_t' ( const float16_t) 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:? '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:? 'int32_t_to_float16_t' ( const float16_t)
0:? -3.000000 0:? -3.000000
0:? 'int64_t_to_float16_t' ( const float16_t) 0:? 'int64_t_to_float16_t' ( const float16_t)
0:? -4.000000 0:? -4.000000
0:? 'uint8_t_to_float16_t' ( const float16_t) 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:? '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:? 'uint32_t_to_float16_t' ( const float16_t)
0:? 3.000000 0:? 3.000000
0:? 'uint64_t_to_float16_t' ( const float16_t) 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:? 'bool_to_float32_t' ( const float)
0:? 1.000000 0:? 1.000000
0:? 'int8_t_to_float32_t' ( const float) 0:? 'int8_t_to_float32_t' ( const float)
0:? -1 (const int) 0:? -1.000000
0:? 'int16_t_to_float32_t' ( const float) 0:? 'int16_t_to_float32_t' ( const float)
0:? -2 (const int) 0:? -2.000000
0:? 'int32_t_to_float32_t' ( const float) 0:? 'int32_t_to_float32_t' ( const float)
0:? -3.000000 0:? -3.000000
0:? 'int64_t_to_float32_t' ( const float) 0:? 'int64_t_to_float32_t' ( const float)
0:? -4.000000 0:? -4.000000
0:? 'uint8_t_to_float32_t' ( const float) 0:? 'uint8_t_to_float32_t' ( const float)
0:? 1 (const int) 0:? 1.000000
0:? 'uint16_t_to_float32_t' ( const float) 0:? 'uint16_t_to_float32_t' ( const float)
0:? 2 (const int) 0:? 2.000000
0:? 'uint32_t_to_float32_t' ( const float) 0:? 'uint32_t_to_float32_t' ( const float)
0:? 3.000000 0:? 3.000000
0:? 'uint64_t_to_float32_t' ( const float) 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:? 'bool_to_float64_t' ( const double)
0:? 1.000000 0:? 1.000000
0:? 'int8_t_to_float64_t' ( const double) 0:? 'int8_t_to_float64_t' ( const double)
0:? -1 (const int) 0:? -1.000000
0:? 'int16_t_to_float64_t' ( const double) 0:? 'int16_t_to_float64_t' ( const double)
0:? -2 (const int) 0:? -2.000000
0:? 'int32_t_to_float64_t' ( const double) 0:? 'int32_t_to_float64_t' ( const double)
0:? -3.000000 0:? -3.000000
0:? 'int64_t_to_float64_t' ( const double) 0:? 'int64_t_to_float64_t' ( const double)
0:? -4.000000 0:? -4.000000
0:? 'uint8_t_to_float64_t' ( const double) 0:? 'uint8_t_to_float64_t' ( const double)
0:? 1 (const int) 0:? 1.000000
0:? 'uint16_t_to_float64_t' ( const double) 0:? 'uint16_t_to_float64_t' ( const double)
0:? 2 (const int) 0:? 2.000000
0:? 'uint32_t_to_float64_t' ( const double) 0:? 'uint32_t_to_float64_t' ( const double)
0:? 3.000000 0:? 3.000000
0:? 'uint64_t_to_float64_t' ( const double) 0:? 'uint64_t_to_float64_t' ( const double)

View File

@ -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: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: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: 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 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:226 'ballot' ( temp 4-component vector of uint) 0:226 'ballot' ( temp 4-component vector of uint)
0:226 'parti' ( 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:? Linker Objects
0:? 'data' (layout( location=0) out 4-component vector of uint) 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:105 Function Definition: main( ( global void) 0:105 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
invocations = -1 invocations = -1
max_vertices = 1 max_vertices = 1
@ -606,6 +611,20 @@ ERROR: node is still EOpNull!
0:232 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint) 0:232 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:232 'ballot' ( temp 4-component vector of uint) 0:232 'ballot' ( temp 4-component vector of uint)
0:232 'parti' ( 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:? 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:? '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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
invocations = 1 invocations = 1
max_vertices = 1 max_vertices = 1

View File

@ -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: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: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: 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 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
vertices = 1 vertices = 1
ERROR: node is still EOpNull! 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:231 'ballot' ( temp 4-component vector of uint) 0:231 'ballot' ( temp 4-component vector of uint)
0:231 'parti' ( 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:? 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:? '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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
vertices = 1 vertices = 1
ERROR: node is still EOpNull! ERROR: node is still EOpNull!

View File

@ -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: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: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: 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 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
input primitive = isolines input primitive = isolines
vertex spacing = none vertex spacing = none
@ -605,6 +610,20 @@ ERROR: node is still EOpNull!
0:231 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint) 0:231 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:231 'ballot' ( temp 4-component vector of uint) 0:231 'ballot' ( temp 4-component vector of uint)
0:231 'parti' ( 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:? 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:? '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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
input primitive = isolines input primitive = isolines
vertex spacing = equal_spacing vertex spacing = equal_spacing

View File

@ -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: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: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: 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 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint) 0:230 'ballot' ( temp 4-component vector of uint)
0:230 'parti' ( 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:? 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:? '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) 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void) 0:109 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
local_size = (8, 8, 1) local_size = (8, 8, 1)
ERROR: node is still EOpNull! 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:236 'ballot' ( temp 4-component vector of uint) 0:236 'ballot' ( temp 4-component vector of uint)
0:236 'parti' ( 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:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 8 (const uint) 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
Requested GL_KHR_shader_subgroup_shuffle_relative Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
local_size = (8, 8, 1) local_size = (8, 8, 1)
ERROR: node is still EOpNull! ERROR: node is still EOpNull!

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
max_vertices = 81 max_vertices = 81
max_primitives = 32 max_primitives = 32
@ -887,6 +892,20 @@ ERROR: node is still EOpNull!
0:292 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint) 0:292 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:292 'ballot' ( temp 4-component vector of uint) 0:292 'ballot' ( temp 4-component vector of uint)
0:292 'parti' ( 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:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 32 (const uint) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
max_vertices = 81 max_vertices = 81
max_primitives = 32 max_primitives = 32

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:253 'ballot' ( temp 4-component vector of uint) 0:253 'ballot' ( temp 4-component vector of uint)
0:253 'parti' ( 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:? Linker Objects
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:106 Function Definition: main( ( global void) 0:106 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:241 'ballot' ( temp 4-component vector of uint) 0:241 'ballot' ( temp 4-component vector of uint)
0:241 'parti' ( 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:? Linker Objects
0:? 'data0' (layout( location=0) callableDataNV 4-component vector of float) 0:? 'data0' (layout( location=0) callableDataNV 4-component vector of float)
0:? 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1}) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void) 0:109 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:251 'ballot' ( temp 4-component vector of uint) 0:251 'ballot' ( temp 4-component vector of uint)
0:251 'parti' ( 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:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV) 0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:108 Function Definition: main( ( global void) 0:108 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint) 0:245 'ballot' ( temp 4-component vector of uint)
0:245 'parti' ( 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:? Linker Objects
0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV) 0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'accNV1' (layout( set=0 binding=1) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:113 Function Definition: main( ( global void) 0:113 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:251 'ballot' ( temp 4-component vector of uint) 0:251 'ballot' ( temp 4-component vector of uint)
0:251 'parti' ( 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:? Linker Objects
0:? 'iAttr' ( hitAttributeNV 4-component vector of float) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:108 Function Definition: main( ( global void) 0:108 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float) 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint) 0:245 'ballot' ( temp 4-component vector of uint)
0:245 'parti' ( 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:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV) 0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull! ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void) 0:109 Function Definition: main( ( global void)

View File

@ -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: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: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: 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 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1) local_size = (32, 1, 1)
ERROR: node is still EOpNull! 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 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:282 'ballot' ( temp 4-component vector of uint) 0:282 'ballot' ( temp 4-component vector of uint)
0:282 'parti' ( 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:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize) 0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 32 (const uint) 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_shuffle_relative
Requested GL_KHR_shader_subgroup_vote Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1) local_size = (32, 1, 1)
ERROR: node is still EOpNull! ERROR: node is still EOpNull!

View File

@ -1,6 +1,25 @@
glspv.esversion.vert glspv.esversion.vert
ERROR: #version: ES shaders for OpenGL SPIR-V are not supported // Module Version 10000
ERROR: 1 compilation errors. No code generated. // Generated by (magic number): 80007
// Id's are bound by 10
Capability Shader
SPIR-V is not generated for failed compile or link 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

View File

@ -2,12 +2,14 @@ glspv.vert
ERROR: 0:3: 'push_constant' : only allowed when using GLSL for Vulkan 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:6: 'descriptor set' : only allowed when using GLSL for Vulkan
ERROR: 0:8: 'shared' : not allowed when generating SPIR-V 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: '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:13: 'gl_VertexIndex' : undeclared identifier
ERROR: 0:14: 'gl_InstanceIndex' : undeclared identifier ERROR: 0:14: 'gl_InstanceIndex' : undeclared identifier
ERROR: 0:17: 'gl_DepthRangeParameters' : undeclared identifier ERROR: 0:17: 'gl_DepthRangeParameters' : undeclared identifier
ERROR: 0:20: '' : syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON 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 SPIR-V is not generated for failed compile or link

View File

@ -58,8 +58,8 @@ using depth_greater
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 18 EntryPoint Fragment 4 "PixelShaderFunction" 18
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
ExecutionMode 4 DepthReplacing ExecutionMode 4 DepthReplacing
ExecutionMode 4 DepthGreater
Source HLSL 500 Source HLSL 500
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 10 "@PixelShaderFunction(f1;" Name 10 "@PixelShaderFunction(f1;"

View File

@ -50,8 +50,8 @@ using depth_less
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 14 EntryPoint Fragment 4 "PixelShaderFunction" 14
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthLess
ExecutionMode 4 DepthReplacing ExecutionMode 4 DepthReplacing
ExecutionMode 4 DepthLess
Source HLSL 500 Source HLSL 500
Name 4 "PixelShaderFunction" Name 4 "PixelShaderFunction"
Name 8 "@PixelShaderFunction(" Name 8 "@PixelShaderFunction("

View 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

View File

@ -170,8 +170,8 @@ using depth_greater
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 22 27 31 36 45 48 51 55 EntryPoint Fragment 4 "main" 22 27 31 36 45 48 51 55
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
ExecutionMode 4 DepthReplacing ExecutionMode 4 DepthReplacing
ExecutionMode 4 DepthGreater
Source HLSL 500 Source HLSL 500
Name 4 "main" Name 4 "main"
Name 8 "T" Name 8 "T"

View File

@ -135,7 +135,6 @@ local_size = (256, 1, 1)
0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer) 0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer)
0:? 'dispatchId' ( in 3-component vector of uint GlobalInvocationID) 0:? 'dispatchId' ( in 3-component vector of uint GlobalInvocationID)
Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 63 // Id's are bound by 63

View File

@ -42,8 +42,8 @@ gl_FragCoord origin is upper left
0:? 'b' ( global 5-element array of highp int) 0:? 'b' ( global 5-element array of highp int)
0:? 'c' ( global unsized 4-element array of highp int) 0:? 'c' ( global unsized 4-element array of highp int)
0:? 'i' ( global 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@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( column_major std430) buffer block{layout( column_major std430) buffer unsized 1-element array of highp float m}) 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 link2.vk.frag
Shader version: 450 Shader version: 450
@ -99,8 +99,8 @@ gl_FragCoord origin is upper left
0:? 'b' ( global unsized 3-element array of highp int) 0:? 'b' ( global unsized 3-element array of highp int)
0:? 'c' ( global 7-element array of highp int) 0:? 'c' ( global 7-element array of highp int)
0:? 'i' ( global 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@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( column_major std430) buffer block{layout( column_major std430) buffer 4-element array of highp float m}) 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: Linked fragment stage:
@ -192,8 +192,8 @@ gl_FragCoord origin is upper left
0:? 'b' ( global 5-element array of highp int) 0:? 'b' ( global 5-element array of highp int)
0:? 'c' ( global 7-element array of highp int) 0:? 'c' ( global 7-element array of highp int)
0:? 'i' ( global 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@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( column_major std430) buffer block{layout( column_major std430) buffer 4-element array of highp float m}) 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) 0:? 's2D' (layout( binding=1) uniform highp sampler2D)
// Module Version 10000 // Module Version 10000
@ -233,7 +233,7 @@ gl_FragCoord origin is upper left
MemberDecorate 67(bnameImplicit) 0 Offset 0 MemberDecorate 67(bnameImplicit) 0 Offset 0
Decorate 67(bnameImplicit) BufferBlock Decorate 67(bnameImplicit) BufferBlock
Decorate 69 DescriptorSet 0 Decorate 69 DescriptorSet 0
Decorate 69 Binding 0 Decorate 69 Binding 1
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32

View File

@ -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].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.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 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: Buffer block reflection:
VertexCollection: offset -1, type ffffffff, size 400, index -1, binding -1, stages 1, numMembers 7 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 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: Pipeline input reflection:
gl_InstanceID: offset 0, type 1404, size 1, index 0, binding -1, stages 1 gl_InstanceID: offset 0, type 1404, size 1, index 0, binding -1, stages 1

1
Test/baseResults/size Normal file
View File

@ -0,0 +1 @@
388096 ../build/install/bin/glslangValidator.exe

View File

@ -307,7 +307,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float) 0:? 'c' ( in 4-component vector of float)
0:? 'd' ( 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:? '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:? '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:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D) 0:? 'img1' (layout( rgba32f) uniform image2D)
@ -590,7 +590,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float) 0:? 'c' ( in 4-component vector of float)
0:? 'd' ( 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:? '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:? '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:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D) 0:? 'img1' (layout( rgba32f) uniform image2D)

View File

@ -308,7 +308,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float) 0:? 'c' ( in 4-component vector of float)
0:? 'd' ( 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:? '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:? '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:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D) 0:? 'img1' (layout( rgba32f) uniform image2D)
@ -591,7 +591,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float) 0:? 'c' ( in 4-component vector of float)
0:? 'd' ( 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:? '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:? '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:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D) 0:? 'img1' (layout( rgba32f) uniform image2D)

View 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

View File

@ -1,7 +1,7 @@
spv.16bitstorage-int.frag spv.16bitstorage-int.frag
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 172 // Id's are bound by 171
Capability Shader Capability Shader
Capability StorageUniformBufferBlock16 Capability StorageUniformBufferBlock16
@ -209,10 +209,7 @@ spv.16bitstorage-int.frag
114: 20(int) Constant 7 114: 20(int) Constant 7
115: 20(int) Constant 6 115: 20(int) Constant 6
116: TypePointer Uniform 20(int) 116: TypePointer Uniform 20(int)
166: 6(int16_t) Constant 1 166: 39(ivec2) ConstantComposite 32 33
167: 6(int16_t) Constant 2
168: 7(i16vec2) ConstantComposite 166 167
170: 6(int16_t) Constant 3
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
69(x0): 68(ptr) Variable Function 69(x0): 68(ptr) Variable Function
@ -332,9 +329,11 @@ spv.16bitstorage-int.frag
164: 6(int16_t) Load 163 164: 6(int16_t) Load 163
165: 28(ptr) AccessChain 19(b2) 21 165: 28(ptr) AccessChain 19(b2) 21
Store 165 164 Store 165 164
169: 42(ptr) AccessChain 19(b2) 32 167: 7(i16vec2) SConvert 166
Store 169 168 168: 42(ptr) AccessChain 19(b2) 32
171: 28(ptr) AccessChain 19(b2) 21 Store 168 167
Store 171 170 169: 6(int16_t) SConvert 58
170: 28(ptr) AccessChain 19(b2) 21
Store 170 169
Return Return
FunctionEnd FunctionEnd

View File

@ -210,10 +210,8 @@ spv.16bitstorage-uint.frag
115: 20(int) Constant 7 115: 20(int) Constant 7
116: 20(int) Constant 6 116: 20(int) Constant 6
117: TypePointer Uniform 9(int) 117: TypePointer Uniform 9(int)
167: 6(int16_t) Constant 1 167: 39(ivec2) ConstantComposite 82 10
168: 6(int16_t) Constant 2 170: 9(int) Constant 3
169: 7(i16vec2) ConstantComposite 167 168
171: 6(int16_t) Constant 3
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
69(x0): 68(ptr) Variable Function 69(x0): 68(ptr) Variable Function
@ -333,8 +331,10 @@ spv.16bitstorage-uint.frag
165: 6(int16_t) Load 164 165: 6(int16_t) Load 164
166: 28(ptr) AccessChain 19(b2) 21 166: 28(ptr) AccessChain 19(b2) 21
Store 166 165 Store 166 165
170: 42(ptr) AccessChain 19(b2) 32 168: 7(i16vec2) UConvert 167
Store 170 169 169: 42(ptr) AccessChain 19(b2) 32
Store 169 168
171: 6(int16_t) UConvert 170
172: 28(ptr) AccessChain 19(b2) 21 172: 28(ptr) AccessChain 19(b2) 21
Store 172 171 Store 172 171
Return Return

View File

@ -1,7 +1,7 @@
spv.16bitstorage.frag spv.16bitstorage.frag
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 172 // Id's are bound by 173
Capability Shader Capability Shader
Capability StorageUniformBufferBlock16 Capability StorageUniformBufferBlock16
@ -209,10 +209,9 @@ spv.16bitstorage.frag
114: 20(int) Constant 7 114: 20(int) Constant 7
115: 20(int) Constant 6 115: 20(int) Constant 6
116: TypePointer Uniform 20(int) 116: TypePointer Uniform 20(int)
166:6(float16_t) Constant 15360 166: 37(float) Constant 1073741824
167:6(float16_t) Constant 16384 167: 40(fvec2) ConstantComposite 83 166
168: 7(f16vec2) ConstantComposite 166 167 170: 37(float) Constant 1077936128
170:6(float16_t) Constant 16896
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
70(x0): 69(ptr) Variable Function 70(x0): 69(ptr) Variable Function
@ -332,9 +331,11 @@ spv.16bitstorage.frag
164:6(float16_t) Load 163 164:6(float16_t) Load 163
165: 28(ptr) AccessChain 19(b2) 21 165: 28(ptr) AccessChain 19(b2) 21
Store 165 164 Store 165 164
168: 7(f16vec2) FConvert 167
169: 43(ptr) AccessChain 19(b2) 32 169: 43(ptr) AccessChain 19(b2) 32
Store 169 168 Store 169 168
171: 28(ptr) AccessChain 19(b2) 21 171:6(float16_t) FConvert 170
Store 171 170 172: 28(ptr) AccessChain 19(b2) 21
Store 172 171
Return Return
FunctionEnd FunctionEnd

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
spv.8bitstorage-int.frag spv.8bitstorage-int.frag
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 172 // Id's are bound by 171
Capability Shader Capability Shader
Capability UniformAndStorageBuffer8BitAccess Capability UniformAndStorageBuffer8BitAccess
@ -208,10 +208,7 @@ spv.8bitstorage-int.frag
114: 20(int) Constant 7 114: 20(int) Constant 7
115: 20(int) Constant 6 115: 20(int) Constant 6
116: TypePointer Uniform 20(int) 116: TypePointer Uniform 20(int)
166: 6(int8_t) Constant 1 166: 39(ivec2) ConstantComposite 32 33
167: 6(int8_t) Constant 2
168: 7(i8vec2) ConstantComposite 166 167
170: 6(int8_t) Constant 3
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
69(x0): 68(ptr) Variable Function 69(x0): 68(ptr) Variable Function
@ -331,9 +328,11 @@ spv.8bitstorage-int.frag
164: 6(int8_t) Load 163 164: 6(int8_t) Load 163
165: 28(ptr) AccessChain 19(b2) 21 165: 28(ptr) AccessChain 19(b2) 21
Store 165 164 Store 165 164
169: 42(ptr) AccessChain 19(b2) 32 167: 7(i8vec2) SConvert 166
Store 169 168 168: 42(ptr) AccessChain 19(b2) 32
171: 28(ptr) AccessChain 19(b2) 21 Store 168 167
Store 171 170 169: 6(int8_t) SConvert 58
170: 28(ptr) AccessChain 19(b2) 21
Store 170 169
Return Return
FunctionEnd FunctionEnd

View File

@ -209,10 +209,8 @@ spv.8bitstorage-uint.frag
115: 20(int) Constant 7 115: 20(int) Constant 7
116: 20(int) Constant 6 116: 20(int) Constant 6
117: TypePointer Uniform 9(int) 117: TypePointer Uniform 9(int)
167: 6(int8_t) Constant 1 167: 39(ivec2) ConstantComposite 82 10
168: 6(int8_t) Constant 2 170: 9(int) Constant 3
169: 7(i8vec2) ConstantComposite 167 168
171: 6(int8_t) Constant 3
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
69(x0): 68(ptr) Variable Function 69(x0): 68(ptr) Variable Function
@ -332,8 +330,10 @@ spv.8bitstorage-uint.frag
165: 6(int8_t) Load 164 165: 6(int8_t) Load 164
166: 28(ptr) AccessChain 19(b2) 21 166: 28(ptr) AccessChain 19(b2) 21
Store 166 165 Store 166 165
170: 42(ptr) AccessChain 19(b2) 32 168: 7(i8vec2) UConvert 167
Store 170 169 169: 42(ptr) AccessChain 19(b2) 32
Store 169 168
171: 6(int8_t) UConvert 170
172: 28(ptr) AccessChain 19(b2) 21 172: 28(ptr) AccessChain 19(b2) 21
Store 172 171 Store 172 171
Return Return

View File

@ -4,7 +4,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 60 // Id's are bound by 61
Capability Shader Capability Shader
Capability StorageBuffer8BitAccess Capability StorageBuffer8BitAccess
@ -68,7 +68,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
50: 49(ptr) Variable StorageBuffer 50: 49(ptr) Variable StorageBuffer
51: TypePointer StorageBuffer 6(int) 51: TypePointer StorageBuffer 6(int)
54: 31(int) Constant 1 54: 31(int) Constant 1
58: 27(int8_t) Constant 9 58: 6(int) Constant 9
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
20(allOk): 19(ptr) Variable Function 20(allOk): 19(ptr) Variable Function
@ -103,8 +103,9 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
47: Label 47: Label
56: 33(ptr) AccessChain 30 32 56: 33(ptr) AccessChain 30 32
57: 25(ptr) Load 56 57: 25(ptr) Load 56
59: 36(ptr) AccessChain 57 32 59: 27(int8_t) UConvert 58
Store 59 58 Aligned 16 60: 36(ptr) AccessChain 57 32
Store 60 59 Aligned 16
Return Return
FunctionEnd FunctionEnd
12(compare_uint8_t(u1;u1;): 8(bool) Function None 9 12(compare_uint8_t(u1;u1;): 8(bool) Function None 9

View 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

View 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

View 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

View File

@ -282,7 +282,7 @@ spv.coopmat.comp
101: 100(ptr) AccessChain 91(block16) 99 101: 100(ptr) AccessChain 91(block16) 99
102: 85(ptr) Load 101 MakePointerVisibleKHR NonPrivatePointerKHR 71 102: 85(ptr) Load 101 MakePointerVisibleKHR NonPrivatePointerKHR 71
104: 103(ptr) AccessChain 102 58 31 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 Store 98(tempArg) 105
106: 32 Load 98(tempArg) 106: 32 Load 98(tempArg)
Store 34(m) 106 Store 34(m) 106
@ -290,7 +290,7 @@ spv.coopmat.comp
108: 100(ptr) AccessChain 91(block16) 99 108: 100(ptr) AccessChain 91(block16) 99
109: 85(ptr) Load 108 MakePointerVisibleKHR NonPrivatePointerKHR 71 109: 85(ptr) Load 108 MakePointerVisibleKHR NonPrivatePointerKHR 71
110: 103(ptr) AccessChain 109 58 31 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) 113: 50 Load 112(A)
115: 10 Load 114(B) 115: 10 Load 114(B)
117: 32 Load 116(C) 117: 32 Load 116(C)

View File

@ -81,6 +81,7 @@ void main()
Name 97 "i" Name 97 "i"
ModuleProcessed "no-storage-format" ModuleProcessed "no-storage-format"
ModuleProcessed "resource-set-binding 3" ModuleProcessed "resource-set-binding 3"
ModuleProcessed "auto-map-bindings"
ModuleProcessed "auto-map-locations" ModuleProcessed "auto-map-locations"
ModuleProcessed "client opengl100" ModuleProcessed "client opengl100"
ModuleProcessed "target-env spirv1.3" ModuleProcessed "target-env spirv1.3"
@ -99,7 +100,7 @@ void main()
Decorate 56 Binding 0 Decorate 56 Binding 0
Decorate 67(s2d) Location 0 Decorate 67(s2d) Location 0
Decorate 67(s2d) DescriptorSet 3 Decorate 67(s2d) DescriptorSet 3
Decorate 67(s2d) Binding 0 Decorate 67(s2d) Binding 1
3: TypeVoid 3: TypeVoid
4: TypeFunction 3 4: TypeFunction 3
7: TypeInt 32 1 7: TypeInt 32 1

View 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

View File

@ -8,8 +8,8 @@ spv.depthOut.frag
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 8 10 14 EntryPoint Fragment 4 "main" 8 10 14
ExecutionMode 4 OriginUpperLeft ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
ExecutionMode 4 DepthReplacing ExecutionMode 4 DepthReplacing
ExecutionMode 4 DepthGreater
Source GLSL 450 Source GLSL 450
Name 4 "main" Name 4 "main"
Name 8 "gl_FragDepth" Name 8 "gl_FragDepth"

View 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

View File

@ -15,12 +15,12 @@ spv.hlslDebugInfo.vert
// OpModuleProcessed shift-UBO-binding 6 // OpModuleProcessed shift-UBO-binding 6
// OpModuleProcessed shift-ssbo-binding 3 // OpModuleProcessed shift-ssbo-binding 3
// OpModuleProcessed shift-uav-binding 5 // OpModuleProcessed shift-uav-binding 5
// OpModuleProcessed flatten-uniform-arrays
// OpModuleProcessed no-storage-format // OpModuleProcessed no-storage-format
// OpModuleProcessed resource-set-binding t0 0 0 // OpModuleProcessed resource-set-binding t0 0 0
// OpModuleProcessed hlsl-iomap
// OpModuleProcessed auto-map-bindings // OpModuleProcessed auto-map-bindings
// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-locations
// OpModuleProcessed flatten-uniform-arrays
// OpModuleProcessed hlsl-iomap
// OpModuleProcessed client vulkan100 // OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0 // OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed source-entrypoint origMain // OpModuleProcessed source-entrypoint origMain

View File

@ -4,7 +4,7 @@ Shader version: 450
0:27 Function Definition: main( ( global void) 0:27 Function Definition: main( ( global void)
0:27 Function Parameters: 0:27 Function Parameters:
0:? Linker Objects 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: Linked vertex stage:
@ -15,7 +15,7 @@ Shader version: 450
0:27 Function Definition: main( ( global void) 0:27 Function Definition: main( ( global void)
0:27 Function Parameters: 0:27 Function Parameters:
0:? Linker Objects 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 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007

View 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

View File

@ -1,7 +1,7 @@
spv.memoryScopeSemantics.comp spv.memoryScopeSemantics.comp
// Module Version 10300 // Module Version 10300
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 148 // Id's are bound by 163
Capability Shader Capability Shader
Capability Int64 Capability Int64
@ -23,59 +23,66 @@ spv.memoryScopeSemantics.comp
Name 23 "atomu" Name 23 "atomu"
Name 24 "value" Name 24 "value"
Name 36 "imagei" Name 36 "imagei"
Name 45 "imageu" Name 46 "imageu"
Name 65 "BufferU" Name 66 "BufferU"
MemberName 65(BufferU) 0 "x" MemberName 66(BufferU) 0 "x"
Name 67 "bufferu" Name 68 "bufferu"
Name 72 "y" Name 73 "y"
Name 77 "BufferI" Name 78 "BufferI"
MemberName 77(BufferI) 0 "x" MemberName 78(BufferI) 0 "x"
Name 79 "bufferi" Name 80 "bufferi"
Name 83 "A" Name 84 "A"
MemberName 83(A) 0 "x" MemberName 84(A) 0 "x"
Name 84 "BufferJ" Name 85 "BufferJ"
MemberName 84(BufferJ) 0 "a" MemberName 85(BufferJ) 0 "a"
Name 87 "bufferj" Name 88 "bufferj"
Name 98 "BufferK" Name 99 "BufferK"
MemberName 98(BufferK) 0 "x" MemberName 99(BufferK) 0 "x"
Name 100 "bufferk" Name 101 "bufferk"
Name 110 "imagej" Name 111 "imagej"
Name 122 "samp" Name 123 "samp"
Name 133 "atomu64" Name 134 "atomu64"
Name 138 "atomi64" Name 139 "atomi64"
Name 143 "BufferL" Name 144 "BufferL"
MemberName 143(BufferL) 0 "x" MemberName 144(BufferL) 0 "x"
Name 145 "bufferl" Name 146 "bufferl"
Name 151 "BufferM"
MemberName 151(BufferM) 0 "x"
Name 153 "bufferm"
Decorate 36(imagei) DescriptorSet 0 Decorate 36(imagei) DescriptorSet 0
Decorate 36(imagei) Binding 1 Decorate 36(imagei) Binding 1
Decorate 45(imageu) DescriptorSet 0 Decorate 46(imageu) DescriptorSet 0
Decorate 45(imageu) Binding 0 Decorate 46(imageu) Binding 0
MemberDecorate 65(BufferU) 0 Offset 0 MemberDecorate 66(BufferU) 0 Offset 0
Decorate 65(BufferU) Block Decorate 66(BufferU) Block
Decorate 67(bufferu) DescriptorSet 0 Decorate 68(bufferu) DescriptorSet 0
Decorate 67(bufferu) Binding 2 Decorate 68(bufferu) Binding 2
MemberDecorate 77(BufferI) 0 Offset 0 MemberDecorate 78(BufferI) 0 Offset 0
Decorate 77(BufferI) Block Decorate 78(BufferI) Block
Decorate 79(bufferi) DescriptorSet 0 Decorate 80(bufferi) DescriptorSet 0
Decorate 79(bufferi) Binding 3 Decorate 80(bufferi) Binding 3
Decorate 82 ArrayStride 4 Decorate 83 ArrayStride 4
MemberDecorate 83(A) 0 Offset 0 MemberDecorate 84(A) 0 Offset 0
MemberDecorate 84(BufferJ) 0 Offset 0 MemberDecorate 85(BufferJ) 0 Offset 0
Decorate 84(BufferJ) Block Decorate 85(BufferJ) Block
Decorate 87(bufferj) DescriptorSet 0 Decorate 88(bufferj) DescriptorSet 0
Decorate 87(bufferj) Binding 4 Decorate 88(bufferj) Binding 4
MemberDecorate 98(BufferK) 0 Offset 0 MemberDecorate 99(BufferK) 0 Offset 0
Decorate 98(BufferK) Block Decorate 99(BufferK) Block
Decorate 100(bufferk) DescriptorSet 0 Decorate 101(bufferk) DescriptorSet 0
Decorate 100(bufferk) Binding 7 Decorate 101(bufferk) Binding 7
Decorate 110(imagej) DescriptorSet 0 Decorate 111(imagej) DescriptorSet 0
Decorate 110(imagej) Binding 5 Decorate 111(imagej) Binding 5
Decorate 122(samp) DescriptorSet 0 Decorate 123(samp) DescriptorSet 0
Decorate 122(samp) Binding 6 Decorate 123(samp) Binding 6
MemberDecorate 143(BufferL) 0 Offset 0 MemberDecorate 144(BufferL) 0 Offset 0
Decorate 143(BufferL) Block Decorate 144(BufferL) Block
Decorate 145(bufferl) DescriptorSet 0 Decorate 146(bufferl) DescriptorSet 0
Decorate 145(bufferl) Binding 8 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
@ -106,67 +113,72 @@ spv.memoryScopeSemantics.comp
38: 6(int) Constant 0 38: 6(int) Constant 0
39: 37(ivec2) ConstantComposite 38 38 39: 37(ivec2) ConstantComposite 38 38
40: TypePointer Image 6(int) 40: TypePointer Image 6(int)
43: TypeImage 15(int) 2D nonsampled format:R32ui 42: 15(int) Constant 32768
44: TypePointer UniformConstant 43 44: TypeImage 15(int) 2D nonsampled format:R32ui
45(imageu): 44(ptr) Variable UniformConstant 45: TypePointer UniformConstant 44
46: 15(int) Constant 3 46(imageu): 45(ptr) Variable UniformConstant
47: TypePointer Image 15(int) 47: 15(int) Constant 3
50: 15(int) Constant 4 48: TypePointer Image 15(int)
52: 15(int) Constant 7 51: 15(int) Constant 4
57: 6(int) Constant 7 53: 15(int) Constant 7
61: 15(int) Constant 10 58: 6(int) Constant 7
63: 15(int) Constant 322 62: 15(int) Constant 10
65(BufferU): TypeStruct 15(int) 64: 15(int) Constant 322
66: TypePointer StorageBuffer 65(BufferU) 66(BufferU): TypeStruct 15(int)
67(bufferu): 66(ptr) Variable StorageBuffer 67: TypePointer StorageBuffer 66(BufferU)
68: TypePointer StorageBuffer 15(int) 68(bufferu): 67(ptr) Variable StorageBuffer
70: 15(int) Constant 1 69: TypePointer StorageBuffer 15(int)
77(BufferI): TypeStruct 15(int) 71: 15(int) Constant 1
78: TypePointer StorageBuffer 77(BufferI) 78(BufferI): TypeStruct 15(int)
79(bufferi): 78(ptr) Variable StorageBuffer 79: TypePointer StorageBuffer 78(BufferI)
82: TypeArray 15(int) 26 80(bufferi): 79(ptr) Variable StorageBuffer
83(A): TypeStruct 82 83: TypeArray 15(int) 26
84(BufferJ): TypeStruct 83(A) 84(A): TypeStruct 83
85: TypeArray 84(BufferJ) 26 85(BufferJ): TypeStruct 84(A)
86: TypePointer StorageBuffer 85 86: TypeArray 85(BufferJ) 26
87(bufferj): 86(ptr) Variable StorageBuffer 87: TypePointer StorageBuffer 86
94: TypePointer StorageBuffer 83(A) 88(bufferj): 87(ptr) Variable StorageBuffer
98(BufferK): TypeStruct 15(int) 95: TypePointer StorageBuffer 84(A)
99: TypePointer Uniform 98(BufferK) 99(BufferK): TypeStruct 15(int)
100(bufferk): 99(ptr) Variable Uniform 100: TypePointer Uniform 99(BufferK)
101: TypePointer Uniform 15(int) 101(bufferk): 100(ptr) Variable Uniform
106: TypeVector 6(int) 4 102: TypePointer Uniform 15(int)
108: TypeArray 34 26 107: TypeVector 6(int) 4
109: TypePointer UniformConstant 108 109: TypeArray 34 26
110(imagej): 109(ptr) Variable UniformConstant 110: TypePointer UniformConstant 109
116: 106(ivec4) ConstantComposite 38 38 38 38 111(imagej): 110(ptr) Variable UniformConstant
117: TypeFloat 32 117: 107(ivec4) ConstantComposite 38 38 38 38
118: TypeImage 117(float) 2D sampled format:Unknown 118: TypeFloat 32
119: TypeSampledImage 118 119: TypeImage 118(float) 2D sampled format:Unknown
120: TypeArray 119 26 120: TypeSampledImage 119
121: TypePointer UniformConstant 120 121: TypeArray 120 26
122(samp): 121(ptr) Variable UniformConstant 122: TypePointer UniformConstant 121
123: TypePointer UniformConstant 119 123(samp): 122(ptr) Variable UniformConstant
126: TypeVector 117(float) 2 124: TypePointer UniformConstant 120
127: 117(float) Constant 0 127: TypeVector 118(float) 2
128: 126(fvec2) ConstantComposite 127 127 128: 118(float) Constant 0
129: TypeVector 117(float) 4 129: 127(fvec2) ConstantComposite 128 128
131: TypeInt 64 0 130: TypeVector 118(float) 4
132: TypePointer Workgroup 131(int64_t) 132: TypeInt 64 0
133(atomu64): 132(ptr) Variable Workgroup 133: TypePointer Workgroup 132(int64_t)
134:131(int64_t) Constant 7 0 134(atomu64): 133(ptr) Variable Workgroup
136: TypeInt 64 1 135:132(int64_t) Constant 7 0
137: TypePointer Workgroup 136(int64_t) 137: TypeInt 64 1
138(atomi64): 137(ptr) Variable Workgroup 138: TypePointer Workgroup 137(int64_t)
139:136(int64_t) Constant 10 0 139(atomi64): 138(ptr) Variable Workgroup
143(BufferL): TypeStruct 15(int) 140:137(int64_t) Constant 10 0
144: TypePointer StorageBuffer 143(BufferL) 144(BufferL): TypeStruct 15(int)
145(bufferl): 144(ptr) Variable StorageBuffer 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 4(main): 2 Function None 3
5: Label 5: Label
8(origi): 7(ptr) Variable Function 8(origi): 7(ptr) Variable Function
21(origu): 20(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 19: 6(int) AtomicIAdd 10(atomi) 12 18 11
Store 8(origi) 19 Store 8(origi) 19
25: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26 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 32: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
AtomicStore 23(atomu) 12 33 32 AtomicStore 23(atomu) 12 33 32
41: 40(ptr) ImageTexelPointer 36(imagei) 39 17 41: 40(ptr) ImageTexelPointer 36(imagei) 39 17
42: 6(int) AtomicLoad 41 12 30 43: 6(int) AtomicLoad 41 12 30
Store 8(origi) 42 Store 8(origi) 43
48: 47(ptr) ImageTexelPointer 45(imageu) 39 17 49: 48(ptr) ImageTexelPointer 46(imageu) 39 17
49: 15(int) AtomicIAdd 48 12 30 46 50: 15(int) AtomicIAdd 49 12 30 47
Store 21(origu) 49 Store 21(origu) 50
51: 47(ptr) ImageTexelPointer 45(imageu) 39 17 52: 48(ptr) ImageTexelPointer 46(imageu) 39 17
AtomicStore 51 12 33 50 AtomicStore 52 12 33 51
53: 15(int) AtomicOr 23(atomu) 12 17 52 54: 15(int) AtomicOr 23(atomu) 12 17 53
Store 21(origu) 53
54: 15(int) AtomicXor 23(atomu) 12 17 52
Store 21(origu) 54 Store 21(origu) 54
55: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26 55: 15(int) AtomicXor 23(atomu) 12 17 53
56: 15(int) AtomicUMin 23(atomu) 12 17 55 Store 21(origu) 55
Store 21(origu) 56 56: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
58: 6(int) AtomicSMax 10(atomi) 12 17 57 57: 15(int) AtomicUMin 23(atomu) 12 17 56
Store 8(origi) 58 Store 21(origu) 57
59: 6(int) Load 8(origi) 59: 6(int) AtomicSMax 10(atomi) 12 17 58
60: 6(int) AtomicExchange 10(atomi) 12 17 59 Store 8(origi) 59
Store 8(origi) 60 60: 6(int) Load 8(origi)
62: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26 61: 6(int) AtomicExchange 10(atomi) 12 17 60
64: 15(int) AtomicCompareExchange 23(atomu) 12 63 63 62 61 Store 8(origi) 61
Store 21(origu) 64 63: 15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
69: 68(ptr) AccessChain 67(bufferu) 38 65: 15(int) AtomicCompareExchange 23(atomu) 12 64 64 63 62
71: 15(int) AtomicIAdd 69 12 18 70 Store 21(origu) 65
70: 69(ptr) AccessChain 68(bufferu) 38
72: 15(int) AtomicIAdd 70 12 18 71
MemoryBarrier 26 18 MemoryBarrier 26 18
ControlBarrier 26 26 63 ControlBarrier 26 26 64
ControlBarrier 26 26 17 ControlBarrier 26 26 17
73: 68(ptr) AccessChain 67(bufferu) 38 74: 69(ptr) AccessChain 68(bufferu) 38
74: 15(int) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26 75: 15(int) Load 74 MakePointerVisibleKHR NonPrivatePointerKHR 26
Store 72(y) 74 Store 73(y) 75
75: 15(int) Load 72(y) 76: 15(int) Load 73(y)
76: 68(ptr) AccessChain 67(bufferu) 38 77: 69(ptr) AccessChain 68(bufferu) 38
Store 76 75 MakePointerAvailableKHR NonPrivatePointerKHR 26 Store 77 76 MakePointerAvailableKHR NonPrivatePointerKHR 26
80: 68(ptr) AccessChain 79(bufferi) 38 81: 69(ptr) AccessChain 80(bufferi) 38
81: 15(int) Load 80 MakePointerVisibleKHR NonPrivatePointerKHR 16 82: 15(int) Load 81 MakePointerVisibleKHR NonPrivatePointerKHR 16
Store 72(y) 81 Store 73(y) 82
88: 68(ptr) AccessChain 87(bufferj) 38 38 38 12 89: 69(ptr) AccessChain 88(bufferj) 38 38 38 12
89: 15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16 90: 15(int) Load 89 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
Store 72(y) 89 Store 73(y) 90
90: 15(int) Load 72(y) 91: 15(int) Load 73(y)
91: 68(ptr) AccessChain 79(bufferi) 38 92: 69(ptr) AccessChain 80(bufferi) 38
Store 91 90 MakePointerAvailableKHR NonPrivatePointerKHR 16 Store 92 91 MakePointerAvailableKHR NonPrivatePointerKHR 16
92: 15(int) Load 72(y) 93: 15(int) Load 73(y)
93: 68(ptr) AccessChain 87(bufferj) 38 38 38 12 94: 69(ptr) AccessChain 88(bufferj) 38 38 38 12
Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16 Store 94 93 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
95: 94(ptr) AccessChain 87(bufferj) 12 38 96: 95(ptr) AccessChain 88(bufferj) 12 38
96: 83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16 97: 84(A) Load 96 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
97: 94(ptr) AccessChain 87(bufferj) 38 38 98: 95(ptr) AccessChain 88(bufferj) 38 38
Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16 Store 98 97 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
102: 101(ptr) AccessChain 100(bufferk) 38 103: 102(ptr) AccessChain 101(bufferk) 38
103: 15(int) Load 102 NonPrivatePointerKHR 104: 15(int) Load 103 NonPrivatePointerKHR
104: 68(ptr) AccessChain 79(bufferi) 38 105: 69(ptr) AccessChain 80(bufferi) 38
Store 104 103 MakePointerAvailableKHR NonPrivatePointerKHR 16 Store 105 104 MakePointerAvailableKHR NonPrivatePointerKHR 16
105: 34 Load 36(imagei) 106: 34 Load 36(imagei)
107: 106(ivec4) ImageRead 105 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16 108: 107(ivec4) ImageRead 106 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
111: 35(ptr) AccessChain 110(imagej) 38 112: 35(ptr) AccessChain 111(imagej) 38
112: 34 Load 111 113: 34 Load 112
113: 106(ivec4) ImageRead 112 39 NonPrivateTexelKHR 114: 107(ivec4) ImageRead 113 39 NonPrivateTexelKHR
114: 35(ptr) AccessChain 110(imagej) 12 115: 35(ptr) AccessChain 111(imagej) 12
115: 34 Load 114 116: 34 Load 115
ImageWrite 115 39 116 NonPrivateTexelKHR ImageWrite 116 39 117 NonPrivateTexelKHR
124: 123(ptr) AccessChain 122(samp) 38 125: 124(ptr) AccessChain 123(samp) 38
125: 119 Load 124 126: 120 Load 125
130: 129(fvec4) ImageSampleExplicitLod 125 128 Lod NonPrivateTexelKHR 127 131: 130(fvec4) ImageSampleExplicitLod 126 129 Lod NonPrivateTexelKHR 128
135:131(int64_t) AtomicUMax 133(atomu64) 12 17 134 136:132(int64_t) AtomicUMax 134(atomu64) 12 17 135
Store 133(atomu64) 135 MakePointerAvailableKHR NonPrivatePointerKHR 26 Store 134(atomu64) 136 MakePointerAvailableKHR NonPrivatePointerKHR 26
140:131(int64_t) Load 133(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26 141:132(int64_t) Load 134(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
141:136(int64_t) Bitcast 140 142:137(int64_t) Bitcast 141
142:136(int64_t) AtomicCompareExchange 138(atomi64) 12 63 63 141 139 143:137(int64_t) AtomicCompareExchange 139(atomi64) 12 64 64 142 140
146: 68(ptr) AccessChain 145(bufferl) 38 147: 69(ptr) AccessChain 146(bufferl) 38
147: 15(int) Load 146 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16 148: 15(int) Load 147 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
Store 72(y) 147 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 Return
FunctionEnd FunctionEnd

View File

@ -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: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:25: 'memoryBarrier' : gl_SemanticsMakeVisible requires gl_SemanticsAcquire or gl_SemanticsAcquireRelease
ERROR: 0:26: 'memoryBarrier' : gl_SemanticsMakeAvailable requires gl_SemanticsRelease 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 SPIR-V is not generated for failed compile or link

View File

@ -1,13 +1,13 @@
spv.meshShaderPerViewUserDefined.mesh spv.meshShaderPerViewUserDefined.mesh
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 90 // Id's are bound by 108
Capability MeshShadingNV Capability MeshShadingNV
Extension "SPV_NV_mesh_shader" Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 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 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81 ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32 ExecutionMode 4 OutputPrimitivesNV 32
@ -32,6 +32,14 @@ spv.meshShaderPerViewUserDefined.mesh
MemberName 64(perviewBlock) 2 "color7" MemberName 64(perviewBlock) 2 "color7"
MemberName 64(perviewBlock) 3 "color8" MemberName 64(perviewBlock) 3 "color8"
Name 67 "b2" 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 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
@ -50,6 +58,26 @@ spv.meshShaderPerViewUserDefined.mesh
Decorate 64(perviewBlock) Block Decorate 64(perviewBlock) Block
Decorate 67(b2) Location 10 Decorate 67(b2) Location 10
Decorate 89 BuiltIn WorkgroupSize 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 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -106,6 +134,24 @@ spv.meshShaderPerViewUserDefined.mesh
86: 27(fvec4) ConstantComposite 85 85 85 85 86: 27(fvec4) ConstantComposite 85 85 85 85
88: 6(int) Constant 32 88: 6(int) Constant 32
89: 9(ivec3) ConstantComposite 88 60 60 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 4(main): 2 Function None 3
5: Label 5: Label
8(iid): 7(ptr) Variable Function 8(iid): 7(ptr) Variable Function

View 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

View File

@ -1,8 +1,7 @@
spv.multiviewPerViewAttributes.tesc spv.multiviewPerViewAttributes.tesc
Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 37 // Id's are bound by 41
Capability Tessellation Capability Tessellation
Capability PerViewAttributesNV Capability PerViewAttributesNV
@ -24,7 +23,7 @@ Validation failed
MemberName 27(gl_PerVertex) 1 "gl_PointSize" MemberName 27(gl_PerVertex) 1 "gl_PointSize"
MemberName 27(gl_PerVertex) 2 "gl_ClipDistance" MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 27(gl_PerVertex) 3 "gl_CullDistance" 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" Name 31 "gl_in"
MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV
MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV
@ -34,6 +33,7 @@ Validation failed
MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance
MemberDecorate 27(gl_PerVertex) 4 BuiltIn PositionPerViewNV
Decorate 27(gl_PerVertex) Block Decorate 27(gl_PerVertex) Block
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
@ -61,7 +61,8 @@ Validation failed
30: TypePointer Input 29 30: TypePointer Input 29
31(gl_in): 30(ptr) Variable Input 31(gl_in): 30(ptr) Variable Input
32: TypePointer Input 7(fvec4) 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 4(main): 2 Function None 3
5: Label 5: Label
20: 11(int) Load 19(gl_InvocationID) 20: 11(int) Load 19(gl_InvocationID)
@ -70,7 +71,10 @@ Validation failed
25: 11(int) Load 19(gl_InvocationID) 25: 11(int) Load 19(gl_InvocationID)
33: 32(ptr) AccessChain 31(gl_in) 21 22 33: 32(ptr) AccessChain 31(gl_in) 21 22
34: 7(fvec4) Load 33 34: 7(fvec4) Load 33
36: 35(ptr) AccessChain 17(gl_out) 25 22 22 36: 32(ptr) AccessChain 31(gl_in) 21 35 22
Store 36 34 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 Return
FunctionEnd FunctionEnd

View 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

View File

@ -1,10 +1,10 @@
spv.sampleMaskOverrideCoverage.frag spv.sampleMaskOverrideCoverage.frag
Validation failed
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 20 // Id's are bound by 20
Capability Shader Capability Shader
Capability SampleMaskOverrideCoverageNV
Extension "SPV_NV_sample_mask_override_coverage" Extension "SPV_NV_sample_mask_override_coverage"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450

View File

@ -1,7 +1,7 @@
spv.shaderBallot.comp spv.shaderBallot.comp
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80007 // Generated by (magic number): 80007
// Id's are bound by 298 // Id's are bound by 318
Capability Shader Capability Shader
Capability Int64 Capability Int64
@ -9,7 +9,7 @@ spv.shaderBallot.comp
Extension "SPV_KHR_shader_ballot" Extension "SPV_KHR_shader_ballot"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 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 ExecutionMode 4 LocalSize 8 8 1
Source GLSL 450 Source GLSL 450
SourceExtension "GL_ARB_gpu_shader_int64" SourceExtension "GL_ARB_gpu_shader_int64"
@ -19,30 +19,30 @@ spv.shaderBallot.comp
Name 10 "gl_SubGroupInvocationARB" Name 10 "gl_SubGroupInvocationARB"
Name 12 "gl_SubGroupSizeARB" Name 12 "gl_SubGroupSizeARB"
Name 19 "relMask" Name 19 "relMask"
Name 21 "gl_SubGroupEqMaskARB" Name 22 "gl_SubGroupEqMaskARB"
Name 23 "gl_SubGroupGeMaskARB" Name 29 "gl_SubGroupGeMaskARB"
Name 26 "gl_SubGroupGtMaskARB" Name 36 "gl_SubGroupGtMaskARB"
Name 29 "gl_SubGroupLeMaskARB" Name 43 "gl_SubGroupLeMaskARB"
Name 32 "gl_SubGroupLtMaskARB" Name 50 "gl_SubGroupLtMaskARB"
Name 52 "Buffers" Name 72 "Buffers"
MemberName 52(Buffers) 0 "f4" MemberName 72(Buffers) 0 "f4"
MemberName 52(Buffers) 1 "i4" MemberName 72(Buffers) 1 "i4"
MemberName 52(Buffers) 2 "u4" MemberName 72(Buffers) 2 "u4"
Name 55 "data" Name 75 "data"
Decorate 10(gl_SubGroupInvocationARB) BuiltIn SubgroupLocalInvocationId Decorate 10(gl_SubGroupInvocationARB) BuiltIn SubgroupLocalInvocationId
Decorate 12(gl_SubGroupSizeARB) BuiltIn SubgroupSize Decorate 12(gl_SubGroupSizeARB) BuiltIn SubgroupSize
Decorate 21(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR Decorate 22(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR
Decorate 23(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR Decorate 29(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
Decorate 26(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR Decorate 36(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR
Decorate 29(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR Decorate 43(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR
Decorate 32(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR Decorate 50(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
MemberDecorate 52(Buffers) 0 Offset 0 MemberDecorate 72(Buffers) 0 Offset 0
MemberDecorate 52(Buffers) 1 Offset 16 MemberDecorate 72(Buffers) 1 Offset 16
MemberDecorate 52(Buffers) 2 Offset 32 MemberDecorate 72(Buffers) 2 Offset 32
Decorate 52(Buffers) BufferBlock Decorate 72(Buffers) BufferBlock
Decorate 55(data) DescriptorSet 0 Decorate 75(data) DescriptorSet 0
Decorate 55(data) Binding 0 Decorate 75(data) Binding 0
Decorate 297 BuiltIn WorkgroupSize Decorate 317 BuiltIn WorkgroupSize
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -53,43 +53,43 @@ spv.shaderBallot.comp
15: 6(int) Constant 4 15: 6(int) Constant 4
17: TypeInt 64 0 17: TypeInt 64 0
18: TypePointer Function 17(int64_t) 18: TypePointer Function 17(int64_t)
20: TypePointer Input 17(int64_t) 20: TypeVector 6(int) 4
21(gl_SubGroupEqMaskARB): 20(ptr) Variable Input 21: TypePointer Input 20(ivec4)
23(gl_SubGroupGeMaskARB): 20(ptr) Variable Input 22(gl_SubGroupEqMaskARB): 21(ptr) Variable Input
26(gl_SubGroupGtMaskARB): 20(ptr) Variable Input 26: TypeVector 6(int) 2
29(gl_SubGroupLeMaskARB): 20(ptr) Variable Input 29(gl_SubGroupGeMaskARB): 21(ptr) Variable Input
32(gl_SubGroupLtMaskARB): 20(ptr) Variable Input 36(gl_SubGroupGtMaskARB): 21(ptr) Variable Input
36: TypeBool 43(gl_SubGroupLeMaskARB): 21(ptr) Variable Input
37: 36(bool) ConstantTrue 50(gl_SubGroupLtMaskARB): 21(ptr) Variable Input
38: TypeVector 6(int) 4 58: TypeBool
42: TypeVector 6(int) 2 59: 58(bool) ConstantTrue
48: TypeFloat 32 68: TypeFloat 32
49: TypeVector 48(float) 4 69: TypeVector 68(float) 4
50: TypeInt 32 1 70: TypeInt 32 1
51: TypeVector 50(int) 4 71: TypeVector 70(int) 4
52(Buffers): TypeStruct 49(fvec4) 51(ivec4) 38(ivec4) 72(Buffers): TypeStruct 69(fvec4) 71(ivec4) 20(ivec4)
53: TypeArray 52(Buffers) 15 73: TypeArray 72(Buffers) 15
54: TypePointer Uniform 53 74: TypePointer Uniform 73
55(data): 54(ptr) Variable Uniform 75(data): 74(ptr) Variable Uniform
57: 50(int) Constant 0 77: 70(int) Constant 0
58: 6(int) Constant 0 78: 6(int) Constant 0
59: TypePointer Uniform 48(float) 79: TypePointer Uniform 68(float)
66: 50(int) Constant 1 86: 70(int) Constant 1
67: TypeVector 48(float) 2 87: TypeVector 68(float) 2
68: TypePointer Uniform 49(fvec4) 88: TypePointer Uniform 69(fvec4)
82: 50(int) Constant 2 102: 70(int) Constant 2
83: TypeVector 48(float) 3 103: TypeVector 68(float) 3
99: 50(int) Constant 3 119: 70(int) Constant 3
114: TypePointer Uniform 50(int) 134: TypePointer Uniform 70(int)
121: TypeVector 50(int) 2 141: TypeVector 70(int) 2
122: TypePointer Uniform 51(ivec4) 142: TypePointer Uniform 71(ivec4)
136: TypeVector 50(int) 3 156: TypeVector 70(int) 3
166: TypePointer Uniform 6(int) 186: TypePointer Uniform 6(int)
173: TypePointer Uniform 38(ivec4) 193: TypePointer Uniform 20(ivec4)
187: TypeVector 6(int) 3 207: TypeVector 6(int) 3
295: 6(int) Constant 8 315: 6(int) Constant 8
296: 6(int) Constant 1 316: 6(int) Constant 1
297: 187(ivec3) ConstantComposite 295 295 296 317: 207(ivec3) ConstantComposite 315 315 316
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(invocation): 7(ptr) Variable Function 8(invocation): 7(ptr) Variable Function
@ -99,275 +99,295 @@ spv.shaderBallot.comp
14: 6(int) IAdd 11 13 14: 6(int) IAdd 11 13
16: 6(int) UMod 14 15 16: 6(int) UMod 14 15
Store 8(invocation) 16 Store 8(invocation) 16
22: 17(int64_t) Load 21(gl_SubGroupEqMaskARB) 23: 20(ivec4) Load 22(gl_SubGroupEqMaskARB)
24: 17(int64_t) Load 23(gl_SubGroupGeMaskARB) 24: 6(int) CompositeExtract 23 0
25: 17(int64_t) IAdd 22 24 25: 6(int) CompositeExtract 23 1
27: 17(int64_t) Load 26(gl_SubGroupGtMaskARB) 27: 26(ivec2) CompositeConstruct 24 25
28: 17(int64_t) IAdd 25 27 28: 17(int64_t) Bitcast 27
30: 17(int64_t) Load 29(gl_SubGroupLeMaskARB) 30: 20(ivec4) Load 29(gl_SubGroupGeMaskARB)
31: 17(int64_t) IAdd 28 30 31: 6(int) CompositeExtract 30 0
33: 17(int64_t) Load 32(gl_SubGroupLtMaskARB) 32: 6(int) CompositeExtract 30 1
34: 17(int64_t) IAdd 31 33 33: 26(ivec2) CompositeConstruct 31 32
Store 19(relMask) 34 34: 17(int64_t) Bitcast 33
35: 17(int64_t) Load 19(relMask) 35: 17(int64_t) IAdd 28 34
39: 38(ivec4) SubgroupBallotKHR 37 37: 20(ivec4) Load 36(gl_SubGroupGtMaskARB)
40: 6(int) CompositeExtract 39 0 38: 6(int) CompositeExtract 37 0
41: 6(int) CompositeExtract 39 1 39: 6(int) CompositeExtract 37 1
43: 42(ivec2) CompositeConstruct 40 41 40: 26(ivec2) CompositeConstruct 38 39
44: 17(int64_t) Bitcast 43 41: 17(int64_t) Bitcast 40
45: 36(bool) IEqual 35 44 42: 17(int64_t) IAdd 35 41
SelectionMerge 47 None 44: 20(ivec4) Load 43(gl_SubGroupLeMaskARB)
BranchConditional 45 46 216 45: 6(int) CompositeExtract 44 0
46: Label 46: 6(int) CompositeExtract 44 1
56: 6(int) Load 8(invocation) 47: 26(ivec2) CompositeConstruct 45 46
60: 59(ptr) AccessChain 55(data) 57 57 58 48: 17(int64_t) Bitcast 47
61: 48(float) Load 60 49: 17(int64_t) IAdd 42 48
62: 6(int) Load 8(invocation) 51: 20(ivec4) Load 50(gl_SubGroupLtMaskARB)
63: 48(float) SubgroupReadInvocationKHR 61 62 52: 6(int) CompositeExtract 51 0
64: 59(ptr) AccessChain 55(data) 56 57 58 53: 6(int) CompositeExtract 51 1
Store 64 63 54: 26(ivec2) CompositeConstruct 52 53
65: 6(int) Load 8(invocation) 55: 17(int64_t) Bitcast 54
69: 68(ptr) AccessChain 55(data) 66 57 56: 17(int64_t) IAdd 49 55
70: 49(fvec4) Load 69 Store 19(relMask) 56
71: 67(fvec2) VectorShuffle 70 70 0 1 57: 17(int64_t) Load 19(relMask)
72: 6(int) Load 8(invocation) 60: 20(ivec4) SubgroupBallotKHR 59
73: 48(float) CompositeExtract 71 0 61: 6(int) CompositeExtract 60 0
74: 48(float) SubgroupReadInvocationKHR 73 72 62: 6(int) CompositeExtract 60 1
75: 48(float) CompositeExtract 71 1 63: 26(ivec2) CompositeConstruct 61 62
76: 48(float) SubgroupReadInvocationKHR 75 72 64: 17(int64_t) Bitcast 63
77: 67(fvec2) CompositeConstruct 74 76 65: 58(bool) IEqual 57 64
78: 68(ptr) AccessChain 55(data) 65 57 SelectionMerge 67 None
79: 49(fvec4) Load 78 BranchConditional 65 66 236
80: 49(fvec4) VectorShuffle 79 77 4 5 2 3 66: Label
Store 78 80 76: 6(int) Load 8(invocation)
81: 6(int) Load 8(invocation) 80: 79(ptr) AccessChain 75(data) 77 77 78
84: 68(ptr) AccessChain 55(data) 82 57 81: 68(float) Load 80
85: 49(fvec4) Load 84 82: 6(int) Load 8(invocation)
86: 83(fvec3) VectorShuffle 85 85 0 1 2 83: 68(float) SubgroupReadInvocationKHR 81 82
87: 6(int) Load 8(invocation) 84: 79(ptr) AccessChain 75(data) 76 77 78
88: 48(float) CompositeExtract 86 0 Store 84 83
89: 48(float) SubgroupReadInvocationKHR 88 87 85: 6(int) Load 8(invocation)
90: 48(float) CompositeExtract 86 1 89: 88(ptr) AccessChain 75(data) 86 77
91: 48(float) SubgroupReadInvocationKHR 90 87 90: 69(fvec4) Load 89
92: 48(float) CompositeExtract 86 2 91: 87(fvec2) VectorShuffle 90 90 0 1
93: 48(float) SubgroupReadInvocationKHR 92 87 92: 6(int) Load 8(invocation)
94: 83(fvec3) CompositeConstruct 89 91 93 93: 68(float) CompositeExtract 91 0
95: 68(ptr) AccessChain 55(data) 81 57 94: 68(float) SubgroupReadInvocationKHR 93 92
96: 49(fvec4) Load 95 95: 68(float) CompositeExtract 91 1
97: 49(fvec4) VectorShuffle 96 94 4 5 6 3 96: 68(float) SubgroupReadInvocationKHR 95 92
Store 95 97 97: 87(fvec2) CompositeConstruct 94 96
98: 6(int) Load 8(invocation) 98: 88(ptr) AccessChain 75(data) 85 77
100: 68(ptr) AccessChain 55(data) 99 57 99: 69(fvec4) Load 98
101: 49(fvec4) Load 100 100: 69(fvec4) VectorShuffle 99 97 4 5 2 3
102: 6(int) Load 8(invocation) Store 98 100
103: 48(float) CompositeExtract 101 0 101: 6(int) Load 8(invocation)
104: 48(float) SubgroupReadInvocationKHR 103 102 104: 88(ptr) AccessChain 75(data) 102 77
105: 48(float) CompositeExtract 101 1 105: 69(fvec4) Load 104
106: 48(float) SubgroupReadInvocationKHR 105 102 106: 103(fvec3) VectorShuffle 105 105 0 1 2
107: 48(float) CompositeExtract 101 2 107: 6(int) Load 8(invocation)
108: 48(float) SubgroupReadInvocationKHR 107 102 108: 68(float) CompositeExtract 106 0
109: 48(float) CompositeExtract 101 3 109: 68(float) SubgroupReadInvocationKHR 108 107
110: 48(float) SubgroupReadInvocationKHR 109 102 110: 68(float) CompositeExtract 106 1
111: 49(fvec4) CompositeConstruct 104 106 108 110 111: 68(float) SubgroupReadInvocationKHR 110 107
112: 68(ptr) AccessChain 55(data) 98 57 112: 68(float) CompositeExtract 106 2
Store 112 111 113: 68(float) SubgroupReadInvocationKHR 112 107
113: 6(int) Load 8(invocation) 114: 103(fvec3) CompositeConstruct 109 111 113
115: 114(ptr) AccessChain 55(data) 57 66 58 115: 88(ptr) AccessChain 75(data) 101 77
116: 50(int) Load 115 116: 69(fvec4) Load 115
117: 6(int) Load 8(invocation) 117: 69(fvec4) VectorShuffle 116 114 4 5 6 3
118: 50(int) SubgroupReadInvocationKHR 116 117 Store 115 117
119: 114(ptr) AccessChain 55(data) 113 66 58 118: 6(int) Load 8(invocation)
Store 119 118 120: 88(ptr) AccessChain 75(data) 119 77
120: 6(int) Load 8(invocation) 121: 69(fvec4) Load 120
123: 122(ptr) AccessChain 55(data) 66 66 122: 6(int) Load 8(invocation)
124: 51(ivec4) Load 123 123: 68(float) CompositeExtract 121 0
125: 121(ivec2) VectorShuffle 124 124 0 1 124: 68(float) SubgroupReadInvocationKHR 123 122
126: 6(int) Load 8(invocation) 125: 68(float) CompositeExtract 121 1
127: 50(int) CompositeExtract 125 0 126: 68(float) SubgroupReadInvocationKHR 125 122
128: 50(int) SubgroupReadInvocationKHR 127 126 127: 68(float) CompositeExtract 121 2
129: 50(int) CompositeExtract 125 1 128: 68(float) SubgroupReadInvocationKHR 127 122
130: 50(int) SubgroupReadInvocationKHR 129 126 129: 68(float) CompositeExtract 121 3
131: 121(ivec2) CompositeConstruct 128 130 130: 68(float) SubgroupReadInvocationKHR 129 122
132: 122(ptr) AccessChain 55(data) 120 66 131: 69(fvec4) CompositeConstruct 124 126 128 130
133: 51(ivec4) Load 132 132: 88(ptr) AccessChain 75(data) 118 77
134: 51(ivec4) VectorShuffle 133 131 4 5 2 3 Store 132 131
Store 132 134 133: 6(int) Load 8(invocation)
135: 6(int) Load 8(invocation) 135: 134(ptr) AccessChain 75(data) 77 86 78
137: 122(ptr) AccessChain 55(data) 82 66 136: 70(int) Load 135
138: 51(ivec4) Load 137 137: 6(int) Load 8(invocation)
139: 136(ivec3) VectorShuffle 138 138 0 1 2 138: 70(int) SubgroupReadInvocationKHR 136 137
139: 134(ptr) AccessChain 75(data) 133 86 78
Store 139 138
140: 6(int) Load 8(invocation) 140: 6(int) Load 8(invocation)
141: 50(int) CompositeExtract 139 0 143: 142(ptr) AccessChain 75(data) 86 86
142: 50(int) SubgroupReadInvocationKHR 141 140 144: 71(ivec4) Load 143
143: 50(int) CompositeExtract 139 1 145: 141(ivec2) VectorShuffle 144 144 0 1
144: 50(int) SubgroupReadInvocationKHR 143 140 146: 6(int) Load 8(invocation)
145: 50(int) CompositeExtract 139 2 147: 70(int) CompositeExtract 145 0
146: 50(int) SubgroupReadInvocationKHR 145 140 148: 70(int) SubgroupReadInvocationKHR 147 146
147: 136(ivec3) CompositeConstruct 142 144 146 149: 70(int) CompositeExtract 145 1
148: 122(ptr) AccessChain 55(data) 135 66 150: 70(int) SubgroupReadInvocationKHR 149 146
149: 51(ivec4) Load 148 151: 141(ivec2) CompositeConstruct 148 150
150: 51(ivec4) VectorShuffle 149 147 4 5 6 3 152: 142(ptr) AccessChain 75(data) 140 86
Store 148 150 153: 71(ivec4) Load 152
151: 6(int) Load 8(invocation) 154: 71(ivec4) VectorShuffle 153 151 4 5 2 3
152: 122(ptr) AccessChain 55(data) 99 66 Store 152 154
153: 51(ivec4) Load 152 155: 6(int) Load 8(invocation)
154: 6(int) Load 8(invocation) 157: 142(ptr) AccessChain 75(data) 102 86
155: 50(int) CompositeExtract 153 0 158: 71(ivec4) Load 157
156: 50(int) SubgroupReadInvocationKHR 155 154 159: 156(ivec3) VectorShuffle 158 158 0 1 2
157: 50(int) CompositeExtract 153 1 160: 6(int) Load 8(invocation)
158: 50(int) SubgroupReadInvocationKHR 157 154 161: 70(int) CompositeExtract 159 0
159: 50(int) CompositeExtract 153 2 162: 70(int) SubgroupReadInvocationKHR 161 160
160: 50(int) SubgroupReadInvocationKHR 159 154 163: 70(int) CompositeExtract 159 1
161: 50(int) CompositeExtract 153 3 164: 70(int) SubgroupReadInvocationKHR 163 160
162: 50(int) SubgroupReadInvocationKHR 161 154 165: 70(int) CompositeExtract 159 2
163: 51(ivec4) CompositeConstruct 156 158 160 162 166: 70(int) SubgroupReadInvocationKHR 165 160
164: 122(ptr) AccessChain 55(data) 151 66 167: 156(ivec3) CompositeConstruct 162 164 166
Store 164 163 168: 142(ptr) AccessChain 75(data) 155 86
165: 6(int) Load 8(invocation) 169: 71(ivec4) Load 168
167: 166(ptr) AccessChain 55(data) 57 82 58 170: 71(ivec4) VectorShuffle 169 167 4 5 6 3
168: 6(int) Load 167 Store 168 170
169: 6(int) Load 8(invocation) 171: 6(int) Load 8(invocation)
170: 6(int) SubgroupReadInvocationKHR 168 169 172: 142(ptr) AccessChain 75(data) 119 86
171: 166(ptr) AccessChain 55(data) 165 82 58 173: 71(ivec4) Load 172
Store 171 170 174: 6(int) Load 8(invocation)
172: 6(int) Load 8(invocation) 175: 70(int) CompositeExtract 173 0
174: 173(ptr) AccessChain 55(data) 66 82 176: 70(int) SubgroupReadInvocationKHR 175 174
175: 38(ivec4) Load 174 177: 70(int) CompositeExtract 173 1
176: 42(ivec2) VectorShuffle 175 175 0 1 178: 70(int) SubgroupReadInvocationKHR 177 174
177: 6(int) Load 8(invocation) 179: 70(int) CompositeExtract 173 2
178: 6(int) CompositeExtract 176 0 180: 70(int) SubgroupReadInvocationKHR 179 174
179: 6(int) SubgroupReadInvocationKHR 178 177 181: 70(int) CompositeExtract 173 3
180: 6(int) CompositeExtract 176 1 182: 70(int) SubgroupReadInvocationKHR 181 174
181: 6(int) SubgroupReadInvocationKHR 180 177 183: 71(ivec4) CompositeConstruct 176 178 180 182
182: 42(ivec2) CompositeConstruct 179 181 184: 142(ptr) AccessChain 75(data) 171 86
183: 173(ptr) AccessChain 55(data) 172 82 Store 184 183
184: 38(ivec4) Load 183 185: 6(int) Load 8(invocation)
185: 38(ivec4) VectorShuffle 184 182 4 5 2 3 187: 186(ptr) AccessChain 75(data) 77 102 78
Store 183 185 188: 6(int) Load 187
186: 6(int) Load 8(invocation) 189: 6(int) Load 8(invocation)
188: 173(ptr) AccessChain 55(data) 82 82 190: 6(int) SubgroupReadInvocationKHR 188 189
189: 38(ivec4) Load 188 191: 186(ptr) AccessChain 75(data) 185 102 78
190: 187(ivec3) VectorShuffle 189 189 0 1 2 Store 191 190
191: 6(int) Load 8(invocation) 192: 6(int) Load 8(invocation)
192: 6(int) CompositeExtract 190 0 194: 193(ptr) AccessChain 75(data) 86 102
193: 6(int) SubgroupReadInvocationKHR 192 191 195: 20(ivec4) Load 194
194: 6(int) CompositeExtract 190 1 196: 26(ivec2) VectorShuffle 195 195 0 1
195: 6(int) SubgroupReadInvocationKHR 194 191 197: 6(int) Load 8(invocation)
196: 6(int) CompositeExtract 190 2 198: 6(int) CompositeExtract 196 0
197: 6(int) SubgroupReadInvocationKHR 196 191 199: 6(int) SubgroupReadInvocationKHR 198 197
198: 187(ivec3) CompositeConstruct 193 195 197 200: 6(int) CompositeExtract 196 1
199: 173(ptr) AccessChain 55(data) 186 82 201: 6(int) SubgroupReadInvocationKHR 200 197
200: 38(ivec4) Load 199 202: 26(ivec2) CompositeConstruct 199 201
201: 38(ivec4) VectorShuffle 200 198 4 5 6 3 203: 193(ptr) AccessChain 75(data) 192 102
Store 199 201 204: 20(ivec4) Load 203
202: 6(int) Load 8(invocation) 205: 20(ivec4) VectorShuffle 204 202 4 5 2 3
203: 173(ptr) AccessChain 55(data) 99 82 Store 203 205
204: 38(ivec4) Load 203 206: 6(int) Load 8(invocation)
205: 6(int) Load 8(invocation) 208: 193(ptr) AccessChain 75(data) 102 102
206: 6(int) CompositeExtract 204 0 209: 20(ivec4) Load 208
207: 6(int) SubgroupReadInvocationKHR 206 205 210: 207(ivec3) VectorShuffle 209 209 0 1 2
208: 6(int) CompositeExtract 204 1 211: 6(int) Load 8(invocation)
209: 6(int) SubgroupReadInvocationKHR 208 205 212: 6(int) CompositeExtract 210 0
210: 6(int) CompositeExtract 204 2 213: 6(int) SubgroupReadInvocationKHR 212 211
211: 6(int) SubgroupReadInvocationKHR 210 205 214: 6(int) CompositeExtract 210 1
212: 6(int) CompositeExtract 204 3 215: 6(int) SubgroupReadInvocationKHR 214 211
213: 6(int) SubgroupReadInvocationKHR 212 205 216: 6(int) CompositeExtract 210 2
214: 38(ivec4) CompositeConstruct 207 209 211 213 217: 6(int) SubgroupReadInvocationKHR 216 211
215: 173(ptr) AccessChain 55(data) 202 82 218: 207(ivec3) CompositeConstruct 213 215 217
Store 215 214 219: 193(ptr) AccessChain 75(data) 206 102
Branch 47 220: 20(ivec4) Load 219
216: Label 221: 20(ivec4) VectorShuffle 220 218 4 5 6 3
217: 6(int) Load 8(invocation) Store 219 221
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
222: 6(int) Load 8(invocation) 222: 6(int) Load 8(invocation)
223: 68(ptr) AccessChain 55(data) 66 57 223: 193(ptr) AccessChain 75(data) 119 102
224: 49(fvec4) Load 223 224: 20(ivec4) Load 223
225: 67(fvec2) VectorShuffle 224 224 0 1 225: 6(int) Load 8(invocation)
226: 67(fvec2) SubgroupFirstInvocationKHR 225 226: 6(int) CompositeExtract 224 0
227: 68(ptr) AccessChain 55(data) 222 57 227: 6(int) SubgroupReadInvocationKHR 226 225
228: 49(fvec4) Load 227 228: 6(int) CompositeExtract 224 1
229: 49(fvec4) VectorShuffle 228 226 4 5 2 3 229: 6(int) SubgroupReadInvocationKHR 228 225
Store 227 229 230: 6(int) CompositeExtract 224 2
230: 6(int) Load 8(invocation) 231: 6(int) SubgroupReadInvocationKHR 230 225
231: 68(ptr) AccessChain 55(data) 82 57 232: 6(int) CompositeExtract 224 3
232: 49(fvec4) Load 231 233: 6(int) SubgroupReadInvocationKHR 232 225
233: 83(fvec3) VectorShuffle 232 232 0 1 2 234: 20(ivec4) CompositeConstruct 227 229 231 233
234: 83(fvec3) SubgroupFirstInvocationKHR 233 235: 193(ptr) AccessChain 75(data) 222 102
235: 68(ptr) AccessChain 55(data) 230 57 Store 235 234
236: 49(fvec4) Load 235 Branch 67
237: 49(fvec4) VectorShuffle 236 234 4 5 6 3 236: Label
Store 235 237 237: 6(int) Load 8(invocation)
238: 6(int) Load 8(invocation) 238: 79(ptr) AccessChain 75(data) 77 77 78
239: 68(ptr) AccessChain 55(data) 99 57 239: 68(float) Load 238
240: 49(fvec4) Load 239 240: 68(float) SubgroupFirstInvocationKHR 239
241: 49(fvec4) SubgroupFirstInvocationKHR 240 241: 79(ptr) AccessChain 75(data) 237 77 78
242: 68(ptr) AccessChain 55(data) 238 57 Store 241 240
Store 242 241 242: 6(int) Load 8(invocation)
243: 6(int) Load 8(invocation) 243: 88(ptr) AccessChain 75(data) 86 77
244: 114(ptr) AccessChain 55(data) 57 66 58 244: 69(fvec4) Load 243
245: 50(int) Load 244 245: 87(fvec2) VectorShuffle 244 244 0 1
246: 50(int) SubgroupFirstInvocationKHR 245 246: 87(fvec2) SubgroupFirstInvocationKHR 245
247: 114(ptr) AccessChain 55(data) 243 66 58 247: 88(ptr) AccessChain 75(data) 242 77
Store 247 246 248: 69(fvec4) Load 247
248: 6(int) Load 8(invocation) 249: 69(fvec4) VectorShuffle 248 246 4 5 2 3
249: 122(ptr) AccessChain 55(data) 66 66 Store 247 249
250: 51(ivec4) Load 249 250: 6(int) Load 8(invocation)
251: 121(ivec2) VectorShuffle 250 250 0 1 251: 88(ptr) AccessChain 75(data) 102 77
252: 121(ivec2) SubgroupFirstInvocationKHR 251 252: 69(fvec4) Load 251
253: 122(ptr) AccessChain 55(data) 248 66 253: 103(fvec3) VectorShuffle 252 252 0 1 2
254: 51(ivec4) Load 253 254: 103(fvec3) SubgroupFirstInvocationKHR 253
255: 51(ivec4) VectorShuffle 254 252 4 5 2 3 255: 88(ptr) AccessChain 75(data) 250 77
Store 253 255 256: 69(fvec4) Load 255
256: 6(int) Load 8(invocation) 257: 69(fvec4) VectorShuffle 256 254 4 5 6 3
257: 122(ptr) AccessChain 55(data) 82 66 Store 255 257
258: 51(ivec4) Load 257 258: 6(int) Load 8(invocation)
259: 136(ivec3) VectorShuffle 258 258 0 1 2 259: 88(ptr) AccessChain 75(data) 119 77
260: 136(ivec3) SubgroupFirstInvocationKHR 259 260: 69(fvec4) Load 259
261: 122(ptr) AccessChain 55(data) 256 66 261: 69(fvec4) SubgroupFirstInvocationKHR 260
262: 51(ivec4) Load 261 262: 88(ptr) AccessChain 75(data) 258 77
263: 51(ivec4) VectorShuffle 262 260 4 5 6 3 Store 262 261
Store 261 263 263: 6(int) Load 8(invocation)
264: 6(int) Load 8(invocation) 264: 134(ptr) AccessChain 75(data) 77 86 78
265: 122(ptr) AccessChain 55(data) 99 66 265: 70(int) Load 264
266: 51(ivec4) Load 265 266: 70(int) SubgroupFirstInvocationKHR 265
267: 51(ivec4) SubgroupFirstInvocationKHR 266 267: 134(ptr) AccessChain 75(data) 263 86 78
268: 122(ptr) AccessChain 55(data) 264 66 Store 267 266
Store 268 267 268: 6(int) Load 8(invocation)
269: 6(int) Load 8(invocation) 269: 142(ptr) AccessChain 75(data) 86 86
270: 166(ptr) AccessChain 55(data) 57 82 58 270: 71(ivec4) Load 269
271: 6(int) Load 270 271: 141(ivec2) VectorShuffle 270 270 0 1
272: 6(int) SubgroupFirstInvocationKHR 271 272: 141(ivec2) SubgroupFirstInvocationKHR 271
273: 166(ptr) AccessChain 55(data) 269 82 58 273: 142(ptr) AccessChain 75(data) 268 86
Store 273 272 274: 71(ivec4) Load 273
274: 6(int) Load 8(invocation) 275: 71(ivec4) VectorShuffle 274 272 4 5 2 3
275: 173(ptr) AccessChain 55(data) 66 82 Store 273 275
276: 38(ivec4) Load 275 276: 6(int) Load 8(invocation)
277: 42(ivec2) VectorShuffle 276 276 0 1 277: 142(ptr) AccessChain 75(data) 102 86
278: 42(ivec2) SubgroupFirstInvocationKHR 277 278: 71(ivec4) Load 277
279: 173(ptr) AccessChain 55(data) 274 82 279: 156(ivec3) VectorShuffle 278 278 0 1 2
280: 38(ivec4) Load 279 280: 156(ivec3) SubgroupFirstInvocationKHR 279
281: 38(ivec4) VectorShuffle 280 278 4 5 2 3 281: 142(ptr) AccessChain 75(data) 276 86
Store 279 281 282: 71(ivec4) Load 281
282: 6(int) Load 8(invocation) 283: 71(ivec4) VectorShuffle 282 280 4 5 6 3
283: 173(ptr) AccessChain 55(data) 82 82 Store 281 283
284: 38(ivec4) Load 283 284: 6(int) Load 8(invocation)
285: 187(ivec3) VectorShuffle 284 284 0 1 2 285: 142(ptr) AccessChain 75(data) 119 86
286: 187(ivec3) SubgroupFirstInvocationKHR 285 286: 71(ivec4) Load 285
287: 173(ptr) AccessChain 55(data) 282 82 287: 71(ivec4) SubgroupFirstInvocationKHR 286
288: 38(ivec4) Load 287 288: 142(ptr) AccessChain 75(data) 284 86
289: 38(ivec4) VectorShuffle 288 286 4 5 6 3 Store 288 287
Store 287 289 289: 6(int) Load 8(invocation)
290: 6(int) Load 8(invocation) 290: 186(ptr) AccessChain 75(data) 77 102 78
291: 173(ptr) AccessChain 55(data) 99 82 291: 6(int) Load 290
292: 38(ivec4) Load 291 292: 6(int) SubgroupFirstInvocationKHR 291
293: 38(ivec4) SubgroupFirstInvocationKHR 292 293: 186(ptr) AccessChain 75(data) 289 102 78
294: 173(ptr) AccessChain 55(data) 290 82 Store 293 292
Store 294 293 294: 6(int) Load 8(invocation)
Branch 47 295: 193(ptr) AccessChain 75(data) 86 102
47: Label 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 Return
FunctionEnd FunctionEnd

View 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

View 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

View 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