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") {
include_dirs = [ "." ]
defines = [ "ENABLE_HLSL=1" ]
}
source_set("glslang_sources") {
@ -129,9 +131,25 @@ source_set("glslang_sources") {
"glslang/MachineIndependent/reflection.h",
"glslang/OSDependent/osinclude.h",
"glslang/Public/ShaderLang.h",
"hlsl/hlslAttributes.cpp",
"hlsl/hlslAttributes.h",
"hlsl/hlslGrammar.cpp",
"hlsl/hlslGrammar.h",
"hlsl/hlslOpMap.cpp",
"hlsl/hlslOpMap.h",
"hlsl/hlslParseHelper.cpp",
"hlsl/hlslParseHelper.h",
"hlsl/hlslParseables.cpp",
"hlsl/hlslParseables.h",
"hlsl/hlslScanContext.cpp",
"hlsl/hlslScanContext.h",
"hlsl/hlslTokenStream.cpp",
"hlsl/hlslTokenStream.h",
"hlsl/hlslTokens.h",
]
defines = [ "ENABLE_OPT=1" ]
if (is_win) {
sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
defines += [ "GLSLANG_OSINCLUDE_WIN32" ]
@ -148,6 +166,7 @@ source_set("glslang_sources") {
"-Wno-inconsistent-missing-override",
"-Wno-sign-compare",
"-Wno-unused-variable",
"-Wno-missing-field-initializers",
]
}
if (is_win && !is_clang) {
@ -168,7 +187,9 @@ source_set("glslang_default_resource_limits_sources") {
"StandAlone/ResourceLimits.cpp",
"StandAlone/ResourceLimits.h",
]
deps = [ ":glslang_sources" ]
deps = [
":glslang_sources",
]
public_configs = [ ":glslang_public" ]
}
@ -186,3 +207,13 @@ executable("glslang_validator") {
":glslang_sources",
]
}
executable("spirv-remap") {
sources = [
"StandAlone/spirv-remap.cpp",
]
defines = [ "ENABLE_OPT=1" ]
deps = [
":glslang_sources",
]
}

View File

@ -9,6 +9,9 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Adhere to GNU filesystem layout conventions
include(GNUInstallDirs)
# Needed for CMAKE_DEPENDENT_OPTION macro
include(CMakeDependentOption)
option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
set(LIB_TYPE STATIC)
@ -23,12 +26,13 @@ if(NOT ${SKIP_GLSLANG_INSTALL})
endif()
option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON)
option(ENABLE_AMD_EXTENSIONS "Enables support of AMD-specific extensions" ON)
option(ENABLE_GLSLANG_BINARIES "Builds glslangValidator and spirv-remap" ON)
option(ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON)
option(ENABLE_GLSLANG_WEB "Reduces glslang to minumum needed for web use" OFF)
option(ENABLE_EMSCRIPTEN_SINGLE_FILE "If using emscripten, enables SINGLE_FILE build" OFF)
option(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE "If using emscripten, builds to run on Node instead of Web" OFF)
option(ENABLE_HLSL "Enables HLSL input support" ON)
CMAKE_DEPENDENT_OPTION(ENABLE_HLSL "Enables HLSL input support" ON "NOT ENABLE_GLSLANG_WEB" OFF)
option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
@ -60,18 +64,14 @@ project(glslang)
# make testing optional
include(CTest)
if(ENABLE_AMD_EXTENSIONS)
add_definitions(-DAMD_EXTENSIONS)
endif(ENABLE_AMD_EXTENSIONS)
if(ENABLE_NV_EXTENSIONS)
add_definitions(-DNV_EXTENSIONS)
endif(ENABLE_NV_EXTENSIONS)
if(ENABLE_HLSL)
add_definitions(-DENABLE_HLSL)
endif(ENABLE_HLSL)
if(ENABLE_GLSLANG_WEB)
add_definitions(-DGLSLANG_WEB)
endif(ENABLE_GLSLANG_WEB)
if(WIN32)
set(CMAKE_DEBUG_POSTFIX "d")
if(MSVC)
@ -88,12 +88,49 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions)
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over.
add_compile_options(-fno-rtti)
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable)
add_compile_options(-Wno-reorder) # disable this from -Wall, since it happens all over.
add_compile_options(-fno-rtti)
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC")
add_compile_options(/GR-) # Disable RTTI
endif()
if(ENABLE_GLSLANG_WEB)
if(EMSCRIPTEN)
add_compile_options(-Os -fno-exceptions)
add_compile_options("SHELL: -s WASM=1")
add_compile_options("SHELL: -s WASM_OBJECT_FILES=0")
add_link_options(-Os)
add_link_options("SHELL: -s FILESYSTEM=0")
add_link_options("SHELL: --llvm-lto 1")
add_link_options("SHELL: --closure 1")
add_link_options("SHELL: -s ALLOW_MEMORY_GROWTH=1")
add_link_options("SHELL: -s MODULARIZE=1")
if(ENABLE_EMSCRIPTEN_SINGLE_FILE)
add_link_options("SHELL: -s SINGLE_FILE=1")
endif(ENABLE_EMSCRIPTEN_SINGLE_FILE)
if(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE)
add_link_options("SHELL: -s ENVIRONMENT=node")
add_link_options("SHELL: -s BINARYEN_ASYNC_COMPILATION=0")
else()
add_link_options("SHELL: -s ENVIRONMENT=web,worker")
add_link_options("SHELL: -s EXPORT_ES6=1")
endif()
else()
if(MSVC)
add_compile_options(/Os /GR-)
else()
add_compile_options(-Os -fno-exceptions)
add_link_options(-Os)
endif()
endif(EMSCRIPTEN)
endif(ENABLE_GLSLANG_WEB)
# Request C++11
if(${CMAKE_VERSION} VERSION_LESS 3.1)
# CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD

0
LICENSE.txt Executable file → Normal file
View File

View File

@ -155,13 +155,36 @@ changes are quite infrequent. For windows you can get binaries from
The command to rebuild is:
```bash
m4 -P MachineIndependent/glslang.m4 > MachineIndependent/glslang.y
bison --defines=MachineIndependent/glslang_tab.cpp.h
-t MachineIndependent/glslang.y
-o MachineIndependent/glslang_tab.cpp
```
The above command is also available in the bash script at
`glslang/updateGrammar`.
The above commands are also available in the bash script in `updateGrammar`,
when executed from the glslang subdirectory of the glslang repository.
With no arguments it builds the full grammar, and with a "web" argument,
the web grammar subset (see more about the web subset in the next section).
### WASM for the the Web
Use the steps in [Build Steps](#build-steps), which following notes/exceptions:
* For building the web subset of core glslang:
+ `m4` also needs a `-DGLSLANG_WEB` argument, or simply execute `updateGrammar web` from the glslang subdirectory
+ turn off the CMAKE options for `BUILD_TESTING`, `ENABLE_OPT`, and `INSTALL_GTEST`,
while turning on `ENABLE_GLSLANG_WEB`
* `emsdk` needs to be present in your executable search path, *PATH* for
Bash-like enivironments
+ Instructions located
[here](https://emscripten.org/docs/getting_started/downloads.html#sdk-download-and-install)
* Do not checkout SPIRV-Tools into `External`
+ Does not work correctly with emscripten out of the box and we don't want it
in the build anyway. *TBD* Have build ignore SPIRV-Tools for web build
* Wrap call to `cmake` using `emconfigure` with ENABLE_GLSLANG_WEB=ON:
+ e.g. For Linux, `emconfigure cmake -DCMAKE_BUILD_TYPE=Release
-DENABLE_GLSLANG_WEB=ON -DCMAKE_INSTALL_PREFIX="$(pwd)/install" ..`
* To get a 'true' minimized build, make sure to use `brotli` to compress the .js
and .wasm files
Testing
-------
@ -244,7 +267,8 @@ The `main()` in `StandAlone/StandAlone.cpp` shows examples using both styles.
### C++ Class Interface (new, preferred)
This interface is in roughly the last 1/3 of `ShaderLang.h`. It is in the
glslang namespace and contains the following.
glslang namespace and contains the following, here with suggested calls
for generating SPIR-V:
```cxx
const char* GetEsslVersionString();
@ -267,8 +291,17 @@ class TProgram
Reflection queries
```
For just validating (not generating code), subsitute these calls:
```cxx
setEnvInput(EShSourceHlsl or EShSourceGlsl, stage, EShClientNone, 0);
setEnvClient(EShClientNone, 0);
setEnvTarget(EShTargetNone, 0);
```
See `ShaderLang.h` and the usage of it in `StandAlone/StandAlone.cpp` for more
details.
details. There is a block comment giving more detail above the calls for
`setEnvInput, setEnvClient, and setEnvTarget`.
### C Functional Interface (orignal)

View File

@ -25,24 +25,14 @@ set(HEADERS
spvIR.h
doc.h
SpvTools.h
disassemble.h)
disassemble.h
GLSL.ext.AMD.h
GLSL.ext.NV.h)
set(SPVREMAP_HEADERS
SPVRemapper.h
doc.h)
if(ENABLE_AMD_EXTENSIONS)
list(APPEND
HEADERS
GLSL.ext.AMD.h)
endif(ENABLE_AMD_EXTENSIONS)
if(ENABLE_NV_EXTENSIONS)
list(APPEND
HEADERS
GLSL.ext.NV.h)
endif(ENABLE_NV_EXTENSIONS)
add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
set_property(TARGET SPIRV PROPERTY FOLDER glslang)
set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)

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_fragment_fully_covered = "SPV_EXT_fragment_fully_covered";
static const char* const E_SPV_EXT_fragment_invocation_density = "SPV_EXT_fragment_invocation_density";
static const char* const E_SPV_EXT_demote_to_helper_invocation = "SPV_EXT_demote_to_helper_invocation";
#endif // #ifndef GLSLextEXT_H

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_EXT_physical_storage_buffer = "SPV_EXT_physical_storage_buffer";
static const char* const E_SPV_EXT_fragment_shader_interlock = "SPV_EXT_fragment_shader_interlock";
static const char* const E_SPV_KHR_shader_clock = "SPV_KHR_shader_clock";
#endif // #ifndef GLSLextKHR_H

View File

@ -75,4 +75,7 @@ const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
//SPV_NV_cooperative_matrix
const char* const E_SPV_NV_cooperative_matrix = "SPV_NV_cooperative_matrix";
//SPV_NV_shader_sm_builtins
const char* const E_SPV_NV_shader_sm_builtins = "SPV_NV_shader_sm_builtins";
#endif // #ifndef GLSLextNV_H

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -46,6 +46,14 @@ class SpvBuildLogger {
public:
SpvBuildLogger() {}
#ifdef GLSLANG_WEB
void tbdFunctionality(const std::string& f) { }
void missingFunctionality(const std::string& f) { }
void warning(const std::string& w) { }
void error(const std::string& e) { errors.push_back(e); }
std::string getAllMessages() { return ""; }
#else
// Registers a TBD functionality.
void tbdFunctionality(const std::string& f);
// Registers a missing functionality.
@ -59,6 +67,7 @@ public:
// Returns all messages accumulated in the order of:
// TBD functionalities, missing functionalities, warnings, errors.
std::string getAllMessages() const;
#endif
private:
SpvBuildLogger(const SpvBuildLogger&);

View File

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

View File

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

View File

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

View File

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

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.
void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
spv::SpvBuildLogger* logger)
spv::SpvBuildLogger* logger, bool prelegalization)
{
// validate
spv_context context = spvContextCreate(MapToSpirvToolsEnv(intermediate.getSpv(), logger));
@ -111,6 +111,7 @@ void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<
spv_diagnostic diagnostic = nullptr;
spv_validator_options options = spvValidatorOptionsCreate();
spvValidatorOptionsSetRelaxBlockLayout(options, intermediate.usingHlslOffsets());
spvValidatorOptionsSetBeforeHlslLegalization(options, prelegalization);
spvValidateWithOptions(context, options, &binary, &diagnostic);
// report

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -227,7 +227,7 @@ namespace {
}
}
else if (arg == "--version" || arg == "-V") {
std::cout << basename(argv[0]) << " version 0.97 " << __DATE__ << " " << __TIME__ << std::endl;
std::cout << basename(argv[0]) << " version 0.97" << std::endl;
exit(0);
} else if (arg == "--input" || arg == "-i") {
// Collect input files

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

@ -58,8 +58,8 @@ void foo23()
b1 = mix(b2, b3, b);
uvec3 um3 = mix(uvec3(i), uvec3(i), bvec3(b));
ivec4 im4 = mix(ivec4(i), ivec4(i), bvec4(b));
1 << mix(1u, 1u, false); // does not require folding
}
layout(binding=3) uniform sampler2D s1;
layout(binding=3) uniform sampler2D s2; // ERROR: overlapping bindings? Don't see that in the 310 spec.
highp layout(binding=2) uniform writeonly image2D i2D;

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

View File

@ -337,6 +337,16 @@ ERROR: node is still EOpNull!
0:60 'i' ( uniform mediump int)
0:60 Construct bvec4 ( temp 4-component vector of bool)
0:60 'b' ( temp bool)
0:61 left-shift ( temp int)
0:61 Constant:
0:61 1 (const int)
0:61 mix ( global uint)
0:61 Constant:
0:61 1 (const uint)
0:61 Constant:
0:61 1 (const uint)
0:61 Constant:
0:61 false (const bool)
0:98 Function Definition: foots( ( global void)
0:98 Function Parameters:
0:100 Sequence

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 'p' ( temp highp 4-component vector of float)
0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:25 Constant:
0:25 1 (const int)
0:25 Constant:
@ -82,8 +82,8 @@ ERROR: node is still EOpNull!
0:26 move second child to first child ( temp highp float)
0:26 'ps' ( temp highp float)
0:26 gl_PointSize: direct index for structure ( in highp float PointSize)
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:26 Constant:
0:26 1 (const int)
0:26 Constant:
@ -211,8 +211,8 @@ ERROR: node is still EOpNull!
0:114 move second child to first child ( temp highp float)
0:114 'ps' ( temp highp float)
0:114 gl_PointSize: direct index for structure ( in highp float PointSize)
0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:114 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:114 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:114 Constant:
0:114 1 (const int)
0:114 Constant:
@ -442,8 +442,8 @@ ERROR: node is still EOpNull!
0:25 move second child to first child ( temp highp 4-component vector of float)
0:25 'p' ( temp highp 4-component vector of float)
0:25 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:25 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:25 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:25 Constant:
0:25 1 (const int)
0:25 Constant:
@ -452,8 +452,8 @@ ERROR: node is still EOpNull!
0:26 move second child to first child ( temp highp float)
0:26 'ps' ( temp highp float)
0:26 gl_PointSize: direct index for structure ( in highp float PointSize)
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:26 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:26 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:26 Constant:
0:26 1 (const int)
0:26 Constant:

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 'p' ( temp highp 4-component vector of float)
0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:36 Constant:
0:36 1 (const int)
0:36 Constant:
@ -86,8 +86,8 @@ ERROR: node is still EOpNull!
0:37 move second child to first child ( temp highp float)
0:37 'ps' ( temp highp float)
0:37 gl_PointSize: direct index for structure ( in highp float PointSize)
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:37 Constant:
0:37 1 (const int)
0:37 Constant:
@ -209,8 +209,8 @@ ERROR: node is still EOpNull!
0:36 move second child to first child ( temp highp 4-component vector of float)
0:36 'p' ( temp highp 4-component vector of float)
0:36 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:36 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:36 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:36 Constant:
0:36 1 (const int)
0:36 Constant:
@ -219,8 +219,8 @@ ERROR: node is still EOpNull!
0:37 move second child to first child ( temp highp float)
0:37 'ps' ( temp highp float)
0:37 gl_PointSize: direct index for structure ( in highp float PointSize)
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:37 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:37 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:37 Constant:
0:37 1 (const int)
0:37 Constant:

View File

@ -269,7 +269,7 @@ ERROR: node is still EOpNull!
0:117 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
0:118 move second child to first child ( temp highp 4-component vector of float)
0:118 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:118 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:118 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:118 Constant:
0:118 0 (const uint)
0:118 Constant:
@ -278,7 +278,7 @@ ERROR: node is still EOpNull!
0:118 1.000000
0:118 1.000000
0:119 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
0:119 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:119 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:119 Constant:
0:119 1 (const uint)
0:153 Function Definition: pfooBad( ( global void)
@ -940,7 +940,7 @@ ERROR: node is still EOpNull!
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
0:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a})
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid out block{ out highp int i})
@ -1184,7 +1184,7 @@ ERROR: node is still EOpNull!
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
0:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a})
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid out block{ out highp int i})

View File

@ -1,10 +1,43 @@
320.comp
ERROR: 0:8: 'dFdx' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:9: 'dFdy' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:10: 'fwidth' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:11: 'dFdxCoarse' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:12: 'dFdyCoarse' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:13: 'fwidthCoarse' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:14: 'dFdxFine' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:15: 'dFdyFine' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 0:16: 'fwidthFine' : required extension not requested: GL_NV_compute_shader_derivatives
ERROR: 9 compilation errors. No code generated.
Shader version: 320
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: main( ( global void)
0:3 Function Parameters:
ERROR: node is still EOpNull!
0:6 Function Definition: main( ( global void)
0:6 Function Parameters:
0:8 Sequence
0:8 dPdx ( global highp float)
0:8 'fX' ( global highp float)
0:9 dPdy ( global highp float)
0:9 'fY' ( global highp float)
0:10 fwidth ( global highp float)
0:10 'fX' ( global highp float)
0:11 dPdxCoarse ( global highp float)
0:11 'fX' ( global highp float)
0:12 dPdyCoarse ( global highp float)
0:12 'fY' ( global highp float)
0:13 fwidthCoarse ( global highp float)
0:13 'fX' ( global highp float)
0:14 dPdxFine ( global highp float)
0:14 'fX' ( global highp float)
0:15 dPdyFine ( global highp float)
0:15 'fY' ( global highp float)
0:16 fwidthFine ( global highp float)
0:16 'fX' ( global highp float)
0:? Linker Objects
0:? 'fX' ( global highp float)
0:? 'fY' ( global highp float)
Linked compute stage:
@ -12,8 +45,29 @@ Linked compute stage:
Shader version: 320
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: main( ( global void)
0:3 Function Parameters:
ERROR: node is still EOpNull!
0:6 Function Definition: main( ( global void)
0:6 Function Parameters:
0:8 Sequence
0:8 dPdx ( global highp float)
0:8 'fX' ( global highp float)
0:9 dPdy ( global highp float)
0:9 'fY' ( global highp float)
0:10 fwidth ( global highp float)
0:10 'fX' ( global highp float)
0:11 dPdxCoarse ( global highp float)
0:11 'fX' ( global highp float)
0:12 dPdyCoarse ( global highp float)
0:12 'fY' ( global highp float)
0:13 fwidthCoarse ( global highp float)
0:13 'fX' ( global highp float)
0:14 dPdxFine ( global highp float)
0:14 'fX' ( global highp float)
0:15 dPdyFine ( global highp float)
0:15 'fY' ( global highp float)
0:16 fwidthFine ( global highp float)
0:16 'fX' ( global highp float)
0:? Linker Objects
0:? 'fX' ( global highp float)
0:? 'fY' ( global highp float)

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 'p' ( temp highp 4-component vector of float)
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:23 Constant:
0:23 1 (const int)
0:23 Constant:
@ -76,8 +76,8 @@ ERROR: node is still EOpNull!
0:24 move second child to first child ( temp highp float)
0:24 'ps' ( temp highp float)
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:
@ -196,8 +196,8 @@ ERROR: node is still EOpNull!
0:104 move second child to first child ( temp highp float)
0:104 'ps' ( temp highp float)
0:104 gl_PointSize: direct index for structure ( in highp float PointSize)
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:104 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:104 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:104 Constant:
0:104 1 (const int)
0:104 Constant:
@ -424,8 +424,8 @@ ERROR: node is still EOpNull!
0:23 move second child to first child ( temp highp 4-component vector of float)
0:23 'p' ( temp highp 4-component vector of float)
0:23 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:23 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:23 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:23 Constant:
0:23 1 (const int)
0:23 Constant:
@ -434,8 +434,8 @@ ERROR: node is still EOpNull!
0:24 move second child to first child ( temp highp float)
0:24 'ps' ( temp highp float)
0:24 gl_PointSize: direct index for structure ( in highp float PointSize)
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:24 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:24 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:24 Constant:
0:24 1 (const int)
0:24 Constant:

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 'p' ( temp highp 4-component vector of float)
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:32 Constant:
0:32 1 (const int)
0:32 Constant:
@ -76,8 +76,8 @@ ERROR: node is still EOpNull!
0:33 move second child to first child ( temp highp float)
0:33 'ps' ( temp highp float)
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in unsized 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:33 Constant:
0:33 1 (const int)
0:33 Constant:
@ -184,8 +184,8 @@ ERROR: node is still EOpNull!
0:32 move second child to first child ( temp highp 4-component vector of float)
0:32 'p' ( temp highp 4-component vector of float)
0:32 gl_Position: direct index for structure ( in highp 4-component vector of float Position)
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:32 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:32 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:32 Constant:
0:32 1 (const int)
0:32 Constant:
@ -194,8 +194,8 @@ ERROR: node is still EOpNull!
0:33 move second child to first child ( temp highp float)
0:33 'ps' ( temp highp float)
0:33 gl_PointSize: direct index for structure ( in highp float PointSize)
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float gl_PositionPerViewNV})
0:33 direct index ( temp block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:33 'gl_in' ( in 32-element array of block{ in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize, in highp 4-component vector of float SecondaryPositionNV gl_SecondaryPositionNV, in 1-element array of highp 4-component vector of float PositionPerViewNV gl_PositionPerViewNV})
0:33 Constant:
0:33 1 (const int)
0:33 Constant:

View File

@ -49,7 +49,7 @@ ERROR: node is still EOpNull!
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
0:27 move second child to first child ( temp highp 4-component vector of float)
0:27 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:27 Constant:
0:27 0 (const uint)
0:27 Constant:
@ -58,7 +58,7 @@ ERROR: node is still EOpNull!
0:27 1.000000
0:27 1.000000
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:28 Constant:
0:28 1 (const uint)
0:62 Function Definition: pfoo( ( global void)
@ -623,7 +623,7 @@ ERROR: node is still EOpNull!
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
0:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a})
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid out block{ out highp int i})
@ -709,7 +709,7 @@ ERROR: node is still EOpNull!
0:26 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
0:27 move second child to first child ( temp highp 4-component vector of float)
0:27 gl_Position: direct index for structure ( gl_Position highp 4-component vector of float Position)
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:27 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:27 Constant:
0:27 0 (const uint)
0:27 Constant:
@ -718,7 +718,7 @@ ERROR: node is still EOpNull!
0:27 1.000000
0:27 1.000000
0:28 gl_PointSize: direct index for structure ( gl_PointSize highp void PointSize)
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:28 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:28 Constant:
0:28 1 (const uint)
0:? Linker Objects
@ -726,7 +726,7 @@ ERROR: node is still EOpNull!
0:? 'anon@0' ( out block{layout( location=12) out highp int aAnon, layout( location=13) out highp 4-component vector of float vAnon})
0:? 'aliased' (layout( location=12) smooth out highp int)
0:? 'inbinst' ( in block{ in highp int a})
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position, })
0:? 'anon@1' ( out block{ gl_Position highp 4-component vector of float Position gl_Position})
0:? 'smon' ( smooth out block{ out highp int i})
0:? 'fmon' ( flat out block{ out highp int i})
0:? 'cmon' ( centroid out block{ out highp int i})

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 'c' ( temp 4-component vector of float)
0:23 gl_Color: direct index for structure ( in 4-component vector of float Color)
0:23 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, })
0:23 'anon@0' ( in block{ in 4-component vector of float Color gl_Color})
0:23 Constant:
0:23 2 (const uint)
0:24 move second child to first child ( temp 4-component vector of float)
@ -93,7 +93,7 @@ ERROR: node is still EOpNull!
0:? 'inVar' ( smooth in 4-component vector of float)
0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float)
0:? 'varyingVar' ( smooth in 4-component vector of float)
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, })
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color})
0:? 'gl_name' ( in block{ in int gl_i})
0:? 'start' ( const int)
0:? 6 (const int)
@ -158,7 +158,7 @@ ERROR: node is still EOpNull!
0:? 'inVar' ( smooth in 4-component vector of float)
0:? 'outVar' (layout( location=0 index=0) out 4-component vector of float)
0:? 'varyingVar' ( smooth in 4-component vector of float)
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color, })
0:? 'anon@0' ( in block{ in 4-component vector of float Color gl_Color})
0:? 'gl_name' ( in block{ in int gl_i})
0:? 'start' ( const int)
0:? 6 (const int)

View File

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

View File

@ -281,7 +281,7 @@ ERROR: node is still EOpNull!
0:? 'sampb3' (layout( binding=80) uniform sampler2D)
0:? 'sampb4' (layout( binding=31) uniform sampler2D)
0:? 'sampb5' (layout( binding=79) uniform 2-element array of sampler2D)
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance, })
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance})
0:? 'patchIn' ( patch in 4-component vector of float)
0:? 'patchOut' ( smooth patch out 4-component vector of float)
0:? 'comma0' ( temp int)
@ -363,7 +363,7 @@ ERROR: node is still EOpNull!
0:? 'sampb3' (layout( binding=80) uniform sampler2D)
0:? 'sampb4' (layout( binding=31) uniform sampler2D)
0:? 'sampb5' (layout( binding=79) uniform 2-element array of sampler2D)
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance, })
0:? 'anon@3' ( out block{ out 4-element array of float ClipDistance gl_ClipDistance})
0:? 'patchIn' ( patch in 4-component vector of float)
0:? 'patchOut' ( smooth patch out 4-component vector of float)
0:? 'comma0' ( temp int)

View File

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

View File

@ -78,7 +78,7 @@ ERROR: node is still EOpNull!
0:16 move second child to first child ( temp float)
0:16 direct index ( temp float ClipDistance)
0:16 gl_ClipDistance: direct index for structure ( out 17-element array of float ClipDistance)
0:16 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, })
0:16 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance})
0:16 Constant:
0:16 2 (const uint)
0:16 Constant:
@ -206,7 +206,7 @@ ERROR: node is still EOpNull!
0:? 'uv4' (layout( location=4) uniform 4-component vector of float)
0:? 'b1' (layout( location=2) in block{ in 4-component vector of float v})
0:? 'b2' (layout( location=2) out block{ out 4-component vector of float v})
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, })
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance})
0:? 'cs' (layout( location=10) smooth out 2-element array of structure{ global 7-element array of 3X2 matrix of float m, global float f})
0:? 'cf' (layout( location=54) smooth out float)
0:? 'cg' (layout( location=53) smooth out float)
@ -281,7 +281,7 @@ ERROR: node is still EOpNull!
0:? 'uv4' (layout( location=4) uniform 4-component vector of float)
0:? 'b1' (layout( location=2) in block{ in 4-component vector of float v})
0:? 'b2' (layout( location=2) out block{ out 4-component vector of float v})
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance, })
0:? 'anon@0' ( out block{ out 17-element array of float ClipDistance gl_ClipDistance})
0:? 'cs' (layout( location=10) smooth out 2-element array of structure{ global 7-element array of 3X2 matrix of float m, global float f})
0:? 'cf' (layout( location=54) smooth out float)
0:? 'cg' (layout( location=53) smooth out float)

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:? 'bm' (layout( xfb_buffer=5 xfb_offset=0) smooth out float)
0:? 'bbinst10' ( out block{layout( xfb_buffer=7 xfb_offset=0) out 4X4 matrix of double m1, layout( xfb_buffer=7 xfb_offset=128) out 4X4 matrix of double m2, layout( xfb_buffer=7 xfb_offset=256) out float f})
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize, })
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize})
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
@ -241,7 +241,7 @@ ERROR: node is still EOpNull!
0:? 'bbinst9' ( out block{layout( xfb_buffer=4 xfb_offset=1) out bool b, layout( xfb_buffer=4 xfb_offset=12) out structure{ global bool b, global structure{ global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout( xfb_buffer=4 xfb_offset=52) out 3X3 matrix of float m3, layout( xfb_buffer=4 xfb_offset=90) out int i, layout( xfb_buffer=4 xfb_offset=98) out double d, layout( xfb_buffer=4 xfb_offset=108) out structure{ global int a} s})
0:? 'bm' (layout( xfb_buffer=5 xfb_offset=0) smooth out float)
0:? 'bbinst10' ( out block{layout( xfb_buffer=7 xfb_offset=0) out 4X4 matrix of double m1, layout( xfb_buffer=7 xfb_offset=128) out 4X4 matrix of double m2, layout( xfb_buffer=7 xfb_offset=256) out float f})
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize, })
0:? 'anon@0' ( out block{layout( xfb_buffer=3 xfb_offset=36) gl_Position 4-component vector of float Position gl_Position, layout( xfb_buffer=3 xfb_offset=32) gl_PointSize float PointSize gl_PointSize})
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)

View File

@ -9,17 +9,17 @@ local_size = (1, 1, 1)
0:? 'bool_init' ( const bool)
0:? true (const bool)
0:? 'int8_t_init' ( const int8_t)
0:? -1 (const int)
0:? -1 (const int8_t)
0:? 'int16_t_init' ( const int16_t)
0:? -2 (const int)
0:? -2 (const int16_t)
0:? 'int32_t_init' ( const int)
0:? -3 (const int)
0:? 'int64_t_init' ( const int64_t)
0:? -4 (const int64_t)
0:? 'uint8_t_init' ( const uint8_t)
0:? 1 (const int)
0:? 1 (const uint8_t)
0:? 'uint16_t_init' ( const uint16_t)
0:? 2 (const int)
0:? 2 (const uint16_t)
0:? 'uint32_t_init' ( const uint)
0:? 3 (const uint)
0:? 'uint64_t_init' ( const uint64_t)
@ -33,17 +33,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_bool' ( const bool)
0:? true (const bool)
0:? 'int8_t_to_bool' ( const bool)
0:? -1 (const int)
0:? true (const bool)
0:? 'int16_t_to_bool' ( const bool)
0:? -2 (const int)
0:? true (const bool)
0:? 'int32_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'int64_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'uint8_t_to_bool' ( const bool)
0:? 1 (const int)
0:? true (const bool)
0:? 'uint16_t_to_bool' ( const bool)
0:? 2 (const int)
0:? true (const bool)
0:? 'uint32_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'uint64_t_to_bool' ( const bool)
@ -55,53 +55,53 @@ local_size = (1, 1, 1)
0:? 'float64_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'bool_to_int8_t' ( const int8_t)
0:? true (const bool)
0:? 1 (const int8_t)
0:? 'int8_t_to_int8_t' ( const int8_t)
0:? -1 (const int)
0:? -1 (const int8_t)
0:? 'int16_t_to_int8_t' ( const int8_t)
0:? -2 (const int)
0:? -2 (const int8_t)
0:? 'int32_t_to_int8_t' ( const int8_t)
0:? -3 (const int)
0:? -3 (const int8_t)
0:? 'int64_t_to_int8_t' ( const int8_t)
0:? -4 (const int64_t)
0:? -4 (const int8_t)
0:? 'uint8_t_to_int8_t' ( const int8_t)
0:? 1 (const int)
0:? 1 (const int8_t)
0:? 'uint16_t_to_int8_t' ( const int8_t)
0:? 2 (const int)
0:? 2 (const int8_t)
0:? 'uint32_t_to_int8_t' ( const int8_t)
0:? 3 (const uint)
0:? 3 (const int8_t)
0:? 'uint64_t_to_int8_t' ( const int8_t)
0:? 4 (const uint64_t)
0:? 4 (const int8_t)
0:? 'float16_t_to_int8_t' ( const int8_t)
0:? 42.000000
0:? 42 (const int8_t)
0:? 'float32_t_to_int8_t' ( const int8_t)
0:? 13.000000
0:? 13 (const int8_t)
0:? 'float64_t_to_int8_t' ( const int8_t)
0:? -4.000000
0:? -4 (const int8_t)
0:? 'bool_to_int16_t' ( const int16_t)
0:? true (const bool)
0:? 1 (const int16_t)
0:? 'int8_t_to_int16_t' ( const int16_t)
0:? -1 (const int)
0:? -1 (const int16_t)
0:? 'int16_t_to_int16_t' ( const int16_t)
0:? -2 (const int)
0:? -2 (const int16_t)
0:? 'int32_t_to_int16_t' ( const int16_t)
0:? -3 (const int)
0:? -3 (const int16_t)
0:? 'int64_t_to_int16_t' ( const int16_t)
0:? -4 (const int64_t)
0:? -4 (const int16_t)
0:? 'uint8_t_to_int16_t' ( const int16_t)
0:? 1 (const int)
0:? 1 (const int16_t)
0:? 'uint16_t_to_int16_t' ( const int16_t)
0:? 2 (const int)
0:? 2 (const int16_t)
0:? 'uint32_t_to_int16_t' ( const int16_t)
0:? 3 (const uint)
0:? 3 (const int16_t)
0:? 'uint64_t_to_int16_t' ( const int16_t)
0:? 4 (const uint64_t)
0:? 4 (const int16_t)
0:? 'float16_t_to_int16_t' ( const int16_t)
0:? 42.000000
0:? 42 (const int16_t)
0:? 'float32_t_to_int16_t' ( const int16_t)
0:? 13.000000
0:? 13 (const int16_t)
0:? 'float64_t_to_int16_t' ( const int16_t)
0:? -4.000000
0:? -4 (const int16_t)
0:? 'bool_to_int32_t' ( const int)
0:? 1 (const int)
0:? 'int8_t_to_int32_t' ( const int)
@ -129,17 +129,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_int64_t' ( const int64_t)
0:? 1 (const int64_t)
0:? 'int8_t_to_int64_t' ( const int64_t)
0:? -1 (const int)
0:? -1 (const int64_t)
0:? 'int16_t_to_int64_t' ( const int64_t)
0:? -2 (const int)
0:? -2 (const int64_t)
0:? 'int32_t_to_int64_t' ( const int64_t)
0:? -3 (const int64_t)
0:? 'int64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t)
0:? 'uint8_t_to_int64_t' ( const int64_t)
0:? 1 (const int)
0:? 1 (const int64_t)
0:? 'uint16_t_to_int64_t' ( const int64_t)
0:? 2 (const int)
0:? 2 (const int64_t)
0:? 'uint32_t_to_int64_t' ( const int64_t)
0:? 3 (const int64_t)
0:? 'uint64_t_to_int64_t' ( const int64_t)
@ -151,67 +151,67 @@ local_size = (1, 1, 1)
0:? 'float64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t)
0:? 'bool_to_uint8_t' ( const uint8_t)
0:? true (const bool)
0:? 1 (const uint8_t)
0:? 'int8_t_to_uint8_t' ( const uint8_t)
0:? -1 (const int)
0:? 255 (const uint8_t)
0:? 'int16_t_to_uint8_t' ( const uint8_t)
0:? -2 (const int)
0:? 254 (const uint8_t)
0:? 'int32_t_to_uint8_t' ( const uint8_t)
0:? -3 (const int)
0:? 253 (const uint8_t)
0:? 'int64_t_to_uint8_t' ( const uint8_t)
0:? -4 (const int64_t)
0:? 252 (const uint8_t)
0:? 'uint8_t_to_uint8_t' ( const uint8_t)
0:? 1 (const int)
0:? 1 (const uint8_t)
0:? 'uint16_t_to_uint8_t' ( const uint8_t)
0:? 2 (const int)
0:? 2 (const uint8_t)
0:? 'uint32_t_to_uint8_t' ( const uint8_t)
0:? 3 (const uint)
0:? 3 (const uint8_t)
0:? 'uint64_t_to_uint8_t' ( const uint8_t)
0:? 4 (const uint64_t)
0:? 4 (const uint8_t)
0:? 'float16_t_to_uint8_t' ( const uint8_t)
0:? 42.000000
0:? 42 (const uint8_t)
0:? 'float32_t_to_uint8_t' ( const uint8_t)
0:? 13.000000
0:? 13 (const uint8_t)
0:? 'float64_t_to_uint8_t' ( const uint8_t)
0:? -4.000000
0:? 252 (const uint8_t)
0:? 'bool_to_uint16_t' ( const uint16_t)
0:? true (const bool)
0:? 1 (const uint16_t)
0:? 'int8_t_to_uint16_t' ( const uint16_t)
0:? -1 (const int)
0:? 65535 (const uint16_t)
0:? 'int16_t_to_uint16_t' ( const uint16_t)
0:? -2 (const int)
0:? 65534 (const uint16_t)
0:? 'int32_t_to_uint16_t' ( const uint16_t)
0:? -3 (const int)
0:? 65533 (const uint16_t)
0:? 'int64_t_to_uint16_t' ( const uint16_t)
0:? -4 (const int64_t)
0:? 65532 (const uint16_t)
0:? 'uint8_t_to_uint16_t' ( const uint16_t)
0:? 1 (const int)
0:? 1 (const uint16_t)
0:? 'uint16_t_to_uint16_t' ( const uint16_t)
0:? 2 (const int)
0:? 2 (const uint16_t)
0:? 'uint32_t_to_uint16_t' ( const uint16_t)
0:? 3 (const uint)
0:? 3 (const uint16_t)
0:? 'uint64_t_to_uint16_t' ( const uint16_t)
0:? 4 (const uint64_t)
0:? 4 (const uint16_t)
0:? 'float16_t_to_uint16_t' ( const uint16_t)
0:? 42.000000
0:? 42 (const uint16_t)
0:? 'float32_t_to_uint16_t' ( const uint16_t)
0:? 13.000000
0:? 13 (const uint16_t)
0:? 'float64_t_to_uint16_t' ( const uint16_t)
0:? -4.000000
0:? 65532 (const uint16_t)
0:? 'bool_to_uint32_t' ( const uint)
0:? 1 (const uint)
0:? 'int8_t_to_uint32_t' ( const uint)
0:? -1 (const int)
0:? 4294967295 (const uint)
0:? 'int16_t_to_uint32_t' ( const uint)
0:? -2 (const int)
0:? 4294967294 (const uint)
0:? 'int32_t_to_uint32_t' ( const uint)
0:? 4294967293 (const uint)
0:? 'int64_t_to_uint32_t' ( const uint)
0:? 4294967292 (const uint)
0:? 'uint8_t_to_uint32_t' ( const uint)
0:? 1 (const int)
0:? 1 (const uint)
0:? 'uint16_t_to_uint32_t' ( const uint)
0:? 2 (const int)
0:? 2 (const uint)
0:? 'uint32_t_to_uint32_t' ( const uint)
0:? 3 (const uint)
0:? 'uint64_t_to_uint32_t' ( const uint)
@ -225,17 +225,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_uint64_t' ( const uint64_t)
0:? 1 (const uint64_t)
0:? 'int8_t_to_uint64_t' ( const uint64_t)
0:? -1 (const int)
0:? 18446744073709551615 (const uint64_t)
0:? 'int16_t_to_uint64_t' ( const uint64_t)
0:? -2 (const int)
0:? 18446744073709551614 (const uint64_t)
0:? 'int32_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551613 (const uint64_t)
0:? 'int64_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551612 (const uint64_t)
0:? 'uint8_t_to_uint64_t' ( const uint64_t)
0:? 1 (const int)
0:? 1 (const uint64_t)
0:? 'uint16_t_to_uint64_t' ( const uint64_t)
0:? 2 (const int)
0:? 2 (const uint64_t)
0:? 'uint32_t_to_uint64_t' ( const uint64_t)
0:? 3 (const uint64_t)
0:? 'uint64_t_to_uint64_t' ( const uint64_t)
@ -249,17 +249,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_float16_t' ( const float16_t)
0:? 1.000000
0:? 'int8_t_to_float16_t' ( const float16_t)
0:? -1 (const int)
0:? -1.000000
0:? 'int16_t_to_float16_t' ( const float16_t)
0:? -2 (const int)
0:? -2.000000
0:? 'int32_t_to_float16_t' ( const float16_t)
0:? -3.000000
0:? 'int64_t_to_float16_t' ( const float16_t)
0:? -4.000000
0:? 'uint8_t_to_float16_t' ( const float16_t)
0:? 1 (const int)
0:? 1.000000
0:? 'uint16_t_to_float16_t' ( const float16_t)
0:? 2 (const int)
0:? 2.000000
0:? 'uint32_t_to_float16_t' ( const float16_t)
0:? 3.000000
0:? 'uint64_t_to_float16_t' ( const float16_t)
@ -273,17 +273,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_float32_t' ( const float)
0:? 1.000000
0:? 'int8_t_to_float32_t' ( const float)
0:? -1 (const int)
0:? -1.000000
0:? 'int16_t_to_float32_t' ( const float)
0:? -2 (const int)
0:? -2.000000
0:? 'int32_t_to_float32_t' ( const float)
0:? -3.000000
0:? 'int64_t_to_float32_t' ( const float)
0:? -4.000000
0:? 'uint8_t_to_float32_t' ( const float)
0:? 1 (const int)
0:? 1.000000
0:? 'uint16_t_to_float32_t' ( const float)
0:? 2 (const int)
0:? 2.000000
0:? 'uint32_t_to_float32_t' ( const float)
0:? 3.000000
0:? 'uint64_t_to_float32_t' ( const float)
@ -297,17 +297,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_float64_t' ( const double)
0:? 1.000000
0:? 'int8_t_to_float64_t' ( const double)
0:? -1 (const int)
0:? -1.000000
0:? 'int16_t_to_float64_t' ( const double)
0:? -2 (const int)
0:? -2.000000
0:? 'int32_t_to_float64_t' ( const double)
0:? -3.000000
0:? 'int64_t_to_float64_t' ( const double)
0:? -4.000000
0:? 'uint8_t_to_float64_t' ( const double)
0:? 1 (const int)
0:? 1.000000
0:? 'uint16_t_to_float64_t' ( const double)
0:? 2 (const int)
0:? 2.000000
0:? 'uint32_t_to_float64_t' ( const double)
0:? 3.000000
0:? 'uint64_t_to_float64_t' ( const double)
@ -333,17 +333,17 @@ local_size = (1, 1, 1)
0:? 'bool_init' ( const bool)
0:? true (const bool)
0:? 'int8_t_init' ( const int8_t)
0:? -1 (const int)
0:? -1 (const int8_t)
0:? 'int16_t_init' ( const int16_t)
0:? -2 (const int)
0:? -2 (const int16_t)
0:? 'int32_t_init' ( const int)
0:? -3 (const int)
0:? 'int64_t_init' ( const int64_t)
0:? -4 (const int64_t)
0:? 'uint8_t_init' ( const uint8_t)
0:? 1 (const int)
0:? 1 (const uint8_t)
0:? 'uint16_t_init' ( const uint16_t)
0:? 2 (const int)
0:? 2 (const uint16_t)
0:? 'uint32_t_init' ( const uint)
0:? 3 (const uint)
0:? 'uint64_t_init' ( const uint64_t)
@ -357,17 +357,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_bool' ( const bool)
0:? true (const bool)
0:? 'int8_t_to_bool' ( const bool)
0:? -1 (const int)
0:? true (const bool)
0:? 'int16_t_to_bool' ( const bool)
0:? -2 (const int)
0:? true (const bool)
0:? 'int32_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'int64_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'uint8_t_to_bool' ( const bool)
0:? 1 (const int)
0:? true (const bool)
0:? 'uint16_t_to_bool' ( const bool)
0:? 2 (const int)
0:? true (const bool)
0:? 'uint32_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'uint64_t_to_bool' ( const bool)
@ -379,53 +379,53 @@ local_size = (1, 1, 1)
0:? 'float64_t_to_bool' ( const bool)
0:? true (const bool)
0:? 'bool_to_int8_t' ( const int8_t)
0:? true (const bool)
0:? 1 (const int8_t)
0:? 'int8_t_to_int8_t' ( const int8_t)
0:? -1 (const int)
0:? -1 (const int8_t)
0:? 'int16_t_to_int8_t' ( const int8_t)
0:? -2 (const int)
0:? -2 (const int8_t)
0:? 'int32_t_to_int8_t' ( const int8_t)
0:? -3 (const int)
0:? -3 (const int8_t)
0:? 'int64_t_to_int8_t' ( const int8_t)
0:? -4 (const int64_t)
0:? -4 (const int8_t)
0:? 'uint8_t_to_int8_t' ( const int8_t)
0:? 1 (const int)
0:? 1 (const int8_t)
0:? 'uint16_t_to_int8_t' ( const int8_t)
0:? 2 (const int)
0:? 2 (const int8_t)
0:? 'uint32_t_to_int8_t' ( const int8_t)
0:? 3 (const uint)
0:? 3 (const int8_t)
0:? 'uint64_t_to_int8_t' ( const int8_t)
0:? 4 (const uint64_t)
0:? 4 (const int8_t)
0:? 'float16_t_to_int8_t' ( const int8_t)
0:? 42.000000
0:? 42 (const int8_t)
0:? 'float32_t_to_int8_t' ( const int8_t)
0:? 13.000000
0:? 13 (const int8_t)
0:? 'float64_t_to_int8_t' ( const int8_t)
0:? -4.000000
0:? -4 (const int8_t)
0:? 'bool_to_int16_t' ( const int16_t)
0:? true (const bool)
0:? 1 (const int16_t)
0:? 'int8_t_to_int16_t' ( const int16_t)
0:? -1 (const int)
0:? -1 (const int16_t)
0:? 'int16_t_to_int16_t' ( const int16_t)
0:? -2 (const int)
0:? -2 (const int16_t)
0:? 'int32_t_to_int16_t' ( const int16_t)
0:? -3 (const int)
0:? -3 (const int16_t)
0:? 'int64_t_to_int16_t' ( const int16_t)
0:? -4 (const int64_t)
0:? -4 (const int16_t)
0:? 'uint8_t_to_int16_t' ( const int16_t)
0:? 1 (const int)
0:? 1 (const int16_t)
0:? 'uint16_t_to_int16_t' ( const int16_t)
0:? 2 (const int)
0:? 2 (const int16_t)
0:? 'uint32_t_to_int16_t' ( const int16_t)
0:? 3 (const uint)
0:? 3 (const int16_t)
0:? 'uint64_t_to_int16_t' ( const int16_t)
0:? 4 (const uint64_t)
0:? 4 (const int16_t)
0:? 'float16_t_to_int16_t' ( const int16_t)
0:? 42.000000
0:? 42 (const int16_t)
0:? 'float32_t_to_int16_t' ( const int16_t)
0:? 13.000000
0:? 13 (const int16_t)
0:? 'float64_t_to_int16_t' ( const int16_t)
0:? -4.000000
0:? -4 (const int16_t)
0:? 'bool_to_int32_t' ( const int)
0:? 1 (const int)
0:? 'int8_t_to_int32_t' ( const int)
@ -453,17 +453,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_int64_t' ( const int64_t)
0:? 1 (const int64_t)
0:? 'int8_t_to_int64_t' ( const int64_t)
0:? -1 (const int)
0:? -1 (const int64_t)
0:? 'int16_t_to_int64_t' ( const int64_t)
0:? -2 (const int)
0:? -2 (const int64_t)
0:? 'int32_t_to_int64_t' ( const int64_t)
0:? -3 (const int64_t)
0:? 'int64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t)
0:? 'uint8_t_to_int64_t' ( const int64_t)
0:? 1 (const int)
0:? 1 (const int64_t)
0:? 'uint16_t_to_int64_t' ( const int64_t)
0:? 2 (const int)
0:? 2 (const int64_t)
0:? 'uint32_t_to_int64_t' ( const int64_t)
0:? 3 (const int64_t)
0:? 'uint64_t_to_int64_t' ( const int64_t)
@ -475,67 +475,67 @@ local_size = (1, 1, 1)
0:? 'float64_t_to_int64_t' ( const int64_t)
0:? -4 (const int64_t)
0:? 'bool_to_uint8_t' ( const uint8_t)
0:? true (const bool)
0:? 1 (const uint8_t)
0:? 'int8_t_to_uint8_t' ( const uint8_t)
0:? -1 (const int)
0:? 255 (const uint8_t)
0:? 'int16_t_to_uint8_t' ( const uint8_t)
0:? -2 (const int)
0:? 254 (const uint8_t)
0:? 'int32_t_to_uint8_t' ( const uint8_t)
0:? -3 (const int)
0:? 253 (const uint8_t)
0:? 'int64_t_to_uint8_t' ( const uint8_t)
0:? -4 (const int64_t)
0:? 252 (const uint8_t)
0:? 'uint8_t_to_uint8_t' ( const uint8_t)
0:? 1 (const int)
0:? 1 (const uint8_t)
0:? 'uint16_t_to_uint8_t' ( const uint8_t)
0:? 2 (const int)
0:? 2 (const uint8_t)
0:? 'uint32_t_to_uint8_t' ( const uint8_t)
0:? 3 (const uint)
0:? 3 (const uint8_t)
0:? 'uint64_t_to_uint8_t' ( const uint8_t)
0:? 4 (const uint64_t)
0:? 4 (const uint8_t)
0:? 'float16_t_to_uint8_t' ( const uint8_t)
0:? 42.000000
0:? 42 (const uint8_t)
0:? 'float32_t_to_uint8_t' ( const uint8_t)
0:? 13.000000
0:? 13 (const uint8_t)
0:? 'float64_t_to_uint8_t' ( const uint8_t)
0:? -4.000000
0:? 252 (const uint8_t)
0:? 'bool_to_uint16_t' ( const uint16_t)
0:? true (const bool)
0:? 1 (const uint16_t)
0:? 'int8_t_to_uint16_t' ( const uint16_t)
0:? -1 (const int)
0:? 65535 (const uint16_t)
0:? 'int16_t_to_uint16_t' ( const uint16_t)
0:? -2 (const int)
0:? 65534 (const uint16_t)
0:? 'int32_t_to_uint16_t' ( const uint16_t)
0:? -3 (const int)
0:? 65533 (const uint16_t)
0:? 'int64_t_to_uint16_t' ( const uint16_t)
0:? -4 (const int64_t)
0:? 65532 (const uint16_t)
0:? 'uint8_t_to_uint16_t' ( const uint16_t)
0:? 1 (const int)
0:? 1 (const uint16_t)
0:? 'uint16_t_to_uint16_t' ( const uint16_t)
0:? 2 (const int)
0:? 2 (const uint16_t)
0:? 'uint32_t_to_uint16_t' ( const uint16_t)
0:? 3 (const uint)
0:? 3 (const uint16_t)
0:? 'uint64_t_to_uint16_t' ( const uint16_t)
0:? 4 (const uint64_t)
0:? 4 (const uint16_t)
0:? 'float16_t_to_uint16_t' ( const uint16_t)
0:? 42.000000
0:? 42 (const uint16_t)
0:? 'float32_t_to_uint16_t' ( const uint16_t)
0:? 13.000000
0:? 13 (const uint16_t)
0:? 'float64_t_to_uint16_t' ( const uint16_t)
0:? -4.000000
0:? 65532 (const uint16_t)
0:? 'bool_to_uint32_t' ( const uint)
0:? 1 (const uint)
0:? 'int8_t_to_uint32_t' ( const uint)
0:? -1 (const int)
0:? 4294967295 (const uint)
0:? 'int16_t_to_uint32_t' ( const uint)
0:? -2 (const int)
0:? 4294967294 (const uint)
0:? 'int32_t_to_uint32_t' ( const uint)
0:? 4294967293 (const uint)
0:? 'int64_t_to_uint32_t' ( const uint)
0:? 4294967292 (const uint)
0:? 'uint8_t_to_uint32_t' ( const uint)
0:? 1 (const int)
0:? 1 (const uint)
0:? 'uint16_t_to_uint32_t' ( const uint)
0:? 2 (const int)
0:? 2 (const uint)
0:? 'uint32_t_to_uint32_t' ( const uint)
0:? 3 (const uint)
0:? 'uint64_t_to_uint32_t' ( const uint)
@ -549,17 +549,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_uint64_t' ( const uint64_t)
0:? 1 (const uint64_t)
0:? 'int8_t_to_uint64_t' ( const uint64_t)
0:? -1 (const int)
0:? 18446744073709551615 (const uint64_t)
0:? 'int16_t_to_uint64_t' ( const uint64_t)
0:? -2 (const int)
0:? 18446744073709551614 (const uint64_t)
0:? 'int32_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551613 (const uint64_t)
0:? 'int64_t_to_uint64_t' ( const uint64_t)
0:? 18446744073709551612 (const uint64_t)
0:? 'uint8_t_to_uint64_t' ( const uint64_t)
0:? 1 (const int)
0:? 1 (const uint64_t)
0:? 'uint16_t_to_uint64_t' ( const uint64_t)
0:? 2 (const int)
0:? 2 (const uint64_t)
0:? 'uint32_t_to_uint64_t' ( const uint64_t)
0:? 3 (const uint64_t)
0:? 'uint64_t_to_uint64_t' ( const uint64_t)
@ -573,17 +573,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_float16_t' ( const float16_t)
0:? 1.000000
0:? 'int8_t_to_float16_t' ( const float16_t)
0:? -1 (const int)
0:? -1.000000
0:? 'int16_t_to_float16_t' ( const float16_t)
0:? -2 (const int)
0:? -2.000000
0:? 'int32_t_to_float16_t' ( const float16_t)
0:? -3.000000
0:? 'int64_t_to_float16_t' ( const float16_t)
0:? -4.000000
0:? 'uint8_t_to_float16_t' ( const float16_t)
0:? 1 (const int)
0:? 1.000000
0:? 'uint16_t_to_float16_t' ( const float16_t)
0:? 2 (const int)
0:? 2.000000
0:? 'uint32_t_to_float16_t' ( const float16_t)
0:? 3.000000
0:? 'uint64_t_to_float16_t' ( const float16_t)
@ -597,17 +597,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_float32_t' ( const float)
0:? 1.000000
0:? 'int8_t_to_float32_t' ( const float)
0:? -1 (const int)
0:? -1.000000
0:? 'int16_t_to_float32_t' ( const float)
0:? -2 (const int)
0:? -2.000000
0:? 'int32_t_to_float32_t' ( const float)
0:? -3.000000
0:? 'int64_t_to_float32_t' ( const float)
0:? -4.000000
0:? 'uint8_t_to_float32_t' ( const float)
0:? 1 (const int)
0:? 1.000000
0:? 'uint16_t_to_float32_t' ( const float)
0:? 2 (const int)
0:? 2.000000
0:? 'uint32_t_to_float32_t' ( const float)
0:? 3.000000
0:? 'uint64_t_to_float32_t' ( const float)
@ -621,17 +621,17 @@ local_size = (1, 1, 1)
0:? 'bool_to_float64_t' ( const double)
0:? 1.000000
0:? 'int8_t_to_float64_t' ( const double)
0:? -1 (const int)
0:? -1.000000
0:? 'int16_t_to_float64_t' ( const double)
0:? -2 (const int)
0:? -2.000000
0:? 'int32_t_to_float64_t' ( const double)
0:? -3.000000
0:? 'int64_t_to_float64_t' ( const double)
0:? -4.000000
0:? 'uint8_t_to_float64_t' ( const double)
0:? 1 (const int)
0:? 1.000000
0:? 'uint16_t_to_float64_t' ( const double)
0:? 2 (const int)
0:? 2.000000
0:? 'uint32_t_to_float64_t' ( const double)
0:? 3.000000
0:? 'uint64_t_to_float64_t' ( const double)

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:232: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:233: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:234: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:235: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 450
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -597,6 +602,20 @@ ERROR: node is still EOpNull!
0:226 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:226 'ballot' ( temp 4-component vector of uint)
0:226 'parti' ( temp 4-component vector of uint)
0:230 Function Definition: sm_builtins_err( ( global void)
0:230 Function Parameters:
0:232 Sequence
0:232 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:233 'gl_SMCountNV' ( flat in uint SMCountNV)
0:234 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:235 'gl_SMIDNV' ( flat in uint SMIDNV)
0:242 Function Definition: sm_builtins( ( global void)
0:242 Function Parameters:
0:244 Sequence
0:244 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:245 'gl_SMCountNV' ( flat in uint SMCountNV)
0:246 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:247 'gl_SMIDNV' ( flat in uint SMIDNV)
0:? Linker Objects
0:? 'data' (layout( location=0) out 4-component vector of uint)
@ -613,6 +632,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:105 Function Definition: main( ( global void)

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:238: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:239: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:240: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:241: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 450
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
invocations = -1
max_vertices = 1
@ -606,6 +611,20 @@ ERROR: node is still EOpNull!
0:232 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:232 'ballot' ( temp 4-component vector of uint)
0:232 'parti' ( temp 4-component vector of uint)
0:236 Function Definition: sm_builtins_err( ( global void)
0:236 Function Parameters:
0:238 Sequence
0:238 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:239 'gl_SMCountNV' ( in uint SMCountNV)
0:240 'gl_WarpIDNV' ( in uint WarpIDNV)
0:241 'gl_SMIDNV' ( in uint SMIDNV)
0:248 Function Definition: sm_builtins( ( global void)
0:248 Function Parameters:
0:250 Sequence
0:250 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:251 'gl_SMCountNV' ( in uint SMCountNV)
0:252 'gl_WarpIDNV' ( in uint WarpIDNV)
0:253 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
@ -622,6 +641,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
invocations = 1
max_vertices = 1

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:237: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:238: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:239: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:240: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 450
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
vertices = 1
ERROR: node is still EOpNull!
@ -603,6 +608,20 @@ ERROR: node is still EOpNull!
0:231 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:231 'ballot' ( temp 4-component vector of uint)
0:231 'parti' ( temp 4-component vector of uint)
0:235 Function Definition: sm_builtins_err( ( global void)
0:235 Function Parameters:
0:237 Sequence
0:237 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:238 'gl_SMCountNV' ( in uint SMCountNV)
0:239 'gl_WarpIDNV' ( in uint WarpIDNV)
0:240 'gl_SMIDNV' ( in uint SMIDNV)
0:247 Function Definition: sm_builtins( ( global void)
0:247 Function Parameters:
0:249 Sequence
0:249 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:250 'gl_SMCountNV' ( in uint SMCountNV)
0:251 'gl_WarpIDNV' ( in uint WarpIDNV)
0:252 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
@ -619,6 +638,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
vertices = 1
ERROR: node is still EOpNull!

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:237: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:238: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:239: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:240: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 450
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
input primitive = isolines
vertex spacing = none
@ -605,6 +610,20 @@ ERROR: node is still EOpNull!
0:231 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:231 'ballot' ( temp 4-component vector of uint)
0:231 'parti' ( temp 4-component vector of uint)
0:235 Function Definition: sm_builtins_err( ( global void)
0:235 Function Parameters:
0:237 Sequence
0:237 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:238 'gl_SMCountNV' ( in uint SMCountNV)
0:239 'gl_WarpIDNV' ( in uint WarpIDNV)
0:240 'gl_SMIDNV' ( in uint SMIDNV)
0:247 Function Definition: sm_builtins( ( global void)
0:247 Function Parameters:
0:249 Sequence
0:249 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:250 'gl_SMCountNV' ( in uint SMCountNV)
0:251 'gl_WarpIDNV' ( in uint WarpIDNV)
0:252 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
@ -621,6 +640,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
input primitive = isolines
vertex spacing = equal_spacing

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:236: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:237: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:238: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:239: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 450
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -602,6 +607,20 @@ ERROR: node is still EOpNull!
0:230 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint)
0:230 'parti' ( temp 4-component vector of uint)
0:234 Function Definition: sm_builtins_err( ( global void)
0:234 Function Parameters:
0:236 Sequence
0:236 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:237 'gl_SMCountNV' ( in uint SMCountNV)
0:238 'gl_WarpIDNV' ( in uint WarpIDNV)
0:239 'gl_SMIDNV' ( in uint SMIDNV)
0:246 Function Definition: sm_builtins( ( global void)
0:246 Function Parameters:
0:248 Sequence
0:248 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:249 'gl_SMCountNV' ( in uint SMCountNV)
0:250 'gl_WarpIDNV' ( in uint WarpIDNV)
0:251 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'anon@0' (layout( set=0 binding=0 column_major std430) buffer block{layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint result})
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
@ -620,6 +639,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void)

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:242: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:243: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:244: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:245: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 450
@ -97,6 +101,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
local_size = (8, 8, 1)
ERROR: node is still EOpNull!
@ -631,6 +636,20 @@ ERROR: node is still EOpNull!
0:236 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:236 'ballot' ( temp 4-component vector of uint)
0:236 'parti' ( temp 4-component vector of uint)
0:240 Function Definition: sm_builtins_err( ( global void)
0:240 Function Parameters:
0:242 Sequence
0:242 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:243 'gl_SMCountNV' ( in uint SMCountNV)
0:244 'gl_WarpIDNV' ( in uint WarpIDNV)
0:245 'gl_SMIDNV' ( in uint SMIDNV)
0:252 Function Definition: sm_builtins( ( global void)
0:252 Function Parameters:
0:254 Sequence
0:254 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:255 'gl_SMCountNV' ( in uint SMCountNV)
0:256 'gl_WarpIDNV' ( in uint WarpIDNV)
0:257 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 8 (const uint)
@ -651,6 +670,7 @@ Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
local_size = (8, 8, 1)
ERROR: node is still EOpNull!

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:298: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:299: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:300: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:301: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
max_vertices = 81
max_primitives = 32
@ -887,6 +892,20 @@ ERROR: node is still EOpNull!
0:292 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:292 'ballot' ( temp 4-component vector of uint)
0:292 'parti' ( temp 4-component vector of uint)
0:296 Function Definition: sm_builtins_err( ( global void)
0:296 Function Parameters:
0:298 Sequence
0:298 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:299 'gl_SMCountNV' ( in uint SMCountNV)
0:300 'gl_WarpIDNV' ( in uint WarpIDNV)
0:301 'gl_SMIDNV' ( in uint SMIDNV)
0:308 Function Definition: sm_builtins( ( global void)
0:308 Function Parameters:
0:310 Sequence
0:310 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:311 'gl_SMCountNV' ( in uint SMCountNV)
0:312 'gl_WarpIDNV' ( in uint WarpIDNV)
0:313 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 32 (const uint)
@ -910,6 +929,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
max_vertices = 81
max_primitives = 32

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:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:259: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:260: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:261: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:262: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -671,6 +676,20 @@ ERROR: node is still EOpNull!
0:253 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:253 'ballot' ( temp 4-component vector of uint)
0:253 'parti' ( temp 4-component vector of uint)
0:257 Function Definition: sm_builtins_err( ( global void)
0:257 Function Parameters:
0:259 Sequence
0:259 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:260 'gl_SMCountNV' ( in uint SMCountNV)
0:261 'gl_WarpIDNV' ( in uint WarpIDNV)
0:262 'gl_SMIDNV' ( in uint SMIDNV)
0:269 Function Definition: sm_builtins( ( global void)
0:269 Function Parameters:
0:271 Sequence
0:271 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:272 'gl_SMCountNV' ( in uint SMCountNV)
0:273 'gl_WarpIDNV' ( in uint WarpIDNV)
0:274 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
@ -688,6 +707,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:106 Function Definition: main( ( global void)

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:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:247: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:248: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:249: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:250: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -614,6 +619,20 @@ ERROR: node is still EOpNull!
0:241 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:241 'ballot' ( temp 4-component vector of uint)
0:241 'parti' ( temp 4-component vector of uint)
0:245 Function Definition: sm_builtins_err( ( global void)
0:245 Function Parameters:
0:247 Sequence
0:247 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:248 'gl_SMCountNV' ( in uint SMCountNV)
0:249 'gl_WarpIDNV' ( in uint WarpIDNV)
0:250 'gl_SMIDNV' ( in uint SMIDNV)
0:257 Function Definition: sm_builtins( ( global void)
0:257 Function Parameters:
0:259 Sequence
0:259 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:260 'gl_SMCountNV' ( in uint SMCountNV)
0:261 'gl_WarpIDNV' ( in uint WarpIDNV)
0:262 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'data0' (layout( location=0) callableDataNV 4-component vector of float)
0:? 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1})
@ -632,6 +651,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void)

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:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:257: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:258: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:259: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:260: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -680,6 +685,20 @@ ERROR: node is still EOpNull!
0:251 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:251 'ballot' ( temp 4-component vector of uint)
0:251 'parti' ( temp 4-component vector of uint)
0:255 Function Definition: sm_builtins_err( ( global void)
0:255 Function Parameters:
0:257 Sequence
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:258 'gl_SMCountNV' ( in uint SMCountNV)
0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
0:260 'gl_SMIDNV' ( in uint SMIDNV)
0:267 Function Definition: sm_builtins( ( global void)
0:267 Function Parameters:
0:269 Sequence
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:270 'gl_SMCountNV' ( in uint SMCountNV)
0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
0:272 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
@ -699,6 +718,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:108 Function Definition: main( ( global void)

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:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:251: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:252: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:253: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:254: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -644,6 +649,20 @@ ERROR: node is still EOpNull!
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint)
0:245 'parti' ( temp 4-component vector of uint)
0:249 Function Definition: sm_builtins_err( ( global void)
0:249 Function Parameters:
0:251 Sequence
0:251 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:252 'gl_SMCountNV' ( in uint SMCountNV)
0:253 'gl_WarpIDNV' ( in uint WarpIDNV)
0:254 'gl_SMIDNV' ( in uint SMIDNV)
0:261 Function Definition: sm_builtins( ( global void)
0:261 Function Parameters:
0:263 Sequence
0:263 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:264 'gl_SMCountNV' ( in uint SMCountNV)
0:265 'gl_WarpIDNV' ( in uint WarpIDNV)
0:266 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'accNV1' (layout( set=0 binding=1) uniform accelerationStructureNV)
@ -664,6 +683,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:113 Function Definition: main( ( global void)

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:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:257: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:258: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:259: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:260: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -658,6 +663,20 @@ ERROR: node is still EOpNull!
0:251 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:251 'ballot' ( temp 4-component vector of uint)
0:251 'parti' ( temp 4-component vector of uint)
0:255 Function Definition: sm_builtins_err( ( global void)
0:255 Function Parameters:
0:257 Sequence
0:257 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:258 'gl_SMCountNV' ( in uint SMCountNV)
0:259 'gl_WarpIDNV' ( in uint WarpIDNV)
0:260 'gl_SMIDNV' ( in uint SMIDNV)
0:267 Function Definition: sm_builtins( ( global void)
0:267 Function Parameters:
0:269 Sequence
0:269 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:270 'gl_SMCountNV' ( in uint SMCountNV)
0:271 'gl_WarpIDNV' ( in uint WarpIDNV)
0:272 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'iAttr' ( hitAttributeNV 4-component vector of float)
@ -675,6 +694,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:108 Function Definition: main( ( global void)

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:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:251: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:252: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:253: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:254: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
@ -652,6 +657,20 @@ ERROR: node is still EOpNull!
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint)
0:245 'parti' ( temp 4-component vector of uint)
0:249 Function Definition: sm_builtins_err( ( global void)
0:249 Function Parameters:
0:251 Sequence
0:251 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:252 'gl_SMCountNV' ( in uint SMCountNV)
0:253 'gl_WarpIDNV' ( in uint WarpIDNV)
0:254 'gl_SMIDNV' ( in uint SMIDNV)
0:261 Function Definition: sm_builtins( ( global void)
0:261 Function Parameters:
0:263 Sequence
0:263 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:264 'gl_SMCountNV' ( in uint SMCountNV)
0:265 'gl_WarpIDNV' ( in uint WarpIDNV)
0:266 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
@ -671,6 +690,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_ray_tracing
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void)

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:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
ERROR: 0:288: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:289: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:290: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:291: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
Shader version: 460
@ -98,6 +102,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
@ -729,6 +734,20 @@ ERROR: node is still EOpNull!
0:282 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:282 'ballot' ( temp 4-component vector of uint)
0:282 'parti' ( temp 4-component vector of uint)
0:286 Function Definition: sm_builtins_err( ( global void)
0:286 Function Parameters:
0:288 Sequence
0:288 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:289 'gl_SMCountNV' ( in uint SMCountNV)
0:290 'gl_WarpIDNV' ( in uint WarpIDNV)
0:291 'gl_SMIDNV' ( in uint SMIDNV)
0:298 Function Definition: sm_builtins( ( global void)
0:298 Function Parameters:
0:300 Sequence
0:300 'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:301 'gl_SMCountNV' ( in uint SMCountNV)
0:302 'gl_WarpIDNV' ( in uint WarpIDNV)
0:303 'gl_SMIDNV' ( in uint SMIDNV)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 32 (const uint)
@ -753,6 +772,7 @@ Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1)
ERROR: node is still EOpNull!

View File

@ -1,6 +1,25 @@
glspv.esversion.vert
ERROR: #version: ES shaders for OpenGL SPIR-V are not supported
ERROR: 1 compilation errors. No code generated.
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 10
SPIR-V is not generated for failed compile or link
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 8 9
Source ESSL 310
Name 4 "main"
Name 8 "gl_VertexID"
Name 9 "gl_InstanceID"
Decorate 8(gl_VertexID) BuiltIn VertexId
Decorate 9(gl_InstanceID) BuiltIn InstanceId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Input 6(int)
8(gl_VertexID): 7(ptr) Variable Input
9(gl_InstanceID): 7(ptr) Variable Input
4(main): 2 Function None 3
5: Label
Return
FunctionEnd

View File

@ -2,12 +2,14 @@ glspv.vert
ERROR: 0:3: 'push_constant' : only allowed when using GLSL for Vulkan
ERROR: 0:6: 'descriptor set' : only allowed when using GLSL for Vulkan
ERROR: 0:8: 'shared' : not allowed when generating SPIR-V
ERROR: 0:8: 'binding' : uniform/buffer blocks require layout(binding=X)
ERROR: 0:9: 'packed' : not allowed when generating SPIR-V
ERROR: 0:9: 'binding' : uniform/buffer blocks require layout(binding=X)
ERROR: 0:13: 'gl_VertexIndex' : undeclared identifier
ERROR: 0:14: 'gl_InstanceIndex' : undeclared identifier
ERROR: 0:17: 'gl_DepthRangeParameters' : undeclared identifier
ERROR: 0:20: '' : syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON
ERROR: 8 compilation errors. No code generated.
ERROR: 10 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View File

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

View File

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

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
EntryPoint Fragment 4 "main" 22 27 31 36 45 48 51 55
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
ExecutionMode 4 DepthReplacing
ExecutionMode 4 DepthGreater
Source HLSL 500
Name 4 "main"
Name 8 "T"

View File

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

View File

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

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].normal[0]: offset 372, type 1406, size 3, index 1, binding -1, stages 0, arrayStride 4, topLevelArrayStride 24
MultipleArrays.f[0]: offset 480, type 1406, size 5, index 1, binding -1, stages 1, arrayStride 4, topLevelArrayStride 4
ArrayedBind[0].a: offset 0, type 1406, size 1, index 4, binding -1, stages 0
ArrayedBind[0].b: offset 4, type 1406, size 1, index 4, binding -1, stages 1
Buffer block reflection:
VertexCollection: offset -1, type ffffffff, size 400, index -1, binding -1, stages 1, numMembers 7
MultipleArrays: offset -1, type ffffffff, size 500, index -1, binding -1, stages 1, numMembers 9
ArrayedBind[0]: offset -1, type ffffffff, size 8, index -1, binding -1, stages 1, numMembers 2
ArrayedBind[1]: offset -1, type ffffffff, size 8, index -1, binding -1, stages 1, numMembers 2
ArrayedBind[2]: offset -1, type ffffffff, size 8, index -1, binding -1, stages 1, numMembers 2
Pipeline input reflection:
gl_InstanceID: offset 0, type 1404, size 1, index 0, binding -1, stages 1

1
Test/baseResults/size Normal file
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:? 'd' ( in 4-component vector of float)
0:? 'v' ( noContraction smooth out 4-component vector of float)
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
0:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D)
@ -590,7 +590,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float)
0:? 'd' ( in 4-component vector of float)
0:? 'v' ( noContraction smooth out 4-component vector of float)
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
0:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D)

View File

@ -308,7 +308,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float)
0:? 'd' ( in 4-component vector of float)
0:? 'v' ( noContraction smooth out 4-component vector of float)
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
0:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D)
@ -591,7 +591,7 @@ ERROR: node is still EOpNull!
0:? 'c' ( in 4-component vector of float)
0:? 'd' ( in 4-component vector of float)
0:? 'v' ( noContraction smooth out 4-component vector of float)
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) readonly buffer 4-component vector of float member1, layout( column_major shared) buffer 4-component vector of float member2})
0:? 'anon@6' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1, layout( column_major shared) coherent buffer 4-component vector of float member2})
0:? 'anon@7' (layout( column_major shared) buffer block{layout( column_major shared) coherent readonly buffer 4-component vector of float member1A, layout( column_major shared) coherent buffer 4-component vector of float member2A})
0:? 'shv' ( shared 4-component vector of float)
0:? 'img1' (layout( rgba32f) uniform image2D)

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

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

View File

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

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
EntryPoint Fragment 4 "main" 8 10 14
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthGreater
ExecutionMode 4 DepthReplacing
ExecutionMode 4 DepthGreater
Source GLSL 450
Name 4 "main"
Name 8 "gl_FragDepth"

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-ssbo-binding 3
// OpModuleProcessed shift-uav-binding 5
// OpModuleProcessed flatten-uniform-arrays
// OpModuleProcessed no-storage-format
// OpModuleProcessed resource-set-binding t0 0 0
// OpModuleProcessed hlsl-iomap
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed auto-map-locations
// OpModuleProcessed flatten-uniform-arrays
// OpModuleProcessed hlsl-iomap
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed source-entrypoint origMain

View File

@ -4,7 +4,7 @@ Shader version: 450
0:27 Function Definition: main( ( global void)
0:27 Function Parameters:
0:? Linker Objects
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
Linked vertex stage:
@ -15,7 +15,7 @@ Shader version: 450
0:27 Function Definition: main( ( global void)
0:27 Function Parameters:
0:? Linker Objects
0:? 'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
0:? 'anon@0' (layout( binding=0 column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
// Module Version 10000
// Generated by (magic number): 80007

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

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:25: 'memoryBarrier' : gl_SemanticsMakeVisible requires gl_SemanticsAcquire or gl_SemanticsAcquireRelease
ERROR: 0:26: 'memoryBarrier' : gl_SemanticsMakeAvailable requires gl_SemanticsRelease or gl_SemanticsAcquireRelease
ERROR: 12 compilation errors. No code generated.
ERROR: 0:27: 'memoryBarrier' : gl_SemanticsVolatile must not be used with memoryBarrier or controlBarrier
ERROR: 0:28: 'atomicCompSwap' : semEqual and semUnequal must either both include gl_SemanticsVolatile or neither
ERROR: 14 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View File

@ -1,13 +1,13 @@
spv.meshShaderPerViewUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 90
// Id's are bound by 108
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 11 20 21 35 67
EntryPoint MeshNV 4 "main" 11 20 21 35 67 92 95 96 97 102 105 106 107
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@ -32,6 +32,14 @@ spv.meshShaderPerViewUserDefined.mesh
MemberName 64(perviewBlock) 2 "color7"
MemberName 64(perviewBlock) 3 "color8"
Name 67 "b2"
Name 92 "nonBlk1"
Name 95 "nonBlk2"
Name 96 "nonBlk3"
Name 97 "nonBlk4"
Name 102 "nonBlkArr1"
Name 105 "nonBlkArr2"
Name 106 "nonBlkArr3"
Name 107 "nonBlkArr4"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
@ -50,6 +58,26 @@ spv.meshShaderPerViewUserDefined.mesh
Decorate 64(perviewBlock) Block
Decorate 67(b2) Location 10
Decorate 89 BuiltIn WorkgroupSize
Decorate 92(nonBlk1) PerViewNV
Decorate 92(nonBlk1) Location 18
Decorate 95(nonBlk2) PerPrimitiveNV
Decorate 95(nonBlk2) PerViewNV
Decorate 95(nonBlk2) Location 19
Decorate 96(nonBlk3) PerViewNV
Decorate 96(nonBlk3) Location 20
Decorate 97(nonBlk4) PerPrimitiveNV
Decorate 97(nonBlk4) PerViewNV
Decorate 97(nonBlk4) Location 21
Decorate 102(nonBlkArr1) PerViewNV
Decorate 102(nonBlkArr1) Location 22
Decorate 105(nonBlkArr2) PerPrimitiveNV
Decorate 105(nonBlkArr2) PerViewNV
Decorate 105(nonBlkArr2) Location 24
Decorate 106(nonBlkArr3) PerViewNV
Decorate 106(nonBlkArr3) Location 26
Decorate 107(nonBlkArr4) PerPrimitiveNV
Decorate 107(nonBlkArr4) PerViewNV
Decorate 107(nonBlkArr4) Location 28
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -106,6 +134,24 @@ spv.meshShaderPerViewUserDefined.mesh
86: 27(fvec4) ConstantComposite 85 85 85 85
88: 6(int) Constant 32
89: 9(ivec3) ConstantComposite 88 60 60
90: TypeArray 63 32
91: TypePointer Output 90
92(nonBlk1): 91(ptr) Variable Output
93: TypeArray 63 88
94: TypePointer Output 93
95(nonBlk2): 94(ptr) Variable Output
96(nonBlk3): 91(ptr) Variable Output
97(nonBlk4): 94(ptr) Variable Output
98: TypeArray 27(fvec4) 62
99: TypeArray 98 17
100: TypeArray 99 32
101: TypePointer Output 100
102(nonBlkArr1): 101(ptr) Variable Output
103: TypeArray 99 88
104: TypePointer Output 103
105(nonBlkArr2): 104(ptr) Variable Output
106(nonBlkArr3): 101(ptr) Variable Output
107(nonBlkArr4): 104(ptr) Variable Output
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function

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

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
Validation failed
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 20
Capability Shader
Capability SampleMaskOverrideCoverageNV
Extension "SPV_NV_sample_mask_override_coverage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

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

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