Updated glslang.

This commit is contained in:
Бранимир Караџић
2019-06-06 22:11:01 -07:00
parent 283389b2e2
commit a55a31d329
161 changed files with 18989 additions and 3240 deletions

View File

@@ -32,6 +32,7 @@ matrix:
# scripts that run after cloning repository
install:
- C:/Python27/python.exe update_glslang_sources.py
- set PATH=C:\ninja;C:\Python36;%PATH%
- git clone https://github.com/google/googletest.git External/googletest
- cd External/googletest
- git checkout 440527a61e1c91188195f7de212c63c77e8f0a45

View File

@@ -58,6 +58,8 @@ source_set("glslang_sources") {
"SPIRV/SpvBuilder.cpp",
"SPIRV/SpvBuilder.h",
"SPIRV/SpvPostProcess.cpp",
"SPIRV/SpvTools.cpp",
"SPIRV/SpvTools.h",
"SPIRV/bitutils.h",
"SPIRV/disassemble.cpp",
"SPIRV/disassemble.h",
@@ -104,7 +106,6 @@ source_set("glslang_sources") {
"glslang/MachineIndependent/attribute.cpp",
"glslang/MachineIndependent/attribute.h",
"glslang/MachineIndependent/gl_types.h",
"glslang/MachineIndependent/glslang.y",
"glslang/MachineIndependent/glslang_tab.cpp",
"glslang/MachineIndependent/glslang_tab.cpp.h",
"glslang/MachineIndependent/intermOut.cpp",
@@ -130,7 +131,7 @@ source_set("glslang_sources") {
"glslang/Public/ShaderLang.h",
]
defines = []
defines = [ "ENABLE_OPT=1" ]
if (is_win) {
sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
defines += [ "GLSLANG_OSINCLUDE_WIN32" ]
@@ -158,6 +159,7 @@ source_set("glslang_sources") {
deps = [
"${spirv_tools_dir}:spvtools_opt",
"${spirv_tools_dir}:spvtools_val",
]
}
@@ -178,7 +180,7 @@ executable("glslang_validator") {
if (!is_win) {
cflags = [ "-Woverflow" ]
}
defines = [ "ENABLE_OPT=0" ]
defines = [ "ENABLE_OPT=1" ]
deps = [
":glslang_default_resource_limits_sources",
":glslang_sources",

View File

@@ -114,6 +114,12 @@ function(glslang_set_link_args TARGET)
endif()
endfunction(glslang_set_link_args)
# CMake needs to find the right version of python, right from the beginning,
# otherwise, it will find the wrong version and fail later
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/External)
find_package(PythonInterp 3 REQUIRED)
endif()
# We depend on these for later projects, so they should come first.
add_subdirectory(External)

View File

@@ -61,7 +61,7 @@ branch.
(For MSVS: 2015 is recommended, 2013 is fully supported/tested, and 2010 support is attempted, but not tested.)
* [CMake][cmake]: for generating compilation targets.
* make: _Linux_, ninja is an alternative, if configured.
* [Python 2.7][python]: for executing SPIRV-Tools scripts. (Optional if not using SPIRV-Tools.)
* [Python 3.x][python]: for executing SPIRV-Tools scripts. (Optional if not using SPIRV-Tools and the 'External' subdirectory does not exist.)
* [bison][bison]: _optional_, but needed when changing the grammar (glslang.y).
* [googletest][googletest]: _optional_, but should use if making any changes to glslang.

View File

@@ -86,7 +86,8 @@ if(ENABLE_GLSLANG_INSTALL)
endif()
install(TARGETS SPIRV
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
if (ENABLE_SPVREMAPPER)
install(TARGETS SPVRemapper

View File

@@ -41,5 +41,6 @@ static const char* const E_SPV_KHR_storage_buffer_storage_class = "SPV_KHR_stora
static const char* const E_SPV_KHR_post_depth_coverage = "SPV_KHR_post_depth_coverage";
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";
#endif // #ifndef GLSLextKHR_H

View File

@@ -135,7 +135,7 @@ protected:
spv::ImageFormat TranslateImageFormat(const glslang::TType& type);
spv::SelectionControlMask TranslateSelectionControl(const glslang::TIntermSelection&) const;
spv::SelectionControlMask TranslateSwitchControl(const glslang::TIntermSwitch&) const;
spv::LoopControlMask TranslateLoopControl(const glslang::TIntermLoop&, unsigned int& dependencyLength) const;
spv::LoopControlMask TranslateLoopControl(const glslang::TIntermLoop&, std::vector<unsigned int>& operands) const;
spv::StorageClass TranslateStorageClass(const glslang::TType&);
void addIndirectionIndexCapabilities(const glslang::TType& baseType, const glslang::TType& indexType);
spv::Id createSpvVariable(const glslang::TIntermSymbol*);
@@ -888,7 +888,7 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
builder.addCapability(spv::CapabilityShadingRateNV);
return spv::BuiltInInvocationsPerPixelNV;
// raytracing
// ray tracing
case glslang::EbvLaunchIdNV:
return spv::BuiltInLaunchIdNV;
case glslang::EbvLaunchSizeNV:
@@ -917,6 +917,8 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
return spv::BuiltInWorldToObjectNV;
case glslang::EbvIncomingRayFlagsNV:
return spv::BuiltInIncomingRayFlagsNV;
// barycentrics
case glslang::EbvBaryCoordNV:
builder.addExtension(spv::E_SPV_NV_fragment_shader_barycentric);
builder.addCapability(spv::CapabilityFragmentBarycentricNV);
@@ -925,23 +927,25 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
builder.addExtension(spv::E_SPV_NV_fragment_shader_barycentric);
builder.addCapability(spv::CapabilityFragmentBarycentricNV);
return spv::BuiltInBaryCoordNoPerspNV;
case glslang::EbvTaskCountNV:
// mesh shaders
case glslang::EbvTaskCountNV:
return spv::BuiltInTaskCountNV;
case glslang::EbvPrimitiveCountNV:
case glslang::EbvPrimitiveCountNV:
return spv::BuiltInPrimitiveCountNV;
case glslang::EbvPrimitiveIndicesNV:
case glslang::EbvPrimitiveIndicesNV:
return spv::BuiltInPrimitiveIndicesNV;
case glslang::EbvClipDistancePerViewNV:
case glslang::EbvClipDistancePerViewNV:
return spv::BuiltInClipDistancePerViewNV;
case glslang::EbvCullDistancePerViewNV:
case glslang::EbvCullDistancePerViewNV:
return spv::BuiltInCullDistancePerViewNV;
case glslang::EbvLayerPerViewNV:
case glslang::EbvLayerPerViewNV:
return spv::BuiltInLayerPerViewNV;
case glslang::EbvMeshViewCountNV:
case glslang::EbvMeshViewCountNV:
return spv::BuiltInMeshViewCountNV;
case glslang::EbvMeshViewIndicesNV:
case glslang::EbvMeshViewIndicesNV:
return spv::BuiltInMeshViewIndicesNV;
#endif
#endif
default:
return spv::BuiltInMax;
}
@@ -1055,7 +1059,7 @@ spv::SelectionControlMask TGlslangToSpvTraverser::TranslateSwitchControl(const g
// return a non-0 dependency if the dependency argument must be set
spv::LoopControlMask TGlslangToSpvTraverser::TranslateLoopControl(const glslang::TIntermLoop& loopNode,
unsigned int& dependencyLength) const
std::vector<unsigned int>& operands) const
{
spv::LoopControlMask control = spv::LoopControlMaskNone;
@@ -1067,7 +1071,29 @@ spv::LoopControlMask TGlslangToSpvTraverser::TranslateLoopControl(const glslang:
control = control | spv::LoopControlDependencyInfiniteMask;
else if (loopNode.getLoopDependency() > 0) {
control = control | spv::LoopControlDependencyLengthMask;
dependencyLength = loopNode.getLoopDependency();
operands.push_back((unsigned int)loopNode.getLoopDependency());
}
if (glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_4) {
if (loopNode.getMinIterations() > 0) {
control = control | spv::LoopControlMinIterationsMask;
operands.push_back(loopNode.getMinIterations());
}
if (loopNode.getMaxIterations() < glslang::TIntermLoop::iterationsInfinite) {
control = control | spv::LoopControlMaxIterationsMask;
operands.push_back(loopNode.getMaxIterations());
}
if (loopNode.getIterationMultiple() > 1) {
control = control | spv::LoopControlIterationMultipleMask;
operands.push_back(loopNode.getIterationMultiple());
}
if (loopNode.getPeelCount() > 0) {
control = control | spv::LoopControlPeelCountMask;
operands.push_back(loopNode.getPeelCount());
}
if (loopNode.getPartialCount() > 0) {
control = control | spv::LoopControlPartialCountMask;
operands.push_back(loopNode.getPartialCount());
}
}
return control;
@@ -1443,6 +1469,30 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, const gl
if (glslangIntermediate->getDepth() != glslang::EldUnchanged && glslangIntermediate->isDepthReplacing())
builder.addExecutionMode(shaderEntry, spv::ExecutionModeDepthReplacing);
switch (glslangIntermediate->getInterlockOrdering()) {
case glslang::EioPixelInterlockOrdered: mode = spv::ExecutionModePixelInterlockOrderedEXT; break;
case glslang::EioPixelInterlockUnordered: mode = spv::ExecutionModePixelInterlockUnorderedEXT; break;
case glslang::EioSampleInterlockOrdered: mode = spv::ExecutionModeSampleInterlockOrderedEXT; break;
case glslang::EioSampleInterlockUnordered: mode = spv::ExecutionModeSampleInterlockUnorderedEXT; break;
case glslang::EioShadingRateInterlockOrdered: mode = spv::ExecutionModeShadingRateInterlockOrderedEXT; break;
case glslang::EioShadingRateInterlockUnordered: mode = spv::ExecutionModeShadingRateInterlockUnorderedEXT; break;
default: mode = spv::ExecutionModeMax; break;
}
if (mode != spv::ExecutionModeMax) {
builder.addExecutionMode(shaderEntry, (spv::ExecutionMode)mode);
if (mode == spv::ExecutionModeShadingRateInterlockOrderedEXT ||
mode == spv::ExecutionModeShadingRateInterlockUnorderedEXT) {
builder.addCapability(spv::CapabilityFragmentShaderShadingRateInterlockEXT);
} else if (mode == spv::ExecutionModePixelInterlockOrderedEXT ||
mode == spv::ExecutionModePixelInterlockUnorderedEXT) {
builder.addCapability(spv::CapabilityFragmentShaderPixelInterlockEXT);
} else {
builder.addCapability(spv::CapabilityFragmentShaderSampleInterlockEXT);
}
builder.addExtension(spv::E_SPV_EXT_fragment_shader_interlock);
}
break;
case EShLangCompute:
@@ -1552,10 +1602,16 @@ void TGlslangToSpvTraverser::visitSymbol(glslang::TIntermSymbol* symbol)
// Include all "static use" and "linkage only" interface variables on the OpEntryPoint instruction
if (builder.isPointer(id)) {
spv::StorageClass sc = builder.getStorageClass(id);
if (sc == spv::StorageClassInput || sc == spv::StorageClassOutput) {
if (!symbol->getType().isStruct() || symbol->getType().getStruct()->size() > 0)
// Consider adding to the OpEntryPoint interface list.
// Only looking at structures if they have at least one member.
if (!symbol->getType().isStruct() || symbol->getType().getStruct()->size() > 0) {
spv::StorageClass sc = builder.getStorageClass(id);
// Before SPIR-V 1.4, we only want to include Input and Output.
// Starting with SPIR-V 1.4, we want all globals.
if ((glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_4 && sc != spv::StorageClassFunction) ||
(sc == spv::StorageClassInput || sc == spv::StorageClassOutput)) {
iOSet.insert(id);
}
}
}
@@ -1683,6 +1739,7 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
case glslang::EOpIndexDirect:
case glslang::EOpIndexDirectStruct:
{
// Structure, array, matrix, or vector indirection with statically known index.
// Get the left part of the access chain.
node->getLeft()->traverse(this);
@@ -1737,8 +1794,8 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
return false;
case glslang::EOpIndexIndirect:
{
// Structure or array or vector indirection.
// Will use native SPIR-V access-chain for struct and array indirection;
// Array, matrix, or vector indirection with variable index.
// Will use native SPIR-V access-chain for and array indirection;
// matrices are arrays of vectors, so will also work for a matrix.
// Will use the access chain's 'component' for variable index into a vector.
@@ -2363,6 +2420,11 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
case glslang::EOpCooperativeMatrixStore:
noReturnValue = true;
break;
case glslang::EOpBeginInvocationInterlock:
case glslang::EOpEndInvocationInterlock:
builder.addExtension(spv::E_SPV_EXT_fragment_shader_interlock);
noReturnValue = true;
break;
default:
break;
@@ -2609,6 +2671,19 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
// next layer copies r-values into memory to use the access-chain mechanism
bool TGlslangToSpvTraverser::visitSelection(glslang::TVisit /* visit */, glslang::TIntermSelection* node)
{
// see if OpSelect can handle it
const auto isOpSelectable = [&]() {
if (node->getBasicType() == glslang::EbtVoid)
return false;
// OpSelect can do all other types starting with SPV 1.4
if (glslangIntermediate->getSpv().spv < glslang::EShTargetSpv_1_4) {
// pre-1.4, only scalars and vectors can be handled
if ((!node->getType().isScalar() && !node->getType().isVector()))
return false;
}
return true;
};
// See if it simple and safe, or required, to execute both sides.
// Crucially, side effects must be either semantically required or avoided,
// and there are performance trade-offs.
@@ -2627,9 +2702,7 @@ bool TGlslangToSpvTraverser::visitSelection(glslang::TVisit /* visit */, glslang
// if not required to execute both, decide based on performance/practicality...
// see if OpSelect can handle it
if ((!node->getType().isScalar() && !node->getType().isVector()) ||
node->getBasicType() == glslang::EbtVoid)
if (!isOpSelectable())
return false;
assert(node->getType() == node->getTrueBlock() ->getAsTyped()->getType() &&
@@ -2666,14 +2739,16 @@ bool TGlslangToSpvTraverser::visitSelection(glslang::TVisit /* visit */, glslang
// emit code to select between trueValue and falseValue
// see if OpSelect can handle it
if (node->getType().isScalar() || node->getType().isVector()) {
if (isOpSelectable()) {
// Emit OpSelect for this selection.
// smear condition to vector, if necessary (AST is always scalar)
if (builder.isVector(trueValue))
// Before 1.4, smear like for mix(), starting with 1.4, keep it scalar
if (glslangIntermediate->getSpv().spv < glslang::EShTargetSpv_1_4 && builder.isVector(trueValue)) {
condition = builder.smearScalar(spv::NoPrecision, condition,
builder.makeVectorType(builder.makeBoolType(),
builder.getNumComponents(trueValue)));
}
// OpSelect
result = builder.createTriOp(spv::OpSelect,
@@ -2822,8 +2897,8 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn
builder.createBranch(&blocks.head);
// Loop control:
unsigned int dependencyLength = glslang::TIntermLoop::dependencyInfinite;
const spv::LoopControlMask control = TranslateLoopControl(*node, dependencyLength);
std::vector<unsigned int> operands;
const spv::LoopControlMask control = TranslateLoopControl(*node, operands);
// Spec requires back edges to target header blocks, and every header block
// must dominate its merge block. Make a header block first to ensure these
@@ -2833,7 +2908,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn
// including merges of its own.
builder.setLine(node->getLoc().line, node->getLoc().getFilename());
builder.setBuildPoint(&blocks.head);
builder.createLoopMerge(&blocks.merge, &blocks.continue_target, control, dependencyLength);
builder.createLoopMerge(&blocks.merge, &blocks.continue_target, control, operands);
if (node->testFirst() && node->getTest()) {
spv::Block& test = builder.makeNewBlock();
builder.createBranch(&test);
@@ -3615,6 +3690,20 @@ void TGlslangToSpvTraverser::multiTypeStore(const glslang::TType& type, spv::Id
// where the two types were the same type in GLSL. This requires member
// by member copy, recursively.
// SPIR-V 1.4 added an instruction to do help do this.
if (glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_4) {
// However, bool in uniform space is changed to int, so
// OpCopyLogical does not work for that.
// TODO: It would be more robust to do a full recursive verification of the types satisfying SPIR-V rules.
bool rBool = builder.containsType(builder.getTypeId(rValue), spv::OpTypeBool, 0);
bool lBool = builder.containsType(lType, spv::OpTypeBool, 0);
if (lBool == rBool) {
spv::Id logicalCopy = builder.createUnaryOp(spv::OpCopyLogical, lType, rValue);
accessChainStore(type, logicalCopy);
return;
}
}
// If an array, copy element by element.
if (type.isArray()) {
glslang::TType glslangElementType(type, 0);
@@ -4126,15 +4215,26 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
// Process a GLSL texturing op (will be SPV image)
const glslang::TType &imageType = node->getAsAggregate() ? node->getAsAggregate()->getSequence()[0]->getAsTyped()->getType()
: node->getAsUnaryNode()->getOperand()->getAsTyped()->getType();
const glslang::TType &imageType = node->getAsAggregate()
? node->getAsAggregate()->getSequence()[0]->getAsTyped()->getType()
: node->getAsUnaryNode()->getOperand()->getAsTyped()->getType();
const glslang::TSampler sampler = imageType.getSampler();
#ifdef AMD_EXTENSIONS
bool f16ShadowCompare = (sampler.shadow && node->getAsAggregate())
? node->getAsAggregate()->getSequence()[1]->getAsTyped()->getType().getBasicType() == glslang::EbtFloat16
: false;
? node->getAsAggregate()->getSequence()[1]->getAsTyped()->getType().getBasicType() == glslang::EbtFloat16
: false;
#endif
const auto signExtensionMask = [&]() {
if (builder.getSpvVersion() >= spv::Spv_1_4) {
if (sampler.type == glslang::EbtUint)
return spv::ImageOperandsZeroExtendMask;
else if (sampler.type == glslang::EbtInt)
return spv::ImageOperandsSignExtendMask;
}
return spv::ImageOperandsMaskNone;
};
std::vector<spv::Id> arguments;
if (node->getAsAggregate())
translateArguments(*node->getAsAggregate(), arguments);
@@ -4213,11 +4313,17 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
spv::IdImmediate coord = { true,
builder.makeCompositeConstant(builder.makeVectorType(builder.makeIntType(32), 2), comps) };
operands.push_back(coord);
spv::IdImmediate imageOperands = { false, spv::ImageOperandsMaskNone };
imageOperands.word = imageOperands.word | signExtensionMask();
if (sampler.ms) {
spv::IdImmediate imageOperands = { false, spv::ImageOperandsSampleMask };
imageOperands.word = imageOperands.word | spv::ImageOperandsSampleMask;
}
if (imageOperands.word != spv::ImageOperandsMaskNone) {
operands.push_back(imageOperands);
spv::IdImmediate imageOperand = { true, *(opIt++) };
operands.push_back(imageOperand);
if (sampler.ms) {
spv::IdImmediate imageOperand = { true, *(opIt++) };
operands.push_back(imageOperand);
}
}
spv::Id result = builder.createOp(spv::OpImageRead, resultType(), operands);
builder.setPrecision(result, precision);
@@ -4244,7 +4350,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
#endif
mask = mask | TranslateImageOperands(TranslateCoherent(imageType));
mask = (spv::ImageOperandsMask)(mask & ~spv::ImageOperandsMakeTexelAvailableKHRMask);
if (mask) {
mask = mask | signExtensionMask();
if (mask != spv::ImageOperandsMaskNone) {
spv::IdImmediate imageOperands = { false, (unsigned int)mask };
operands.push_back(imageOperands);
}
@@ -4259,7 +4366,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
}
#endif
if (mask & spv::ImageOperandsMakeTexelVisibleKHRMask) {
spv::IdImmediate imageOperand = { true, builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
spv::IdImmediate imageOperand = { true,
builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
operands.push_back(imageOperand);
}
@@ -4306,7 +4414,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
#endif
mask = mask | TranslateImageOperands(TranslateCoherent(imageType));
mask = (spv::ImageOperandsMask)(mask & ~spv::ImageOperandsMakeTexelVisibleKHRMask);
if (mask) {
mask = mask | signExtensionMask();
if (mask != spv::ImageOperandsMaskNone) {
spv::IdImmediate imageOperands = { false, (unsigned int)mask };
operands.push_back(imageOperands);
}
@@ -4321,7 +4430,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
}
#endif
if (mask & spv::ImageOperandsMakeTexelAvailableKHRMask) {
spv::IdImmediate imageOperand = { true, builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
spv::IdImmediate imageOperand = { true,
builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
operands.push_back(imageOperand);
}
@@ -4330,7 +4440,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
builder.addCapability(spv::CapabilityStorageImageWriteWithoutFormat);
return spv::NoResult;
#ifdef AMD_EXTENSIONS
} else if (node->getOp() == glslang::EOpSparseImageLoad || node->getOp() == glslang::EOpSparseImageLoadLod) {
} else if (node->getOp() == glslang::EOpSparseImageLoad ||
node->getOp() == glslang::EOpSparseImageLoadLod) {
#else
} else if (node->getOp() == glslang::EOpSparseImageLoad) {
#endif
@@ -4352,7 +4463,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
#endif
mask = mask | TranslateImageOperands(TranslateCoherent(imageType));
mask = (spv::ImageOperandsMask)(mask & ~spv::ImageOperandsMakeTexelAvailableKHRMask);
if (mask) {
mask = mask | signExtensionMask();
if (mask != spv::ImageOperandsMaskNone) {
spv::IdImmediate imageOperands = { false, (unsigned int)mask };
operands.push_back(imageOperands);
}
@@ -4654,7 +4766,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
spv::Id resType = builder.makeStructType(members, "ResType");
//call ImageFootprintNV
spv::Id res = builder.createTextureCall(precision, resType, sparse, cracked.fetch, cracked.proj, cracked.gather, noImplicitLod, params);
spv::Id res = builder.createTextureCall(precision, resType, sparse, cracked.fetch, cracked.proj,
cracked.gather, noImplicitLod, params, signExtensionMask());
//copy resType (SPIR-V type) to resultStructType(OpenGL type)
for (int i = 0; i < 5; i++) {
@@ -4707,7 +4820,8 @@ spv::Id TGlslangToSpvTraverser::createImageTextureFunctionCall(glslang::TIntermO
}
std::vector<spv::Id> result( 1,
builder.createTextureCall(precision, resultType(), sparse, cracked.fetch, cracked.proj, cracked.gather, noImplicitLod, params)
builder.createTextureCall(precision, resultType(), sparse, cracked.fetch, cracked.proj, cracked.gather,
noImplicitLod, params, signExtensionMask())
);
if (components != node->getType().getVectorSize())
@@ -5543,6 +5657,11 @@ spv::Id TGlslangToSpvTraverser::createUnaryOperation(glslang::TOperator op, OpDe
case glslang::EOpConstructReference:
unaryOp = spv::OpBitcast;
break;
case glslang::EOpCopyObject:
unaryOp = spv::OpCopyObject;
break;
default:
return 0;
}
@@ -7339,6 +7458,14 @@ spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv:
builder.createNoResultOp(spv::OpTerminateRayNV);
return 0;
#endif
case glslang::EOpBeginInvocationInterlock:
builder.createNoResultOp(spv::OpBeginInvocationInterlockEXT);
return 0;
case glslang::EOpEndInvocationInterlock:
builder.createNoResultOp(spv::OpEndInvocationInterlockEXT);
return 0;
default:
logger->missingFunctionality("unknown operation with no arguments");
return 0;

View File

@@ -1306,11 +1306,13 @@ void Builder::makeDiscard()
}
// Comments in header
Id Builder::createVariable(StorageClass storageClass, Id type, const char* name)
Id Builder::createVariable(StorageClass storageClass, Id type, const char* name, Id initializer)
{
Id pointerType = makePointer(storageClass, type);
Instruction* inst = new Instruction(getUniqueId(), pointerType, OpVariable);
inst->addImmediateOperand(storageClass);
if (initializer != NoResult)
inst->addIdOperand(initializer);
switch (storageClass) {
case StorageClassFunction:
@@ -1806,7 +1808,7 @@ Id Builder::createBuiltinCall(Id resultType, Id builtins, int entryPoint, const
// Accept all parameters needed to create a texture instruction.
// Create the correct instruction based on the inputs, and make the call.
Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse, bool fetch, bool proj, bool gather,
bool noImplicitLod, const TextureParameters& parameters)
bool noImplicitLod, const TextureParameters& parameters, ImageOperandsMask signExtensionMask)
{
static const int maxTextureArgs = 10;
Id texArgs[maxTextureArgs] = {};
@@ -1833,8 +1835,8 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
//
// Set up the optional arguments
//
int optArgNum = numArgs; // track which operand, if it exists, is the mask of optional arguments
++numArgs; // speculatively make room for the mask operand
int optArgNum = numArgs; // track which operand, if it exists, is the mask of optional arguments
++numArgs; // speculatively make room for the mask operand
ImageOperandsMask mask = ImageOperandsMaskNone; // the mask operand
if (parameters.bias) {
mask = (ImageOperandsMask)(mask | ImageOperandsBiasMask);
@@ -1887,6 +1889,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
if (parameters.volatil) {
mask = mask | ImageOperandsVolatileTexelKHRMask;
}
mask = mask | signExtensionMask;
if (mask == ImageOperandsMaskNone)
--numArgs; // undo speculative reservation for the mask argument
else
@@ -2649,12 +2652,19 @@ Id Builder::accessChainLoad(Decoration precision, Decoration nonUniform, Id resu
if (constant) {
id = createCompositeExtract(accessChain.base, swizzleBase, indexes);
} else {
// make a new function variable for this r-value
Id lValue = createVariable(StorageClassFunction, getTypeId(accessChain.base), "indexable");
// store into it
createStore(accessChain.base, lValue);
Id lValue = NoResult;
if (spvVersion >= Spv_1_4) {
// make a new function variable for this r-value, using an initializer,
// and mark it as NonWritable so that downstream it can be detected as a lookup
// table
lValue = createVariable(StorageClassFunction, getTypeId(accessChain.base), "indexable",
accessChain.base);
addDecoration(lValue, DecorationNonWritable);
} else {
lValue = createVariable(StorageClassFunction, getTypeId(accessChain.base), "indexable");
// store into it
createStore(accessChain.base, lValue);
}
// move base to the new variable
accessChain.base = lValue;
accessChain.isRValue = false;
@@ -2956,14 +2966,14 @@ void Builder::createSelectionMerge(Block* mergeBlock, unsigned int control)
}
void Builder::createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control,
unsigned int dependencyLength)
const std::vector<unsigned int>& operands)
{
Instruction* merge = new Instruction(OpLoopMerge);
merge->addIdOperand(mergeBlock->getId());
merge->addIdOperand(continueBlock->getId());
merge->addImmediateOperand(control);
if ((control & LoopControlDependencyLengthMask) != 0)
merge->addImmediateOperand(dependencyLength);
for (int op = 0; op < (int)operands.size(); ++op)
merge->addImmediateOperand(operands[op]);
buildPoint->addInstruction(std::unique_ptr<Instruction>(merge));
}

View File

@@ -61,6 +61,14 @@
namespace spv {
typedef enum {
Spv_1_0 = (1 << 16),
Spv_1_1 = (1 << 16) | (1 << 8),
Spv_1_2 = (1 << 16) | (2 << 8),
Spv_1_3 = (1 << 16) | (3 << 8),
Spv_1_4 = (1 << 16) | (4 << 8),
} SpvVersion;
class Builder {
public:
Builder(unsigned int spvVersion, unsigned int userNumber, SpvBuildLogger* logger);
@@ -300,7 +308,7 @@ public:
void makeDiscard();
// Create a global or function local or IO variable.
Id createVariable(StorageClass, Id type, const char* name = 0);
Id createVariable(StorageClass, Id type, const char* name = 0, Id initializer = NoResult);
// Create an intermediate with an undefined value.
Id createUndefined(Id type);
@@ -408,7 +416,8 @@ public:
};
// Select the correct texture operation based on all inputs, and emit the correct instruction
Id createTextureCall(Decoration precision, Id resultType, bool sparse, bool fetch, bool proj, bool gather, bool noImplicit, const TextureParameters&);
Id createTextureCall(Decoration precision, Id resultType, bool sparse, bool fetch, bool proj, bool gather,
bool noImplicit, const TextureParameters&, ImageOperandsMask);
// Emit the OpTextureQuery* instruction that was passed in.
// Figure out the right return value and type, and return it.
@@ -662,7 +671,7 @@ public:
void createBranch(Block* block);
void createConditionalBranch(Id condition, Block* thenBlock, Block* elseBlock);
void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, unsigned int dependencyLength);
void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, const std::vector<unsigned int>& operands);
// Sets to generate opcode for specialization constants.
void setToSpecConstCodeGenMode() { generatingOpCodeForSpecConst = true; }

View File

@@ -52,8 +52,21 @@ namespace glslang {
spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger)
{
switch (spvVersion.vulkan) {
case glslang::EShTargetVulkan_1_0: return spv_target_env::SPV_ENV_VULKAN_1_0;
case glslang::EShTargetVulkan_1_1: return spv_target_env::SPV_ENV_VULKAN_1_1;
case glslang::EShTargetVulkan_1_0:
return spv_target_env::SPV_ENV_VULKAN_1_0;
case glslang::EShTargetVulkan_1_1:
switch (spvVersion.spv) {
case EShTargetSpv_1_0:
case EShTargetSpv_1_1:
case EShTargetSpv_1_2:
case EShTargetSpv_1_3:
return spv_target_env::SPV_ENV_VULKAN_1_1;
case EShTargetSpv_1_4:
return spv_target_env::SPV_ENV_VULKAN_1_1_SPIRV_1_4;
default:
logger->missingFunctionality("Target version for SPIRV-Tools validator");
return spv_target_env::SPV_ENV_VULKAN_1_1;
}
default:
break;
}

View File

@@ -701,9 +701,10 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
strcmp(name, spv::E_SPV_NV_geometry_shader_passthrough) == 0 ||
strcmp(name, spv::E_ARB_shader_viewport_layer_array) == 0 ||
strcmp(name, spv::E_SPV_NV_viewport_array2) == 0 ||
strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0 ||
strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 ||
strcmp(name, spv::E_SPV_NV_mesh_shader) == 0) {
strcmp(name, spv::E_SPV_NVX_multiview_per_view_attributes) == 0 ||
strcmp(name, spv::E_SPV_NV_fragment_shader_barycentric) == 0 ||
strcmp(name, spv::E_SPV_NV_mesh_shader) == 0 ||
strcmp(name, spv::E_SPV_NV_shader_image_footprint) == 0) {
switch (entrypoint) {
// NV builtins
case BuiltInViewportMaskNV: return "ViewportMaskNV";
@@ -729,6 +730,7 @@ static const char* GLSLextNVGetDebugNames(const char* name, unsigned entrypoint)
case CapabilityPerViewAttributesNV: return "PerViewAttributesNV";
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV";
case CapabilityImageFootprintNV: return "ImageFootprintNV";
// NV Decorations
case DecorationOverrideCoverageNV: return "OverrideCoverageNV";

View File

@@ -191,6 +191,13 @@ const char* ExecutionModeString(int mode)
case ExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV";
#endif
case ExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
case ExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
case ExecutionModeSampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT";
case ExecutionModeSampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT";
case ExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
case ExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
case ExecutionModeCeiling:
default: return "Bad";
}
@@ -575,7 +582,7 @@ const char* ImageChannelDataTypeString(int type)
}
}
const int ImageOperandsCeiling = 12;
const int ImageOperandsCeiling = 14;
const char* ImageOperandsString(int format)
{
@@ -592,6 +599,8 @@ const char* ImageOperandsString(int format)
case ImageOperandsMakeTexelVisibleKHRShift: return "MakeTexelVisibleKHR";
case ImageOperandsNonPrivateTexelKHRShift: return "NonPrivateTexelKHR";
case ImageOperandsVolatileTexelKHRShift: return "VolatileTexelKHR";
case ImageOperandsSignExtendShift: return "SignExtend";
case ImageOperandsZeroExtendShift: return "ZeroExtend";
case ImageOperandsCeiling:
default:
@@ -674,15 +683,20 @@ const char* SelectControlString(int cont)
}
}
const int LoopControlCeiling = 4;
const int LoopControlCeiling = LoopControlPartialCountShift + 1;
const char* LoopControlString(int cont)
{
switch (cont) {
case 0: return "Unroll";
case 1: return "DontUnroll";
case 2: return "DependencyInfinite";
case 3: return "DependencyLength";
case LoopControlUnrollShift: return "Unroll";
case LoopControlDontUnrollShift: return "DontUnroll";
case LoopControlDependencyInfiniteShift: return "DependencyInfinite";
case LoopControlDependencyLengthShift: return "DependencyLength";
case LoopControlMinIterationsShift: return "MinIterations";
case LoopControlMaxIterationsShift: return "MaxIterations";
case LoopControlIterationMultipleShift: return "IterationMultiple";
case LoopControlPeelCountShift: return "PeelCount";
case LoopControlPartialCountShift: return "PartialCount";
case LoopControlCeiling:
default: return "Bad";
@@ -875,9 +889,9 @@ const char* CapabilityString(int info)
case CapabilityStoragePushConstant16: return "StoragePushConstant16";
case CapabilityStorageInputOutput16: return "StorageInputOutput16";
case CapabilityStorageBuffer8BitAccess: return "CapabilityStorageBuffer8BitAccess";
case CapabilityUniformAndStorageBuffer8BitAccess: return "CapabilityUniformAndStorageBuffer8BitAccess";
case CapabilityStoragePushConstant8: return "CapabilityStoragePushConstant8";
case CapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess";
case CapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess";
case CapabilityStoragePushConstant8: return "StoragePushConstant8";
case CapabilityDeviceGroup: return "DeviceGroup";
case CapabilityMultiView: return "MultiView";
@@ -906,33 +920,38 @@ const char* CapabilityString(int info)
case CapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV";
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV";
// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by CapabilityFragmentDensityEXT
case CapabilityImageFootprintNV: return "ImageFootprintNV";
// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT
#endif
case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";
case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
case CapabilityShaderNonUniformEXT: return "CapabilityShaderNonUniformEXT";
case CapabilityRuntimeDescriptorArrayEXT: return "CapabilityRuntimeDescriptorArrayEXT";
case CapabilityInputAttachmentArrayDynamicIndexingEXT: return "CapabilityInputAttachmentArrayDynamicIndexingEXT";
case CapabilityUniformTexelBufferArrayDynamicIndexingEXT: return "CapabilityUniformTexelBufferArrayDynamicIndexingEXT";
case CapabilityStorageTexelBufferArrayDynamicIndexingEXT: return "CapabilityStorageTexelBufferArrayDynamicIndexingEXT";
case CapabilityUniformBufferArrayNonUniformIndexingEXT: return "CapabilityUniformBufferArrayNonUniformIndexingEXT";
case CapabilitySampledImageArrayNonUniformIndexingEXT: return "CapabilitySampledImageArrayNonUniformIndexingEXT";
case CapabilityStorageBufferArrayNonUniformIndexingEXT: return "CapabilityStorageBufferArrayNonUniformIndexingEXT";
case CapabilityStorageImageArrayNonUniformIndexingEXT: return "CapabilityStorageImageArrayNonUniformIndexingEXT";
case CapabilityInputAttachmentArrayNonUniformIndexingEXT: return "CapabilityInputAttachmentArrayNonUniformIndexingEXT";
case CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: return "CapabilityUniformTexelBufferArrayNonUniformIndexingEXT";
case CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: return "CapabilityStorageTexelBufferArrayNonUniformIndexingEXT";
case CapabilityShaderNonUniformEXT: return "ShaderNonUniformEXT";
case CapabilityRuntimeDescriptorArrayEXT: return "RuntimeDescriptorArrayEXT";
case CapabilityInputAttachmentArrayDynamicIndexingEXT: return "InputAttachmentArrayDynamicIndexingEXT";
case CapabilityUniformTexelBufferArrayDynamicIndexingEXT: return "UniformTexelBufferArrayDynamicIndexingEXT";
case CapabilityStorageTexelBufferArrayDynamicIndexingEXT: return "StorageTexelBufferArrayDynamicIndexingEXT";
case CapabilityUniformBufferArrayNonUniformIndexingEXT: return "UniformBufferArrayNonUniformIndexingEXT";
case CapabilitySampledImageArrayNonUniformIndexingEXT: return "SampledImageArrayNonUniformIndexingEXT";
case CapabilityStorageBufferArrayNonUniformIndexingEXT: return "StorageBufferArrayNonUniformIndexingEXT";
case CapabilityStorageImageArrayNonUniformIndexingEXT: return "StorageImageArrayNonUniformIndexingEXT";
case CapabilityInputAttachmentArrayNonUniformIndexingEXT: return "InputAttachmentArrayNonUniformIndexingEXT";
case CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: return "UniformTexelBufferArrayNonUniformIndexingEXT";
case CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: return "StorageTexelBufferArrayNonUniformIndexingEXT";
case CapabilityVulkanMemoryModelKHR: return "CapabilityVulkanMemoryModelKHR";
case CapabilityVulkanMemoryModelDeviceScopeKHR: return "CapabilityVulkanMemoryModelDeviceScopeKHR";
case CapabilityVulkanMemoryModelKHR: return "VulkanMemoryModelKHR";
case CapabilityVulkanMemoryModelDeviceScopeKHR: return "VulkanMemoryModelDeviceScopeKHR";
case CapabilityPhysicalStorageBufferAddressesEXT: return "CapabilityPhysicalStorageBufferAddressesEXT";
case CapabilityPhysicalStorageBufferAddressesEXT: return "PhysicalStorageBufferAddressesEXT";
case CapabilityVariablePointers: return "CapabilityVariablePointers";
case CapabilityVariablePointers: return "VariablePointers";
case CapabilityCooperativeMatrixNV: return "CapabilityCooperativeMatrixNV";
case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
case CapabilityFragmentShaderSampleInterlockEXT: return "CapabilityFragmentShaderSampleInterlockEXT";
case CapabilityFragmentShaderPixelInterlockEXT: return "CapabilityFragmentShaderPixelInterlockEXT";
case CapabilityFragmentShaderShadingRateInterlockEXT: return "CapabilityFragmentShaderShadingRateInterlockEXT";
default: return "Bad";
}
@@ -1026,6 +1045,7 @@ const char* OpcodeString(int op)
case 82: return "OpCompositeInsert";
case 83: return "OpCopyObject";
case 84: return "OpTranspose";
case OpCopyLogical: return "OpCopyLogical";
case 85: return "Bad";
case 86: return "OpSampledImage";
case 87: return "OpImageSampleImplicitLod";
@@ -1343,6 +1363,9 @@ const char* OpcodeString(int op)
case OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
case OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
default:
return "Bad";
}
@@ -1456,6 +1479,8 @@ void Parameterize()
InstructionDesc[OpModuleProcessed].setResultAndType(false, false);
InstructionDesc[OpTypeCooperativeMatrixNV].setResultAndType(true, false);
InstructionDesc[OpCooperativeMatrixStoreNV].setResultAndType(false, false);
InstructionDesc[OpBeginInvocationInterlockEXT].setResultAndType(false, false);
InstructionDesc[OpEndInvocationInterlockEXT].setResultAndType(false, false);
// Specific additional context-dependent operands
@@ -1933,6 +1958,8 @@ void Parameterize()
InstructionDesc[OpTranspose].operands.push(OperandId, "'Matrix'");
InstructionDesc[OpCopyLogical].operands.push(OperandId, "'Operand'");
InstructionDesc[OpIsNan].operands.push(OperandId, "'x'");
InstructionDesc[OpIsInf].operands.push(OperandId, "'x'");

View File

@@ -49,12 +49,12 @@ namespace spv {
typedef unsigned int Id;
#define SPV_VERSION 0x10300
#define SPV_REVISION 7
#define SPV_VERSION 0x10400
#define SPV_REVISION 1
static const unsigned int MagicNumber = 0x07230203;
static const unsigned int Version = 0x00010300;
static const unsigned int Revision = 7;
static const unsigned int Version = 0x00010400;
static const unsigned int Revision = 1;
static const unsigned int OpCodeMask = 0xffff;
static const unsigned int WordCountShift = 16;
@@ -154,6 +154,12 @@ enum ExecutionMode {
ExecutionModeDerivativeGroupQuadsNV = 5289,
ExecutionModeDerivativeGroupLinearNV = 5290,
ExecutionModeOutputTrianglesNV = 5298,
ExecutionModePixelInterlockOrderedEXT = 5366,
ExecutionModePixelInterlockUnorderedEXT = 5367,
ExecutionModeSampleInterlockOrderedEXT = 5368,
ExecutionModeSampleInterlockUnorderedEXT = 5369,
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
ExecutionModeMax = 0x7fffffff,
};
@@ -309,6 +315,8 @@ enum ImageOperandsShift {
ImageOperandsMakeTexelVisibleKHRShift = 9,
ImageOperandsNonPrivateTexelKHRShift = 10,
ImageOperandsVolatileTexelKHRShift = 11,
ImageOperandsSignExtendShift = 12,
ImageOperandsZeroExtendShift = 13,
ImageOperandsMax = 0x7fffffff,
};
@@ -326,6 +334,8 @@ enum ImageOperandsMask {
ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
ImageOperandsVolatileTexelKHRMask = 0x00000800,
ImageOperandsSignExtendMask = 0x00001000,
ImageOperandsZeroExtendMask = 0x00002000,
};
enum FPFastMathModeShift {
@@ -406,6 +416,7 @@ enum Decoration {
DecorationNonWritable = 24,
DecorationNonReadable = 25,
DecorationUniform = 26,
DecorationUniformId = 27,
DecorationSaturatedConversion = 28,
DecorationStream = 29,
DecorationLocation = 30,
@@ -440,8 +451,10 @@ enum Decoration {
DecorationNonUniformEXT = 5300,
DecorationRestrictPointerEXT = 5355,
DecorationAliasedPointerEXT = 5356,
DecorationCounterBuffer = 5634,
DecorationHlslCounterBufferGOOGLE = 5634,
DecorationHlslSemanticGOOGLE = 5635,
DecorationUserSemantic = 5635,
DecorationMax = 0x7fffffff,
};
@@ -544,6 +557,10 @@ enum BuiltIn {
BuiltInHitTNV = 5332,
BuiltInHitKindNV = 5333,
BuiltInIncomingRayFlagsNV = 5351,
BuiltInWarpsPerSMNV = 5374,
BuiltInSMCountNV = 5375,
BuiltInWarpIDNV = 5376,
BuiltInSMIDNV = 5377,
BuiltInMax = 0x7fffffff,
};
@@ -564,6 +581,11 @@ enum LoopControlShift {
LoopControlDontUnrollShift = 1,
LoopControlDependencyInfiniteShift = 2,
LoopControlDependencyLengthShift = 3,
LoopControlMinIterationsShift = 4,
LoopControlMaxIterationsShift = 5,
LoopControlIterationMultipleShift = 6,
LoopControlPeelCountShift = 7,
LoopControlPartialCountShift = 8,
LoopControlMax = 0x7fffffff,
};
@@ -573,6 +595,11 @@ enum LoopControlMask {
LoopControlDontUnrollMask = 0x00000002,
LoopControlDependencyInfiniteMask = 0x00000004,
LoopControlDependencyLengthMask = 0x00000008,
LoopControlMinIterationsMask = 0x00000010,
LoopControlMaxIterationsMask = 0x00000020,
LoopControlIterationMultipleMask = 0x00000040,
LoopControlPeelCountMask = 0x00000080,
LoopControlPartialCountMask = 0x00000100,
};
enum FunctionControlShift {
@@ -812,10 +839,15 @@ enum Capability {
CapabilityPhysicalStorageBufferAddressesEXT = 5347,
CapabilityComputeDerivativeGroupLinearNV = 5350,
CapabilityCooperativeMatrixNV = 5357,
CapabilityFragmentShaderSampleInterlockEXT = 5363,
CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
CapabilityShaderSMBuiltinsNV = 5373,
CapabilityFragmentShaderPixelInterlockEXT = 5378,
CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570,
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
CapabilityIntegerFunctions2INTEL = 5584,
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
@@ -1163,6 +1195,10 @@ enum Op {
OpGroupNonUniformLogicalXor = 364,
OpGroupNonUniformQuadBroadcast = 365,
OpGroupNonUniformQuadSwap = 366,
OpCopyLogical = 400,
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
@@ -1193,6 +1229,8 @@ enum Op {
OpCooperativeMatrixStoreNV = 5360,
OpCooperativeMatrixMulAddNV = 5361,
OpCooperativeMatrixLengthNV = 5362,
OpBeginInvocationInterlockEXT = 5364,
OpEndInvocationInterlockEXT = 5365,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1203,7 +1241,23 @@ enum Op {
OpSubgroupImageBlockWriteINTEL = 5578,
OpSubgroupImageMediaBlockReadINTEL = 5580,
OpSubgroupImageMediaBlockWriteINTEL = 5581,
OpUCountLeadingZerosINTEL = 5585,
OpUCountTrailingZerosINTEL = 5586,
OpAbsISubINTEL = 5587,
OpAbsUSubINTEL = 5588,
OpIAddSatINTEL = 5589,
OpUAddSatINTEL = 5590,
OpIAverageINTEL = 5591,
OpUAverageINTEL = 5592,
OpIAverageRoundedINTEL = 5593,
OpUAverageRoundedINTEL = 5594,
OpISubSatINTEL = 5595,
OpUSubSatINTEL = 5596,
OpIMul32x16INTEL = 5597,
OpUMul32x16INTEL = 5598,
OpDecorateString = 5632,
OpDecorateStringGOOGLE = 5632,
OpMemberDecorateString = 5633,
OpMemberDecorateStringGOOGLE = 5633,
OpVmeImageINTEL = 5699,
OpTypeVmeImageINTEL = 5700,
@@ -1671,6 +1725,10 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
@@ -1687,6 +1745,8 @@ 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 OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
@@ -1694,6 +1754,11 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
case OpCooperativeMatrixLengthNV: *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;
@@ -1704,6 +1769,22 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
@@ -1822,15 +1903,8 @@ 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 OpDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
case OpMemberDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
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;
}
}
#endif /* SPV_ENABLE_UTILITY_CODE */

View File

@@ -68,7 +68,7 @@ void devi()
#extension GL_EXT_device_group : enable
#endif
#ifdef GL_EXT_device_group
#ifdef GL_EXT_multiview
#extension GL_EXT_multiview : enable
#endif

View File

@@ -440,7 +440,7 @@ void devi()
#extension GL_EXT_device_group : enable
#endif
#ifdef GL_EXT_device_group
#ifdef GL_EXT_multiview
#extension GL_EXT_multiview : enable
#endif

View File

@@ -114,7 +114,7 @@ void devi()
#extension GL_EXT_device_group : enable
#endif
#ifdef GL_EXT_device_group
#ifdef GL_EXT_multiview
#extension GL_EXT_multiview : enable
#endif

View File

@@ -114,7 +114,7 @@ void devi()
#extension GL_EXT_device_group : enable
#endif
#ifdef GL_EXT_device_group
#ifdef GL_EXT_multiview
#extension GL_EXT_multiview : enable
#endif

View File

@@ -56,7 +56,7 @@ ERROR: node is still EOpNull!
0:28 Function Definition: attExt( ( global void)
0:28 Function Parameters:
0:30 Sequence
0:30 Loop with condition not tested first: Dependency -3
0:30 Loop with condition not tested first
0:30 Loop Condition
0:30 Constant:
0:30 true (const bool)

View File

@@ -1,19 +1,602 @@
glsl.450.subgroup.frag
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:14: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:15: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
0:? Sequence
0:4 Function Definition: main( ( global void)
0:4 Function Parameters:
0:6 Sequence
0:6 move second child to first child ( temp 4-component vector of uint)
0:6 'data' (layout( location=0) out 4-component vector of uint)
0:6 Construct uvec4 ( temp 4-component vector of uint)
0:6 'gl_SubgroupSize' ( flat in uint unknown built-in variable)
0:6 'gl_SubgroupInvocationID' ( flat in uint unknown built-in variable)
0:6 Constant:
0:6 0 (const uint)
0:6 Constant:
0:6 0 (const uint)
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( flat in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( flat in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( temp float)
0:14 'gl_SubgroupID' ( temp float)
0:15 Constant:
0:15 0.000000
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( flat in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( flat in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( flat in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( flat in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( flat in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:105 Function Definition: main( ( global void)
0:105 Function Parameters:
0:107 Sequence
0:107 move second child to first child ( temp 4-component vector of uint)
0:107 'data' (layout( location=0) out 4-component vector of uint)
0:107 Construct uvec4 ( temp 4-component vector of uint)
0:107 'gl_SubgroupSize' ( flat in uint SubgroupSize)
0:107 'gl_SubgroupInvocationID' ( flat in uint SubgroupInvocationID)
0:107 Constant:
0:107 0 (const uint)
0:107 Constant:
0:107 0 (const uint)
0:108 subgroupBarrier ( global void)
0:109 subgroupMemoryBarrier ( global void)
0:110 subgroupMemoryBarrierBuffer ( global void)
0:111 subgroupMemoryBarrierImage ( global void)
0:112 subgroupElect ( global bool)
0:116 Function Definition: ballot_works(vf4; ( global void)
0:116 Function Parameters:
0:116 'f4' ( in 4-component vector of float)
0:117 Sequence
0:117 'gl_SubgroupEqMask' ( flat in 4-component vector of uint SubgroupEqMask)
0:118 'gl_SubgroupGeMask' ( flat in 4-component vector of uint SubgroupGeMask)
0:119 'gl_SubgroupGtMask' ( flat in 4-component vector of uint SubgroupGtMask)
0:120 'gl_SubgroupLeMask' ( flat in 4-component vector of uint SubgroupLeMask)
0:121 'gl_SubgroupLtMask' ( flat in 4-component vector of uint SubgroupLtMask)
0:122 subgroupBroadcast ( global 4-component vector of float)
0:122 'f4' ( in 4-component vector of float)
0:122 Constant:
0:122 0 (const uint)
0:123 subgroupBroadcastFirst ( global 4-component vector of float)
0:123 'f4' ( in 4-component vector of float)
0:124 Sequence
0:124 move second child to first child ( temp 4-component vector of uint)
0:124 'ballot' ( temp 4-component vector of uint)
0:124 subgroupBallot ( global 4-component vector of uint)
0:124 Constant:
0:124 false (const bool)
0:125 subgroupInverseBallot ( global bool)
0:125 Constant:
0:125 1 (const uint)
0:125 1 (const uint)
0:125 1 (const uint)
0:125 1 (const uint)
0:126 subgroupBallotBitExtract ( global bool)
0:126 'ballot' ( temp 4-component vector of uint)
0:126 Constant:
0:126 0 (const uint)
0:127 subgroupBallotBitCount ( global uint)
0:127 'ballot' ( temp 4-component vector of uint)
0:128 subgroupBallotInclusiveBitCount ( global uint)
0:128 'ballot' ( temp 4-component vector of uint)
0:129 subgroupBallotExclusiveBitCount ( global uint)
0:129 'ballot' ( temp 4-component vector of uint)
0:130 subgroupBallotFindLSB ( global uint)
0:130 'ballot' ( temp 4-component vector of uint)
0:131 subgroupBallotFindMSB ( global uint)
0:131 'ballot' ( temp 4-component vector of uint)
0:135 Function Definition: vote_works(vf4; ( global void)
0:135 Function Parameters:
0:135 'f4' ( in 4-component vector of float)
0:137 Sequence
0:137 subgroupAll ( global bool)
0:137 Constant:
0:137 true (const bool)
0:138 subgroupAny ( global bool)
0:138 Constant:
0:138 false (const bool)
0:139 subgroupAllEqual ( global bool)
0:139 'f4' ( in 4-component vector of float)
0:144 Function Definition: shuffle_works(vf4; ( global void)
0:144 Function Parameters:
0:144 'f4' ( in 4-component vector of float)
0:146 Sequence
0:146 subgroupShuffle ( global 4-component vector of float)
0:146 'f4' ( in 4-component vector of float)
0:146 Constant:
0:146 0 (const uint)
0:147 subgroupShuffleXor ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
0:147 1 (const uint)
0:148 subgroupShuffleUp ( global 4-component vector of float)
0:148 'f4' ( in 4-component vector of float)
0:148 Constant:
0:148 1 (const uint)
0:149 subgroupShuffleDown ( global 4-component vector of float)
0:149 'f4' ( in 4-component vector of float)
0:149 Constant:
0:149 1 (const uint)
0:153 Function Definition: arith_works(vf4; ( global void)
0:153 Function Parameters:
0:153 'f4' ( in 4-component vector of float)
0:? Sequence
0:156 subgroupAdd ( global 4-component vector of float)
0:156 'f4' ( in 4-component vector of float)
0:157 subgroupMul ( global 4-component vector of float)
0:157 'f4' ( in 4-component vector of float)
0:158 subgroupMin ( global 4-component vector of float)
0:158 'f4' ( in 4-component vector of float)
0:159 subgroupMax ( global 4-component vector of float)
0:159 'f4' ( in 4-component vector of float)
0:160 subgroupAnd ( global 4-component vector of uint)
0:160 'ballot' ( temp 4-component vector of uint)
0:161 subgroupOr ( global 4-component vector of uint)
0:161 'ballot' ( temp 4-component vector of uint)
0:162 subgroupXor ( global 4-component vector of uint)
0:162 'ballot' ( temp 4-component vector of uint)
0:163 subgroupInclusiveAdd ( global 4-component vector of float)
0:163 'f4' ( in 4-component vector of float)
0:164 subgroupInclusiveMul ( global 4-component vector of float)
0:164 'f4' ( in 4-component vector of float)
0:165 subgroupInclusiveMin ( global 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:166 subgroupInclusiveMax ( global 4-component vector of float)
0:166 'f4' ( in 4-component vector of float)
0:167 subgroupInclusiveAnd ( global 4-component vector of uint)
0:167 'ballot' ( temp 4-component vector of uint)
0:168 subgroupInclusiveOr ( global 4-component vector of uint)
0:168 'ballot' ( temp 4-component vector of uint)
0:169 subgroupInclusiveXor ( global 4-component vector of uint)
0:169 'ballot' ( temp 4-component vector of uint)
0:170 subgroupExclusiveAdd ( global 4-component vector of float)
0:170 'f4' ( in 4-component vector of float)
0:171 subgroupExclusiveMul ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:172 subgroupExclusiveMin ( global 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:173 subgroupExclusiveMax ( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:174 subgroupExclusiveAnd ( global 4-component vector of uint)
0:174 'ballot' ( temp 4-component vector of uint)
0:175 subgroupExclusiveOr ( global 4-component vector of uint)
0:175 'ballot' ( temp 4-component vector of uint)
0:176 subgroupExclusiveXor ( global 4-component vector of uint)
0:176 'ballot' ( temp 4-component vector of uint)
0:180 Function Definition: clustered_works(vf4; ( global void)
0:180 Function Parameters:
0:180 'f4' ( in 4-component vector of float)
0:182 Sequence
0:182 Sequence
0:182 move second child to first child ( temp 4-component vector of uint)
0:182 'ballot' ( temp 4-component vector of uint)
0:182 Constant:
0:182 85 (const uint)
0:182 0 (const uint)
0:182 0 (const uint)
0:182 0 (const uint)
0:183 subgroupClusteredAdd ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:183 Constant:
0:183 2 (const uint)
0:184 subgroupClusteredMul ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:184 Constant:
0:184 2 (const uint)
0:185 subgroupClusteredMin ( global 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:185 Constant:
0:185 2 (const uint)
0:186 subgroupClusteredMax ( global 4-component vector of float)
0:186 'f4' ( in 4-component vector of float)
0:186 Constant:
0:186 2 (const uint)
0:187 subgroupClusteredAnd ( global 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:187 Constant:
0:187 2 (const uint)
0:188 subgroupClusteredOr ( global 4-component vector of uint)
0:188 'ballot' ( temp 4-component vector of uint)
0:188 Constant:
0:188 2 (const uint)
0:189 subgroupClusteredXor ( global 4-component vector of uint)
0:189 'ballot' ( temp 4-component vector of uint)
0:189 Constant:
0:189 2 (const uint)
0:193 Function Definition: quad_works(vf4; ( global void)
0:193 Function Parameters:
0:193 'f4' ( in 4-component vector of float)
0:195 Sequence
0:195 subgroupQuadBroadcast ( global 4-component vector of float)
0:195 'f4' ( in 4-component vector of float)
0:195 Constant:
0:195 0 (const uint)
0:196 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:196 'f4' ( in 4-component vector of float)
0:197 subgroupQuadSwapVertical ( global 4-component vector of float)
0:197 'f4' ( in 4-component vector of float)
0:198 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:202 Function Definition: partitioned_works(vf4; ( global void)
0:202 Function Parameters:
0:202 'f4' ( in 4-component vector of float)
0:204 Sequence
0:204 Sequence
0:204 move second child to first child ( temp 4-component vector of uint)
0:204 'parti' ( temp 4-component vector of uint)
0:204 subgroupPartitionNV ( global 4-component vector of uint)
0:204 'f4' ( in 4-component vector of float)
0:205 Sequence
0:205 move second child to first child ( temp 4-component vector of uint)
0:205 'ballot' ( temp 4-component vector of uint)
0:205 Constant:
0:205 85 (const uint)
0:205 0 (const uint)
0:205 0 (const uint)
0:205 0 (const uint)
0:206 subgroupPartitionedAddNV ( global 4-component vector of float)
0:206 'f4' ( in 4-component vector of float)
0:206 'parti' ( temp 4-component vector of uint)
0:207 subgroupPartitionedMulNV ( global 4-component vector of float)
0:207 'f4' ( in 4-component vector of float)
0:207 'parti' ( temp 4-component vector of uint)
0:208 subgroupPartitionedMinNV ( global 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:208 'parti' ( temp 4-component vector of uint)
0:209 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:209 'f4' ( in 4-component vector of float)
0:209 'parti' ( temp 4-component vector of uint)
0:210 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:210 'ballot' ( temp 4-component vector of uint)
0:210 'parti' ( temp 4-component vector of uint)
0:211 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:211 'ballot' ( temp 4-component vector of uint)
0:211 'parti' ( temp 4-component vector of uint)
0:212 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:212 'ballot' ( temp 4-component vector of uint)
0:212 'parti' ( temp 4-component vector of uint)
0:213 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:215 'f4' ( in 4-component vector of float)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:216 'f4' ( in 4-component vector of float)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:217 'ballot' ( temp 4-component vector of uint)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:218 'ballot' ( temp 4-component vector of uint)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:219 'ballot' ( temp 4-component vector of uint)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:223 'f4' ( in 4-component vector of float)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:225 'ballot' ( temp 4-component vector of uint)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:226 'ballot' ( temp 4-component vector of uint)
0:226 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'data' (layout( location=0) out 4-component vector of uint)
@@ -22,20 +605,33 @@ Linked fragment stage:
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
0:? Sequence
0:4 Function Definition: main( ( global void)
0:4 Function Parameters:
0:6 Sequence
0:6 move second child to first child ( temp 4-component vector of uint)
0:6 'data' (layout( location=0) out 4-component vector of uint)
0:6 Construct uvec4 ( temp 4-component vector of uint)
0:6 'gl_SubgroupSize' ( flat in uint unknown built-in variable)
0:6 'gl_SubgroupInvocationID' ( flat in uint unknown built-in variable)
0:6 Constant:
0:6 0 (const uint)
0:6 Constant:
0:6 0 (const uint)
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
ERROR: node is still EOpNull!
0:105 Function Definition: main( ( global void)
0:105 Function Parameters:
0:107 Sequence
0:107 move second child to first child ( temp 4-component vector of uint)
0:107 'data' (layout( location=0) out 4-component vector of uint)
0:107 Construct uvec4 ( temp 4-component vector of uint)
0:107 'gl_SubgroupSize' ( flat in uint SubgroupSize)
0:107 'gl_SubgroupInvocationID' ( flat in uint SubgroupInvocationID)
0:107 Constant:
0:107 0 (const uint)
0:107 Constant:
0:107 0 (const uint)
0:108 subgroupBarrier ( global void)
0:109 subgroupMemoryBarrier ( global void)
0:110 subgroupMemoryBarrierBuffer ( global void)
0:111 subgroupMemoryBarrierImage ( global void)
0:112 subgroupElect ( global bool)
0:? Linker Objects
0:? 'data' (layout( location=0) out 4-component vector of uint)

View File

@@ -1,28 +1,611 @@
glsl.450.subgroup.geom
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:14: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:15: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
invocations = -1
max_vertices = 1
input primitive = points
output primitive = points
0:? Sequence
0:10 Function Definition: main( ( global void)
0:10 Function Parameters:
0:12 Sequence
0:12 move second child to first child ( temp 4-component vector of uint)
0:12 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:12 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:12 '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:12 Constant:
0:12 0 (const uint)
0:12 'gl_PrimitiveIDIn' ( in int PrimitiveID)
0:12 Construct uvec4 ( temp 4-component vector of uint)
0:12 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:12 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:12 Constant:
0:12 0 (const uint)
0:12 Constant:
0:12 0 (const uint)
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( temp float)
0:14 'gl_SubgroupID' ( temp float)
0:15 Constant:
0:15 0.000000
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:111 Function Definition: main( ( global void)
0:111 Function Parameters:
0:113 Sequence
0:113 move second child to first child ( temp 4-component vector of uint)
0:113 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:113 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:113 '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:113 Constant:
0:113 0 (const uint)
0:113 'gl_PrimitiveIDIn' ( in int PrimitiveID)
0:113 Construct uvec4 ( temp 4-component vector of uint)
0:113 'gl_SubgroupSize' ( in uint SubgroupSize)
0:113 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:113 Constant:
0:113 0 (const uint)
0:113 Constant:
0:113 0 (const uint)
0:114 subgroupBarrier ( global void)
0:115 subgroupMemoryBarrier ( global void)
0:116 subgroupMemoryBarrierBuffer ( global void)
0:117 subgroupMemoryBarrierImage ( global void)
0:118 subgroupElect ( global bool)
0:122 Function Definition: ballot_works(vf4; ( global void)
0:122 Function Parameters:
0:122 'f4' ( in 4-component vector of float)
0:123 Sequence
0:123 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:124 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:125 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:126 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:127 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:128 subgroupBroadcast ( global 4-component vector of float)
0:128 'f4' ( in 4-component vector of float)
0:128 Constant:
0:128 0 (const uint)
0:129 subgroupBroadcastFirst ( global 4-component vector of float)
0:129 'f4' ( in 4-component vector of float)
0:130 Sequence
0:130 move second child to first child ( temp 4-component vector of uint)
0:130 'ballot' ( temp 4-component vector of uint)
0:130 subgroupBallot ( global 4-component vector of uint)
0:130 Constant:
0:130 false (const bool)
0:131 subgroupInverseBallot ( global bool)
0:131 Constant:
0:131 1 (const uint)
0:131 1 (const uint)
0:131 1 (const uint)
0:131 1 (const uint)
0:132 subgroupBallotBitExtract ( global bool)
0:132 'ballot' ( temp 4-component vector of uint)
0:132 Constant:
0:132 0 (const uint)
0:133 subgroupBallotBitCount ( global uint)
0:133 'ballot' ( temp 4-component vector of uint)
0:134 subgroupBallotInclusiveBitCount ( global uint)
0:134 'ballot' ( temp 4-component vector of uint)
0:135 subgroupBallotExclusiveBitCount ( global uint)
0:135 'ballot' ( temp 4-component vector of uint)
0:136 subgroupBallotFindLSB ( global uint)
0:136 'ballot' ( temp 4-component vector of uint)
0:137 subgroupBallotFindMSB ( global uint)
0:137 'ballot' ( temp 4-component vector of uint)
0:141 Function Definition: vote_works(vf4; ( global void)
0:141 Function Parameters:
0:141 'f4' ( in 4-component vector of float)
0:143 Sequence
0:143 subgroupAll ( global bool)
0:143 Constant:
0:143 true (const bool)
0:144 subgroupAny ( global bool)
0:144 Constant:
0:144 false (const bool)
0:145 subgroupAllEqual ( global bool)
0:145 'f4' ( in 4-component vector of float)
0:150 Function Definition: shuffle_works(vf4; ( global void)
0:150 Function Parameters:
0:150 'f4' ( in 4-component vector of float)
0:152 Sequence
0:152 subgroupShuffle ( global 4-component vector of float)
0:152 'f4' ( in 4-component vector of float)
0:152 Constant:
0:152 0 (const uint)
0:153 subgroupShuffleXor ( global 4-component vector of float)
0:153 'f4' ( in 4-component vector of float)
0:153 Constant:
0:153 1 (const uint)
0:154 subgroupShuffleUp ( global 4-component vector of float)
0:154 'f4' ( in 4-component vector of float)
0:154 Constant:
0:154 1 (const uint)
0:155 subgroupShuffleDown ( global 4-component vector of float)
0:155 'f4' ( in 4-component vector of float)
0:155 Constant:
0:155 1 (const uint)
0:159 Function Definition: arith_works(vf4; ( global void)
0:159 Function Parameters:
0:159 'f4' ( in 4-component vector of float)
0:? Sequence
0:162 subgroupAdd ( global 4-component vector of float)
0:162 'f4' ( in 4-component vector of float)
0:163 subgroupMul ( global 4-component vector of float)
0:163 'f4' ( in 4-component vector of float)
0:164 subgroupMin ( global 4-component vector of float)
0:164 'f4' ( in 4-component vector of float)
0:165 subgroupMax ( global 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:166 subgroupAnd ( global 4-component vector of uint)
0:166 'ballot' ( temp 4-component vector of uint)
0:167 subgroupOr ( global 4-component vector of uint)
0:167 'ballot' ( temp 4-component vector of uint)
0:168 subgroupXor ( global 4-component vector of uint)
0:168 'ballot' ( temp 4-component vector of uint)
0:169 subgroupInclusiveAdd ( global 4-component vector of float)
0:169 'f4' ( in 4-component vector of float)
0:170 subgroupInclusiveMul ( global 4-component vector of float)
0:170 'f4' ( in 4-component vector of float)
0:171 subgroupInclusiveMin ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:172 subgroupInclusiveMax ( global 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:173 subgroupInclusiveAnd ( global 4-component vector of uint)
0:173 'ballot' ( temp 4-component vector of uint)
0:174 subgroupInclusiveOr ( global 4-component vector of uint)
0:174 'ballot' ( temp 4-component vector of uint)
0:175 subgroupInclusiveXor ( global 4-component vector of uint)
0:175 'ballot' ( temp 4-component vector of uint)
0:176 subgroupExclusiveAdd ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupExclusiveMul ( global 4-component vector of float)
0:177 'f4' ( in 4-component vector of float)
0:178 subgroupExclusiveMin ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:179 subgroupExclusiveMax ( global 4-component vector of float)
0:179 'f4' ( in 4-component vector of float)
0:180 subgroupExclusiveAnd ( global 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:181 subgroupExclusiveOr ( global 4-component vector of uint)
0:181 'ballot' ( temp 4-component vector of uint)
0:182 subgroupExclusiveXor ( global 4-component vector of uint)
0:182 'ballot' ( temp 4-component vector of uint)
0:186 Function Definition: clustered_works(vf4; ( global void)
0:186 Function Parameters:
0:186 'f4' ( in 4-component vector of float)
0:188 Sequence
0:188 Sequence
0:188 move second child to first child ( temp 4-component vector of uint)
0:188 'ballot' ( temp 4-component vector of uint)
0:188 Constant:
0:188 85 (const uint)
0:188 0 (const uint)
0:188 0 (const uint)
0:188 0 (const uint)
0:189 subgroupClusteredAdd ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:189 Constant:
0:189 2 (const uint)
0:190 subgroupClusteredMul ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:190 Constant:
0:190 2 (const uint)
0:191 subgroupClusteredMin ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:191 Constant:
0:191 2 (const uint)
0:192 subgroupClusteredMax ( global 4-component vector of float)
0:192 'f4' ( in 4-component vector of float)
0:192 Constant:
0:192 2 (const uint)
0:193 subgroupClusteredAnd ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:193 Constant:
0:193 2 (const uint)
0:194 subgroupClusteredOr ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:194 Constant:
0:194 2 (const uint)
0:195 subgroupClusteredXor ( global 4-component vector of uint)
0:195 'ballot' ( temp 4-component vector of uint)
0:195 Constant:
0:195 2 (const uint)
0:199 Function Definition: quad_works(vf4; ( global void)
0:199 Function Parameters:
0:199 'f4' ( in 4-component vector of float)
0:201 Sequence
0:201 subgroupQuadBroadcast ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:201 Constant:
0:201 0 (const uint)
0:202 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:203 subgroupQuadSwapVertical ( global 4-component vector of float)
0:203 'f4' ( in 4-component vector of float)
0:204 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:204 'f4' ( in 4-component vector of float)
0:208 Function Definition: partitioned_works(vf4; ( global void)
0:208 Function Parameters:
0:208 'f4' ( in 4-component vector of float)
0:210 Sequence
0:210 Sequence
0:210 move second child to first child ( temp 4-component vector of uint)
0:210 'parti' ( temp 4-component vector of uint)
0:210 subgroupPartitionNV ( global 4-component vector of uint)
0:210 'f4' ( in 4-component vector of float)
0:211 Sequence
0:211 move second child to first child ( temp 4-component vector of uint)
0:211 'ballot' ( temp 4-component vector of uint)
0:211 Constant:
0:211 85 (const uint)
0:211 0 (const uint)
0:211 0 (const uint)
0:211 0 (const uint)
0:212 subgroupPartitionedAddNV ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:212 'parti' ( temp 4-component vector of uint)
0:213 subgroupPartitionedMulNV ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitionedMinNV ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:215 'f4' ( in 4-component vector of float)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:217 'ballot' ( temp 4-component vector of uint)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:218 'ballot' ( temp 4-component vector of uint)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:219 'f4' ( in 4-component vector of float)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:223 'ballot' ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:225 'ballot' ( temp 4-component vector of uint)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:229 'f4' ( in 4-component vector of float)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedExclusiveAndNV ( 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:231 subgroupPartitionedExclusiveOrNV ( 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: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:? 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})
@@ -31,29 +614,42 @@ Linked geometry stage:
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
invocations = 1
max_vertices = 1
input primitive = points
output primitive = points
0:? Sequence
0:10 Function Definition: main( ( global void)
0:10 Function Parameters:
0:12 Sequence
0:12 move second child to first child ( temp 4-component vector of uint)
0:12 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:12 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:12 '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:12 Constant:
0:12 0 (const uint)
0:12 'gl_PrimitiveIDIn' ( in int PrimitiveID)
0:12 Construct uvec4 ( temp 4-component vector of uint)
0:12 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:12 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:12 Constant:
0:12 0 (const uint)
0:12 Constant:
0:12 0 (const uint)
ERROR: node is still EOpNull!
0:111 Function Definition: main( ( global void)
0:111 Function Parameters:
0:113 Sequence
0:113 move second child to first child ( temp 4-component vector of uint)
0:113 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:113 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:113 '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:113 Constant:
0:113 0 (const uint)
0:113 'gl_PrimitiveIDIn' ( in int PrimitiveID)
0:113 Construct uvec4 ( temp 4-component vector of uint)
0:113 'gl_SubgroupSize' ( in uint SubgroupSize)
0:113 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:113 Constant:
0:113 0 (const uint)
0:113 Constant:
0:113 0 (const uint)
0:114 subgroupBarrier ( global void)
0:115 subgroupMemoryBarrier ( global void)
0:116 subgroupMemoryBarrierBuffer ( global void)
0:117 subgroupMemoryBarrierImage ( global void)
0:118 subgroupElect ( global bool)
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})

View File

@@ -1,25 +1,608 @@
glsl.450.subgroup.tesc
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:14: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:15: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
vertices = 1
0:? Sequence
0:9 Function Definition: main( ( global void)
0:9 Function Parameters:
0:11 Sequence
0:11 move second child to first child ( temp 4-component vector of uint)
0:11 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:11 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:11 '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:11 Constant:
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in int PrimitiveID)
0:11 Construct uvec4 ( temp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:
0:11 0 (const uint)
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( temp float)
0:14 'gl_SubgroupID' ( temp float)
0:15 Constant:
0:15 0.000000
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:110 Function Definition: main( ( global void)
0:110 Function Parameters:
0:112 Sequence
0:112 move second child to first child ( temp 4-component vector of uint)
0:112 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:112 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:112 '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:112 Constant:
0:112 0 (const uint)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:112 Construct uvec4 ( temp 4-component vector of uint)
0:112 'gl_SubgroupSize' ( in uint SubgroupSize)
0:112 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:112 Constant:
0:112 0 (const uint)
0:112 Constant:
0:112 0 (const uint)
0:113 subgroupBarrier ( global void)
0:114 subgroupMemoryBarrier ( global void)
0:115 subgroupMemoryBarrierBuffer ( global void)
0:116 subgroupMemoryBarrierImage ( global void)
0:117 subgroupElect ( global bool)
0:121 Function Definition: ballot_works(vf4; ( global void)
0:121 Function Parameters:
0:121 'f4' ( in 4-component vector of float)
0:122 Sequence
0:122 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:123 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:124 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:125 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:126 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:127 subgroupBroadcast ( global 4-component vector of float)
0:127 'f4' ( in 4-component vector of float)
0:127 Constant:
0:127 0 (const uint)
0:128 subgroupBroadcastFirst ( global 4-component vector of float)
0:128 'f4' ( in 4-component vector of float)
0:129 Sequence
0:129 move second child to first child ( temp 4-component vector of uint)
0:129 'ballot' ( temp 4-component vector of uint)
0:129 subgroupBallot ( global 4-component vector of uint)
0:129 Constant:
0:129 false (const bool)
0:130 subgroupInverseBallot ( global bool)
0:130 Constant:
0:130 1 (const uint)
0:130 1 (const uint)
0:130 1 (const uint)
0:130 1 (const uint)
0:131 subgroupBallotBitExtract ( global bool)
0:131 'ballot' ( temp 4-component vector of uint)
0:131 Constant:
0:131 0 (const uint)
0:132 subgroupBallotBitCount ( global uint)
0:132 'ballot' ( temp 4-component vector of uint)
0:133 subgroupBallotInclusiveBitCount ( global uint)
0:133 'ballot' ( temp 4-component vector of uint)
0:134 subgroupBallotExclusiveBitCount ( global uint)
0:134 'ballot' ( temp 4-component vector of uint)
0:135 subgroupBallotFindLSB ( global uint)
0:135 'ballot' ( temp 4-component vector of uint)
0:136 subgroupBallotFindMSB ( global uint)
0:136 'ballot' ( temp 4-component vector of uint)
0:140 Function Definition: vote_works(vf4; ( global void)
0:140 Function Parameters:
0:140 'f4' ( in 4-component vector of float)
0:142 Sequence
0:142 subgroupAll ( global bool)
0:142 Constant:
0:142 true (const bool)
0:143 subgroupAny ( global bool)
0:143 Constant:
0:143 false (const bool)
0:144 subgroupAllEqual ( global bool)
0:144 'f4' ( in 4-component vector of float)
0:149 Function Definition: shuffle_works(vf4; ( global void)
0:149 Function Parameters:
0:149 'f4' ( in 4-component vector of float)
0:151 Sequence
0:151 subgroupShuffle ( global 4-component vector of float)
0:151 'f4' ( in 4-component vector of float)
0:151 Constant:
0:151 0 (const uint)
0:152 subgroupShuffleXor ( global 4-component vector of float)
0:152 'f4' ( in 4-component vector of float)
0:152 Constant:
0:152 1 (const uint)
0:153 subgroupShuffleUp ( global 4-component vector of float)
0:153 'f4' ( in 4-component vector of float)
0:153 Constant:
0:153 1 (const uint)
0:154 subgroupShuffleDown ( global 4-component vector of float)
0:154 'f4' ( in 4-component vector of float)
0:154 Constant:
0:154 1 (const uint)
0:158 Function Definition: arith_works(vf4; ( global void)
0:158 Function Parameters:
0:158 'f4' ( in 4-component vector of float)
0:? Sequence
0:161 subgroupAdd ( global 4-component vector of float)
0:161 'f4' ( in 4-component vector of float)
0:162 subgroupMul ( global 4-component vector of float)
0:162 'f4' ( in 4-component vector of float)
0:163 subgroupMin ( global 4-component vector of float)
0:163 'f4' ( in 4-component vector of float)
0:164 subgroupMax ( global 4-component vector of float)
0:164 'f4' ( in 4-component vector of float)
0:165 subgroupAnd ( global 4-component vector of uint)
0:165 'ballot' ( temp 4-component vector of uint)
0:166 subgroupOr ( global 4-component vector of uint)
0:166 'ballot' ( temp 4-component vector of uint)
0:167 subgroupXor ( global 4-component vector of uint)
0:167 'ballot' ( temp 4-component vector of uint)
0:168 subgroupInclusiveAdd ( global 4-component vector of float)
0:168 'f4' ( in 4-component vector of float)
0:169 subgroupInclusiveMul ( global 4-component vector of float)
0:169 'f4' ( in 4-component vector of float)
0:170 subgroupInclusiveMin ( global 4-component vector of float)
0:170 'f4' ( in 4-component vector of float)
0:171 subgroupInclusiveMax ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:172 subgroupInclusiveAnd ( global 4-component vector of uint)
0:172 'ballot' ( temp 4-component vector of uint)
0:173 subgroupInclusiveOr ( global 4-component vector of uint)
0:173 'ballot' ( temp 4-component vector of uint)
0:174 subgroupInclusiveXor ( global 4-component vector of uint)
0:174 'ballot' ( temp 4-component vector of uint)
0:175 subgroupExclusiveAdd ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:176 subgroupExclusiveMul ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupExclusiveMin ( global 4-component vector of float)
0:177 'f4' ( in 4-component vector of float)
0:178 subgroupExclusiveMax ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:179 subgroupExclusiveAnd ( global 4-component vector of uint)
0:179 'ballot' ( temp 4-component vector of uint)
0:180 subgroupExclusiveOr ( global 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:181 subgroupExclusiveXor ( global 4-component vector of uint)
0:181 'ballot' ( temp 4-component vector of uint)
0:185 Function Definition: clustered_works(vf4; ( global void)
0:185 Function Parameters:
0:185 'f4' ( in 4-component vector of float)
0:187 Sequence
0:187 Sequence
0:187 move second child to first child ( temp 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:187 Constant:
0:187 85 (const uint)
0:187 0 (const uint)
0:187 0 (const uint)
0:187 0 (const uint)
0:188 subgroupClusteredAdd ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:188 Constant:
0:188 2 (const uint)
0:189 subgroupClusteredMul ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:189 Constant:
0:189 2 (const uint)
0:190 subgroupClusteredMin ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:190 Constant:
0:190 2 (const uint)
0:191 subgroupClusteredMax ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:191 Constant:
0:191 2 (const uint)
0:192 subgroupClusteredAnd ( global 4-component vector of uint)
0:192 'ballot' ( temp 4-component vector of uint)
0:192 Constant:
0:192 2 (const uint)
0:193 subgroupClusteredOr ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:193 Constant:
0:193 2 (const uint)
0:194 subgroupClusteredXor ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:194 Constant:
0:194 2 (const uint)
0:198 Function Definition: quad_works(vf4; ( global void)
0:198 Function Parameters:
0:198 'f4' ( in 4-component vector of float)
0:200 Sequence
0:200 subgroupQuadBroadcast ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:200 Constant:
0:200 0 (const uint)
0:201 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:202 subgroupQuadSwapVertical ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:203 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:203 'f4' ( in 4-component vector of float)
0:207 Function Definition: partitioned_works(vf4; ( global void)
0:207 Function Parameters:
0:207 'f4' ( in 4-component vector of float)
0:209 Sequence
0:209 Sequence
0:209 move second child to first child ( temp 4-component vector of uint)
0:209 'parti' ( temp 4-component vector of uint)
0:209 subgroupPartitionNV ( global 4-component vector of uint)
0:209 'f4' ( in 4-component vector of float)
0:210 Sequence
0:210 move second child to first child ( temp 4-component vector of uint)
0:210 'ballot' ( temp 4-component vector of uint)
0:210 Constant:
0:210 85 (const uint)
0:210 0 (const uint)
0:210 0 (const uint)
0:210 0 (const uint)
0:211 subgroupPartitionedAddNV ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:211 'parti' ( temp 4-component vector of uint)
0:212 subgroupPartitionedMulNV ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:212 'parti' ( temp 4-component vector of uint)
0:213 subgroupPartitionedMinNV ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:215 'ballot' ( temp 4-component vector of uint)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:217 'ballot' ( temp 4-component vector of uint)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:218 'f4' ( in 4-component vector of float)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:219 'f4' ( in 4-component vector of float)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:222 'ballot' ( temp 4-component vector of uint)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:223 'ballot' ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedExclusiveOrNV ( 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: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:? 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})
@@ -28,26 +611,39 @@ Linked tessellation control stage:
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
vertices = 1
0:? Sequence
0:9 Function Definition: main( ( global void)
0:9 Function Parameters:
0:11 Sequence
0:11 move second child to first child ( temp 4-component vector of uint)
0:11 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:11 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:11 '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:11 Constant:
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in int PrimitiveID)
0:11 Construct uvec4 ( temp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:
0:11 0 (const uint)
ERROR: node is still EOpNull!
0:110 Function Definition: main( ( global void)
0:110 Function Parameters:
0:112 Sequence
0:112 move second child to first child ( temp 4-component vector of uint)
0:112 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:112 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:112 '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:112 Constant:
0:112 0 (const uint)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:112 Construct uvec4 ( temp 4-component vector of uint)
0:112 'gl_SubgroupSize' ( in uint SubgroupSize)
0:112 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:112 Constant:
0:112 0 (const uint)
0:112 Constant:
0:112 0 (const uint)
0:113 subgroupBarrier ( global void)
0:114 subgroupMemoryBarrier ( global void)
0:115 subgroupMemoryBarrierBuffer ( global void)
0:116 subgroupMemoryBarrierImage ( global void)
0:117 subgroupElect ( global bool)
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})

View File

@@ -1,27 +1,610 @@
glsl.450.subgroup.tese
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:14: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:15: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
input primitive = isolines
vertex spacing = none
triangle order = none
0:? Sequence
0:9 Function Definition: main( ( global void)
0:9 Function Parameters:
0:11 Sequence
0:11 move second child to first child ( temp 4-component vector of uint)
0:11 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:11 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:11 '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:11 Constant:
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in int PrimitiveID)
0:11 Construct uvec4 ( temp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:
0:11 0 (const uint)
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( temp float)
0:14 'gl_SubgroupID' ( temp float)
0:15 Constant:
0:15 0.000000
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:110 Function Definition: main( ( global void)
0:110 Function Parameters:
0:112 Sequence
0:112 move second child to first child ( temp 4-component vector of uint)
0:112 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:112 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:112 '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:112 Constant:
0:112 0 (const uint)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:112 Construct uvec4 ( temp 4-component vector of uint)
0:112 'gl_SubgroupSize' ( in uint SubgroupSize)
0:112 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:112 Constant:
0:112 0 (const uint)
0:112 Constant:
0:112 0 (const uint)
0:113 subgroupBarrier ( global void)
0:114 subgroupMemoryBarrier ( global void)
0:115 subgroupMemoryBarrierBuffer ( global void)
0:116 subgroupMemoryBarrierImage ( global void)
0:117 subgroupElect ( global bool)
0:121 Function Definition: ballot_works(vf4; ( global void)
0:121 Function Parameters:
0:121 'f4' ( in 4-component vector of float)
0:122 Sequence
0:122 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:123 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:124 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:125 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:126 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:127 subgroupBroadcast ( global 4-component vector of float)
0:127 'f4' ( in 4-component vector of float)
0:127 Constant:
0:127 0 (const uint)
0:128 subgroupBroadcastFirst ( global 4-component vector of float)
0:128 'f4' ( in 4-component vector of float)
0:129 Sequence
0:129 move second child to first child ( temp 4-component vector of uint)
0:129 'ballot' ( temp 4-component vector of uint)
0:129 subgroupBallot ( global 4-component vector of uint)
0:129 Constant:
0:129 false (const bool)
0:130 subgroupInverseBallot ( global bool)
0:130 Constant:
0:130 1 (const uint)
0:130 1 (const uint)
0:130 1 (const uint)
0:130 1 (const uint)
0:131 subgroupBallotBitExtract ( global bool)
0:131 'ballot' ( temp 4-component vector of uint)
0:131 Constant:
0:131 0 (const uint)
0:132 subgroupBallotBitCount ( global uint)
0:132 'ballot' ( temp 4-component vector of uint)
0:133 subgroupBallotInclusiveBitCount ( global uint)
0:133 'ballot' ( temp 4-component vector of uint)
0:134 subgroupBallotExclusiveBitCount ( global uint)
0:134 'ballot' ( temp 4-component vector of uint)
0:135 subgroupBallotFindLSB ( global uint)
0:135 'ballot' ( temp 4-component vector of uint)
0:136 subgroupBallotFindMSB ( global uint)
0:136 'ballot' ( temp 4-component vector of uint)
0:140 Function Definition: vote_works(vf4; ( global void)
0:140 Function Parameters:
0:140 'f4' ( in 4-component vector of float)
0:142 Sequence
0:142 subgroupAll ( global bool)
0:142 Constant:
0:142 true (const bool)
0:143 subgroupAny ( global bool)
0:143 Constant:
0:143 false (const bool)
0:144 subgroupAllEqual ( global bool)
0:144 'f4' ( in 4-component vector of float)
0:149 Function Definition: shuffle_works(vf4; ( global void)
0:149 Function Parameters:
0:149 'f4' ( in 4-component vector of float)
0:151 Sequence
0:151 subgroupShuffle ( global 4-component vector of float)
0:151 'f4' ( in 4-component vector of float)
0:151 Constant:
0:151 0 (const uint)
0:152 subgroupShuffleXor ( global 4-component vector of float)
0:152 'f4' ( in 4-component vector of float)
0:152 Constant:
0:152 1 (const uint)
0:153 subgroupShuffleUp ( global 4-component vector of float)
0:153 'f4' ( in 4-component vector of float)
0:153 Constant:
0:153 1 (const uint)
0:154 subgroupShuffleDown ( global 4-component vector of float)
0:154 'f4' ( in 4-component vector of float)
0:154 Constant:
0:154 1 (const uint)
0:158 Function Definition: arith_works(vf4; ( global void)
0:158 Function Parameters:
0:158 'f4' ( in 4-component vector of float)
0:? Sequence
0:161 subgroupAdd ( global 4-component vector of float)
0:161 'f4' ( in 4-component vector of float)
0:162 subgroupMul ( global 4-component vector of float)
0:162 'f4' ( in 4-component vector of float)
0:163 subgroupMin ( global 4-component vector of float)
0:163 'f4' ( in 4-component vector of float)
0:164 subgroupMax ( global 4-component vector of float)
0:164 'f4' ( in 4-component vector of float)
0:165 subgroupAnd ( global 4-component vector of uint)
0:165 'ballot' ( temp 4-component vector of uint)
0:166 subgroupOr ( global 4-component vector of uint)
0:166 'ballot' ( temp 4-component vector of uint)
0:167 subgroupXor ( global 4-component vector of uint)
0:167 'ballot' ( temp 4-component vector of uint)
0:168 subgroupInclusiveAdd ( global 4-component vector of float)
0:168 'f4' ( in 4-component vector of float)
0:169 subgroupInclusiveMul ( global 4-component vector of float)
0:169 'f4' ( in 4-component vector of float)
0:170 subgroupInclusiveMin ( global 4-component vector of float)
0:170 'f4' ( in 4-component vector of float)
0:171 subgroupInclusiveMax ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:172 subgroupInclusiveAnd ( global 4-component vector of uint)
0:172 'ballot' ( temp 4-component vector of uint)
0:173 subgroupInclusiveOr ( global 4-component vector of uint)
0:173 'ballot' ( temp 4-component vector of uint)
0:174 subgroupInclusiveXor ( global 4-component vector of uint)
0:174 'ballot' ( temp 4-component vector of uint)
0:175 subgroupExclusiveAdd ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:176 subgroupExclusiveMul ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupExclusiveMin ( global 4-component vector of float)
0:177 'f4' ( in 4-component vector of float)
0:178 subgroupExclusiveMax ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:179 subgroupExclusiveAnd ( global 4-component vector of uint)
0:179 'ballot' ( temp 4-component vector of uint)
0:180 subgroupExclusiveOr ( global 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:181 subgroupExclusiveXor ( global 4-component vector of uint)
0:181 'ballot' ( temp 4-component vector of uint)
0:185 Function Definition: clustered_works(vf4; ( global void)
0:185 Function Parameters:
0:185 'f4' ( in 4-component vector of float)
0:187 Sequence
0:187 Sequence
0:187 move second child to first child ( temp 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:187 Constant:
0:187 85 (const uint)
0:187 0 (const uint)
0:187 0 (const uint)
0:187 0 (const uint)
0:188 subgroupClusteredAdd ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:188 Constant:
0:188 2 (const uint)
0:189 subgroupClusteredMul ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:189 Constant:
0:189 2 (const uint)
0:190 subgroupClusteredMin ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:190 Constant:
0:190 2 (const uint)
0:191 subgroupClusteredMax ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:191 Constant:
0:191 2 (const uint)
0:192 subgroupClusteredAnd ( global 4-component vector of uint)
0:192 'ballot' ( temp 4-component vector of uint)
0:192 Constant:
0:192 2 (const uint)
0:193 subgroupClusteredOr ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:193 Constant:
0:193 2 (const uint)
0:194 subgroupClusteredXor ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:194 Constant:
0:194 2 (const uint)
0:198 Function Definition: quad_works(vf4; ( global void)
0:198 Function Parameters:
0:198 'f4' ( in 4-component vector of float)
0:200 Sequence
0:200 subgroupQuadBroadcast ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:200 Constant:
0:200 0 (const uint)
0:201 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:202 subgroupQuadSwapVertical ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:203 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:203 'f4' ( in 4-component vector of float)
0:207 Function Definition: partitioned_works(vf4; ( global void)
0:207 Function Parameters:
0:207 'f4' ( in 4-component vector of float)
0:209 Sequence
0:209 Sequence
0:209 move second child to first child ( temp 4-component vector of uint)
0:209 'parti' ( temp 4-component vector of uint)
0:209 subgroupPartitionNV ( global 4-component vector of uint)
0:209 'f4' ( in 4-component vector of float)
0:210 Sequence
0:210 move second child to first child ( temp 4-component vector of uint)
0:210 'ballot' ( temp 4-component vector of uint)
0:210 Constant:
0:210 85 (const uint)
0:210 0 (const uint)
0:210 0 (const uint)
0:210 0 (const uint)
0:211 subgroupPartitionedAddNV ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:211 'parti' ( temp 4-component vector of uint)
0:212 subgroupPartitionedMulNV ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:212 'parti' ( temp 4-component vector of uint)
0:213 subgroupPartitionedMinNV ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:215 'ballot' ( temp 4-component vector of uint)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:217 'ballot' ( temp 4-component vector of uint)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:218 'f4' ( in 4-component vector of float)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:219 'f4' ( in 4-component vector of float)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:222 'ballot' ( temp 4-component vector of uint)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:223 'ballot' ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedExclusiveOrNV ( 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: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:? 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})
@@ -30,28 +613,41 @@ Linked tessellation evaluation stage:
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
input primitive = isolines
vertex spacing = equal_spacing
triangle order = ccw
0:? Sequence
0:9 Function Definition: main( ( global void)
0:9 Function Parameters:
0:11 Sequence
0:11 move second child to first child ( temp 4-component vector of uint)
0:11 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:11 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:11 '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:11 Constant:
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in int PrimitiveID)
0:11 Construct uvec4 ( temp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:
0:11 0 (const uint)
ERROR: node is still EOpNull!
0:110 Function Definition: main( ( global void)
0:110 Function Parameters:
0:112 Sequence
0:112 move second child to first child ( temp 4-component vector of uint)
0:112 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:112 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:112 '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:112 Constant:
0:112 0 (const uint)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:112 Construct uvec4 ( temp 4-component vector of uint)
0:112 'gl_SubgroupSize' ( in uint SubgroupSize)
0:112 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:112 Constant:
0:112 0 (const uint)
0:112 Constant:
0:112 0 (const uint)
0:113 subgroupBarrier ( global void)
0:114 subgroupMemoryBarrier ( global void)
0:115 subgroupMemoryBarrierBuffer ( global void)
0:116 subgroupMemoryBarrierImage ( global void)
0:117 subgroupElect ( global bool)
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})

View File

@@ -1,24 +1,607 @@
glsl.450.subgroup.vert
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:14: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:15: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
0:? Sequence
0:8 Function Definition: main( ( global void)
0:8 Function Parameters:
0:10 Sequence
0:10 move second child to first child ( temp 4-component vector of uint)
0:10 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:10 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:10 '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:10 Constant:
0:10 0 (const uint)
0:10 'gl_VertexID' ( gl_VertexId int VertexId)
0:10 Construct uvec4 ( temp 4-component vector of uint)
0:10 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:10 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
0:10 0 (const uint)
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( temp float)
0:14 'gl_SubgroupID' ( temp float)
0:15 Constant:
0:15 0.000000
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:109 Function Definition: main( ( global void)
0:109 Function Parameters:
0:111 Sequence
0:111 move second child to first child ( temp 4-component vector of uint)
0:111 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:111 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:111 '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:111 Constant:
0:111 0 (const uint)
0:111 'gl_VertexID' ( gl_VertexId int VertexId)
0:111 Construct uvec4 ( temp 4-component vector of uint)
0:111 'gl_SubgroupSize' ( in uint SubgroupSize)
0:111 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:111 Constant:
0:111 0 (const uint)
0:111 Constant:
0:111 0 (const uint)
0:112 subgroupBarrier ( global void)
0:113 subgroupMemoryBarrier ( global void)
0:114 subgroupMemoryBarrierBuffer ( global void)
0:115 subgroupMemoryBarrierImage ( global void)
0:116 subgroupElect ( global bool)
0:120 Function Definition: ballot_works(vf4; ( global void)
0:120 Function Parameters:
0:120 'f4' ( in 4-component vector of float)
0:121 Sequence
0:121 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:122 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:123 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:124 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:125 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:126 subgroupBroadcast ( global 4-component vector of float)
0:126 'f4' ( in 4-component vector of float)
0:126 Constant:
0:126 0 (const uint)
0:127 subgroupBroadcastFirst ( global 4-component vector of float)
0:127 'f4' ( in 4-component vector of float)
0:128 Sequence
0:128 move second child to first child ( temp 4-component vector of uint)
0:128 'ballot' ( temp 4-component vector of uint)
0:128 subgroupBallot ( global 4-component vector of uint)
0:128 Constant:
0:128 false (const bool)
0:129 subgroupInverseBallot ( global bool)
0:129 Constant:
0:129 1 (const uint)
0:129 1 (const uint)
0:129 1 (const uint)
0:129 1 (const uint)
0:130 subgroupBallotBitExtract ( global bool)
0:130 'ballot' ( temp 4-component vector of uint)
0:130 Constant:
0:130 0 (const uint)
0:131 subgroupBallotBitCount ( global uint)
0:131 'ballot' ( temp 4-component vector of uint)
0:132 subgroupBallotInclusiveBitCount ( global uint)
0:132 'ballot' ( temp 4-component vector of uint)
0:133 subgroupBallotExclusiveBitCount ( global uint)
0:133 'ballot' ( temp 4-component vector of uint)
0:134 subgroupBallotFindLSB ( global uint)
0:134 'ballot' ( temp 4-component vector of uint)
0:135 subgroupBallotFindMSB ( global uint)
0:135 'ballot' ( temp 4-component vector of uint)
0:139 Function Definition: vote_works(vf4; ( global void)
0:139 Function Parameters:
0:139 'f4' ( in 4-component vector of float)
0:141 Sequence
0:141 subgroupAll ( global bool)
0:141 Constant:
0:141 true (const bool)
0:142 subgroupAny ( global bool)
0:142 Constant:
0:142 false (const bool)
0:143 subgroupAllEqual ( global bool)
0:143 'f4' ( in 4-component vector of float)
0:148 Function Definition: shuffle_works(vf4; ( global void)
0:148 Function Parameters:
0:148 'f4' ( in 4-component vector of float)
0:150 Sequence
0:150 subgroupShuffle ( global 4-component vector of float)
0:150 'f4' ( in 4-component vector of float)
0:150 Constant:
0:150 0 (const uint)
0:151 subgroupShuffleXor ( global 4-component vector of float)
0:151 'f4' ( in 4-component vector of float)
0:151 Constant:
0:151 1 (const uint)
0:152 subgroupShuffleUp ( global 4-component vector of float)
0:152 'f4' ( in 4-component vector of float)
0:152 Constant:
0:152 1 (const uint)
0:153 subgroupShuffleDown ( global 4-component vector of float)
0:153 'f4' ( in 4-component vector of float)
0:153 Constant:
0:153 1 (const uint)
0:157 Function Definition: arith_works(vf4; ( global void)
0:157 Function Parameters:
0:157 'f4' ( in 4-component vector of float)
0:? Sequence
0:160 subgroupAdd ( global 4-component vector of float)
0:160 'f4' ( in 4-component vector of float)
0:161 subgroupMul ( global 4-component vector of float)
0:161 'f4' ( in 4-component vector of float)
0:162 subgroupMin ( global 4-component vector of float)
0:162 'f4' ( in 4-component vector of float)
0:163 subgroupMax ( global 4-component vector of float)
0:163 'f4' ( in 4-component vector of float)
0:164 subgroupAnd ( global 4-component vector of uint)
0:164 'ballot' ( temp 4-component vector of uint)
0:165 subgroupOr ( global 4-component vector of uint)
0:165 'ballot' ( temp 4-component vector of uint)
0:166 subgroupXor ( global 4-component vector of uint)
0:166 'ballot' ( temp 4-component vector of uint)
0:167 subgroupInclusiveAdd ( global 4-component vector of float)
0:167 'f4' ( in 4-component vector of float)
0:168 subgroupInclusiveMul ( global 4-component vector of float)
0:168 'f4' ( in 4-component vector of float)
0:169 subgroupInclusiveMin ( global 4-component vector of float)
0:169 'f4' ( in 4-component vector of float)
0:170 subgroupInclusiveMax ( global 4-component vector of float)
0:170 'f4' ( in 4-component vector of float)
0:171 subgroupInclusiveAnd ( global 4-component vector of uint)
0:171 'ballot' ( temp 4-component vector of uint)
0:172 subgroupInclusiveOr ( global 4-component vector of uint)
0:172 'ballot' ( temp 4-component vector of uint)
0:173 subgroupInclusiveXor ( global 4-component vector of uint)
0:173 'ballot' ( temp 4-component vector of uint)
0:174 subgroupExclusiveAdd ( global 4-component vector of float)
0:174 'f4' ( in 4-component vector of float)
0:175 subgroupExclusiveMul ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:176 subgroupExclusiveMin ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupExclusiveMax ( global 4-component vector of float)
0:177 'f4' ( in 4-component vector of float)
0:178 subgroupExclusiveAnd ( global 4-component vector of uint)
0:178 'ballot' ( temp 4-component vector of uint)
0:179 subgroupExclusiveOr ( global 4-component vector of uint)
0:179 'ballot' ( temp 4-component vector of uint)
0:180 subgroupExclusiveXor ( global 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:184 Function Definition: clustered_works(vf4; ( global void)
0:184 Function Parameters:
0:184 'f4' ( in 4-component vector of float)
0:186 Sequence
0:186 Sequence
0:186 move second child to first child ( temp 4-component vector of uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:186 Constant:
0:186 85 (const uint)
0:186 0 (const uint)
0:186 0 (const uint)
0:186 0 (const uint)
0:187 subgroupClusteredAdd ( global 4-component vector of float)
0:187 'f4' ( in 4-component vector of float)
0:187 Constant:
0:187 2 (const uint)
0:188 subgroupClusteredMul ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:188 Constant:
0:188 2 (const uint)
0:189 subgroupClusteredMin ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:189 Constant:
0:189 2 (const uint)
0:190 subgroupClusteredMax ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:190 Constant:
0:190 2 (const uint)
0:191 subgroupClusteredAnd ( global 4-component vector of uint)
0:191 'ballot' ( temp 4-component vector of uint)
0:191 Constant:
0:191 2 (const uint)
0:192 subgroupClusteredOr ( global 4-component vector of uint)
0:192 'ballot' ( temp 4-component vector of uint)
0:192 Constant:
0:192 2 (const uint)
0:193 subgroupClusteredXor ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:193 Constant:
0:193 2 (const uint)
0:197 Function Definition: quad_works(vf4; ( global void)
0:197 Function Parameters:
0:197 'f4' ( in 4-component vector of float)
0:199 Sequence
0:199 subgroupQuadBroadcast ( global 4-component vector of float)
0:199 'f4' ( in 4-component vector of float)
0:199 Constant:
0:199 0 (const uint)
0:200 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:201 subgroupQuadSwapVertical ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:202 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:206 Function Definition: partitioned_works(vf4; ( global void)
0:206 Function Parameters:
0:206 'f4' ( in 4-component vector of float)
0:208 Sequence
0:208 Sequence
0:208 move second child to first child ( temp 4-component vector of uint)
0:208 'parti' ( temp 4-component vector of uint)
0:208 subgroupPartitionNV ( global 4-component vector of uint)
0:208 'f4' ( in 4-component vector of float)
0:209 Sequence
0:209 move second child to first child ( temp 4-component vector of uint)
0:209 'ballot' ( temp 4-component vector of uint)
0:209 Constant:
0:209 85 (const uint)
0:209 0 (const uint)
0:209 0 (const uint)
0:209 0 (const uint)
0:210 subgroupPartitionedAddNV ( global 4-component vector of float)
0:210 'f4' ( in 4-component vector of float)
0:210 'parti' ( temp 4-component vector of uint)
0:211 subgroupPartitionedMulNV ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:211 'parti' ( temp 4-component vector of uint)
0:212 subgroupPartitionedMinNV ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:212 'parti' ( temp 4-component vector of uint)
0:213 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:214 'ballot' ( temp 4-component vector of uint)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:215 'ballot' ( temp 4-component vector of uint)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:217 'f4' ( in 4-component vector of float)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:218 'f4' ( in 4-component vector of float)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:219 'f4' ( in 4-component vector of float)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:221 'ballot' ( temp 4-component vector of uint)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:222 'ballot' ( temp 4-component vector of uint)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:223 'ballot' ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:224 'f4' ( in 4-component vector of float)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:228 'ballot' ( temp 4-component vector of uint)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint)
0:230 'parti' ( temp 4-component vector of uint)
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)
@@ -29,25 +612,38 @@ Linked vertex stage:
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
0:? Sequence
0:8 Function Definition: main( ( global void)
0:8 Function Parameters:
0:10 Sequence
0:10 move second child to first child ( temp 4-component vector of uint)
0:10 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:10 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:10 '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:10 Constant:
0:10 0 (const uint)
0:10 'gl_VertexID' ( gl_VertexId int VertexId)
0:10 Construct uvec4 ( temp 4-component vector of uint)
0:10 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:10 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
0:10 0 (const uint)
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void)
0:109 Function Parameters:
0:111 Sequence
0:111 move second child to first child ( temp 4-component vector of uint)
0:111 indirect index (layout( column_major std430 offset=0) temp 4-component vector of uint)
0:111 result: direct index for structure (layout( column_major std430 offset=0) buffer runtime-sized array of 4-component vector of uint)
0:111 '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:111 Constant:
0:111 0 (const uint)
0:111 'gl_VertexID' ( gl_VertexId int VertexId)
0:111 Construct uvec4 ( temp 4-component vector of uint)
0:111 'gl_SubgroupSize' ( in uint SubgroupSize)
0:111 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:111 Constant:
0:111 0 (const uint)
0:111 Constant:
0:111 0 (const uint)
0:112 subgroupBarrier ( global void)
0:113 subgroupMemoryBarrier ( global void)
0:114 subgroupMemoryBarrierBuffer ( global void)
0:115 subgroupMemoryBarrierImage ( global void)
0:116 subgroupElect ( global bool)
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)

View File

@@ -12,8 +12,8 @@ local_size = (8, 1, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)
@@ -7288,8 +7288,8 @@ local_size = (8, 1, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 Sequence
@@ -23,11 +23,11 @@ local_size = (8, 8, 1)
0:21 add ( temp 4-component vector of uint)
0:20 add ( temp 4-component vector of uint)
0:19 add ( temp 4-component vector of uint)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:25 Sequence
0:25 move second child to first child ( temp 4-component vector of uint)
0:25 'result' ( temp 4-component vector of uint)
@@ -1165,8 +1165,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 Sequence
@@ -1176,11 +1176,11 @@ local_size = (8, 8, 1)
0:21 add ( temp 4-component vector of uint)
0:20 add ( temp 4-component vector of uint)
0:19 add ( temp 4-component vector of uint)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:25 Sequence
0:25 move second child to first child ( temp 4-component vector of uint)
0:25 'result' ( temp 4-component vector of uint)

View File

@@ -16,8 +16,8 @@ ERROR: node is still EOpNull!
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 Sequence
@@ -27,11 +27,11 @@ ERROR: node is still EOpNull!
0:21 add ( temp 4-component vector of uint)
0:20 add ( temp 4-component vector of uint)
0:19 add ( temp 4-component vector of uint)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:25 Sequence
0:25 move second child to first child ( temp 4-component vector of uint)
0:25 'result' ( temp 4-component vector of uint)
@@ -149,8 +149,8 @@ ERROR: node is still EOpNull!
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 Sequence
@@ -160,11 +160,11 @@ ERROR: node is still EOpNull!
0:21 add ( temp 4-component vector of uint)
0:20 add ( temp 4-component vector of uint)
0:19 add ( temp 4-component vector of uint)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:20 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:21 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:22 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:23 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:25 Sequence
0:25 move second child to first child ( temp 4-component vector of uint)
0:25 'result' ( temp 4-component vector of uint)

View File

@@ -1,59 +1,636 @@
glsl.450.subgroupBasic.comp
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_SubgroupID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:15: 'subgroupMemoryBarrierShared' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
local_size = (8, 8, 1)
0:? Sequence
0:12 Function Definition: main( ( global void)
0:12 Function Parameters:
0:14 Sequence
0:14 move second child to first child ( temp int)
0:14 indirect index (layout( column_major shared) temp int)
0:14 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:14 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:14 Constant:
0:14 0 (const int)
0:14 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:14 Constant:
0:14 1 (const int)
0:15 move second child to first child ( temp int)
0:15 indirect index (layout( column_major shared) temp int)
0:15 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:15 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:15 Constant:
0:15 0 (const int)
0:15 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:15 Constant:
0:15 1 (const int)
0:16 move second child to first child ( temp int)
0:16 indirect index (layout( column_major shared) temp int)
0:16 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:16 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:16 Constant:
0:16 0 (const int)
0:16 'gl_NumSubgroups' ( in uint unknown built-in variable)
0:16 Constant:
0:16 1 (const int)
0:17 move second child to first child ( temp int)
0:17 indirect index (layout( column_major shared) temp int)
0:17 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:17 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:17 Constant:
0:17 0 (const int)
0:17 'gl_SubgroupID' ( in uint unknown built-in variable)
0:17 Test condition and select ( temp int)
0:17 Condition
0:17 subgroupElect ( global bool)
0:17 true case
0:17 Constant:
0:17 1 (const int)
0:17 false case
0:17 Constant:
0:17 0 (const int)
0:18 subgroupBarrier ( global void)
0:19 subgroupMemoryBarrier ( global void)
0:20 subgroupMemoryBarrierBuffer ( global void)
0:21 subgroupMemoryBarrierShared ( global void)
0:22 subgroupMemoryBarrierImage ( global void)
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( in uint NumSubgroups)
0:14 'gl_SubgroupID' ( in uint SubgroupID)
0:15 subgroupMemoryBarrierShared ( global void)
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:112 Function Definition: main( ( global void)
0:112 Function Parameters:
0:114 Sequence
0:114 move second child to first child ( temp int)
0:114 indirect index (layout( column_major shared) temp int)
0:114 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:114 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:114 Constant:
0:114 0 (const int)
0:114 'gl_SubgroupSize' ( in uint SubgroupSize)
0:114 Constant:
0:114 1 (const int)
0:115 move second child to first child ( temp int)
0:115 indirect index (layout( column_major shared) temp int)
0:115 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:115 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:115 Constant:
0:115 0 (const int)
0:115 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:115 Constant:
0:115 1 (const int)
0:116 move second child to first child ( temp int)
0:116 indirect index (layout( column_major shared) temp int)
0:116 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:116 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:116 Constant:
0:116 0 (const int)
0:116 'gl_NumSubgroups' ( in uint NumSubgroups)
0:116 Constant:
0:116 1 (const int)
0:117 move second child to first child ( temp int)
0:117 indirect index (layout( column_major shared) temp int)
0:117 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:117 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:117 Constant:
0:117 0 (const int)
0:117 'gl_SubgroupID' ( in uint SubgroupID)
0:117 Test condition and select ( temp int)
0:117 Condition
0:117 subgroupElect ( global bool)
0:117 true case
0:117 Constant:
0:117 1 (const int)
0:117 false case
0:117 Constant:
0:117 0 (const int)
0:118 subgroupBarrier ( global void)
0:119 subgroupMemoryBarrier ( global void)
0:120 subgroupMemoryBarrierBuffer ( global void)
0:121 subgroupMemoryBarrierShared ( global void)
0:122 subgroupMemoryBarrierImage ( global void)
0:126 Function Definition: ballot_works(vf4; ( global void)
0:126 Function Parameters:
0:126 'f4' ( in 4-component vector of float)
0:127 Sequence
0:127 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:128 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:129 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:130 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:131 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:132 subgroupBroadcast ( global 4-component vector of float)
0:132 'f4' ( in 4-component vector of float)
0:132 Constant:
0:132 0 (const uint)
0:133 subgroupBroadcastFirst ( global 4-component vector of float)
0:133 'f4' ( in 4-component vector of float)
0:134 Sequence
0:134 move second child to first child ( temp 4-component vector of uint)
0:134 'ballot' ( temp 4-component vector of uint)
0:134 subgroupBallot ( global 4-component vector of uint)
0:134 Constant:
0:134 false (const bool)
0:135 subgroupInverseBallot ( global bool)
0:135 Constant:
0:135 1 (const uint)
0:135 1 (const uint)
0:135 1 (const uint)
0:135 1 (const uint)
0:136 subgroupBallotBitExtract ( global bool)
0:136 'ballot' ( temp 4-component vector of uint)
0:136 Constant:
0:136 0 (const uint)
0:137 subgroupBallotBitCount ( global uint)
0:137 'ballot' ( temp 4-component vector of uint)
0:138 subgroupBallotInclusiveBitCount ( global uint)
0:138 'ballot' ( temp 4-component vector of uint)
0:139 subgroupBallotExclusiveBitCount ( global uint)
0:139 'ballot' ( temp 4-component vector of uint)
0:140 subgroupBallotFindLSB ( global uint)
0:140 'ballot' ( temp 4-component vector of uint)
0:141 subgroupBallotFindMSB ( global uint)
0:141 'ballot' ( temp 4-component vector of uint)
0:145 Function Definition: vote_works(vf4; ( global void)
0:145 Function Parameters:
0:145 'f4' ( in 4-component vector of float)
0:147 Sequence
0:147 subgroupAll ( global bool)
0:147 Constant:
0:147 true (const bool)
0:148 subgroupAny ( global bool)
0:148 Constant:
0:148 false (const bool)
0:149 subgroupAllEqual ( global bool)
0:149 'f4' ( in 4-component vector of float)
0:154 Function Definition: shuffle_works(vf4; ( global void)
0:154 Function Parameters:
0:154 'f4' ( in 4-component vector of float)
0:156 Sequence
0:156 subgroupShuffle ( global 4-component vector of float)
0:156 'f4' ( in 4-component vector of float)
0:156 Constant:
0:156 0 (const uint)
0:157 subgroupShuffleXor ( global 4-component vector of float)
0:157 'f4' ( in 4-component vector of float)
0:157 Constant:
0:157 1 (const uint)
0:158 subgroupShuffleUp ( global 4-component vector of float)
0:158 'f4' ( in 4-component vector of float)
0:158 Constant:
0:158 1 (const uint)
0:159 subgroupShuffleDown ( global 4-component vector of float)
0:159 'f4' ( in 4-component vector of float)
0:159 Constant:
0:159 1 (const uint)
0:163 Function Definition: arith_works(vf4; ( global void)
0:163 Function Parameters:
0:163 'f4' ( in 4-component vector of float)
0:? Sequence
0:166 subgroupAdd ( global 4-component vector of float)
0:166 'f4' ( in 4-component vector of float)
0:167 subgroupMul ( global 4-component vector of float)
0:167 'f4' ( in 4-component vector of float)
0:168 subgroupMin ( global 4-component vector of float)
0:168 'f4' ( in 4-component vector of float)
0:169 subgroupMax ( global 4-component vector of float)
0:169 'f4' ( in 4-component vector of float)
0:170 subgroupAnd ( global 4-component vector of uint)
0:170 'ballot' ( temp 4-component vector of uint)
0:171 subgroupOr ( global 4-component vector of uint)
0:171 'ballot' ( temp 4-component vector of uint)
0:172 subgroupXor ( global 4-component vector of uint)
0:172 'ballot' ( temp 4-component vector of uint)
0:173 subgroupInclusiveAdd ( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:174 subgroupInclusiveMul ( global 4-component vector of float)
0:174 'f4' ( in 4-component vector of float)
0:175 subgroupInclusiveMin ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:176 subgroupInclusiveMax ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupInclusiveAnd ( global 4-component vector of uint)
0:177 'ballot' ( temp 4-component vector of uint)
0:178 subgroupInclusiveOr ( global 4-component vector of uint)
0:178 'ballot' ( temp 4-component vector of uint)
0:179 subgroupInclusiveXor ( global 4-component vector of uint)
0:179 'ballot' ( temp 4-component vector of uint)
0:180 subgroupExclusiveAdd ( global 4-component vector of float)
0:180 'f4' ( in 4-component vector of float)
0:181 subgroupExclusiveMul ( global 4-component vector of float)
0:181 'f4' ( in 4-component vector of float)
0:182 subgroupExclusiveMin ( global 4-component vector of float)
0:182 'f4' ( in 4-component vector of float)
0:183 subgroupExclusiveMax ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:184 subgroupExclusiveAnd ( global 4-component vector of uint)
0:184 'ballot' ( temp 4-component vector of uint)
0:185 subgroupExclusiveOr ( global 4-component vector of uint)
0:185 'ballot' ( temp 4-component vector of uint)
0:186 subgroupExclusiveXor ( global 4-component vector of uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:190 Function Definition: clustered_works(vf4; ( global void)
0:190 Function Parameters:
0:190 'f4' ( in 4-component vector of float)
0:192 Sequence
0:192 Sequence
0:192 move second child to first child ( temp 4-component vector of uint)
0:192 'ballot' ( temp 4-component vector of uint)
0:192 Constant:
0:192 85 (const uint)
0:192 0 (const uint)
0:192 0 (const uint)
0:192 0 (const uint)
0:193 subgroupClusteredAdd ( global 4-component vector of float)
0:193 'f4' ( in 4-component vector of float)
0:193 Constant:
0:193 2 (const uint)
0:194 subgroupClusteredMul ( global 4-component vector of float)
0:194 'f4' ( in 4-component vector of float)
0:194 Constant:
0:194 2 (const uint)
0:195 subgroupClusteredMin ( global 4-component vector of float)
0:195 'f4' ( in 4-component vector of float)
0:195 Constant:
0:195 2 (const uint)
0:196 subgroupClusteredMax ( global 4-component vector of float)
0:196 'f4' ( in 4-component vector of float)
0:196 Constant:
0:196 2 (const uint)
0:197 subgroupClusteredAnd ( global 4-component vector of uint)
0:197 'ballot' ( temp 4-component vector of uint)
0:197 Constant:
0:197 2 (const uint)
0:198 subgroupClusteredOr ( global 4-component vector of uint)
0:198 'ballot' ( temp 4-component vector of uint)
0:198 Constant:
0:198 2 (const uint)
0:199 subgroupClusteredXor ( global 4-component vector of uint)
0:199 'ballot' ( temp 4-component vector of uint)
0:199 Constant:
0:199 2 (const uint)
0:203 Function Definition: quad_works(vf4; ( global void)
0:203 Function Parameters:
0:203 'f4' ( in 4-component vector of float)
0:205 Sequence
0:205 subgroupQuadBroadcast ( global 4-component vector of float)
0:205 'f4' ( in 4-component vector of float)
0:205 Constant:
0:205 0 (const uint)
0:206 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:206 'f4' ( in 4-component vector of float)
0:207 subgroupQuadSwapVertical ( global 4-component vector of float)
0:207 'f4' ( in 4-component vector of float)
0:208 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:212 Function Definition: partitioned_works(vf4; ( global void)
0:212 Function Parameters:
0:212 'f4' ( in 4-component vector of float)
0:214 Sequence
0:214 Sequence
0:214 move second child to first child ( temp 4-component vector of uint)
0:214 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitionNV ( global 4-component vector of uint)
0:214 'f4' ( in 4-component vector of float)
0:215 Sequence
0:215 move second child to first child ( temp 4-component vector of uint)
0:215 'ballot' ( temp 4-component vector of uint)
0:215 Constant:
0:215 85 (const uint)
0:215 0 (const uint)
0:215 0 (const uint)
0:215 0 (const uint)
0:216 subgroupPartitionedAddNV ( global 4-component vector of float)
0:216 'f4' ( in 4-component vector of float)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedMulNV ( global 4-component vector of float)
0:217 'f4' ( in 4-component vector of float)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedMinNV ( global 4-component vector of float)
0:218 'f4' ( in 4-component vector of float)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:219 'f4' ( in 4-component vector of float)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:220 'ballot' ( temp 4-component vector of uint)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:221 'ballot' ( temp 4-component vector of uint)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:222 'ballot' ( temp 4-component vector of uint)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:223 'f4' ( in 4-component vector of float)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:224 'f4' ( in 4-component vector of float)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:227 'ballot' ( temp 4-component vector of uint)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:228 'ballot' ( temp 4-component vector of uint)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:230 'f4' ( in 4-component vector of float)
0:230 'parti' ( temp 4-component vector of uint)
0:231 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:231 'f4' ( in 4-component vector of float)
0:231 'parti' ( temp 4-component vector of uint)
0:232 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:232 'f4' ( in 4-component vector of float)
0:232 'parti' ( temp 4-component vector of uint)
0:233 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:233 'f4' ( in 4-component vector of float)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:234 'ballot' ( temp 4-component vector of uint)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:235 'ballot' ( temp 4-component vector of uint)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:236 'ballot' ( temp 4-component vector of uint)
0:236 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 8 (const uint)
@@ -66,60 +643,68 @@ Linked compute stage:
Shader version: 450
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_subgroup_partitioned
local_size = (8, 8, 1)
0:? Sequence
0:12 Function Definition: main( ( global void)
0:12 Function Parameters:
0:14 Sequence
0:14 move second child to first child ( temp int)
0:14 indirect index (layout( column_major shared) temp int)
0:14 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:14 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:14 Constant:
0:14 0 (const int)
0:14 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:14 Constant:
0:14 1 (const int)
0:15 move second child to first child ( temp int)
0:15 indirect index (layout( column_major shared) temp int)
0:15 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:15 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:15 Constant:
0:15 0 (const int)
0:15 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:15 Constant:
0:15 1 (const int)
0:16 move second child to first child ( temp int)
0:16 indirect index (layout( column_major shared) temp int)
0:16 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:16 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:16 Constant:
0:16 0 (const int)
0:16 'gl_NumSubgroups' ( in uint unknown built-in variable)
0:16 Constant:
0:16 1 (const int)
0:17 move second child to first child ( temp int)
0:17 indirect index (layout( column_major shared) temp int)
0:17 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:17 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:17 Constant:
0:17 0 (const int)
0:17 'gl_SubgroupID' ( in uint unknown built-in variable)
0:17 Test condition and select ( temp int)
0:17 Condition
0:17 subgroupElect ( global bool)
0:17 true case
0:17 Constant:
0:17 1 (const int)
0:17 false case
0:17 Constant:
0:17 0 (const int)
0:18 subgroupBarrier ( global void)
0:19 subgroupMemoryBarrier ( global void)
0:20 subgroupMemoryBarrierBuffer ( global void)
0:21 subgroupMemoryBarrierShared ( global void)
0:22 subgroupMemoryBarrierImage ( global void)
ERROR: node is still EOpNull!
0:112 Function Definition: main( ( global void)
0:112 Function Parameters:
0:114 Sequence
0:114 move second child to first child ( temp int)
0:114 indirect index (layout( column_major shared) temp int)
0:114 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:114 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:114 Constant:
0:114 0 (const int)
0:114 'gl_SubgroupSize' ( in uint SubgroupSize)
0:114 Constant:
0:114 1 (const int)
0:115 move second child to first child ( temp int)
0:115 indirect index (layout( column_major shared) temp int)
0:115 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:115 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:115 Constant:
0:115 0 (const int)
0:115 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:115 Constant:
0:115 1 (const int)
0:116 move second child to first child ( temp int)
0:116 indirect index (layout( column_major shared) temp int)
0:116 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:116 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:116 Constant:
0:116 0 (const int)
0:116 'gl_NumSubgroups' ( in uint NumSubgroups)
0:116 Constant:
0:116 1 (const int)
0:117 move second child to first child ( temp int)
0:117 indirect index (layout( column_major shared) temp int)
0:117 a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:117 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:117 Constant:
0:117 0 (const int)
0:117 'gl_SubgroupID' ( in uint SubgroupID)
0:117 Test condition and select ( temp int)
0:117 Condition
0:117 subgroupElect ( global bool)
0:117 true case
0:117 Constant:
0:117 1 (const int)
0:117 false case
0:117 Constant:
0:117 0 (const int)
0:118 subgroupBarrier ( global void)
0:119 subgroupMemoryBarrier ( global void)
0:120 subgroupMemoryBarrierBuffer ( global void)
0:121 subgroupMemoryBarrierShared ( global void)
0:122 subgroupMemoryBarrierImage ( global void)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 8 (const uint)

View File

@@ -12,8 +12,8 @@ local_size = (8, 1, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)
@@ -2656,8 +2656,8 @@ local_size = (8, 1, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)

View File

@@ -28,8 +28,8 @@ ERROR: node is still EOpNull!
0:20 'invocation' ( temp uint)
0:20 mod ( temp uint)
0:20 add ( temp uint)
0:20 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:20 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:20 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:20 'gl_SubgroupSize' ( in uint SubgroupSize)
0:20 Constant:
0:20 4 (const uint)
0:22 move second child to first child ( temp 2-component vector of float)
@@ -358,8 +358,8 @@ ERROR: node is still EOpNull!
0:20 'invocation' ( temp uint)
0:20 mod ( temp uint)
0:20 add ( temp uint)
0:20 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:20 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:20 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:20 'gl_SubgroupSize' ( in uint SubgroupSize)
0:20 Constant:
0:20 4 (const uint)
0:22 move second child to first child ( temp 2-component vector of float)

File diff suppressed because it is too large Load Diff

View File

@@ -12,8 +12,8 @@ local_size = (8, 1, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)
@@ -2048,8 +2048,8 @@ local_size = (8, 1, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)
@@ -1064,8 +1064,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)
@@ -1064,8 +1064,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp uint)
0:17 mod ( temp uint)
0:17 add ( temp uint)
0:17 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 move second child to first child ( temp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:18 'invocation' ( temp uint)
0:18 mod ( temp uint)
0:18 add ( temp uint)
0:18 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:18 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:18 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:18 'gl_SubgroupSize' ( in uint SubgroupSize)
0:18 Constant:
0:18 4 (const uint)
0:20 Test condition and select ( temp void)
@@ -499,8 +499,8 @@ local_size = (8, 8, 1)
0:18 'invocation' ( temp uint)
0:18 mod ( temp uint)
0:18 add ( temp uint)
0:18 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:18 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:18 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:18 'gl_SubgroupSize' ( in uint SubgroupSize)
0:18 Constant:
0:18 4 (const uint)
0:20 Test condition and select ( temp void)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,775 @@
glsl.460.subgroup.rahit
ERROR: 0:7: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:15: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:16: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:18: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:20: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:22: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:36: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:38: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:40: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:41: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:43: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:63: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:65: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:71: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:73: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:76: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:78: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
0:12 subgroupMemoryBarrierImage ( global void)
0:13 subgroupElect ( global bool)
0:14 'gl_NumSubgroups' ( temp float)
0:15 'gl_SubgroupID' ( temp float)
0:16 Constant:
0:16 0.000000
0:18 subgroupAll ( global bool)
0:18 Constant:
0:18 true (const bool)
0:19 subgroupAny ( global bool)
0:19 Constant:
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
0:27 0 (const uint)
0:28 subgroupBroadcastFirst ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of uint)
0:29 'ballot' ( temp 4-component vector of uint)
0:29 subgroupBallot ( global 4-component vector of uint)
0:29 Constant:
0:29 false (const bool)
0:30 subgroupInverseBallot ( global bool)
0:30 Constant:
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:31 subgroupBallotBitExtract ( global bool)
0:31 'ballot' ( temp 4-component vector of uint)
0:31 Constant:
0:31 0 (const uint)
0:32 subgroupBallotBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotInclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotExclusiveBitCount ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindLSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:36 subgroupBallotFindMSB ( global uint)
0:36 'ballot' ( temp 4-component vector of uint)
0:38 subgroupShuffle ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 0 (const uint)
0:39 subgroupShuffleXor ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleUp ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:41 subgroupShuffleDown ( global 4-component vector of float)
0:41 'f4' ( in 4-component vector of float)
0:41 Constant:
0:41 1 (const uint)
0:43 move second child to first child ( temp 4-component vector of float)
0:43 'result' ( temp 4-component vector of float)
0:43 subgroupAdd ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMul ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMin ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupMax ( global 4-component vector of float)
0:46 'f4' ( in 4-component vector of float)
0:47 subgroupAnd ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupOr ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupXor ( global 4-component vector of uint)
0:49 'ballot' ( temp 4-component vector of uint)
0:50 subgroupInclusiveAdd ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMul ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMin ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveMax ( global 4-component vector of float)
0:53 'f4' ( in 4-component vector of float)
0:54 subgroupInclusiveAnd ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveOr ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupInclusiveXor ( global 4-component vector of uint)
0:56 'ballot' ( temp 4-component vector of uint)
0:57 subgroupExclusiveAdd ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMul ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMin ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveMax ( global 4-component vector of float)
0:60 'f4' ( in 4-component vector of float)
0:61 subgroupExclusiveAnd ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveOr ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:63 subgroupExclusiveXor ( global 4-component vector of uint)
0:63 'ballot' ( temp 4-component vector of uint)
0:65 subgroupClusteredAdd ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMul ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMin ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredMax ( global 4-component vector of float)
0:68 'f4' ( in 4-component vector of float)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredAnd ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredOr ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:71 subgroupClusteredXor ( global 4-component vector of uint)
0:71 'ballot' ( temp 4-component vector of uint)
0:71 Constant:
0:71 2 (const uint)
0:73 subgroupQuadBroadcast ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:73 Constant:
0:73 0 (const uint)
0:74 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapVertical ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:76 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:76 'f4' ( in 4-component vector of float)
0:78 Sequence
0:78 move second child to first child ( temp 4-component vector of uint)
0:78 'parti' ( temp 4-component vector of uint)
0:78 subgroupPartitionNV ( global 4-component vector of uint)
0:78 'f4' ( in 4-component vector of float)
0:79 subgroupPartitionedAddNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMulNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMinNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:82 'f4' ( in 4-component vector of float)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:85 'ballot' ( temp 4-component vector of uint)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:89 'f4' ( in 4-component vector of float)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:92 'ballot' ( temp 4-component vector of uint)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:96 'f4' ( in 4-component vector of float)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:99 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:99 'ballot' ( temp 4-component vector of uint)
0:99 'parti' ( temp 4-component vector of uint)
0:101 Branch: Return with expression
0:101 'result' ( temp 4-component vector of float)
0:106 Function Definition: main( ( global void)
0:106 Function Parameters:
0:108 Sequence
0:108 Sequence
0:108 move second child to first child ( temp 3-component vector of uint)
0:108 'v0' ( temp 3-component vector of uint)
0:108 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:109 Sequence
0:109 move second child to first child ( temp 3-component vector of uint)
0:109 'v1' ( temp 3-component vector of uint)
0:109 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:110 Sequence
0:110 move second child to first child ( temp int)
0:110 'v2' ( temp int)
0:110 'gl_PrimitiveID' ( in int PrimitiveID)
0:111 Sequence
0:111 move second child to first child ( temp int)
0:111 'v3' ( temp int)
0:111 'gl_InstanceID' ( in int InstanceId)
0:112 Sequence
0:112 move second child to first child ( temp int)
0:112 'v4' ( temp int)
0:112 'gl_InstanceCustomIndexNV' ( in int InstanceCustomIndexNV)
0:113 Sequence
0:113 move second child to first child ( temp 3-component vector of float)
0:113 'v5' ( temp 3-component vector of float)
0:113 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:114 Sequence
0:114 move second child to first child ( temp 3-component vector of float)
0:114 'v6' ( temp 3-component vector of float)
0:114 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v7' ( temp 3-component vector of float)
0:115 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v8' ( temp 3-component vector of float)
0:116 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp float)
0:117 'v9' ( temp float)
0:117 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:118 Sequence
0:118 move second child to first child ( temp float)
0:118 'v10' ( temp float)
0:118 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:119 Sequence
0:119 move second child to first child ( temp float)
0:119 'v11' ( temp float)
0:119 'gl_HitTNV' ( in float HitTNV)
0:120 Sequence
0:120 move second child to first child ( temp uint)
0:120 'v12' ( temp uint)
0:120 'gl_HitKindNV' ( in uint HitKindNV)
0:121 Sequence
0:121 move second child to first child ( temp 4X3 matrix of float)
0:121 'v13' ( temp 4X3 matrix of float)
0:121 'gl_ObjectToWorldNV' ( in 4X3 matrix of float ObjectToWorldNV)
0:122 Sequence
0:122 move second child to first child ( temp 4X3 matrix of float)
0:122 'v14' ( temp 4X3 matrix of float)
0:122 'gl_WorldToObjectNV' ( in 4X3 matrix of float WorldToObjectNV)
0:123 move second child to first child ( temp 4-component vector of float)
0:123 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
0:123 Constant:
0:123 0.500000
0:123 0.500000
0:123 0.500000
0:123 0.500000
0:124 Test condition and select ( temp void)
0:124 Condition
0:124 Compare Equal ( temp bool)
0:124 'v2' ( temp int)
0:124 Constant:
0:124 1 (const int)
0:124 true case
0:125 ignoreIntersectionNV ( global void)
0:124 false case
0:127 terminateRayNV ( global void)
0:131 Function Definition: basic_works( ( global void)
0:131 Function Parameters:
0:133 Sequence
0:133 'gl_SubgroupSize' ( in uint SubgroupSize)
0:134 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:135 subgroupBarrier ( global void)
0:136 subgroupMemoryBarrier ( global void)
0:137 subgroupMemoryBarrierBuffer ( global void)
0:138 subgroupMemoryBarrierImage ( global void)
0:139 subgroupElect ( global bool)
0:143 Function Definition: ballot_works(vf4; ( global void)
0:143 Function Parameters:
0:143 'f4' ( in 4-component vector of float)
0:144 Sequence
0:144 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:145 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:146 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:147 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:148 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:149 subgroupBroadcast ( global 4-component vector of float)
0:149 'f4' ( in 4-component vector of float)
0:149 Constant:
0:149 0 (const uint)
0:150 subgroupBroadcastFirst ( global 4-component vector of float)
0:150 'f4' ( in 4-component vector of float)
0:151 Sequence
0:151 move second child to first child ( temp 4-component vector of uint)
0:151 'ballot' ( temp 4-component vector of uint)
0:151 subgroupBallot ( global 4-component vector of uint)
0:151 Constant:
0:151 false (const bool)
0:152 subgroupInverseBallot ( global bool)
0:152 Constant:
0:152 1 (const uint)
0:152 1 (const uint)
0:152 1 (const uint)
0:152 1 (const uint)
0:153 subgroupBallotBitExtract ( global bool)
0:153 'ballot' ( temp 4-component vector of uint)
0:153 Constant:
0:153 0 (const uint)
0:154 subgroupBallotBitCount ( global uint)
0:154 'ballot' ( temp 4-component vector of uint)
0:155 subgroupBallotInclusiveBitCount ( global uint)
0:155 'ballot' ( temp 4-component vector of uint)
0:156 subgroupBallotExclusiveBitCount ( global uint)
0:156 'ballot' ( temp 4-component vector of uint)
0:157 subgroupBallotFindLSB ( global uint)
0:157 'ballot' ( temp 4-component vector of uint)
0:158 subgroupBallotFindMSB ( global uint)
0:158 'ballot' ( temp 4-component vector of uint)
0:162 Function Definition: vote_works(vf4; ( global void)
0:162 Function Parameters:
0:162 'f4' ( in 4-component vector of float)
0:164 Sequence
0:164 subgroupAll ( global bool)
0:164 Constant:
0:164 true (const bool)
0:165 subgroupAny ( global bool)
0:165 Constant:
0:165 false (const bool)
0:166 subgroupAllEqual ( global bool)
0:166 'f4' ( in 4-component vector of float)
0:171 Function Definition: shuffle_works(vf4; ( global void)
0:171 Function Parameters:
0:171 'f4' ( in 4-component vector of float)
0:173 Sequence
0:173 subgroupShuffle ( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:173 Constant:
0:173 0 (const uint)
0:174 subgroupShuffleXor ( global 4-component vector of float)
0:174 'f4' ( in 4-component vector of float)
0:174 Constant:
0:174 1 (const uint)
0:175 subgroupShuffleUp ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:175 Constant:
0:175 1 (const uint)
0:176 subgroupShuffleDown ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:176 Constant:
0:176 1 (const uint)
0:180 Function Definition: arith_works(vf4; ( global void)
0:180 Function Parameters:
0:180 'f4' ( in 4-component vector of float)
0:? Sequence
0:183 subgroupAdd ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:184 subgroupMul ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:185 subgroupMin ( global 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:186 subgroupMax ( global 4-component vector of float)
0:186 'f4' ( in 4-component vector of float)
0:187 subgroupAnd ( global 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:188 subgroupOr ( global 4-component vector of uint)
0:188 'ballot' ( temp 4-component vector of uint)
0:189 subgroupXor ( global 4-component vector of uint)
0:189 'ballot' ( temp 4-component vector of uint)
0:190 subgroupInclusiveAdd ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:191 subgroupInclusiveMul ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:192 subgroupInclusiveMin ( global 4-component vector of float)
0:192 'f4' ( in 4-component vector of float)
0:193 subgroupInclusiveMax ( global 4-component vector of float)
0:193 'f4' ( in 4-component vector of float)
0:194 subgroupInclusiveAnd ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:195 subgroupInclusiveOr ( global 4-component vector of uint)
0:195 'ballot' ( temp 4-component vector of uint)
0:196 subgroupInclusiveXor ( global 4-component vector of uint)
0:196 'ballot' ( temp 4-component vector of uint)
0:197 subgroupExclusiveAdd ( global 4-component vector of float)
0:197 'f4' ( in 4-component vector of float)
0:198 subgroupExclusiveMul ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:199 subgroupExclusiveMin ( global 4-component vector of float)
0:199 'f4' ( in 4-component vector of float)
0:200 subgroupExclusiveMax ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:201 subgroupExclusiveAnd ( global 4-component vector of uint)
0:201 'ballot' ( temp 4-component vector of uint)
0:202 subgroupExclusiveOr ( global 4-component vector of uint)
0:202 'ballot' ( temp 4-component vector of uint)
0:203 subgroupExclusiveXor ( global 4-component vector of uint)
0:203 'ballot' ( temp 4-component vector of uint)
0:207 Function Definition: clustered_works(vf4; ( global void)
0:207 Function Parameters:
0:207 'f4' ( in 4-component vector of float)
0:209 Sequence
0:209 Sequence
0:209 move second child to first child ( temp 4-component vector of uint)
0:209 'ballot' ( temp 4-component vector of uint)
0:209 Constant:
0:209 85 (const uint)
0:209 0 (const uint)
0:209 0 (const uint)
0:209 0 (const uint)
0:210 subgroupClusteredAdd ( global 4-component vector of float)
0:210 'f4' ( in 4-component vector of float)
0:210 Constant:
0:210 2 (const uint)
0:211 subgroupClusteredMul ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:211 Constant:
0:211 2 (const uint)
0:212 subgroupClusteredMin ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:212 Constant:
0:212 2 (const uint)
0:213 subgroupClusteredMax ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 Constant:
0:213 2 (const uint)
0:214 subgroupClusteredAnd ( global 4-component vector of uint)
0:214 'ballot' ( temp 4-component vector of uint)
0:214 Constant:
0:214 2 (const uint)
0:215 subgroupClusteredOr ( global 4-component vector of uint)
0:215 'ballot' ( temp 4-component vector of uint)
0:215 Constant:
0:215 2 (const uint)
0:216 subgroupClusteredXor ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:216 Constant:
0:216 2 (const uint)
0:220 Function Definition: quad_works(vf4; ( global void)
0:220 Function Parameters:
0:220 'f4' ( in 4-component vector of float)
0:222 Sequence
0:222 subgroupQuadBroadcast ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:222 Constant:
0:222 0 (const uint)
0:223 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:223 'f4' ( in 4-component vector of float)
0:224 subgroupQuadSwapVertical ( global 4-component vector of float)
0:224 'f4' ( in 4-component vector of float)
0:225 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:229 Function Definition: partitioned_works(vf4; ( global void)
0:229 Function Parameters:
0:229 'f4' ( in 4-component vector of float)
0:231 Sequence
0:231 Sequence
0:231 move second child to first child ( temp 4-component vector of uint)
0:231 'parti' ( temp 4-component vector of uint)
0:231 subgroupPartitionNV ( global 4-component vector of uint)
0:231 'f4' ( in 4-component vector of float)
0:232 Sequence
0:232 move second child to first child ( temp 4-component vector of uint)
0:232 'ballot' ( temp 4-component vector of uint)
0:232 Constant:
0:232 85 (const uint)
0:232 0 (const uint)
0:232 0 (const uint)
0:232 0 (const uint)
0:233 subgroupPartitionedAddNV ( global 4-component vector of float)
0:233 'f4' ( in 4-component vector of float)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedMulNV ( global 4-component vector of float)
0:234 'f4' ( in 4-component vector of float)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedMinNV ( global 4-component vector of float)
0:235 'f4' ( in 4-component vector of float)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:236 'f4' ( in 4-component vector of float)
0:236 'parti' ( temp 4-component vector of uint)
0:237 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:237 'ballot' ( temp 4-component vector of uint)
0:237 'parti' ( temp 4-component vector of uint)
0:238 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:238 'ballot' ( temp 4-component vector of uint)
0:238 'parti' ( temp 4-component vector of uint)
0:239 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:239 'ballot' ( temp 4-component vector of uint)
0:239 'parti' ( temp 4-component vector of uint)
0:240 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:240 'f4' ( in 4-component vector of float)
0:240 'parti' ( temp 4-component vector of uint)
0:241 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:241 'f4' ( in 4-component vector of float)
0:241 'parti' ( temp 4-component vector of uint)
0:242 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:242 'f4' ( in 4-component vector of float)
0:242 'parti' ( temp 4-component vector of uint)
0:243 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:243 'f4' ( in 4-component vector of float)
0:243 'parti' ( temp 4-component vector of uint)
0:244 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:244 'ballot' ( temp 4-component vector of uint)
0:244 'parti' ( temp 4-component vector of uint)
0:245 subgroupPartitionedInclusiveOrNV ( 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:246 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:246 'ballot' ( temp 4-component vector of uint)
0:246 'parti' ( temp 4-component vector of uint)
0:247 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:247 'f4' ( in 4-component vector of float)
0:247 'parti' ( temp 4-component vector of uint)
0:248 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:248 'f4' ( in 4-component vector of float)
0:248 'parti' ( temp 4-component vector of uint)
0:249 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:249 'f4' ( in 4-component vector of float)
0:249 'parti' ( temp 4-component vector of uint)
0:250 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:250 'f4' ( in 4-component vector of float)
0:250 'parti' ( temp 4-component vector of uint)
0:251 subgroupPartitionedExclusiveAndNV ( 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:252 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:252 'ballot' ( temp 4-component vector of uint)
0:252 'parti' ( temp 4-component vector of uint)
0:253 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:253 'ballot' ( temp 4-component vector of uint)
0:253 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
Linked any-hit stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:106 Function Definition: main( ( global void)
0:106 Function Parameters:
0:108 Sequence
0:108 Sequence
0:108 move second child to first child ( temp 3-component vector of uint)
0:108 'v0' ( temp 3-component vector of uint)
0:108 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:109 Sequence
0:109 move second child to first child ( temp 3-component vector of uint)
0:109 'v1' ( temp 3-component vector of uint)
0:109 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:110 Sequence
0:110 move second child to first child ( temp int)
0:110 'v2' ( temp int)
0:110 'gl_PrimitiveID' ( in int PrimitiveID)
0:111 Sequence
0:111 move second child to first child ( temp int)
0:111 'v3' ( temp int)
0:111 'gl_InstanceID' ( in int InstanceId)
0:112 Sequence
0:112 move second child to first child ( temp int)
0:112 'v4' ( temp int)
0:112 'gl_InstanceCustomIndexNV' ( in int InstanceCustomIndexNV)
0:113 Sequence
0:113 move second child to first child ( temp 3-component vector of float)
0:113 'v5' ( temp 3-component vector of float)
0:113 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:114 Sequence
0:114 move second child to first child ( temp 3-component vector of float)
0:114 'v6' ( temp 3-component vector of float)
0:114 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v7' ( temp 3-component vector of float)
0:115 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v8' ( temp 3-component vector of float)
0:116 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp float)
0:117 'v9' ( temp float)
0:117 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:118 Sequence
0:118 move second child to first child ( temp float)
0:118 'v10' ( temp float)
0:118 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:119 Sequence
0:119 move second child to first child ( temp float)
0:119 'v11' ( temp float)
0:119 'gl_HitTNV' ( in float HitTNV)
0:120 Sequence
0:120 move second child to first child ( temp uint)
0:120 'v12' ( temp uint)
0:120 'gl_HitKindNV' ( in uint HitKindNV)
0:121 Sequence
0:121 move second child to first child ( temp 4X3 matrix of float)
0:121 'v13' ( temp 4X3 matrix of float)
0:121 'gl_ObjectToWorldNV' ( in 4X3 matrix of float ObjectToWorldNV)
0:122 Sequence
0:122 move second child to first child ( temp 4X3 matrix of float)
0:122 'v14' ( temp 4X3 matrix of float)
0:122 'gl_WorldToObjectNV' ( in 4X3 matrix of float WorldToObjectNV)
0:123 move second child to first child ( temp 4-component vector of float)
0:123 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
0:123 Constant:
0:123 0.500000
0:123 0.500000
0:123 0.500000
0:123 0.500000
0:124 Test condition and select ( temp void)
0:124 Condition
0:124 Compare Equal ( temp bool)
0:124 'v2' ( temp int)
0:124 Constant:
0:124 1 (const int)
0:124 true case
0:125 ignoreIntersectionNV ( global void)
0:124 false case
0:127 terminateRayNV ( global void)
0:? Linker Objects
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)

View File

@@ -0,0 +1,663 @@
glsl.460.subgroup.rcall
ERROR: 0:7: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:15: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:16: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:18: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:20: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:22: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:36: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:38: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:40: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:41: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:43: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:63: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:65: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:71: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:73: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:76: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:78: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
0:12 subgroupMemoryBarrierImage ( global void)
0:13 subgroupElect ( global bool)
0:14 'gl_NumSubgroups' ( temp float)
0:15 'gl_SubgroupID' ( temp float)
0:16 Constant:
0:16 0.000000
0:18 subgroupAll ( global bool)
0:18 Constant:
0:18 true (const bool)
0:19 subgroupAny ( global bool)
0:19 Constant:
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
0:27 0 (const uint)
0:28 subgroupBroadcastFirst ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of uint)
0:29 'ballot' ( temp 4-component vector of uint)
0:29 subgroupBallot ( global 4-component vector of uint)
0:29 Constant:
0:29 false (const bool)
0:30 subgroupInverseBallot ( global bool)
0:30 Constant:
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:31 subgroupBallotBitExtract ( global bool)
0:31 'ballot' ( temp 4-component vector of uint)
0:31 Constant:
0:31 0 (const uint)
0:32 subgroupBallotBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotInclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotExclusiveBitCount ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindLSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:36 subgroupBallotFindMSB ( global uint)
0:36 'ballot' ( temp 4-component vector of uint)
0:38 subgroupShuffle ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 0 (const uint)
0:39 subgroupShuffleXor ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleUp ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:41 subgroupShuffleDown ( global 4-component vector of float)
0:41 'f4' ( in 4-component vector of float)
0:41 Constant:
0:41 1 (const uint)
0:43 move second child to first child ( temp 4-component vector of float)
0:43 'result' ( temp 4-component vector of float)
0:43 subgroupAdd ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMul ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMin ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupMax ( global 4-component vector of float)
0:46 'f4' ( in 4-component vector of float)
0:47 subgroupAnd ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupOr ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupXor ( global 4-component vector of uint)
0:49 'ballot' ( temp 4-component vector of uint)
0:50 subgroupInclusiveAdd ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMul ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMin ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveMax ( global 4-component vector of float)
0:53 'f4' ( in 4-component vector of float)
0:54 subgroupInclusiveAnd ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveOr ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupInclusiveXor ( global 4-component vector of uint)
0:56 'ballot' ( temp 4-component vector of uint)
0:57 subgroupExclusiveAdd ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMul ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMin ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveMax ( global 4-component vector of float)
0:60 'f4' ( in 4-component vector of float)
0:61 subgroupExclusiveAnd ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveOr ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:63 subgroupExclusiveXor ( global 4-component vector of uint)
0:63 'ballot' ( temp 4-component vector of uint)
0:65 subgroupClusteredAdd ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMul ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMin ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredMax ( global 4-component vector of float)
0:68 'f4' ( in 4-component vector of float)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredAnd ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredOr ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:71 subgroupClusteredXor ( global 4-component vector of uint)
0:71 'ballot' ( temp 4-component vector of uint)
0:71 Constant:
0:71 2 (const uint)
0:73 subgroupQuadBroadcast ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:73 Constant:
0:73 0 (const uint)
0:74 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapVertical ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:76 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:76 'f4' ( in 4-component vector of float)
0:78 Sequence
0:78 move second child to first child ( temp 4-component vector of uint)
0:78 'parti' ( temp 4-component vector of uint)
0:78 subgroupPartitionNV ( global 4-component vector of uint)
0:78 'f4' ( in 4-component vector of float)
0:79 subgroupPartitionedAddNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMulNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMinNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:82 'f4' ( in 4-component vector of float)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:85 'ballot' ( temp 4-component vector of uint)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:89 'f4' ( in 4-component vector of float)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:92 'ballot' ( temp 4-component vector of uint)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:96 'f4' ( in 4-component vector of float)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:99 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:99 'ballot' ( temp 4-component vector of uint)
0:99 'parti' ( temp 4-component vector of uint)
0:101 Branch: Return with expression
0:101 'result' ( temp 4-component vector of float)
0:109 Function Definition: main( ( global void)
0:109 Function Parameters:
0:111 Sequence
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'id' ( temp 3-component vector of uint)
0:111 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:112 Sequence
0:112 move second child to first child ( temp 3-component vector of uint)
0:112 'size' ( temp 3-component vector of uint)
0:112 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:113 move second child to first child ( temp uint)
0:113 data1: direct index for structure ( callableDataInNV uint)
0:113 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1})
0:113 Constant:
0:113 0 (const uint)
0:113 Constant:
0:113 256 (const uint)
0:114 executeCallableNV ( global void)
0:114 Constant:
0:114 2 (const uint)
0:114 Constant:
0:114 1 (const int)
0:119 Function Definition: basic_works( ( global void)
0:119 Function Parameters:
0:121 Sequence
0:121 'gl_SubgroupSize' ( in uint SubgroupSize)
0:122 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:123 subgroupBarrier ( global void)
0:124 subgroupMemoryBarrier ( global void)
0:125 subgroupMemoryBarrierBuffer ( global void)
0:126 subgroupMemoryBarrierImage ( global void)
0:127 subgroupElect ( global bool)
0:131 Function Definition: ballot_works(vf4; ( global void)
0:131 Function Parameters:
0:131 'f4' ( in 4-component vector of float)
0:132 Sequence
0:132 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:133 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:134 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:135 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:136 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:137 subgroupBroadcast ( global 4-component vector of float)
0:137 'f4' ( in 4-component vector of float)
0:137 Constant:
0:137 0 (const uint)
0:138 subgroupBroadcastFirst ( global 4-component vector of float)
0:138 'f4' ( in 4-component vector of float)
0:139 Sequence
0:139 move second child to first child ( temp 4-component vector of uint)
0:139 'ballot' ( temp 4-component vector of uint)
0:139 subgroupBallot ( global 4-component vector of uint)
0:139 Constant:
0:139 false (const bool)
0:140 subgroupInverseBallot ( global bool)
0:140 Constant:
0:140 1 (const uint)
0:140 1 (const uint)
0:140 1 (const uint)
0:140 1 (const uint)
0:141 subgroupBallotBitExtract ( global bool)
0:141 'ballot' ( temp 4-component vector of uint)
0:141 Constant:
0:141 0 (const uint)
0:142 subgroupBallotBitCount ( global uint)
0:142 'ballot' ( temp 4-component vector of uint)
0:143 subgroupBallotInclusiveBitCount ( global uint)
0:143 'ballot' ( temp 4-component vector of uint)
0:144 subgroupBallotExclusiveBitCount ( global uint)
0:144 'ballot' ( temp 4-component vector of uint)
0:145 subgroupBallotFindLSB ( global uint)
0:145 'ballot' ( temp 4-component vector of uint)
0:146 subgroupBallotFindMSB ( global uint)
0:146 'ballot' ( temp 4-component vector of uint)
0:150 Function Definition: vote_works(vf4; ( global void)
0:150 Function Parameters:
0:150 'f4' ( in 4-component vector of float)
0:152 Sequence
0:152 subgroupAll ( global bool)
0:152 Constant:
0:152 true (const bool)
0:153 subgroupAny ( global bool)
0:153 Constant:
0:153 false (const bool)
0:154 subgroupAllEqual ( global bool)
0:154 'f4' ( in 4-component vector of float)
0:159 Function Definition: shuffle_works(vf4; ( global void)
0:159 Function Parameters:
0:159 'f4' ( in 4-component vector of float)
0:161 Sequence
0:161 subgroupShuffle ( global 4-component vector of float)
0:161 'f4' ( in 4-component vector of float)
0:161 Constant:
0:161 0 (const uint)
0:162 subgroupShuffleXor ( global 4-component vector of float)
0:162 'f4' ( in 4-component vector of float)
0:162 Constant:
0:162 1 (const uint)
0:163 subgroupShuffleUp ( global 4-component vector of float)
0:163 'f4' ( in 4-component vector of float)
0:163 Constant:
0:163 1 (const uint)
0:164 subgroupShuffleDown ( global 4-component vector of float)
0:164 'f4' ( in 4-component vector of float)
0:164 Constant:
0:164 1 (const uint)
0:168 Function Definition: arith_works(vf4; ( global void)
0:168 Function Parameters:
0:168 'f4' ( in 4-component vector of float)
0:? Sequence
0:171 subgroupAdd ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:172 subgroupMul ( global 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:173 subgroupMin ( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:174 subgroupMax ( global 4-component vector of float)
0:174 'f4' ( in 4-component vector of float)
0:175 subgroupAnd ( global 4-component vector of uint)
0:175 'ballot' ( temp 4-component vector of uint)
0:176 subgroupOr ( global 4-component vector of uint)
0:176 'ballot' ( temp 4-component vector of uint)
0:177 subgroupXor ( global 4-component vector of uint)
0:177 'ballot' ( temp 4-component vector of uint)
0:178 subgroupInclusiveAdd ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:179 subgroupInclusiveMul ( global 4-component vector of float)
0:179 'f4' ( in 4-component vector of float)
0:180 subgroupInclusiveMin ( global 4-component vector of float)
0:180 'f4' ( in 4-component vector of float)
0:181 subgroupInclusiveMax ( global 4-component vector of float)
0:181 'f4' ( in 4-component vector of float)
0:182 subgroupInclusiveAnd ( global 4-component vector of uint)
0:182 'ballot' ( temp 4-component vector of uint)
0:183 subgroupInclusiveOr ( global 4-component vector of uint)
0:183 'ballot' ( temp 4-component vector of uint)
0:184 subgroupInclusiveXor ( global 4-component vector of uint)
0:184 'ballot' ( temp 4-component vector of uint)
0:185 subgroupExclusiveAdd ( global 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:186 subgroupExclusiveMul ( global 4-component vector of float)
0:186 'f4' ( in 4-component vector of float)
0:187 subgroupExclusiveMin ( global 4-component vector of float)
0:187 'f4' ( in 4-component vector of float)
0:188 subgroupExclusiveMax ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:189 subgroupExclusiveAnd ( global 4-component vector of uint)
0:189 'ballot' ( temp 4-component vector of uint)
0:190 subgroupExclusiveOr ( global 4-component vector of uint)
0:190 'ballot' ( temp 4-component vector of uint)
0:191 subgroupExclusiveXor ( global 4-component vector of uint)
0:191 'ballot' ( temp 4-component vector of uint)
0:195 Function Definition: clustered_works(vf4; ( global void)
0:195 Function Parameters:
0:195 'f4' ( in 4-component vector of float)
0:197 Sequence
0:197 Sequence
0:197 move second child to first child ( temp 4-component vector of uint)
0:197 'ballot' ( temp 4-component vector of uint)
0:197 Constant:
0:197 85 (const uint)
0:197 0 (const uint)
0:197 0 (const uint)
0:197 0 (const uint)
0:198 subgroupClusteredAdd ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:198 Constant:
0:198 2 (const uint)
0:199 subgroupClusteredMul ( global 4-component vector of float)
0:199 'f4' ( in 4-component vector of float)
0:199 Constant:
0:199 2 (const uint)
0:200 subgroupClusteredMin ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:200 Constant:
0:200 2 (const uint)
0:201 subgroupClusteredMax ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:201 Constant:
0:201 2 (const uint)
0:202 subgroupClusteredAnd ( global 4-component vector of uint)
0:202 'ballot' ( temp 4-component vector of uint)
0:202 Constant:
0:202 2 (const uint)
0:203 subgroupClusteredOr ( global 4-component vector of uint)
0:203 'ballot' ( temp 4-component vector of uint)
0:203 Constant:
0:203 2 (const uint)
0:204 subgroupClusteredXor ( global 4-component vector of uint)
0:204 'ballot' ( temp 4-component vector of uint)
0:204 Constant:
0:204 2 (const uint)
0:208 Function Definition: quad_works(vf4; ( global void)
0:208 Function Parameters:
0:208 'f4' ( in 4-component vector of float)
0:210 Sequence
0:210 subgroupQuadBroadcast ( global 4-component vector of float)
0:210 'f4' ( in 4-component vector of float)
0:210 Constant:
0:210 0 (const uint)
0:211 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:212 subgroupQuadSwapVertical ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:213 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:217 Function Definition: partitioned_works(vf4; ( global void)
0:217 Function Parameters:
0:217 'f4' ( in 4-component vector of float)
0:219 Sequence
0:219 Sequence
0:219 move second child to first child ( temp 4-component vector of uint)
0:219 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionNV ( global 4-component vector of uint)
0:219 'f4' ( in 4-component vector of float)
0:220 Sequence
0:220 move second child to first child ( temp 4-component vector of uint)
0:220 'ballot' ( temp 4-component vector of uint)
0:220 Constant:
0:220 85 (const uint)
0:220 0 (const uint)
0:220 0 (const uint)
0:220 0 (const uint)
0:221 subgroupPartitionedAddNV ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitionedMulNV ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionedMinNV ( global 4-component vector of float)
0:223 'f4' ( in 4-component vector of float)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:224 'f4' ( in 4-component vector of float)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:225 'ballot' ( temp 4-component vector of uint)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedOrNV ( 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:227 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:227 'ballot' ( temp 4-component vector of uint)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:229 'f4' ( in 4-component vector of float)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:230 'f4' ( in 4-component vector of float)
0:230 'parti' ( temp 4-component vector of uint)
0:231 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:231 'f4' ( in 4-component vector of float)
0:231 'parti' ( temp 4-component vector of uint)
0:232 subgroupPartitionedInclusiveAndNV ( 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:233 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:233 'ballot' ( temp 4-component vector of uint)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:234 'ballot' ( temp 4-component vector of uint)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:235 'f4' ( in 4-component vector of float)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:236 'f4' ( in 4-component vector of float)
0:236 'parti' ( temp 4-component vector of uint)
0:237 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:237 'f4' ( in 4-component vector of float)
0:237 'parti' ( temp 4-component vector of uint)
0:238 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:238 'f4' ( in 4-component vector of float)
0:238 'parti' ( temp 4-component vector of uint)
0:239 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:239 'ballot' ( temp 4-component vector of uint)
0:239 'parti' ( temp 4-component vector of uint)
0:240 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:240 'ballot' ( temp 4-component vector of uint)
0:240 'parti' ( temp 4-component vector of uint)
0:241 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:241 'ballot' ( temp 4-component vector of uint)
0:241 'parti' ( temp 4-component vector of uint)
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})
Linked callable stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void)
0:109 Function Parameters:
0:111 Sequence
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'id' ( temp 3-component vector of uint)
0:111 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:112 Sequence
0:112 move second child to first child ( temp 3-component vector of uint)
0:112 'size' ( temp 3-component vector of uint)
0:112 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:113 move second child to first child ( temp uint)
0:113 data1: direct index for structure ( callableDataInNV uint)
0:113 'anon@0' (layout( location=1) callableDataInNV block{ callableDataInNV uint data1})
0:113 Constant:
0:113 0 (const uint)
0:113 Constant:
0:113 256 (const uint)
0:114 executeCallableNV ( global void)
0:114 Constant:
0:114 2 (const uint)
0:114 Constant:
0:114 1 (const int)
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})

View File

@@ -0,0 +1,797 @@
glsl.460.subgroup.rchit
ERROR: 0:7: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:15: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:16: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:18: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:20: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:22: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:36: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:38: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:40: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:41: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:43: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:63: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:65: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:71: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:73: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:76: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:78: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
0:12 subgroupMemoryBarrierImage ( global void)
0:13 subgroupElect ( global bool)
0:14 'gl_NumSubgroups' ( temp float)
0:15 'gl_SubgroupID' ( temp float)
0:16 Constant:
0:16 0.000000
0:18 subgroupAll ( global bool)
0:18 Constant:
0:18 true (const bool)
0:19 subgroupAny ( global bool)
0:19 Constant:
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
0:27 0 (const uint)
0:28 subgroupBroadcastFirst ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of uint)
0:29 'ballot' ( temp 4-component vector of uint)
0:29 subgroupBallot ( global 4-component vector of uint)
0:29 Constant:
0:29 false (const bool)
0:30 subgroupInverseBallot ( global bool)
0:30 Constant:
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:31 subgroupBallotBitExtract ( global bool)
0:31 'ballot' ( temp 4-component vector of uint)
0:31 Constant:
0:31 0 (const uint)
0:32 subgroupBallotBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotInclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotExclusiveBitCount ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindLSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:36 subgroupBallotFindMSB ( global uint)
0:36 'ballot' ( temp 4-component vector of uint)
0:38 subgroupShuffle ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 0 (const uint)
0:39 subgroupShuffleXor ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleUp ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:41 subgroupShuffleDown ( global 4-component vector of float)
0:41 'f4' ( in 4-component vector of float)
0:41 Constant:
0:41 1 (const uint)
0:43 move second child to first child ( temp 4-component vector of float)
0:43 'result' ( temp 4-component vector of float)
0:43 subgroupAdd ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMul ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMin ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupMax ( global 4-component vector of float)
0:46 'f4' ( in 4-component vector of float)
0:47 subgroupAnd ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupOr ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupXor ( global 4-component vector of uint)
0:49 'ballot' ( temp 4-component vector of uint)
0:50 subgroupInclusiveAdd ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMul ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMin ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveMax ( global 4-component vector of float)
0:53 'f4' ( in 4-component vector of float)
0:54 subgroupInclusiveAnd ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveOr ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupInclusiveXor ( global 4-component vector of uint)
0:56 'ballot' ( temp 4-component vector of uint)
0:57 subgroupExclusiveAdd ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMul ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMin ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveMax ( global 4-component vector of float)
0:60 'f4' ( in 4-component vector of float)
0:61 subgroupExclusiveAnd ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveOr ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:63 subgroupExclusiveXor ( global 4-component vector of uint)
0:63 'ballot' ( temp 4-component vector of uint)
0:65 subgroupClusteredAdd ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMul ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMin ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredMax ( global 4-component vector of float)
0:68 'f4' ( in 4-component vector of float)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredAnd ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredOr ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:71 subgroupClusteredXor ( global 4-component vector of uint)
0:71 'ballot' ( temp 4-component vector of uint)
0:71 Constant:
0:71 2 (const uint)
0:73 subgroupQuadBroadcast ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:73 Constant:
0:73 0 (const uint)
0:74 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapVertical ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:76 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:76 'f4' ( in 4-component vector of float)
0:78 Sequence
0:78 move second child to first child ( temp 4-component vector of uint)
0:78 'parti' ( temp 4-component vector of uint)
0:78 subgroupPartitionNV ( global 4-component vector of uint)
0:78 'f4' ( in 4-component vector of float)
0:79 subgroupPartitionedAddNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMulNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMinNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:82 'f4' ( in 4-component vector of float)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:85 'ballot' ( temp 4-component vector of uint)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:89 'f4' ( in 4-component vector of float)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:92 'ballot' ( temp 4-component vector of uint)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:96 'f4' ( in 4-component vector of float)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:99 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:99 'ballot' ( temp 4-component vector of uint)
0:99 'parti' ( temp 4-component vector of uint)
0:101 Branch: Return with expression
0:101 'result' ( temp 4-component vector of float)
0:108 Function Definition: main( ( global void)
0:108 Function Parameters:
0:110 Sequence
0:110 Sequence
0:110 move second child to first child ( temp 3-component vector of uint)
0:110 'v0' ( temp 3-component vector of uint)
0:110 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'v1' ( temp 3-component vector of uint)
0:111 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:112 Sequence
0:112 move second child to first child ( temp int)
0:112 'v2' ( temp int)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:113 Sequence
0:113 move second child to first child ( temp int)
0:113 'v3' ( temp int)
0:113 'gl_InstanceID' ( in int InstanceId)
0:114 Sequence
0:114 move second child to first child ( temp int)
0:114 'v4' ( temp int)
0:114 'gl_InstanceCustomIndexNV' ( in int InstanceCustomIndexNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v5' ( temp 3-component vector of float)
0:115 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v6' ( temp 3-component vector of float)
0:116 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp 3-component vector of float)
0:117 'v7' ( temp 3-component vector of float)
0:117 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:118 Sequence
0:118 move second child to first child ( temp 3-component vector of float)
0:118 'v8' ( temp 3-component vector of float)
0:118 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:119 Sequence
0:119 move second child to first child ( temp float)
0:119 'v9' ( temp float)
0:119 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:120 Sequence
0:120 move second child to first child ( temp float)
0:120 'v10' ( temp float)
0:120 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:121 Sequence
0:121 move second child to first child ( temp float)
0:121 'v11' ( temp float)
0:121 'gl_HitTNV' ( in float HitTNV)
0:122 Sequence
0:122 move second child to first child ( temp uint)
0:122 'v12' ( temp uint)
0:122 'gl_HitKindNV' ( in uint HitKindNV)
0:123 Sequence
0:123 move second child to first child ( temp 4X3 matrix of float)
0:123 'v13' ( temp 4X3 matrix of float)
0:123 'gl_ObjectToWorldNV' ( in 4X3 matrix of float ObjectToWorldNV)
0:124 Sequence
0:124 move second child to first child ( temp 4X3 matrix of float)
0:124 'v14' ( temp 4X3 matrix of float)
0:124 'gl_WorldToObjectNV' ( in 4X3 matrix of float WorldToObjectNV)
0:125 traceNV ( global void)
0:125 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:125 Constant:
0:125 0 (const uint)
0:125 Constant:
0:125 1 (const uint)
0:125 Constant:
0:125 2 (const uint)
0:125 Constant:
0:125 3 (const uint)
0:125 Constant:
0:125 0 (const uint)
0:125 Constant:
0:125 0.500000
0:125 0.500000
0:125 0.500000
0:125 Constant:
0:125 0.500000
0:125 Constant:
0:125 1.000000
0:125 1.000000
0:125 1.000000
0:125 Constant:
0:125 0.750000
0:125 Constant:
0:125 1 (const int)
0:129 Function Definition: basic_works( ( global void)
0:129 Function Parameters:
0:131 Sequence
0:131 'gl_SubgroupSize' ( in uint SubgroupSize)
0:132 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:133 subgroupBarrier ( global void)
0:134 subgroupMemoryBarrier ( global void)
0:135 subgroupMemoryBarrierBuffer ( global void)
0:136 subgroupMemoryBarrierImage ( global void)
0:137 subgroupElect ( global bool)
0:141 Function Definition: ballot_works(vf4; ( global void)
0:141 Function Parameters:
0:141 'f4' ( in 4-component vector of float)
0:142 Sequence
0:142 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:143 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:144 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:145 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:146 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:147 subgroupBroadcast ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
0:147 0 (const uint)
0:148 subgroupBroadcastFirst ( global 4-component vector of float)
0:148 'f4' ( in 4-component vector of float)
0:149 Sequence
0:149 move second child to first child ( temp 4-component vector of uint)
0:149 'ballot' ( temp 4-component vector of uint)
0:149 subgroupBallot ( global 4-component vector of uint)
0:149 Constant:
0:149 false (const bool)
0:150 subgroupInverseBallot ( global bool)
0:150 Constant:
0:150 1 (const uint)
0:150 1 (const uint)
0:150 1 (const uint)
0:150 1 (const uint)
0:151 subgroupBallotBitExtract ( global bool)
0:151 'ballot' ( temp 4-component vector of uint)
0:151 Constant:
0:151 0 (const uint)
0:152 subgroupBallotBitCount ( global uint)
0:152 'ballot' ( temp 4-component vector of uint)
0:153 subgroupBallotInclusiveBitCount ( global uint)
0:153 'ballot' ( temp 4-component vector of uint)
0:154 subgroupBallotExclusiveBitCount ( global uint)
0:154 'ballot' ( temp 4-component vector of uint)
0:155 subgroupBallotFindLSB ( global uint)
0:155 'ballot' ( temp 4-component vector of uint)
0:156 subgroupBallotFindMSB ( global uint)
0:156 'ballot' ( temp 4-component vector of uint)
0:160 Function Definition: vote_works(vf4; ( global void)
0:160 Function Parameters:
0:160 'f4' ( in 4-component vector of float)
0:162 Sequence
0:162 subgroupAll ( global bool)
0:162 Constant:
0:162 true (const bool)
0:163 subgroupAny ( global bool)
0:163 Constant:
0:163 false (const bool)
0:164 subgroupAllEqual ( global bool)
0:164 'f4' ( in 4-component vector of float)
0:169 Function Definition: shuffle_works(vf4; ( global void)
0:169 Function Parameters:
0:169 'f4' ( in 4-component vector of float)
0:171 Sequence
0:171 subgroupShuffle ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:171 Constant:
0:171 0 (const uint)
0:172 subgroupShuffleXor ( global 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:172 Constant:
0:172 1 (const uint)
0:173 subgroupShuffleUp ( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:173 Constant:
0:173 1 (const uint)
0:174 subgroupShuffleDown ( global 4-component vector of float)
0:174 'f4' ( in 4-component vector of float)
0:174 Constant:
0:174 1 (const uint)
0:178 Function Definition: arith_works(vf4; ( global void)
0:178 Function Parameters:
0:178 'f4' ( in 4-component vector of float)
0:? Sequence
0:181 subgroupAdd ( global 4-component vector of float)
0:181 'f4' ( in 4-component vector of float)
0:182 subgroupMul ( global 4-component vector of float)
0:182 'f4' ( in 4-component vector of float)
0:183 subgroupMin ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:184 subgroupMax ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:185 subgroupAnd ( global 4-component vector of uint)
0:185 'ballot' ( temp 4-component vector of uint)
0:186 subgroupOr ( global 4-component vector of uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:187 subgroupXor ( global 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:188 subgroupInclusiveAdd ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:189 subgroupInclusiveMul ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:190 subgroupInclusiveMin ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:191 subgroupInclusiveMax ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:192 subgroupInclusiveAnd ( global 4-component vector of uint)
0:192 'ballot' ( temp 4-component vector of uint)
0:193 subgroupInclusiveOr ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:194 subgroupInclusiveXor ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:195 subgroupExclusiveAdd ( global 4-component vector of float)
0:195 'f4' ( in 4-component vector of float)
0:196 subgroupExclusiveMul ( global 4-component vector of float)
0:196 'f4' ( in 4-component vector of float)
0:197 subgroupExclusiveMin ( global 4-component vector of float)
0:197 'f4' ( in 4-component vector of float)
0:198 subgroupExclusiveMax ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:199 subgroupExclusiveAnd ( global 4-component vector of uint)
0:199 'ballot' ( temp 4-component vector of uint)
0:200 subgroupExclusiveOr ( global 4-component vector of uint)
0:200 'ballot' ( temp 4-component vector of uint)
0:201 subgroupExclusiveXor ( global 4-component vector of uint)
0:201 'ballot' ( temp 4-component vector of uint)
0:205 Function Definition: clustered_works(vf4; ( global void)
0:205 Function Parameters:
0:205 'f4' ( in 4-component vector of float)
0:207 Sequence
0:207 Sequence
0:207 move second child to first child ( temp 4-component vector of uint)
0:207 'ballot' ( temp 4-component vector of uint)
0:207 Constant:
0:207 85 (const uint)
0:207 0 (const uint)
0:207 0 (const uint)
0:207 0 (const uint)
0:208 subgroupClusteredAdd ( global 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:208 Constant:
0:208 2 (const uint)
0:209 subgroupClusteredMul ( global 4-component vector of float)
0:209 'f4' ( in 4-component vector of float)
0:209 Constant:
0:209 2 (const uint)
0:210 subgroupClusteredMin ( global 4-component vector of float)
0:210 'f4' ( in 4-component vector of float)
0:210 Constant:
0:210 2 (const uint)
0:211 subgroupClusteredMax ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:211 Constant:
0:211 2 (const uint)
0:212 subgroupClusteredAnd ( global 4-component vector of uint)
0:212 'ballot' ( temp 4-component vector of uint)
0:212 Constant:
0:212 2 (const uint)
0:213 subgroupClusteredOr ( global 4-component vector of uint)
0:213 'ballot' ( temp 4-component vector of uint)
0:213 Constant:
0:213 2 (const uint)
0:214 subgroupClusteredXor ( global 4-component vector of uint)
0:214 'ballot' ( temp 4-component vector of uint)
0:214 Constant:
0:214 2 (const uint)
0:218 Function Definition: quad_works(vf4; ( global void)
0:218 Function Parameters:
0:218 'f4' ( in 4-component vector of float)
0:220 Sequence
0:220 subgroupQuadBroadcast ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 Constant:
0:220 0 (const uint)
0:221 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:222 subgroupQuadSwapVertical ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:223 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:223 'f4' ( in 4-component vector of float)
0:227 Function Definition: partitioned_works(vf4; ( global void)
0:227 Function Parameters:
0:227 'f4' ( in 4-component vector of float)
0:229 Sequence
0:229 Sequence
0:229 move second child to first child ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionNV ( global 4-component vector of uint)
0:229 'f4' ( in 4-component vector of float)
0:230 Sequence
0:230 move second child to first child ( temp 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint)
0:230 Constant:
0:230 85 (const uint)
0:230 0 (const uint)
0:230 0 (const uint)
0:230 0 (const uint)
0:231 subgroupPartitionedAddNV ( global 4-component vector of float)
0:231 'f4' ( in 4-component vector of float)
0:231 'parti' ( temp 4-component vector of uint)
0:232 subgroupPartitionedMulNV ( global 4-component vector of float)
0:232 'f4' ( in 4-component vector of float)
0:232 'parti' ( temp 4-component vector of uint)
0:233 subgroupPartitionedMinNV ( global 4-component vector of float)
0:233 'f4' ( in 4-component vector of float)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:234 'f4' ( in 4-component vector of float)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:235 'ballot' ( temp 4-component vector of uint)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedOrNV ( 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:237 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:237 'ballot' ( temp 4-component vector of uint)
0:237 'parti' ( temp 4-component vector of uint)
0:238 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:238 'f4' ( in 4-component vector of float)
0:238 'parti' ( temp 4-component vector of uint)
0:239 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:239 'f4' ( in 4-component vector of float)
0:239 'parti' ( temp 4-component vector of uint)
0:240 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:240 'f4' ( in 4-component vector of float)
0:240 'parti' ( temp 4-component vector of uint)
0:241 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:241 'f4' ( in 4-component vector of float)
0:241 'parti' ( temp 4-component vector of uint)
0:242 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:242 'ballot' ( temp 4-component vector of uint)
0:242 'parti' ( temp 4-component vector of uint)
0:243 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:243 'ballot' ( temp 4-component vector of uint)
0:243 'parti' ( temp 4-component vector of uint)
0:244 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:244 'ballot' ( temp 4-component vector of uint)
0:244 'parti' ( temp 4-component vector of uint)
0:245 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:245 'f4' ( in 4-component vector of float)
0:245 'parti' ( temp 4-component vector of uint)
0:246 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:246 'f4' ( in 4-component vector of float)
0:246 'parti' ( temp 4-component vector of uint)
0:247 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:247 'f4' ( in 4-component vector of float)
0:247 'parti' ( temp 4-component vector of uint)
0:248 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:248 'f4' ( in 4-component vector of float)
0:248 'parti' ( temp 4-component vector of uint)
0:249 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:249 'ballot' ( temp 4-component vector of uint)
0:249 'parti' ( temp 4-component vector of uint)
0:250 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:250 'ballot' ( temp 4-component vector of uint)
0:250 'parti' ( temp 4-component vector of uint)
0:251 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:251 'ballot' ( temp 4-component vector of uint)
0:251 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
Linked closest-hit stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:108 Function Definition: main( ( global void)
0:108 Function Parameters:
0:110 Sequence
0:110 Sequence
0:110 move second child to first child ( temp 3-component vector of uint)
0:110 'v0' ( temp 3-component vector of uint)
0:110 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'v1' ( temp 3-component vector of uint)
0:111 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:112 Sequence
0:112 move second child to first child ( temp int)
0:112 'v2' ( temp int)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:113 Sequence
0:113 move second child to first child ( temp int)
0:113 'v3' ( temp int)
0:113 'gl_InstanceID' ( in int InstanceId)
0:114 Sequence
0:114 move second child to first child ( temp int)
0:114 'v4' ( temp int)
0:114 'gl_InstanceCustomIndexNV' ( in int InstanceCustomIndexNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v5' ( temp 3-component vector of float)
0:115 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v6' ( temp 3-component vector of float)
0:116 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp 3-component vector of float)
0:117 'v7' ( temp 3-component vector of float)
0:117 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:118 Sequence
0:118 move second child to first child ( temp 3-component vector of float)
0:118 'v8' ( temp 3-component vector of float)
0:118 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:119 Sequence
0:119 move second child to first child ( temp float)
0:119 'v9' ( temp float)
0:119 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:120 Sequence
0:120 move second child to first child ( temp float)
0:120 'v10' ( temp float)
0:120 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:121 Sequence
0:121 move second child to first child ( temp float)
0:121 'v11' ( temp float)
0:121 'gl_HitTNV' ( in float HitTNV)
0:122 Sequence
0:122 move second child to first child ( temp uint)
0:122 'v12' ( temp uint)
0:122 'gl_HitKindNV' ( in uint HitKindNV)
0:123 Sequence
0:123 move second child to first child ( temp 4X3 matrix of float)
0:123 'v13' ( temp 4X3 matrix of float)
0:123 'gl_ObjectToWorldNV' ( in 4X3 matrix of float ObjectToWorldNV)
0:124 Sequence
0:124 move second child to first child ( temp 4X3 matrix of float)
0:124 'v14' ( temp 4X3 matrix of float)
0:124 'gl_WorldToObjectNV' ( in 4X3 matrix of float WorldToObjectNV)
0:125 traceNV ( global void)
0:125 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:125 Constant:
0:125 0 (const uint)
0:125 Constant:
0:125 1 (const uint)
0:125 Constant:
0:125 2 (const uint)
0:125 Constant:
0:125 3 (const uint)
0:125 Constant:
0:125 0 (const uint)
0:125 Constant:
0:125 0.500000
0:125 0.500000
0:125 0.500000
0:125 Constant:
0:125 0.500000
0:125 Constant:
0:125 1.000000
0:125 1.000000
0:125 1.000000
0:125 Constant:
0:125 0.750000
0:125 Constant:
0:125 1 (const int)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)

View File

@@ -0,0 +1,727 @@
glsl.460.subgroup.rgen
ERROR: 0:7: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:15: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:16: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:18: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:20: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:22: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:36: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:38: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:40: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:41: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:43: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:63: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:65: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:71: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:73: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:76: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:78: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:4 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:4 Function Parameters:
0:4 'f4' ( in 4-component vector of float)
0:? Sequence
0:7 'gl_SubgroupSize' ( in uint SubgroupSize)
0:8 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:9 subgroupBarrier ( global void)
0:10 subgroupMemoryBarrier ( global void)
0:11 subgroupMemoryBarrierBuffer ( global void)
0:12 subgroupMemoryBarrierImage ( global void)
0:13 subgroupElect ( global bool)
0:14 'gl_NumSubgroups' ( temp float)
0:15 'gl_SubgroupID' ( temp float)
0:16 Constant:
0:16 0.000000
0:18 subgroupAll ( global bool)
0:18 Constant:
0:18 true (const bool)
0:19 subgroupAny ( global bool)
0:19 Constant:
0:19 false (const bool)
0:20 subgroupAllEqual ( global bool)
0:20 'f4' ( in 4-component vector of float)
0:22 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:23 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:24 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:25 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:26 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:27 subgroupBroadcast ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:27 Constant:
0:27 0 (const uint)
0:28 subgroupBroadcastFirst ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of uint)
0:29 'ballot' ( temp 4-component vector of uint)
0:29 subgroupBallot ( global 4-component vector of uint)
0:29 Constant:
0:29 false (const bool)
0:30 subgroupInverseBallot ( global bool)
0:30 Constant:
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:30 1 (const uint)
0:31 subgroupBallotBitExtract ( global bool)
0:31 'ballot' ( temp 4-component vector of uint)
0:31 Constant:
0:31 0 (const uint)
0:32 subgroupBallotBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotInclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotExclusiveBitCount ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindLSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:36 subgroupBallotFindMSB ( global uint)
0:36 'ballot' ( temp 4-component vector of uint)
0:38 subgroupShuffle ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 0 (const uint)
0:39 subgroupShuffleXor ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleUp ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:41 subgroupShuffleDown ( global 4-component vector of float)
0:41 'f4' ( in 4-component vector of float)
0:41 Constant:
0:41 1 (const uint)
0:43 move second child to first child ( temp 4-component vector of float)
0:43 'result' ( temp 4-component vector of float)
0:43 subgroupAdd ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMul ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMin ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupMax ( global 4-component vector of float)
0:46 'f4' ( in 4-component vector of float)
0:47 subgroupAnd ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupOr ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupXor ( global 4-component vector of uint)
0:49 'ballot' ( temp 4-component vector of uint)
0:50 subgroupInclusiveAdd ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMul ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMin ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveMax ( global 4-component vector of float)
0:53 'f4' ( in 4-component vector of float)
0:54 subgroupInclusiveAnd ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveOr ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupInclusiveXor ( global 4-component vector of uint)
0:56 'ballot' ( temp 4-component vector of uint)
0:57 subgroupExclusiveAdd ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMul ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMin ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveMax ( global 4-component vector of float)
0:60 'f4' ( in 4-component vector of float)
0:61 subgroupExclusiveAnd ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveOr ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:63 subgroupExclusiveXor ( global 4-component vector of uint)
0:63 'ballot' ( temp 4-component vector of uint)
0:65 subgroupClusteredAdd ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMul ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMin ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredMax ( global 4-component vector of float)
0:68 'f4' ( in 4-component vector of float)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredAnd ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredOr ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:71 subgroupClusteredXor ( global 4-component vector of uint)
0:71 'ballot' ( temp 4-component vector of uint)
0:71 Constant:
0:71 2 (const uint)
0:73 subgroupQuadBroadcast ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:73 Constant:
0:73 0 (const uint)
0:74 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapVertical ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:76 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:76 'f4' ( in 4-component vector of float)
0:78 Sequence
0:78 move second child to first child ( temp 4-component vector of uint)
0:78 'parti' ( temp 4-component vector of uint)
0:78 subgroupPartitionNV ( global 4-component vector of uint)
0:78 'f4' ( in 4-component vector of float)
0:79 subgroupPartitionedAddNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMulNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMinNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:82 'f4' ( in 4-component vector of float)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:85 'ballot' ( temp 4-component vector of uint)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:89 'f4' ( in 4-component vector of float)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:92 'ballot' ( temp 4-component vector of uint)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:96 'f4' ( in 4-component vector of float)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:99 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:99 'ballot' ( temp 4-component vector of uint)
0:99 'parti' ( temp 4-component vector of uint)
0:101 Branch: Return with expression
0:101 'result' ( temp 4-component vector of float)
0:113 Function Definition: main( ( global void)
0:113 Function Parameters:
0:115 Sequence
0:115 Sequence
0:115 move second child to first child ( temp uint)
0:115 'lx' ( temp uint)
0:115 direct index ( temp uint)
0:115 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:115 Constant:
0:115 0 (const int)
0:116 Sequence
0:116 move second child to first child ( temp uint)
0:116 'ly' ( temp uint)
0:116 direct index ( temp uint)
0:116 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:116 Constant:
0:116 1 (const int)
0:117 Sequence
0:117 move second child to first child ( temp uint)
0:117 'sx' ( temp uint)
0:117 direct index ( temp uint)
0:117 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:117 Constant:
0:117 0 (const int)
0:118 Sequence
0:118 move second child to first child ( temp uint)
0:118 'sy' ( temp uint)
0:118 direct index ( temp uint)
0:118 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:118 Constant:
0:118 1 (const int)
0:119 traceNV ( global void)
0:119 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:119 'lx' ( temp uint)
0:119 'ly' ( temp uint)
0:119 'sx' ( temp uint)
0:119 'sy' ( temp uint)
0:119 Constant:
0:119 0 (const uint)
0:119 origin: direct index for structure (layout( column_major std430 offset=16) buffer 3-component vector of float)
0:119 'anon@0' (layout( column_major std430 shaderRecordNV) buffer block{layout( column_major std430 offset=0) buffer 3-component vector of float dir, layout( column_major std430 offset=16) buffer 3-component vector of float origin})
0:119 Constant:
0:119 1 (const uint)
0:119 Constant:
0:119 0.500000
0:119 dir: direct index for structure (layout( column_major std430 offset=0) buffer 3-component vector of float)
0:119 'anon@0' (layout( column_major std430 shaderRecordNV) buffer block{layout( column_major std430 offset=0) buffer 3-component vector of float dir, layout( column_major std430 offset=16) buffer 3-component vector of float origin})
0:119 Constant:
0:119 0 (const uint)
0:119 Constant:
0:119 0.750000
0:119 Constant:
0:119 1 (const int)
0:123 Function Definition: basic_works( ( global void)
0:123 Function Parameters:
0:125 Sequence
0:125 'gl_SubgroupSize' ( in uint SubgroupSize)
0:126 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:127 subgroupBarrier ( global void)
0:128 subgroupMemoryBarrier ( global void)
0:129 subgroupMemoryBarrierBuffer ( global void)
0:130 subgroupMemoryBarrierImage ( global void)
0:131 subgroupElect ( global bool)
0:135 Function Definition: ballot_works(vf4; ( global void)
0:135 Function Parameters:
0:135 'f4' ( in 4-component vector of float)
0:136 Sequence
0:136 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:137 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:138 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:139 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:140 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:141 subgroupBroadcast ( global 4-component vector of float)
0:141 'f4' ( in 4-component vector of float)
0:141 Constant:
0:141 0 (const uint)
0:142 subgroupBroadcastFirst ( global 4-component vector of float)
0:142 'f4' ( in 4-component vector of float)
0:143 Sequence
0:143 move second child to first child ( temp 4-component vector of uint)
0:143 'ballot' ( temp 4-component vector of uint)
0:143 subgroupBallot ( global 4-component vector of uint)
0:143 Constant:
0:143 false (const bool)
0:144 subgroupInverseBallot ( global bool)
0:144 Constant:
0:144 1 (const uint)
0:144 1 (const uint)
0:144 1 (const uint)
0:144 1 (const uint)
0:145 subgroupBallotBitExtract ( global bool)
0:145 'ballot' ( temp 4-component vector of uint)
0:145 Constant:
0:145 0 (const uint)
0:146 subgroupBallotBitCount ( global uint)
0:146 'ballot' ( temp 4-component vector of uint)
0:147 subgroupBallotInclusiveBitCount ( global uint)
0:147 'ballot' ( temp 4-component vector of uint)
0:148 subgroupBallotExclusiveBitCount ( global uint)
0:148 'ballot' ( temp 4-component vector of uint)
0:149 subgroupBallotFindLSB ( global uint)
0:149 'ballot' ( temp 4-component vector of uint)
0:150 subgroupBallotFindMSB ( global uint)
0:150 'ballot' ( temp 4-component vector of uint)
0:154 Function Definition: vote_works(vf4; ( global void)
0:154 Function Parameters:
0:154 'f4' ( in 4-component vector of float)
0:156 Sequence
0:156 subgroupAll ( global bool)
0:156 Constant:
0:156 true (const bool)
0:157 subgroupAny ( global bool)
0:157 Constant:
0:157 false (const bool)
0:158 subgroupAllEqual ( global bool)
0:158 'f4' ( in 4-component vector of float)
0:163 Function Definition: shuffle_works(vf4; ( global void)
0:163 Function Parameters:
0:163 'f4' ( in 4-component vector of float)
0:165 Sequence
0:165 subgroupShuffle ( global 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:165 Constant:
0:165 0 (const uint)
0:166 subgroupShuffleXor ( global 4-component vector of float)
0:166 'f4' ( in 4-component vector of float)
0:166 Constant:
0:166 1 (const uint)
0:167 subgroupShuffleUp ( global 4-component vector of float)
0:167 'f4' ( in 4-component vector of float)
0:167 Constant:
0:167 1 (const uint)
0:168 subgroupShuffleDown ( global 4-component vector of float)
0:168 'f4' ( in 4-component vector of float)
0:168 Constant:
0:168 1 (const uint)
0:172 Function Definition: arith_works(vf4; ( global void)
0:172 Function Parameters:
0:172 'f4' ( in 4-component vector of float)
0:? Sequence
0:175 subgroupAdd ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:176 subgroupMul ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupMin ( global 4-component vector of float)
0:177 'f4' ( in 4-component vector of float)
0:178 subgroupMax ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:179 subgroupAnd ( global 4-component vector of uint)
0:179 'ballot' ( temp 4-component vector of uint)
0:180 subgroupOr ( global 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:181 subgroupXor ( global 4-component vector of uint)
0:181 'ballot' ( temp 4-component vector of uint)
0:182 subgroupInclusiveAdd ( global 4-component vector of float)
0:182 'f4' ( in 4-component vector of float)
0:183 subgroupInclusiveMul ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:184 subgroupInclusiveMin ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:185 subgroupInclusiveMax ( global 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:186 subgroupInclusiveAnd ( global 4-component vector of uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:187 subgroupInclusiveOr ( global 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:188 subgroupInclusiveXor ( global 4-component vector of uint)
0:188 'ballot' ( temp 4-component vector of uint)
0:189 subgroupExclusiveAdd ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:190 subgroupExclusiveMul ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:191 subgroupExclusiveMin ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:192 subgroupExclusiveMax ( global 4-component vector of float)
0:192 'f4' ( in 4-component vector of float)
0:193 subgroupExclusiveAnd ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:194 subgroupExclusiveOr ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:195 subgroupExclusiveXor ( global 4-component vector of uint)
0:195 'ballot' ( temp 4-component vector of uint)
0:199 Function Definition: clustered_works(vf4; ( global void)
0:199 Function Parameters:
0:199 'f4' ( in 4-component vector of float)
0:201 Sequence
0:201 Sequence
0:201 move second child to first child ( temp 4-component vector of uint)
0:201 'ballot' ( temp 4-component vector of uint)
0:201 Constant:
0:201 85 (const uint)
0:201 0 (const uint)
0:201 0 (const uint)
0:201 0 (const uint)
0:202 subgroupClusteredAdd ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:202 Constant:
0:202 2 (const uint)
0:203 subgroupClusteredMul ( global 4-component vector of float)
0:203 'f4' ( in 4-component vector of float)
0:203 Constant:
0:203 2 (const uint)
0:204 subgroupClusteredMin ( global 4-component vector of float)
0:204 'f4' ( in 4-component vector of float)
0:204 Constant:
0:204 2 (const uint)
0:205 subgroupClusteredMax ( global 4-component vector of float)
0:205 'f4' ( in 4-component vector of float)
0:205 Constant:
0:205 2 (const uint)
0:206 subgroupClusteredAnd ( global 4-component vector of uint)
0:206 'ballot' ( temp 4-component vector of uint)
0:206 Constant:
0:206 2 (const uint)
0:207 subgroupClusteredOr ( global 4-component vector of uint)
0:207 'ballot' ( temp 4-component vector of uint)
0:207 Constant:
0:207 2 (const uint)
0:208 subgroupClusteredXor ( global 4-component vector of uint)
0:208 'ballot' ( temp 4-component vector of uint)
0:208 Constant:
0:208 2 (const uint)
0:212 Function Definition: quad_works(vf4; ( global void)
0:212 Function Parameters:
0:212 'f4' ( in 4-component vector of float)
0:214 Sequence
0:214 subgroupQuadBroadcast ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:214 Constant:
0:214 0 (const uint)
0:215 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:215 'f4' ( in 4-component vector of float)
0:216 subgroupQuadSwapVertical ( global 4-component vector of float)
0:216 'f4' ( in 4-component vector of float)
0:217 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:217 'f4' ( in 4-component vector of float)
0:221 Function Definition: partitioned_works(vf4; ( global void)
0:221 Function Parameters:
0:221 'f4' ( in 4-component vector of float)
0:223 Sequence
0:223 Sequence
0:223 move second child to first child ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionNV ( global 4-component vector of uint)
0:223 'f4' ( in 4-component vector of float)
0:224 Sequence
0:224 move second child to first child ( temp 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 Constant:
0:224 85 (const uint)
0:224 0 (const uint)
0:224 0 (const uint)
0:224 0 (const uint)
0:225 subgroupPartitionedAddNV ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedMulNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedMinNV ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedOrNV ( 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:231 subgroupPartitionedXorNV ( 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:232 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:232 'f4' ( in 4-component vector of float)
0:232 'parti' ( temp 4-component vector of uint)
0:233 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:233 'f4' ( in 4-component vector of float)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:234 'f4' ( in 4-component vector of float)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:235 'f4' ( in 4-component vector of float)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedInclusiveAndNV ( 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:237 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:237 'ballot' ( temp 4-component vector of uint)
0:237 'parti' ( temp 4-component vector of uint)
0:238 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:238 'ballot' ( temp 4-component vector of uint)
0:238 'parti' ( temp 4-component vector of uint)
0:239 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:239 'f4' ( in 4-component vector of float)
0:239 'parti' ( temp 4-component vector of uint)
0:240 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:240 'f4' ( in 4-component vector of float)
0:240 'parti' ( temp 4-component vector of uint)
0:241 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:241 'f4' ( in 4-component vector of float)
0:241 'parti' ( temp 4-component vector of uint)
0:242 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:242 'f4' ( in 4-component vector of float)
0:242 'parti' ( temp 4-component vector of uint)
0:243 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:243 'ballot' ( temp 4-component vector of uint)
0:243 'parti' ( temp 4-component vector of uint)
0:244 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:244 'ballot' ( temp 4-component vector of uint)
0:244 'parti' ( temp 4-component vector of uint)
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint)
0:245 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'accNV1' (layout( set=0 binding=1) uniform accelerationStructureNV)
0:? 'payload' (layout( location=0) rayPayloadNV 4-component vector of float)
0:? 'anon@0' (layout( column_major std430 shaderRecordNV) buffer block{layout( column_major std430 offset=0) buffer 3-component vector of float dir, layout( column_major std430 offset=16) buffer 3-component vector of float origin})
Linked ray-generation stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:113 Function Definition: main( ( global void)
0:113 Function Parameters:
0:115 Sequence
0:115 Sequence
0:115 move second child to first child ( temp uint)
0:115 'lx' ( temp uint)
0:115 direct index ( temp uint)
0:115 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:115 Constant:
0:115 0 (const int)
0:116 Sequence
0:116 move second child to first child ( temp uint)
0:116 'ly' ( temp uint)
0:116 direct index ( temp uint)
0:116 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:116 Constant:
0:116 1 (const int)
0:117 Sequence
0:117 move second child to first child ( temp uint)
0:117 'sx' ( temp uint)
0:117 direct index ( temp uint)
0:117 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:117 Constant:
0:117 0 (const int)
0:118 Sequence
0:118 move second child to first child ( temp uint)
0:118 'sy' ( temp uint)
0:118 direct index ( temp uint)
0:118 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:118 Constant:
0:118 1 (const int)
0:119 traceNV ( global void)
0:119 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:119 'lx' ( temp uint)
0:119 'ly' ( temp uint)
0:119 'sx' ( temp uint)
0:119 'sy' ( temp uint)
0:119 Constant:
0:119 0 (const uint)
0:119 origin: direct index for structure (layout( column_major std430 offset=16) buffer 3-component vector of float)
0:119 'anon@0' (layout( column_major std430 shaderRecordNV) buffer block{layout( column_major std430 offset=0) buffer 3-component vector of float dir, layout( column_major std430 offset=16) buffer 3-component vector of float origin})
0:119 Constant:
0:119 1 (const uint)
0:119 Constant:
0:119 0.500000
0:119 dir: direct index for structure (layout( column_major std430 offset=0) buffer 3-component vector of float)
0:119 'anon@0' (layout( column_major std430 shaderRecordNV) buffer block{layout( column_major std430 offset=0) buffer 3-component vector of float dir, layout( column_major std430 offset=16) buffer 3-component vector of float origin})
0:119 Constant:
0:119 0 (const uint)
0:119 Constant:
0:119 0.750000
0:119 Constant:
0:119 1 (const int)
0:? Linker Objects
0:? 'accNV0' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'accNV1' (layout( set=0 binding=1) uniform accelerationStructureNV)
0:? 'payload' (layout( location=0) rayPayloadNV 4-component vector of float)
0:? 'anon@0' (layout( column_major std430 shaderRecordNV) buffer block{layout( column_major std430 offset=0) buffer 3-component vector of float dir, layout( column_major std430 offset=16) buffer 3-component vector of float origin})

View File

@@ -0,0 +1,749 @@
glsl.460.subgroup.rint
ERROR: 0:8: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:15: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:16: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:17: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:19: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:20: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:23: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:36: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:39: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:40: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:41: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:44: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:63: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:66: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:71: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:74: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:76: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:79: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:5 Function Parameters:
0:5 'f4' ( in 4-component vector of float)
0:? Sequence
0:8 'gl_SubgroupSize' ( in uint SubgroupSize)
0:9 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:10 subgroupBarrier ( global void)
0:11 subgroupMemoryBarrier ( global void)
0:12 subgroupMemoryBarrierBuffer ( global void)
0:13 subgroupMemoryBarrierImage ( global void)
0:14 subgroupElect ( global bool)
0:15 'gl_NumSubgroups' ( temp float)
0:16 'gl_SubgroupID' ( temp float)
0:17 Constant:
0:17 0.000000
0:19 subgroupAll ( global bool)
0:19 Constant:
0:19 true (const bool)
0:20 subgroupAny ( global bool)
0:20 Constant:
0:20 false (const bool)
0:21 subgroupAllEqual ( global bool)
0:21 'f4' ( in 4-component vector of float)
0:23 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:24 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:25 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:26 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:27 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:28 subgroupBroadcast ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:28 Constant:
0:28 0 (const uint)
0:29 subgroupBroadcastFirst ( global 4-component vector of float)
0:29 'f4' ( in 4-component vector of float)
0:30 Sequence
0:30 move second child to first child ( temp 4-component vector of uint)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 subgroupBallot ( global 4-component vector of uint)
0:30 Constant:
0:30 false (const bool)
0:31 subgroupInverseBallot ( global bool)
0:31 Constant:
0:31 1 (const uint)
0:31 1 (const uint)
0:31 1 (const uint)
0:31 1 (const uint)
0:32 subgroupBallotBitExtract ( global bool)
0:32 'ballot' ( temp 4-component vector of uint)
0:32 Constant:
0:32 0 (const uint)
0:33 subgroupBallotBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotInclusiveBitCount ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotExclusiveBitCount ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:36 subgroupBallotFindLSB ( global uint)
0:36 'ballot' ( temp 4-component vector of uint)
0:37 subgroupBallotFindMSB ( global uint)
0:37 'ballot' ( temp 4-component vector of uint)
0:39 subgroupShuffle ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 0 (const uint)
0:40 subgroupShuffleXor ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:41 subgroupShuffleUp ( global 4-component vector of float)
0:41 'f4' ( in 4-component vector of float)
0:41 Constant:
0:41 1 (const uint)
0:42 subgroupShuffleDown ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:42 Constant:
0:42 1 (const uint)
0:44 move second child to first child ( temp 4-component vector of float)
0:44 'result' ( temp 4-component vector of float)
0:44 subgroupAdd ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMul ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupMin ( global 4-component vector of float)
0:46 'f4' ( in 4-component vector of float)
0:47 subgroupMax ( global 4-component vector of float)
0:47 'f4' ( in 4-component vector of float)
0:48 subgroupAnd ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupOr ( global 4-component vector of uint)
0:49 'ballot' ( temp 4-component vector of uint)
0:50 subgroupXor ( global 4-component vector of uint)
0:50 'ballot' ( temp 4-component vector of uint)
0:51 subgroupInclusiveAdd ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMul ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveMin ( global 4-component vector of float)
0:53 'f4' ( in 4-component vector of float)
0:54 subgroupInclusiveMax ( global 4-component vector of float)
0:54 'f4' ( in 4-component vector of float)
0:55 subgroupInclusiveAnd ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupInclusiveOr ( global 4-component vector of uint)
0:56 'ballot' ( temp 4-component vector of uint)
0:57 subgroupInclusiveXor ( global 4-component vector of uint)
0:57 'ballot' ( temp 4-component vector of uint)
0:58 subgroupExclusiveAdd ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMul ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveMin ( global 4-component vector of float)
0:60 'f4' ( in 4-component vector of float)
0:61 subgroupExclusiveMax ( global 4-component vector of float)
0:61 'f4' ( in 4-component vector of float)
0:62 subgroupExclusiveAnd ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:63 subgroupExclusiveOr ( global 4-component vector of uint)
0:63 'ballot' ( temp 4-component vector of uint)
0:64 subgroupExclusiveXor ( global 4-component vector of uint)
0:64 'ballot' ( temp 4-component vector of uint)
0:66 subgroupClusteredAdd ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMul ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredMin ( global 4-component vector of float)
0:68 'f4' ( in 4-component vector of float)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredMax ( global 4-component vector of float)
0:69 'f4' ( in 4-component vector of float)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredAnd ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:71 subgroupClusteredOr ( global 4-component vector of uint)
0:71 'ballot' ( temp 4-component vector of uint)
0:71 Constant:
0:71 2 (const uint)
0:72 subgroupClusteredXor ( global 4-component vector of uint)
0:72 'ballot' ( temp 4-component vector of uint)
0:72 Constant:
0:72 2 (const uint)
0:74 subgroupQuadBroadcast ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:74 Constant:
0:74 0 (const uint)
0:75 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:76 subgroupQuadSwapVertical ( global 4-component vector of float)
0:76 'f4' ( in 4-component vector of float)
0:77 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:77 'f4' ( in 4-component vector of float)
0:79 Sequence
0:79 move second child to first child ( temp 4-component vector of uint)
0:79 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionNV ( global 4-component vector of uint)
0:79 'f4' ( in 4-component vector of float)
0:80 subgroupPartitionedAddNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMulNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedMinNV ( global 4-component vector of float)
0:82 'f4' ( in 4-component vector of float)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:83 'f4' ( in 4-component vector of float)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:85 'ballot' ( temp 4-component vector of uint)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:86 'ballot' ( temp 4-component vector of uint)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:89 'f4' ( in 4-component vector of float)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:90 'f4' ( in 4-component vector of float)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:92 'ballot' ( temp 4-component vector of uint)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:93 'ballot' ( temp 4-component vector of uint)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:96 'f4' ( in 4-component vector of float)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:97 'f4' ( in 4-component vector of float)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:99 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:99 'ballot' ( temp 4-component vector of uint)
0:99 'parti' ( temp 4-component vector of uint)
0:100 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:100 'ballot' ( temp 4-component vector of uint)
0:100 'parti' ( temp 4-component vector of uint)
0:102 Branch: Return with expression
0:102 'result' ( temp 4-component vector of float)
0:108 Function Definition: main( ( global void)
0:108 Function Parameters:
0:110 Sequence
0:110 Sequence
0:110 move second child to first child ( temp 3-component vector of uint)
0:110 'v0' ( temp 3-component vector of uint)
0:110 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'v1' ( temp 3-component vector of uint)
0:111 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:112 Sequence
0:112 move second child to first child ( temp int)
0:112 'v2' ( temp int)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:113 Sequence
0:113 move second child to first child ( temp int)
0:113 'v3' ( temp int)
0:113 'gl_InstanceID' ( in int InstanceId)
0:114 Sequence
0:114 move second child to first child ( temp int)
0:114 'v4' ( temp int)
0:114 'gl_InstanceCustomIndexNV' ( in int InstanceCustomIndexNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v5' ( temp 3-component vector of float)
0:115 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v6' ( temp 3-component vector of float)
0:116 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp 3-component vector of float)
0:117 'v7' ( temp 3-component vector of float)
0:117 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:118 Sequence
0:118 move second child to first child ( temp 3-component vector of float)
0:118 'v8' ( temp 3-component vector of float)
0:118 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:119 Sequence
0:119 move second child to first child ( temp float)
0:119 'v9' ( temp float)
0:119 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:120 Sequence
0:120 move second child to first child ( temp float)
0:120 'v10' ( temp float)
0:120 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:121 Sequence
0:121 move second child to first child ( temp 4X3 matrix of float)
0:121 'v11' ( temp 4X3 matrix of float)
0:121 'gl_ObjectToWorldNV' ( in 4X3 matrix of float ObjectToWorldNV)
0:122 Sequence
0:122 move second child to first child ( temp 4X3 matrix of float)
0:122 'v12' ( temp 4X3 matrix of float)
0:122 'gl_WorldToObjectNV' ( in 4X3 matrix of float WorldToObjectNV)
0:123 move second child to first child ( temp 4-component vector of float)
0:123 'iAttr' ( hitAttributeNV 4-component vector of float)
0:123 Constant:
0:123 0.500000
0:123 0.500000
0:123 0.000000
0:123 1.000000
0:124 reportIntersectionNV ( global bool)
0:124 Constant:
0:124 0.500000
0:124 Constant:
0:124 1 (const uint)
0:129 Function Definition: basic_works( ( global void)
0:129 Function Parameters:
0:131 Sequence
0:131 'gl_SubgroupSize' ( in uint SubgroupSize)
0:132 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:133 subgroupBarrier ( global void)
0:134 subgroupMemoryBarrier ( global void)
0:135 subgroupMemoryBarrierBuffer ( global void)
0:136 subgroupMemoryBarrierImage ( global void)
0:137 subgroupElect ( global bool)
0:141 Function Definition: ballot_works(vf4; ( global void)
0:141 Function Parameters:
0:141 'f4' ( in 4-component vector of float)
0:142 Sequence
0:142 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:143 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:144 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:145 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:146 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:147 subgroupBroadcast ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
0:147 0 (const uint)
0:148 subgroupBroadcastFirst ( global 4-component vector of float)
0:148 'f4' ( in 4-component vector of float)
0:149 Sequence
0:149 move second child to first child ( temp 4-component vector of uint)
0:149 'ballot' ( temp 4-component vector of uint)
0:149 subgroupBallot ( global 4-component vector of uint)
0:149 Constant:
0:149 false (const bool)
0:150 subgroupInverseBallot ( global bool)
0:150 Constant:
0:150 1 (const uint)
0:150 1 (const uint)
0:150 1 (const uint)
0:150 1 (const uint)
0:151 subgroupBallotBitExtract ( global bool)
0:151 'ballot' ( temp 4-component vector of uint)
0:151 Constant:
0:151 0 (const uint)
0:152 subgroupBallotBitCount ( global uint)
0:152 'ballot' ( temp 4-component vector of uint)
0:153 subgroupBallotInclusiveBitCount ( global uint)
0:153 'ballot' ( temp 4-component vector of uint)
0:154 subgroupBallotExclusiveBitCount ( global uint)
0:154 'ballot' ( temp 4-component vector of uint)
0:155 subgroupBallotFindLSB ( global uint)
0:155 'ballot' ( temp 4-component vector of uint)
0:156 subgroupBallotFindMSB ( global uint)
0:156 'ballot' ( temp 4-component vector of uint)
0:160 Function Definition: vote_works(vf4; ( global void)
0:160 Function Parameters:
0:160 'f4' ( in 4-component vector of float)
0:162 Sequence
0:162 subgroupAll ( global bool)
0:162 Constant:
0:162 true (const bool)
0:163 subgroupAny ( global bool)
0:163 Constant:
0:163 false (const bool)
0:164 subgroupAllEqual ( global bool)
0:164 'f4' ( in 4-component vector of float)
0:169 Function Definition: shuffle_works(vf4; ( global void)
0:169 Function Parameters:
0:169 'f4' ( in 4-component vector of float)
0:171 Sequence
0:171 subgroupShuffle ( global 4-component vector of float)
0:171 'f4' ( in 4-component vector of float)
0:171 Constant:
0:171 0 (const uint)
0:172 subgroupShuffleXor ( global 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:172 Constant:
0:172 1 (const uint)
0:173 subgroupShuffleUp ( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:173 Constant:
0:173 1 (const uint)
0:174 subgroupShuffleDown ( global 4-component vector of float)
0:174 'f4' ( in 4-component vector of float)
0:174 Constant:
0:174 1 (const uint)
0:178 Function Definition: arith_works(vf4; ( global void)
0:178 Function Parameters:
0:178 'f4' ( in 4-component vector of float)
0:? Sequence
0:181 subgroupAdd ( global 4-component vector of float)
0:181 'f4' ( in 4-component vector of float)
0:182 subgroupMul ( global 4-component vector of float)
0:182 'f4' ( in 4-component vector of float)
0:183 subgroupMin ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:184 subgroupMax ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:185 subgroupAnd ( global 4-component vector of uint)
0:185 'ballot' ( temp 4-component vector of uint)
0:186 subgroupOr ( global 4-component vector of uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:187 subgroupXor ( global 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:188 subgroupInclusiveAdd ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:189 subgroupInclusiveMul ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:190 subgroupInclusiveMin ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:191 subgroupInclusiveMax ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:192 subgroupInclusiveAnd ( global 4-component vector of uint)
0:192 'ballot' ( temp 4-component vector of uint)
0:193 subgroupInclusiveOr ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:194 subgroupInclusiveXor ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:195 subgroupExclusiveAdd ( global 4-component vector of float)
0:195 'f4' ( in 4-component vector of float)
0:196 subgroupExclusiveMul ( global 4-component vector of float)
0:196 'f4' ( in 4-component vector of float)
0:197 subgroupExclusiveMin ( global 4-component vector of float)
0:197 'f4' ( in 4-component vector of float)
0:198 subgroupExclusiveMax ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:199 subgroupExclusiveAnd ( global 4-component vector of uint)
0:199 'ballot' ( temp 4-component vector of uint)
0:200 subgroupExclusiveOr ( global 4-component vector of uint)
0:200 'ballot' ( temp 4-component vector of uint)
0:201 subgroupExclusiveXor ( global 4-component vector of uint)
0:201 'ballot' ( temp 4-component vector of uint)
0:205 Function Definition: clustered_works(vf4; ( global void)
0:205 Function Parameters:
0:205 'f4' ( in 4-component vector of float)
0:207 Sequence
0:207 Sequence
0:207 move second child to first child ( temp 4-component vector of uint)
0:207 'ballot' ( temp 4-component vector of uint)
0:207 Constant:
0:207 85 (const uint)
0:207 0 (const uint)
0:207 0 (const uint)
0:207 0 (const uint)
0:208 subgroupClusteredAdd ( global 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:208 Constant:
0:208 2 (const uint)
0:209 subgroupClusteredMul ( global 4-component vector of float)
0:209 'f4' ( in 4-component vector of float)
0:209 Constant:
0:209 2 (const uint)
0:210 subgroupClusteredMin ( global 4-component vector of float)
0:210 'f4' ( in 4-component vector of float)
0:210 Constant:
0:210 2 (const uint)
0:211 subgroupClusteredMax ( global 4-component vector of float)
0:211 'f4' ( in 4-component vector of float)
0:211 Constant:
0:211 2 (const uint)
0:212 subgroupClusteredAnd ( global 4-component vector of uint)
0:212 'ballot' ( temp 4-component vector of uint)
0:212 Constant:
0:212 2 (const uint)
0:213 subgroupClusteredOr ( global 4-component vector of uint)
0:213 'ballot' ( temp 4-component vector of uint)
0:213 Constant:
0:213 2 (const uint)
0:214 subgroupClusteredXor ( global 4-component vector of uint)
0:214 'ballot' ( temp 4-component vector of uint)
0:214 Constant:
0:214 2 (const uint)
0:218 Function Definition: quad_works(vf4; ( global void)
0:218 Function Parameters:
0:218 'f4' ( in 4-component vector of float)
0:220 Sequence
0:220 subgroupQuadBroadcast ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 Constant:
0:220 0 (const uint)
0:221 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:222 subgroupQuadSwapVertical ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:223 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:223 'f4' ( in 4-component vector of float)
0:227 Function Definition: partitioned_works(vf4; ( global void)
0:227 Function Parameters:
0:227 'f4' ( in 4-component vector of float)
0:229 Sequence
0:229 Sequence
0:229 move second child to first child ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionNV ( global 4-component vector of uint)
0:229 'f4' ( in 4-component vector of float)
0:230 Sequence
0:230 move second child to first child ( temp 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint)
0:230 Constant:
0:230 85 (const uint)
0:230 0 (const uint)
0:230 0 (const uint)
0:230 0 (const uint)
0:231 subgroupPartitionedAddNV ( global 4-component vector of float)
0:231 'f4' ( in 4-component vector of float)
0:231 'parti' ( temp 4-component vector of uint)
0:232 subgroupPartitionedMulNV ( global 4-component vector of float)
0:232 'f4' ( in 4-component vector of float)
0:232 'parti' ( temp 4-component vector of uint)
0:233 subgroupPartitionedMinNV ( global 4-component vector of float)
0:233 'f4' ( in 4-component vector of float)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:234 'f4' ( in 4-component vector of float)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:235 'ballot' ( temp 4-component vector of uint)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedOrNV ( 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:237 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:237 'ballot' ( temp 4-component vector of uint)
0:237 'parti' ( temp 4-component vector of uint)
0:238 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:238 'f4' ( in 4-component vector of float)
0:238 'parti' ( temp 4-component vector of uint)
0:239 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:239 'f4' ( in 4-component vector of float)
0:239 'parti' ( temp 4-component vector of uint)
0:240 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:240 'f4' ( in 4-component vector of float)
0:240 'parti' ( temp 4-component vector of uint)
0:241 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:241 'f4' ( in 4-component vector of float)
0:241 'parti' ( temp 4-component vector of uint)
0:242 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:242 'ballot' ( temp 4-component vector of uint)
0:242 'parti' ( temp 4-component vector of uint)
0:243 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:243 'ballot' ( temp 4-component vector of uint)
0:243 'parti' ( temp 4-component vector of uint)
0:244 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:244 'ballot' ( temp 4-component vector of uint)
0:244 'parti' ( temp 4-component vector of uint)
0:245 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:245 'f4' ( in 4-component vector of float)
0:245 'parti' ( temp 4-component vector of uint)
0:246 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:246 'f4' ( in 4-component vector of float)
0:246 'parti' ( temp 4-component vector of uint)
0:247 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:247 'f4' ( in 4-component vector of float)
0:247 'parti' ( temp 4-component vector of uint)
0:248 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:248 'f4' ( in 4-component vector of float)
0:248 'parti' ( temp 4-component vector of uint)
0:249 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:249 'ballot' ( temp 4-component vector of uint)
0:249 'parti' ( temp 4-component vector of uint)
0:250 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:250 'ballot' ( temp 4-component vector of uint)
0:250 'parti' ( temp 4-component vector of uint)
0:251 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:251 'ballot' ( temp 4-component vector of uint)
0:251 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'iAttr' ( hitAttributeNV 4-component vector of float)
Linked intersection stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:108 Function Definition: main( ( global void)
0:108 Function Parameters:
0:110 Sequence
0:110 Sequence
0:110 move second child to first child ( temp 3-component vector of uint)
0:110 'v0' ( temp 3-component vector of uint)
0:110 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'v1' ( temp 3-component vector of uint)
0:111 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:112 Sequence
0:112 move second child to first child ( temp int)
0:112 'v2' ( temp int)
0:112 'gl_PrimitiveID' ( in int PrimitiveID)
0:113 Sequence
0:113 move second child to first child ( temp int)
0:113 'v3' ( temp int)
0:113 'gl_InstanceID' ( in int InstanceId)
0:114 Sequence
0:114 move second child to first child ( temp int)
0:114 'v4' ( temp int)
0:114 'gl_InstanceCustomIndexNV' ( in int InstanceCustomIndexNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v5' ( temp 3-component vector of float)
0:115 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v6' ( temp 3-component vector of float)
0:116 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp 3-component vector of float)
0:117 'v7' ( temp 3-component vector of float)
0:117 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:118 Sequence
0:118 move second child to first child ( temp 3-component vector of float)
0:118 'v8' ( temp 3-component vector of float)
0:118 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:119 Sequence
0:119 move second child to first child ( temp float)
0:119 'v9' ( temp float)
0:119 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:120 Sequence
0:120 move second child to first child ( temp float)
0:120 'v10' ( temp float)
0:120 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:121 Sequence
0:121 move second child to first child ( temp 4X3 matrix of float)
0:121 'v11' ( temp 4X3 matrix of float)
0:121 'gl_ObjectToWorldNV' ( in 4X3 matrix of float ObjectToWorldNV)
0:122 Sequence
0:122 move second child to first child ( temp 4X3 matrix of float)
0:122 'v12' ( temp 4X3 matrix of float)
0:122 'gl_WorldToObjectNV' ( in 4X3 matrix of float WorldToObjectNV)
0:123 move second child to first child ( temp 4-component vector of float)
0:123 'iAttr' ( hitAttributeNV 4-component vector of float)
0:123 Constant:
0:123 0.500000
0:123 0.500000
0:123 0.000000
0:123 1.000000
0:124 reportIntersectionNV ( global bool)
0:124 Constant:
0:124 0.500000
0:124 Constant:
0:124 1 (const uint)
0:? Linker Objects
0:? 'iAttr' ( hitAttributeNV 4-component vector of float)

View File

@@ -0,0 +1,741 @@
glsl.460.subgroup.rmiss
ERROR: 0:8: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:15: 'gl_NumSubgroups' : undeclared identifier
ERROR: 0:16: 'gl_SubgroupID' : undeclared identifier
ERROR: 0:17: 'subgroupMemoryBarrierShared' : no matching overloaded function found
ERROR: 0:19: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:20: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:23: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:36: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:39: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:40: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:41: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:44: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:63: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:66: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:71: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:74: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:76: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:79: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:5 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:5 Function Parameters:
0:5 'f4' ( in 4-component vector of float)
0:? Sequence
0:8 'gl_SubgroupSize' ( in uint SubgroupSize)
0:9 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:10 subgroupBarrier ( global void)
0:11 subgroupMemoryBarrier ( global void)
0:12 subgroupMemoryBarrierBuffer ( global void)
0:13 subgroupMemoryBarrierImage ( global void)
0:14 subgroupElect ( global bool)
0:15 'gl_NumSubgroups' ( temp float)
0:16 'gl_SubgroupID' ( temp float)
0:17 Constant:
0:17 0.000000
0:19 subgroupAll ( global bool)
0:19 Constant:
0:19 true (const bool)
0:20 subgroupAny ( global bool)
0:20 Constant:
0:20 false (const bool)
0:21 subgroupAllEqual ( global bool)
0:21 'f4' ( in 4-component vector of float)
0:23 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:24 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:25 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:26 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:27 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:28 subgroupBroadcast ( global 4-component vector of float)
0:28 'f4' ( in 4-component vector of float)
0:28 Constant:
0:28 0 (const uint)
0:29 subgroupBroadcastFirst ( global 4-component vector of float)
0:29 'f4' ( in 4-component vector of float)
0:30 Sequence
0:30 move second child to first child ( temp 4-component vector of uint)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 subgroupBallot ( global 4-component vector of uint)
0:30 Constant:
0:30 false (const bool)
0:31 subgroupInverseBallot ( global bool)
0:31 Constant:
0:31 1 (const uint)
0:31 1 (const uint)
0:31 1 (const uint)
0:31 1 (const uint)
0:32 subgroupBallotBitExtract ( global bool)
0:32 'ballot' ( temp 4-component vector of uint)
0:32 Constant:
0:32 0 (const uint)
0:33 subgroupBallotBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotInclusiveBitCount ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotExclusiveBitCount ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:36 subgroupBallotFindLSB ( global uint)
0:36 'ballot' ( temp 4-component vector of uint)
0:37 subgroupBallotFindMSB ( global uint)
0:37 'ballot' ( temp 4-component vector of uint)
0:39 subgroupShuffle ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 0 (const uint)
0:40 subgroupShuffleXor ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:41 subgroupShuffleUp ( global 4-component vector of float)
0:41 'f4' ( in 4-component vector of float)
0:41 Constant:
0:41 1 (const uint)
0:42 subgroupShuffleDown ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:42 Constant:
0:42 1 (const uint)
0:44 move second child to first child ( temp 4-component vector of float)
0:44 'result' ( temp 4-component vector of float)
0:44 subgroupAdd ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMul ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupMin ( global 4-component vector of float)
0:46 'f4' ( in 4-component vector of float)
0:47 subgroupMax ( global 4-component vector of float)
0:47 'f4' ( in 4-component vector of float)
0:48 subgroupAnd ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupOr ( global 4-component vector of uint)
0:49 'ballot' ( temp 4-component vector of uint)
0:50 subgroupXor ( global 4-component vector of uint)
0:50 'ballot' ( temp 4-component vector of uint)
0:51 subgroupInclusiveAdd ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMul ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveMin ( global 4-component vector of float)
0:53 'f4' ( in 4-component vector of float)
0:54 subgroupInclusiveMax ( global 4-component vector of float)
0:54 'f4' ( in 4-component vector of float)
0:55 subgroupInclusiveAnd ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupInclusiveOr ( global 4-component vector of uint)
0:56 'ballot' ( temp 4-component vector of uint)
0:57 subgroupInclusiveXor ( global 4-component vector of uint)
0:57 'ballot' ( temp 4-component vector of uint)
0:58 subgroupExclusiveAdd ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMul ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveMin ( global 4-component vector of float)
0:60 'f4' ( in 4-component vector of float)
0:61 subgroupExclusiveMax ( global 4-component vector of float)
0:61 'f4' ( in 4-component vector of float)
0:62 subgroupExclusiveAnd ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:63 subgroupExclusiveOr ( global 4-component vector of uint)
0:63 'ballot' ( temp 4-component vector of uint)
0:64 subgroupExclusiveXor ( global 4-component vector of uint)
0:64 'ballot' ( temp 4-component vector of uint)
0:66 subgroupClusteredAdd ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMul ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredMin ( global 4-component vector of float)
0:68 'f4' ( in 4-component vector of float)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredMax ( global 4-component vector of float)
0:69 'f4' ( in 4-component vector of float)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredAnd ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:71 subgroupClusteredOr ( global 4-component vector of uint)
0:71 'ballot' ( temp 4-component vector of uint)
0:71 Constant:
0:71 2 (const uint)
0:72 subgroupClusteredXor ( global 4-component vector of uint)
0:72 'ballot' ( temp 4-component vector of uint)
0:72 Constant:
0:72 2 (const uint)
0:74 subgroupQuadBroadcast ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:74 Constant:
0:74 0 (const uint)
0:75 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:76 subgroupQuadSwapVertical ( global 4-component vector of float)
0:76 'f4' ( in 4-component vector of float)
0:77 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:77 'f4' ( in 4-component vector of float)
0:79 Sequence
0:79 move second child to first child ( temp 4-component vector of uint)
0:79 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionNV ( global 4-component vector of uint)
0:79 'f4' ( in 4-component vector of float)
0:80 subgroupPartitionedAddNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMulNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedMinNV ( global 4-component vector of float)
0:82 'f4' ( in 4-component vector of float)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:83 'f4' ( in 4-component vector of float)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:85 'ballot' ( temp 4-component vector of uint)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:86 'ballot' ( temp 4-component vector of uint)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:89 'f4' ( in 4-component vector of float)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:90 'f4' ( in 4-component vector of float)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:92 'ballot' ( temp 4-component vector of uint)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:93 'ballot' ( temp 4-component vector of uint)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:96 'f4' ( in 4-component vector of float)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:97 'f4' ( in 4-component vector of float)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:99 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:99 'ballot' ( temp 4-component vector of uint)
0:99 'parti' ( temp 4-component vector of uint)
0:100 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:100 'ballot' ( temp 4-component vector of uint)
0:100 'parti' ( temp 4-component vector of uint)
0:102 Branch: Return with expression
0:102 'result' ( temp 4-component vector of float)
0:109 Function Definition: main( ( global void)
0:109 Function Parameters:
0:111 Sequence
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'v0' ( temp 3-component vector of uint)
0:111 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:112 Sequence
0:112 move second child to first child ( temp 3-component vector of uint)
0:112 'v1' ( temp 3-component vector of uint)
0:112 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:113 Sequence
0:113 move second child to first child ( temp 3-component vector of float)
0:113 'v2' ( temp 3-component vector of float)
0:113 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:114 Sequence
0:114 move second child to first child ( temp 3-component vector of float)
0:114 'v3' ( temp 3-component vector of float)
0:114 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v4' ( temp 3-component vector of float)
0:115 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v5' ( temp 3-component vector of float)
0:116 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp float)
0:117 'v6' ( temp float)
0:117 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:118 Sequence
0:118 move second child to first child ( temp float)
0:118 'v7' ( temp float)
0:118 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:119 traceNV ( global void)
0:119 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:119 Constant:
0:119 0 (const uint)
0:119 Constant:
0:119 1 (const uint)
0:119 Constant:
0:119 2 (const uint)
0:119 Constant:
0:119 3 (const uint)
0:119 Constant:
0:119 0 (const uint)
0:119 Constant:
0:119 0.500000
0:119 0.500000
0:119 0.500000
0:119 Constant:
0:119 0.500000
0:119 Constant:
0:119 1.000000
0:119 1.000000
0:119 1.000000
0:119 Constant:
0:119 0.750000
0:119 Constant:
0:119 1 (const int)
0:123 Function Definition: basic_works( ( global void)
0:123 Function Parameters:
0:125 Sequence
0:125 'gl_SubgroupSize' ( in uint SubgroupSize)
0:126 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:127 subgroupBarrier ( global void)
0:128 subgroupMemoryBarrier ( global void)
0:129 subgroupMemoryBarrierBuffer ( global void)
0:130 subgroupMemoryBarrierImage ( global void)
0:131 subgroupElect ( global bool)
0:135 Function Definition: ballot_works(vf4; ( global void)
0:135 Function Parameters:
0:135 'f4' ( in 4-component vector of float)
0:136 Sequence
0:136 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:137 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:138 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:139 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:140 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:141 subgroupBroadcast ( global 4-component vector of float)
0:141 'f4' ( in 4-component vector of float)
0:141 Constant:
0:141 0 (const uint)
0:142 subgroupBroadcastFirst ( global 4-component vector of float)
0:142 'f4' ( in 4-component vector of float)
0:143 Sequence
0:143 move second child to first child ( temp 4-component vector of uint)
0:143 'ballot' ( temp 4-component vector of uint)
0:143 subgroupBallot ( global 4-component vector of uint)
0:143 Constant:
0:143 false (const bool)
0:144 subgroupInverseBallot ( global bool)
0:144 Constant:
0:144 1 (const uint)
0:144 1 (const uint)
0:144 1 (const uint)
0:144 1 (const uint)
0:145 subgroupBallotBitExtract ( global bool)
0:145 'ballot' ( temp 4-component vector of uint)
0:145 Constant:
0:145 0 (const uint)
0:146 subgroupBallotBitCount ( global uint)
0:146 'ballot' ( temp 4-component vector of uint)
0:147 subgroupBallotInclusiveBitCount ( global uint)
0:147 'ballot' ( temp 4-component vector of uint)
0:148 subgroupBallotExclusiveBitCount ( global uint)
0:148 'ballot' ( temp 4-component vector of uint)
0:149 subgroupBallotFindLSB ( global uint)
0:149 'ballot' ( temp 4-component vector of uint)
0:150 subgroupBallotFindMSB ( global uint)
0:150 'ballot' ( temp 4-component vector of uint)
0:154 Function Definition: vote_works(vf4; ( global void)
0:154 Function Parameters:
0:154 'f4' ( in 4-component vector of float)
0:156 Sequence
0:156 subgroupAll ( global bool)
0:156 Constant:
0:156 true (const bool)
0:157 subgroupAny ( global bool)
0:157 Constant:
0:157 false (const bool)
0:158 subgroupAllEqual ( global bool)
0:158 'f4' ( in 4-component vector of float)
0:163 Function Definition: shuffle_works(vf4; ( global void)
0:163 Function Parameters:
0:163 'f4' ( in 4-component vector of float)
0:165 Sequence
0:165 subgroupShuffle ( global 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:165 Constant:
0:165 0 (const uint)
0:166 subgroupShuffleXor ( global 4-component vector of float)
0:166 'f4' ( in 4-component vector of float)
0:166 Constant:
0:166 1 (const uint)
0:167 subgroupShuffleUp ( global 4-component vector of float)
0:167 'f4' ( in 4-component vector of float)
0:167 Constant:
0:167 1 (const uint)
0:168 subgroupShuffleDown ( global 4-component vector of float)
0:168 'f4' ( in 4-component vector of float)
0:168 Constant:
0:168 1 (const uint)
0:172 Function Definition: arith_works(vf4; ( global void)
0:172 Function Parameters:
0:172 'f4' ( in 4-component vector of float)
0:? Sequence
0:175 subgroupAdd ( global 4-component vector of float)
0:175 'f4' ( in 4-component vector of float)
0:176 subgroupMul ( global 4-component vector of float)
0:176 'f4' ( in 4-component vector of float)
0:177 subgroupMin ( global 4-component vector of float)
0:177 'f4' ( in 4-component vector of float)
0:178 subgroupMax ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:179 subgroupAnd ( global 4-component vector of uint)
0:179 'ballot' ( temp 4-component vector of uint)
0:180 subgroupOr ( global 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:181 subgroupXor ( global 4-component vector of uint)
0:181 'ballot' ( temp 4-component vector of uint)
0:182 subgroupInclusiveAdd ( global 4-component vector of float)
0:182 'f4' ( in 4-component vector of float)
0:183 subgroupInclusiveMul ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:184 subgroupInclusiveMin ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:185 subgroupInclusiveMax ( global 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:186 subgroupInclusiveAnd ( global 4-component vector of uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:187 subgroupInclusiveOr ( global 4-component vector of uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:188 subgroupInclusiveXor ( global 4-component vector of uint)
0:188 'ballot' ( temp 4-component vector of uint)
0:189 subgroupExclusiveAdd ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:190 subgroupExclusiveMul ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:191 subgroupExclusiveMin ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:192 subgroupExclusiveMax ( global 4-component vector of float)
0:192 'f4' ( in 4-component vector of float)
0:193 subgroupExclusiveAnd ( global 4-component vector of uint)
0:193 'ballot' ( temp 4-component vector of uint)
0:194 subgroupExclusiveOr ( global 4-component vector of uint)
0:194 'ballot' ( temp 4-component vector of uint)
0:195 subgroupExclusiveXor ( global 4-component vector of uint)
0:195 'ballot' ( temp 4-component vector of uint)
0:199 Function Definition: clustered_works(vf4; ( global void)
0:199 Function Parameters:
0:199 'f4' ( in 4-component vector of float)
0:201 Sequence
0:201 Sequence
0:201 move second child to first child ( temp 4-component vector of uint)
0:201 'ballot' ( temp 4-component vector of uint)
0:201 Constant:
0:201 85 (const uint)
0:201 0 (const uint)
0:201 0 (const uint)
0:201 0 (const uint)
0:202 subgroupClusteredAdd ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:202 Constant:
0:202 2 (const uint)
0:203 subgroupClusteredMul ( global 4-component vector of float)
0:203 'f4' ( in 4-component vector of float)
0:203 Constant:
0:203 2 (const uint)
0:204 subgroupClusteredMin ( global 4-component vector of float)
0:204 'f4' ( in 4-component vector of float)
0:204 Constant:
0:204 2 (const uint)
0:205 subgroupClusteredMax ( global 4-component vector of float)
0:205 'f4' ( in 4-component vector of float)
0:205 Constant:
0:205 2 (const uint)
0:206 subgroupClusteredAnd ( global 4-component vector of uint)
0:206 'ballot' ( temp 4-component vector of uint)
0:206 Constant:
0:206 2 (const uint)
0:207 subgroupClusteredOr ( global 4-component vector of uint)
0:207 'ballot' ( temp 4-component vector of uint)
0:207 Constant:
0:207 2 (const uint)
0:208 subgroupClusteredXor ( global 4-component vector of uint)
0:208 'ballot' ( temp 4-component vector of uint)
0:208 Constant:
0:208 2 (const uint)
0:212 Function Definition: quad_works(vf4; ( global void)
0:212 Function Parameters:
0:212 'f4' ( in 4-component vector of float)
0:214 Sequence
0:214 subgroupQuadBroadcast ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:214 Constant:
0:214 0 (const uint)
0:215 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:215 'f4' ( in 4-component vector of float)
0:216 subgroupQuadSwapVertical ( global 4-component vector of float)
0:216 'f4' ( in 4-component vector of float)
0:217 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:217 'f4' ( in 4-component vector of float)
0:221 Function Definition: partitioned_works(vf4; ( global void)
0:221 Function Parameters:
0:221 'f4' ( in 4-component vector of float)
0:223 Sequence
0:223 Sequence
0:223 move second child to first child ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitionNV ( global 4-component vector of uint)
0:223 'f4' ( in 4-component vector of float)
0:224 Sequence
0:224 move second child to first child ( temp 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 Constant:
0:224 85 (const uint)
0:224 0 (const uint)
0:224 0 (const uint)
0:224 0 (const uint)
0:225 subgroupPartitionedAddNV ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedMulNV ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 'parti' ( temp 4-component vector of uint)
0:227 subgroupPartitionedMinNV ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 'parti' ( temp 4-component vector of uint)
0:228 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 'parti' ( temp 4-component vector of uint)
0:229 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 'parti' ( temp 4-component vector of uint)
0:230 subgroupPartitionedOrNV ( 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:231 subgroupPartitionedXorNV ( 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:232 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:232 'f4' ( in 4-component vector of float)
0:232 'parti' ( temp 4-component vector of uint)
0:233 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:233 'f4' ( in 4-component vector of float)
0:233 'parti' ( temp 4-component vector of uint)
0:234 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:234 'f4' ( in 4-component vector of float)
0:234 'parti' ( temp 4-component vector of uint)
0:235 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:235 'f4' ( in 4-component vector of float)
0:235 'parti' ( temp 4-component vector of uint)
0:236 subgroupPartitionedInclusiveAndNV ( 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:237 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:237 'ballot' ( temp 4-component vector of uint)
0:237 'parti' ( temp 4-component vector of uint)
0:238 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:238 'ballot' ( temp 4-component vector of uint)
0:238 'parti' ( temp 4-component vector of uint)
0:239 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:239 'f4' ( in 4-component vector of float)
0:239 'parti' ( temp 4-component vector of uint)
0:240 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:240 'f4' ( in 4-component vector of float)
0:240 'parti' ( temp 4-component vector of uint)
0:241 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:241 'f4' ( in 4-component vector of float)
0:241 'parti' ( temp 4-component vector of uint)
0:242 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:242 'f4' ( in 4-component vector of float)
0:242 'parti' ( temp 4-component vector of uint)
0:243 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:243 'ballot' ( temp 4-component vector of uint)
0:243 'parti' ( temp 4-component vector of uint)
0:244 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:244 'ballot' ( temp 4-component vector of uint)
0:244 'parti' ( temp 4-component vector of uint)
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint)
0:245 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)
Linked miss stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_ray_tracing
Requested GL_NV_shader_subgroup_partitioned
ERROR: node is still EOpNull!
0:109 Function Definition: main( ( global void)
0:109 Function Parameters:
0:111 Sequence
0:111 Sequence
0:111 move second child to first child ( temp 3-component vector of uint)
0:111 'v0' ( temp 3-component vector of uint)
0:111 'gl_LaunchIDNV' ( in 3-component vector of uint LaunchIdNV)
0:112 Sequence
0:112 move second child to first child ( temp 3-component vector of uint)
0:112 'v1' ( temp 3-component vector of uint)
0:112 'gl_LaunchSizeNV' ( in 3-component vector of uint LaunchSizeNV)
0:113 Sequence
0:113 move second child to first child ( temp 3-component vector of float)
0:113 'v2' ( temp 3-component vector of float)
0:113 'gl_WorldRayOriginNV' ( in 3-component vector of float WorldRayOriginNV)
0:114 Sequence
0:114 move second child to first child ( temp 3-component vector of float)
0:114 'v3' ( temp 3-component vector of float)
0:114 'gl_WorldRayDirectionNV' ( in 3-component vector of float WorldRayDirectionNV)
0:115 Sequence
0:115 move second child to first child ( temp 3-component vector of float)
0:115 'v4' ( temp 3-component vector of float)
0:115 'gl_ObjectRayOriginNV' ( in 3-component vector of float ObjectRayOriginNV)
0:116 Sequence
0:116 move second child to first child ( temp 3-component vector of float)
0:116 'v5' ( temp 3-component vector of float)
0:116 'gl_ObjectRayDirectionNV' ( in 3-component vector of float ObjectRayDirectionNV)
0:117 Sequence
0:117 move second child to first child ( temp float)
0:117 'v6' ( temp float)
0:117 'gl_RayTminNV' ( in float ObjectRayTminNV)
0:118 Sequence
0:118 move second child to first child ( temp float)
0:118 'v7' ( temp float)
0:118 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:119 traceNV ( global void)
0:119 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:119 Constant:
0:119 0 (const uint)
0:119 Constant:
0:119 1 (const uint)
0:119 Constant:
0:119 2 (const uint)
0:119 Constant:
0:119 3 (const uint)
0:119 Constant:
0:119 0 (const uint)
0:119 Constant:
0:119 0.500000
0:119 0.500000
0:119 0.500000
0:119 Constant:
0:119 0.500000
0:119 Constant:
0:119 1.000000
0:119 1.000000
0:119 1.000000
0:119 Constant:
0:119 0.750000
0:119 Constant:
0:119 1 (const int)
0:? Linker Objects
0:? 'accNV' (layout( set=0 binding=0) uniform accelerationStructureNV)
0:? 'localPayload' (layout( location=0) rayPayloadNV 4-component vector of float)
0:? 'incomingPayload' (layout( location=1) rayPayloadInNV 4-component vector of float)

View File

@@ -0,0 +1,903 @@
glsl.460.subgroup.task
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_SubgroupID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:15: 'subgroupMemoryBarrierShared' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 86 compilation errors. No code generated.
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_mesh_shader
Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
0:3 Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3 Function Parameters:
0:3 'f4' ( in 4-component vector of float)
0:? Sequence
0:6 'gl_SubgroupSize' ( in uint SubgroupSize)
0:7 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8 subgroupBarrier ( global void)
0:9 subgroupMemoryBarrier ( global void)
0:10 subgroupMemoryBarrierBuffer ( global void)
0:11 subgroupMemoryBarrierImage ( global void)
0:12 subgroupElect ( global bool)
0:13 'gl_NumSubgroups' ( in uint NumSubgroups)
0:14 'gl_SubgroupID' ( in uint SubgroupID)
0:15 subgroupMemoryBarrierShared ( global void)
0:17 subgroupAll ( global bool)
0:17 Constant:
0:17 true (const bool)
0:18 subgroupAny ( global bool)
0:18 Constant:
0:18 false (const bool)
0:19 subgroupAllEqual ( global bool)
0:19 'f4' ( in 4-component vector of float)
0:21 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26 subgroupBroadcast ( global 4-component vector of float)
0:26 'f4' ( in 4-component vector of float)
0:26 Constant:
0:26 0 (const uint)
0:27 subgroupBroadcastFirst ( global 4-component vector of float)
0:27 'f4' ( in 4-component vector of float)
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of uint)
0:28 'ballot' ( temp 4-component vector of uint)
0:28 subgroupBallot ( global 4-component vector of uint)
0:28 Constant:
0:28 false (const bool)
0:29 subgroupInverseBallot ( global bool)
0:29 Constant:
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:29 1 (const uint)
0:30 subgroupBallotBitExtract ( global bool)
0:30 'ballot' ( temp 4-component vector of uint)
0:30 Constant:
0:30 0 (const uint)
0:31 subgroupBallotBitCount ( global uint)
0:31 'ballot' ( temp 4-component vector of uint)
0:32 subgroupBallotInclusiveBitCount ( global uint)
0:32 'ballot' ( temp 4-component vector of uint)
0:33 subgroupBallotExclusiveBitCount ( global uint)
0:33 'ballot' ( temp 4-component vector of uint)
0:34 subgroupBallotFindLSB ( global uint)
0:34 'ballot' ( temp 4-component vector of uint)
0:35 subgroupBallotFindMSB ( global uint)
0:35 'ballot' ( temp 4-component vector of uint)
0:37 subgroupShuffle ( global 4-component vector of float)
0:37 'f4' ( in 4-component vector of float)
0:37 Constant:
0:37 0 (const uint)
0:38 subgroupShuffleXor ( global 4-component vector of float)
0:38 'f4' ( in 4-component vector of float)
0:38 Constant:
0:38 1 (const uint)
0:39 subgroupShuffleUp ( global 4-component vector of float)
0:39 'f4' ( in 4-component vector of float)
0:39 Constant:
0:39 1 (const uint)
0:40 subgroupShuffleDown ( global 4-component vector of float)
0:40 'f4' ( in 4-component vector of float)
0:40 Constant:
0:40 1 (const uint)
0:42 move second child to first child ( temp 4-component vector of float)
0:42 'result' ( temp 4-component vector of float)
0:42 subgroupAdd ( global 4-component vector of float)
0:42 'f4' ( in 4-component vector of float)
0:43 subgroupMul ( global 4-component vector of float)
0:43 'f4' ( in 4-component vector of float)
0:44 subgroupMin ( global 4-component vector of float)
0:44 'f4' ( in 4-component vector of float)
0:45 subgroupMax ( global 4-component vector of float)
0:45 'f4' ( in 4-component vector of float)
0:46 subgroupAnd ( global 4-component vector of uint)
0:46 'ballot' ( temp 4-component vector of uint)
0:47 subgroupOr ( global 4-component vector of uint)
0:47 'ballot' ( temp 4-component vector of uint)
0:48 subgroupXor ( global 4-component vector of uint)
0:48 'ballot' ( temp 4-component vector of uint)
0:49 subgroupInclusiveAdd ( global 4-component vector of float)
0:49 'f4' ( in 4-component vector of float)
0:50 subgroupInclusiveMul ( global 4-component vector of float)
0:50 'f4' ( in 4-component vector of float)
0:51 subgroupInclusiveMin ( global 4-component vector of float)
0:51 'f4' ( in 4-component vector of float)
0:52 subgroupInclusiveMax ( global 4-component vector of float)
0:52 'f4' ( in 4-component vector of float)
0:53 subgroupInclusiveAnd ( global 4-component vector of uint)
0:53 'ballot' ( temp 4-component vector of uint)
0:54 subgroupInclusiveOr ( global 4-component vector of uint)
0:54 'ballot' ( temp 4-component vector of uint)
0:55 subgroupInclusiveXor ( global 4-component vector of uint)
0:55 'ballot' ( temp 4-component vector of uint)
0:56 subgroupExclusiveAdd ( global 4-component vector of float)
0:56 'f4' ( in 4-component vector of float)
0:57 subgroupExclusiveMul ( global 4-component vector of float)
0:57 'f4' ( in 4-component vector of float)
0:58 subgroupExclusiveMin ( global 4-component vector of float)
0:58 'f4' ( in 4-component vector of float)
0:59 subgroupExclusiveMax ( global 4-component vector of float)
0:59 'f4' ( in 4-component vector of float)
0:60 subgroupExclusiveAnd ( global 4-component vector of uint)
0:60 'ballot' ( temp 4-component vector of uint)
0:61 subgroupExclusiveOr ( global 4-component vector of uint)
0:61 'ballot' ( temp 4-component vector of uint)
0:62 subgroupExclusiveXor ( global 4-component vector of uint)
0:62 'ballot' ( temp 4-component vector of uint)
0:64 subgroupClusteredAdd ( global 4-component vector of float)
0:64 'f4' ( in 4-component vector of float)
0:64 Constant:
0:64 2 (const uint)
0:65 subgroupClusteredMul ( global 4-component vector of float)
0:65 'f4' ( in 4-component vector of float)
0:65 Constant:
0:65 2 (const uint)
0:66 subgroupClusteredMin ( global 4-component vector of float)
0:66 'f4' ( in 4-component vector of float)
0:66 Constant:
0:66 2 (const uint)
0:67 subgroupClusteredMax ( global 4-component vector of float)
0:67 'f4' ( in 4-component vector of float)
0:67 Constant:
0:67 2 (const uint)
0:68 subgroupClusteredAnd ( global 4-component vector of uint)
0:68 'ballot' ( temp 4-component vector of uint)
0:68 Constant:
0:68 2 (const uint)
0:69 subgroupClusteredOr ( global 4-component vector of uint)
0:69 'ballot' ( temp 4-component vector of uint)
0:69 Constant:
0:69 2 (const uint)
0:70 subgroupClusteredXor ( global 4-component vector of uint)
0:70 'ballot' ( temp 4-component vector of uint)
0:70 Constant:
0:70 2 (const uint)
0:72 subgroupQuadBroadcast ( global 4-component vector of float)
0:72 'f4' ( in 4-component vector of float)
0:72 Constant:
0:72 0 (const uint)
0:73 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73 'f4' ( in 4-component vector of float)
0:74 subgroupQuadSwapVertical ( global 4-component vector of float)
0:74 'f4' ( in 4-component vector of float)
0:75 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75 'f4' ( in 4-component vector of float)
0:77 Sequence
0:77 move second child to first child ( temp 4-component vector of uint)
0:77 'parti' ( temp 4-component vector of uint)
0:77 subgroupPartitionNV ( global 4-component vector of uint)
0:77 'f4' ( in 4-component vector of float)
0:78 subgroupPartitionedAddNV ( global 4-component vector of float)
0:78 'f4' ( in 4-component vector of float)
0:78 'parti' ( temp 4-component vector of uint)
0:79 subgroupPartitionedMulNV ( global 4-component vector of float)
0:79 'f4' ( in 4-component vector of float)
0:79 'parti' ( temp 4-component vector of uint)
0:80 subgroupPartitionedMinNV ( global 4-component vector of float)
0:80 'f4' ( in 4-component vector of float)
0:80 'parti' ( temp 4-component vector of uint)
0:81 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81 'f4' ( in 4-component vector of float)
0:81 'parti' ( temp 4-component vector of uint)
0:82 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82 'ballot' ( temp 4-component vector of uint)
0:82 'parti' ( temp 4-component vector of uint)
0:83 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83 'ballot' ( temp 4-component vector of uint)
0:83 'parti' ( temp 4-component vector of uint)
0:84 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84 'ballot' ( temp 4-component vector of uint)
0:84 'parti' ( temp 4-component vector of uint)
0:85 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85 'f4' ( in 4-component vector of float)
0:85 'parti' ( temp 4-component vector of uint)
0:86 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86 'f4' ( in 4-component vector of float)
0:86 'parti' ( temp 4-component vector of uint)
0:87 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87 'f4' ( in 4-component vector of float)
0:87 'parti' ( temp 4-component vector of uint)
0:88 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88 'f4' ( in 4-component vector of float)
0:88 'parti' ( temp 4-component vector of uint)
0:89 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89 'ballot' ( temp 4-component vector of uint)
0:89 'parti' ( temp 4-component vector of uint)
0:90 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90 'ballot' ( temp 4-component vector of uint)
0:90 'parti' ( temp 4-component vector of uint)
0:91 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91 'ballot' ( temp 4-component vector of uint)
0:91 'parti' ( temp 4-component vector of uint)
0:92 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92 'f4' ( in 4-component vector of float)
0:92 'parti' ( temp 4-component vector of uint)
0:93 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93 'f4' ( in 4-component vector of float)
0:93 'parti' ( temp 4-component vector of uint)
0:94 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94 'f4' ( in 4-component vector of float)
0:94 'parti' ( temp 4-component vector of uint)
0:95 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95 'f4' ( in 4-component vector of float)
0:95 'parti' ( temp 4-component vector of uint)
0:96 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96 'ballot' ( temp 4-component vector of uint)
0:96 'parti' ( temp 4-component vector of uint)
0:97 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97 'ballot' ( temp 4-component vector of uint)
0:97 'parti' ( temp 4-component vector of uint)
0:98 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98 'ballot' ( temp 4-component vector of uint)
0:98 'parti' ( temp 4-component vector of uint)
0:100 Branch: Return with expression
0:100 'result' ( temp 4-component vector of float)
0:127 Function Definition: main( ( global void)
0:127 Function Parameters:
0:129 Sequence
0:129 Sequence
0:129 move second child to first child ( temp uint)
0:129 'iid' ( temp uint)
0:129 direct index ( temp uint)
0:129 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:129 Constant:
0:129 0 (const int)
0:130 Sequence
0:130 move second child to first child ( temp uint)
0:130 'gid' ( temp uint)
0:130 direct index ( temp uint)
0:130 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:130 Constant:
0:130 0 (const int)
0:131 Sequence
0:131 move second child to first child ( temp uint)
0:131 'viewID' ( temp uint)
0:131 indirect index ( temp uint MeshViewIndicesNV)
0:131 'gl_MeshViewIndicesNV' ( in 4-element array of uint MeshViewIndicesNV)
0:131 mod ( temp uint)
0:131 'gl_MeshViewCountNV' ( in uint MeshViewCountNV)
0:131 Constant:
0:131 4 (const uint)
0:134 Sequence
0:134 Sequence
0:134 move second child to first child ( temp uint)
0:134 'i' ( temp uint)
0:134 Constant:
0:134 0 (const uint)
0:134 Loop with condition tested first
0:134 Loop Condition
0:134 Compare Less Than ( temp bool)
0:134 'i' ( temp uint)
0:134 Constant:
0:134 10 (const uint)
0:134 Loop Body
0:135 Sequence
0:135 move second child to first child ( temp 4-component vector of float)
0:135 indirect index ( temp 4-component vector of float)
0:135 'mem' ( shared 10-element array of 4-component vector of float)
0:135 'i' ( temp uint)
0:135 Construct vec4 ( temp 4-component vector of float)
0:135 Convert uint to float ( temp float)
0:135 add ( temp uint)
0:135 'i' ( temp uint)
0:135 uni_value: direct index for structure (layout( column_major shared) uniform uint)
0:135 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:135 Constant:
0:135 0 (const uint)
0:134 Loop Terminal Expression
0:134 Pre-Increment ( temp uint)
0:134 'i' ( temp uint)
0:137 imageStore ( global void)
0:137 'uni_image' (layout( binding=0) writeonly uniform image2D)
0:137 Construct ivec2 ( temp 2-component vector of int)
0:137 Convert uint to int ( temp int)
0:137 'iid' ( temp uint)
0:137 indirect index ( temp 4-component vector of float)
0:137 'mem' ( shared 10-element array of 4-component vector of float)
0:137 'gid' ( temp uint)
0:138 imageStore ( global void)
0:138 'uni_image' (layout( binding=0) writeonly uniform image2D)
0:138 Construct ivec2 ( temp 2-component vector of int)
0:138 Convert uint to int ( temp int)
0:138 'iid' ( temp uint)
0:138 indirect index ( temp 4-component vector of float)
0:138 'mem' ( shared 10-element array of 4-component vector of float)
0:138 add ( temp uint)
0:138 'gid' ( temp uint)
0:138 Constant:
0:138 1 (const uint)
0:140 MemoryBarrierShared ( global void)
0:140 Barrier ( global void)
0:144 move second child to first child ( temp 2-component vector of float)
0:144 dummy: direct index for structure (layout( std430 offset=0) taskNV out 2-component vector of float)
0:144 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:144 Constant:
0:144 0 (const int)
0:144 Constant:
0:144 30.000000
0:144 31.000000
0:145 move second child to first child ( temp 2-component vector of float)
0:145 direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:145 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:145 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:145 Constant:
0:145 1 (const int)
0:145 Constant:
0:145 0 (const int)
0:145 Constant:
0:145 32.000000
0:145 33.000000
0:146 move second child to first child ( temp 2-component vector of float)
0:146 direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:146 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:146 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:146 Constant:
0:146 1 (const int)
0:146 Constant:
0:146 1 (const int)
0:146 Constant:
0:146 34.000000
0:146 35.000000
0:147 move second child to first child ( temp 2-component vector of float)
0:147 direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147 Constant:
0:147 1 (const int)
0:147 Constant:
0:147 2 (const int)
0:147 indirect index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147 Constant:
0:147 1 (const int)
0:147 mod ( temp uint)
0:147 'gid' ( temp uint)
0:147 Constant:
0:147 2 (const uint)
0:148 move second child to first child ( temp uint)
0:148 viewID: direct index for structure (layout( std430 offset=32) taskNV out uint)
0:148 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:148 Constant:
0:148 2 (const int)
0:148 'viewID' ( temp uint)
0:150 MemoryBarrierShared ( global void)
0:150 Barrier ( global void)
0:153 move second child to first child ( temp uint)
0:153 'gl_TaskCountNV' ( out uint TaskCountNV)
0:153 Constant:
0:153 3 (const uint)
0:157 Function Definition: basic_works( ( global void)
0:157 Function Parameters:
0:159 Sequence
0:159 'gl_SubgroupSize' ( in uint SubgroupSize)
0:160 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:161 subgroupBarrier ( global void)
0:162 subgroupMemoryBarrier ( global void)
0:163 subgroupMemoryBarrierBuffer ( global void)
0:164 subgroupMemoryBarrierImage ( global void)
0:165 subgroupElect ( global bool)
0:166 'gl_NumSubgroups' ( in uint NumSubgroups)
0:167 'gl_SubgroupID' ( in uint SubgroupID)
0:168 subgroupMemoryBarrierShared ( global void)
0:172 Function Definition: ballot_works(vf4; ( global void)
0:172 Function Parameters:
0:172 'f4' ( in 4-component vector of float)
0:173 Sequence
0:173 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:174 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:175 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:176 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:177 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:178 subgroupBroadcast ( global 4-component vector of float)
0:178 'f4' ( in 4-component vector of float)
0:178 Constant:
0:178 0 (const uint)
0:179 subgroupBroadcastFirst ( global 4-component vector of float)
0:179 'f4' ( in 4-component vector of float)
0:180 Sequence
0:180 move second child to first child ( temp 4-component vector of uint)
0:180 'ballot' ( temp 4-component vector of uint)
0:180 subgroupBallot ( global 4-component vector of uint)
0:180 Constant:
0:180 false (const bool)
0:181 subgroupInverseBallot ( global bool)
0:181 Constant:
0:181 1 (const uint)
0:181 1 (const uint)
0:181 1 (const uint)
0:181 1 (const uint)
0:182 subgroupBallotBitExtract ( global bool)
0:182 'ballot' ( temp 4-component vector of uint)
0:182 Constant:
0:182 0 (const uint)
0:183 subgroupBallotBitCount ( global uint)
0:183 'ballot' ( temp 4-component vector of uint)
0:184 subgroupBallotInclusiveBitCount ( global uint)
0:184 'ballot' ( temp 4-component vector of uint)
0:185 subgroupBallotExclusiveBitCount ( global uint)
0:185 'ballot' ( temp 4-component vector of uint)
0:186 subgroupBallotFindLSB ( global uint)
0:186 'ballot' ( temp 4-component vector of uint)
0:187 subgroupBallotFindMSB ( global uint)
0:187 'ballot' ( temp 4-component vector of uint)
0:191 Function Definition: vote_works(vf4; ( global void)
0:191 Function Parameters:
0:191 'f4' ( in 4-component vector of float)
0:193 Sequence
0:193 subgroupAll ( global bool)
0:193 Constant:
0:193 true (const bool)
0:194 subgroupAny ( global bool)
0:194 Constant:
0:194 false (const bool)
0:195 subgroupAllEqual ( global bool)
0:195 'f4' ( in 4-component vector of float)
0:200 Function Definition: shuffle_works(vf4; ( global void)
0:200 Function Parameters:
0:200 'f4' ( in 4-component vector of float)
0:202 Sequence
0:202 subgroupShuffle ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:202 Constant:
0:202 0 (const uint)
0:203 subgroupShuffleXor ( global 4-component vector of float)
0:203 'f4' ( in 4-component vector of float)
0:203 Constant:
0:203 1 (const uint)
0:204 subgroupShuffleUp ( global 4-component vector of float)
0:204 'f4' ( in 4-component vector of float)
0:204 Constant:
0:204 1 (const uint)
0:205 subgroupShuffleDown ( global 4-component vector of float)
0:205 'f4' ( in 4-component vector of float)
0:205 Constant:
0:205 1 (const uint)
0:209 Function Definition: arith_works(vf4; ( global void)
0:209 Function Parameters:
0:209 'f4' ( in 4-component vector of float)
0:? Sequence
0:212 subgroupAdd ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:213 subgroupMul ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:214 subgroupMin ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:215 subgroupMax ( global 4-component vector of float)
0:215 'f4' ( in 4-component vector of float)
0:216 subgroupAnd ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:217 subgroupOr ( global 4-component vector of uint)
0:217 'ballot' ( temp 4-component vector of uint)
0:218 subgroupXor ( global 4-component vector of uint)
0:218 'ballot' ( temp 4-component vector of uint)
0:219 subgroupInclusiveAdd ( global 4-component vector of float)
0:219 'f4' ( in 4-component vector of float)
0:220 subgroupInclusiveMul ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:221 subgroupInclusiveMin ( global 4-component vector of float)
0:221 'f4' ( in 4-component vector of float)
0:222 subgroupInclusiveMax ( global 4-component vector of float)
0:222 'f4' ( in 4-component vector of float)
0:223 subgroupInclusiveAnd ( global 4-component vector of uint)
0:223 'ballot' ( temp 4-component vector of uint)
0:224 subgroupInclusiveOr ( global 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:225 subgroupInclusiveXor ( global 4-component vector of uint)
0:225 'ballot' ( temp 4-component vector of uint)
0:226 subgroupExclusiveAdd ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:227 subgroupExclusiveMul ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:228 subgroupExclusiveMin ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:229 subgroupExclusiveMax ( global 4-component vector of float)
0:229 'f4' ( in 4-component vector of float)
0:230 subgroupExclusiveAnd ( global 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint)
0:231 subgroupExclusiveOr ( global 4-component vector of uint)
0:231 'ballot' ( temp 4-component vector of uint)
0:232 subgroupExclusiveXor ( global 4-component vector of uint)
0:232 'ballot' ( temp 4-component vector of uint)
0:236 Function Definition: clustered_works(vf4; ( global void)
0:236 Function Parameters:
0:236 'f4' ( in 4-component vector of float)
0:238 Sequence
0:238 Sequence
0:238 move second child to first child ( temp 4-component vector of uint)
0:238 'ballot' ( temp 4-component vector of uint)
0:238 Constant:
0:238 85 (const uint)
0:238 0 (const uint)
0:238 0 (const uint)
0:238 0 (const uint)
0:239 subgroupClusteredAdd ( global 4-component vector of float)
0:239 'f4' ( in 4-component vector of float)
0:239 Constant:
0:239 2 (const uint)
0:240 subgroupClusteredMul ( global 4-component vector of float)
0:240 'f4' ( in 4-component vector of float)
0:240 Constant:
0:240 2 (const uint)
0:241 subgroupClusteredMin ( global 4-component vector of float)
0:241 'f4' ( in 4-component vector of float)
0:241 Constant:
0:241 2 (const uint)
0:242 subgroupClusteredMax ( global 4-component vector of float)
0:242 'f4' ( in 4-component vector of float)
0:242 Constant:
0:242 2 (const uint)
0:243 subgroupClusteredAnd ( global 4-component vector of uint)
0:243 'ballot' ( temp 4-component vector of uint)
0:243 Constant:
0:243 2 (const uint)
0:244 subgroupClusteredOr ( global 4-component vector of uint)
0:244 'ballot' ( temp 4-component vector of uint)
0:244 Constant:
0:244 2 (const uint)
0:245 subgroupClusteredXor ( global 4-component vector of uint)
0:245 'ballot' ( temp 4-component vector of uint)
0:245 Constant:
0:245 2 (const uint)
0:249 Function Definition: quad_works(vf4; ( global void)
0:249 Function Parameters:
0:249 'f4' ( in 4-component vector of float)
0:251 Sequence
0:251 subgroupQuadBroadcast ( global 4-component vector of float)
0:251 'f4' ( in 4-component vector of float)
0:251 Constant:
0:251 0 (const uint)
0:252 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:252 'f4' ( in 4-component vector of float)
0:253 subgroupQuadSwapVertical ( global 4-component vector of float)
0:253 'f4' ( in 4-component vector of float)
0:254 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:254 'f4' ( in 4-component vector of float)
0:258 Function Definition: partitioned_works(vf4; ( global void)
0:258 Function Parameters:
0:258 'f4' ( in 4-component vector of float)
0:260 Sequence
0:260 Sequence
0:260 move second child to first child ( temp 4-component vector of uint)
0:260 'parti' ( temp 4-component vector of uint)
0:260 subgroupPartitionNV ( global 4-component vector of uint)
0:260 'f4' ( in 4-component vector of float)
0:261 Sequence
0:261 move second child to first child ( temp 4-component vector of uint)
0:261 'ballot' ( temp 4-component vector of uint)
0:261 Constant:
0:261 85 (const uint)
0:261 0 (const uint)
0:261 0 (const uint)
0:261 0 (const uint)
0:262 subgroupPartitionedAddNV ( global 4-component vector of float)
0:262 'f4' ( in 4-component vector of float)
0:262 'parti' ( temp 4-component vector of uint)
0:263 subgroupPartitionedMulNV ( global 4-component vector of float)
0:263 'f4' ( in 4-component vector of float)
0:263 'parti' ( temp 4-component vector of uint)
0:264 subgroupPartitionedMinNV ( global 4-component vector of float)
0:264 'f4' ( in 4-component vector of float)
0:264 'parti' ( temp 4-component vector of uint)
0:265 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:265 'f4' ( in 4-component vector of float)
0:265 'parti' ( temp 4-component vector of uint)
0:266 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:266 'ballot' ( temp 4-component vector of uint)
0:266 'parti' ( temp 4-component vector of uint)
0:267 subgroupPartitionedOrNV ( global 4-component vector of uint)
0:267 'ballot' ( temp 4-component vector of uint)
0:267 'parti' ( temp 4-component vector of uint)
0:268 subgroupPartitionedXorNV ( global 4-component vector of uint)
0:268 'ballot' ( temp 4-component vector of uint)
0:268 'parti' ( temp 4-component vector of uint)
0:269 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:269 'f4' ( in 4-component vector of float)
0:269 'parti' ( temp 4-component vector of uint)
0:270 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:270 'f4' ( in 4-component vector of float)
0:270 'parti' ( temp 4-component vector of uint)
0:271 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:271 'f4' ( in 4-component vector of float)
0:271 'parti' ( temp 4-component vector of uint)
0:272 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:272 'f4' ( in 4-component vector of float)
0:272 'parti' ( temp 4-component vector of uint)
0:273 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:273 'ballot' ( temp 4-component vector of uint)
0:273 'parti' ( temp 4-component vector of uint)
0:274 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:274 'ballot' ( temp 4-component vector of uint)
0:274 'parti' ( temp 4-component vector of uint)
0:275 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:275 'ballot' ( temp 4-component vector of uint)
0:275 'parti' ( temp 4-component vector of uint)
0:276 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:276 'f4' ( in 4-component vector of float)
0:276 'parti' ( temp 4-component vector of uint)
0:277 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:277 'f4' ( in 4-component vector of float)
0:277 'parti' ( temp 4-component vector of uint)
0:278 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:278 'f4' ( in 4-component vector of float)
0:278 'parti' ( temp 4-component vector of uint)
0:279 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:279 'f4' ( in 4-component vector of float)
0:279 'parti' ( temp 4-component vector of uint)
0:280 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:280 'ballot' ( temp 4-component vector of uint)
0:280 'parti' ( temp 4-component vector of uint)
0:281 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:281 'ballot' ( temp 4-component vector of uint)
0:281 'parti' ( temp 4-component vector of uint)
0:282 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:282 'ballot' ( temp 4-component vector of uint)
0:282 'parti' ( temp 4-component vector of uint)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 32 (const uint)
0:? 1 (const uint)
0:? 1 (const uint)
0:? 'uni_image' (layout( binding=0) writeonly uniform image2D)
0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:? 'mem' ( shared 10-element array of 4-component vector of float)
0:? 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
Linked task stage:
Shader version: 460
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
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_mesh_shader
Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
0:127 Function Definition: main( ( global void)
0:127 Function Parameters:
0:129 Sequence
0:129 Sequence
0:129 move second child to first child ( temp uint)
0:129 'iid' ( temp uint)
0:129 direct index ( temp uint)
0:129 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:129 Constant:
0:129 0 (const int)
0:130 Sequence
0:130 move second child to first child ( temp uint)
0:130 'gid' ( temp uint)
0:130 direct index ( temp uint)
0:130 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:130 Constant:
0:130 0 (const int)
0:131 Sequence
0:131 move second child to first child ( temp uint)
0:131 'viewID' ( temp uint)
0:131 indirect index ( temp uint MeshViewIndicesNV)
0:131 'gl_MeshViewIndicesNV' ( in 4-element array of uint MeshViewIndicesNV)
0:131 mod ( temp uint)
0:131 'gl_MeshViewCountNV' ( in uint MeshViewCountNV)
0:131 Constant:
0:131 4 (const uint)
0:134 Sequence
0:134 Sequence
0:134 move second child to first child ( temp uint)
0:134 'i' ( temp uint)
0:134 Constant:
0:134 0 (const uint)
0:134 Loop with condition tested first
0:134 Loop Condition
0:134 Compare Less Than ( temp bool)
0:134 'i' ( temp uint)
0:134 Constant:
0:134 10 (const uint)
0:134 Loop Body
0:135 Sequence
0:135 move second child to first child ( temp 4-component vector of float)
0:135 indirect index ( temp 4-component vector of float)
0:135 'mem' ( shared 10-element array of 4-component vector of float)
0:135 'i' ( temp uint)
0:135 Construct vec4 ( temp 4-component vector of float)
0:135 Convert uint to float ( temp float)
0:135 add ( temp uint)
0:135 'i' ( temp uint)
0:135 uni_value: direct index for structure (layout( column_major shared) uniform uint)
0:135 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:135 Constant:
0:135 0 (const uint)
0:134 Loop Terminal Expression
0:134 Pre-Increment ( temp uint)
0:134 'i' ( temp uint)
0:137 imageStore ( global void)
0:137 'uni_image' (layout( binding=0) writeonly uniform image2D)
0:137 Construct ivec2 ( temp 2-component vector of int)
0:137 Convert uint to int ( temp int)
0:137 'iid' ( temp uint)
0:137 indirect index ( temp 4-component vector of float)
0:137 'mem' ( shared 10-element array of 4-component vector of float)
0:137 'gid' ( temp uint)
0:138 imageStore ( global void)
0:138 'uni_image' (layout( binding=0) writeonly uniform image2D)
0:138 Construct ivec2 ( temp 2-component vector of int)
0:138 Convert uint to int ( temp int)
0:138 'iid' ( temp uint)
0:138 indirect index ( temp 4-component vector of float)
0:138 'mem' ( shared 10-element array of 4-component vector of float)
0:138 add ( temp uint)
0:138 'gid' ( temp uint)
0:138 Constant:
0:138 1 (const uint)
0:140 MemoryBarrierShared ( global void)
0:140 Barrier ( global void)
0:144 move second child to first child ( temp 2-component vector of float)
0:144 dummy: direct index for structure (layout( std430 offset=0) taskNV out 2-component vector of float)
0:144 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:144 Constant:
0:144 0 (const int)
0:144 Constant:
0:144 30.000000
0:144 31.000000
0:145 move second child to first child ( temp 2-component vector of float)
0:145 direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:145 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:145 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:145 Constant:
0:145 1 (const int)
0:145 Constant:
0:145 0 (const int)
0:145 Constant:
0:145 32.000000
0:145 33.000000
0:146 move second child to first child ( temp 2-component vector of float)
0:146 direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:146 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:146 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:146 Constant:
0:146 1 (const int)
0:146 Constant:
0:146 1 (const int)
0:146 Constant:
0:146 34.000000
0:146 35.000000
0:147 move second child to first child ( temp 2-component vector of float)
0:147 direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147 Constant:
0:147 1 (const int)
0:147 Constant:
0:147 2 (const int)
0:147 indirect index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147 submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147 Constant:
0:147 1 (const int)
0:147 mod ( temp uint)
0:147 'gid' ( temp uint)
0:147 Constant:
0:147 2 (const uint)
0:148 move second child to first child ( temp uint)
0:148 viewID: direct index for structure (layout( std430 offset=32) taskNV out uint)
0:148 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:148 Constant:
0:148 2 (const int)
0:148 'viewID' ( temp uint)
0:150 MemoryBarrierShared ( global void)
0:150 Barrier ( global void)
0:153 move second child to first child ( temp uint)
0:153 'gl_TaskCountNV' ( out uint TaskCountNV)
0:153 Constant:
0:153 3 (const uint)
0:? Linker Objects
0:? 'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:? 32 (const uint)
0:? 1 (const uint)
0:? 1 (const uint)
0:? 'uni_image' (layout( binding=0) writeonly uniform image2D)
0:? 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:? 'mem' ( shared 10-element array of 4-component vector of float)
0:? 'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})

View File

@@ -8,8 +8,8 @@ Requested GL_KHR_shader_subgroup_basic
0:6 move second child to first child ( temp mediump 4-component vector of uint)
0:6 'data' (layout( location=0) out mediump 4-component vector of uint)
0:6 Construct uvec4 ( temp mediump 4-component vector of uint)
0:6 'gl_SubgroupSize' ( flat in mediump uint unknown built-in variable)
0:6 'gl_SubgroupInvocationID' ( flat in mediump uint unknown built-in variable)
0:6 'gl_SubgroupSize' ( flat in mediump uint SubgroupSize)
0:6 'gl_SubgroupInvocationID' ( flat in mediump uint SubgroupInvocationID)
0:6 Constant:
0:6 0 (const uint)
0:6 Constant:
@@ -30,8 +30,8 @@ Requested GL_KHR_shader_subgroup_basic
0:6 move second child to first child ( temp mediump 4-component vector of uint)
0:6 'data' (layout( location=0) out mediump 4-component vector of uint)
0:6 Construct uvec4 ( temp mediump 4-component vector of uint)
0:6 'gl_SubgroupSize' ( flat in mediump uint unknown built-in variable)
0:6 'gl_SubgroupInvocationID' ( flat in mediump uint unknown built-in variable)
0:6 'gl_SubgroupSize' ( flat in mediump uint SubgroupSize)
0:6 'gl_SubgroupInvocationID' ( flat in mediump uint SubgroupInvocationID)
0:6 Constant:
0:6 0 (const uint)
0:6 Constant:

View File

@@ -17,8 +17,8 @@ output primitive = points
0:12 0 (const uint)
0:12 'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
0:12 Construct uvec4 ( temp highp 4-component vector of uint)
0:12 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:12 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:12 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:12 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:12 Constant:
0:12 0 (const uint)
0:12 Constant:
@@ -48,8 +48,8 @@ output primitive = points
0:12 0 (const uint)
0:12 'gl_PrimitiveIDIn' ( in highp int PrimitiveID)
0:12 Construct uvec4 ( temp highp 4-component vector of uint)
0:12 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:12 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:12 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:12 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:12 Constant:
0:12 0 (const uint)
0:12 Constant:

View File

@@ -14,8 +14,8 @@ vertices = 1
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:
@@ -42,8 +42,8 @@ vertices = 1
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:

View File

@@ -16,8 +16,8 @@ triangle order = none
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:
@@ -46,8 +46,8 @@ triangle order = ccw
0:11 0 (const uint)
0:11 'gl_PrimitiveID' ( in highp int PrimitiveID)
0:11 Construct uvec4 ( temp highp 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
0:11 0 (const uint)
0:11 Constant:

View File

@@ -13,8 +13,8 @@ Requested GL_KHR_shader_subgroup_basic
0:10 0 (const uint)
0:10 'gl_VertexID' ( gl_VertexId highp int VertexId)
0:10 Construct uvec4 ( temp highp 4-component vector of uint)
0:10 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:10 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:10 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:10 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
@@ -42,8 +42,8 @@ Requested GL_KHR_shader_subgroup_basic
0:10 0 (const uint)
0:10 'gl_VertexID' ( gl_VertexId highp int VertexId)
0:10 Construct uvec4 ( temp highp 4-component vector of uint)
0:10 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:10 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:10 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:10 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:

View File

@@ -12,8 +12,8 @@ local_size = (8, 1, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)
@@ -6412,8 +6412,8 @@ local_size = (8, 1, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 Sequence
@@ -23,11 +23,11 @@ local_size = (8, 8, 1)
0:20 add ( temp highp 4-component vector of uint)
0:19 add ( temp highp 4-component vector of uint)
0:18 add ( temp highp 4-component vector of uint)
0:18 'gl_SubgroupEqMask' ( in highp 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupGeMask' ( in highp 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGtMask' ( in highp 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupLeMask' ( in highp 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLtMask' ( in highp 4-component vector of uint unknown built-in variable)
0:18 'gl_SubgroupEqMask' ( in highp 4-component vector of uint SubgroupEqMask)
0:19 'gl_SubgroupGeMask' ( in highp 4-component vector of uint SubgroupGeMask)
0:20 'gl_SubgroupGtMask' ( in highp 4-component vector of uint SubgroupGtMask)
0:21 'gl_SubgroupLeMask' ( in highp 4-component vector of uint SubgroupLeMask)
0:22 'gl_SubgroupLtMask' ( in highp 4-component vector of uint SubgroupLtMask)
0:24 Sequence
0:24 move second child to first child ( temp highp 4-component vector of uint)
0:24 'result' ( temp highp 4-component vector of uint)
@@ -1004,8 +1004,8 @@ local_size = (8, 8, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 Sequence
@@ -1015,11 +1015,11 @@ local_size = (8, 8, 1)
0:20 add ( temp highp 4-component vector of uint)
0:19 add ( temp highp 4-component vector of uint)
0:18 add ( temp highp 4-component vector of uint)
0:18 'gl_SubgroupEqMask' ( in highp 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupGeMask' ( in highp 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGtMask' ( in highp 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupLeMask' ( in highp 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLtMask' ( in highp 4-component vector of uint unknown built-in variable)
0:18 'gl_SubgroupEqMask' ( in highp 4-component vector of uint SubgroupEqMask)
0:19 'gl_SubgroupGeMask' ( in highp 4-component vector of uint SubgroupGeMask)
0:20 'gl_SubgroupGtMask' ( in highp 4-component vector of uint SubgroupGtMask)
0:21 'gl_SubgroupLeMask' ( in highp 4-component vector of uint SubgroupLeMask)
0:22 'gl_SubgroupLtMask' ( in highp 4-component vector of uint SubgroupLtMask)
0:24 Sequence
0:24 move second child to first child ( temp highp 4-component vector of uint)
0:24 'result' ( temp highp 4-component vector of uint)

View File

@@ -16,8 +16,8 @@ ERROR: node is still EOpNull!
0:16 'invocation' ( temp uint)
0:16 mod ( temp uint)
0:16 add ( temp uint)
0:16 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 Sequence
@@ -27,11 +27,11 @@ ERROR: node is still EOpNull!
0:20 add ( temp 4-component vector of uint)
0:19 add ( temp 4-component vector of uint)
0:18 add ( temp 4-component vector of uint)
0:18 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
0:18 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:19 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:20 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:21 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:22 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:24 Sequence
0:24 move second child to first child ( temp 4-component vector of uint)
0:24 'result' ( temp 4-component vector of uint)
@@ -153,8 +153,8 @@ ERROR: node is still EOpNull!
0:16 'invocation' ( temp uint)
0:16 mod ( temp uint)
0:16 add ( temp uint)
0:16 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 Sequence
@@ -164,11 +164,11 @@ ERROR: node is still EOpNull!
0:20 add ( temp 4-component vector of uint)
0:19 add ( temp 4-component vector of uint)
0:18 add ( temp 4-component vector of uint)
0:18 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
0:19 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
0:20 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
0:21 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
0:22 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
0:18 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:19 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:20 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:21 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:22 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:24 Sequence
0:24 move second child to first child ( temp 4-component vector of uint)
0:24 'result' ( temp 4-component vector of uint)

View File

@@ -12,7 +12,7 @@ local_size = (8, 8, 1)
0:14 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:14 Constant:
0:14 0 (const int)
0:14 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:14 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:14 Constant:
0:14 1 (const int)
0:15 move second child to first child ( temp highp int)
@@ -21,7 +21,7 @@ local_size = (8, 8, 1)
0:15 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:15 Constant:
0:15 0 (const int)
0:15 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:15 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:15 Constant:
0:15 1 (const int)
0:16 move second child to first child ( temp highp int)
@@ -30,7 +30,7 @@ local_size = (8, 8, 1)
0:16 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:16 Constant:
0:16 0 (const int)
0:16 'gl_NumSubgroups' ( in highp uint unknown built-in variable)
0:16 'gl_NumSubgroups' ( in highp uint NumSubgroups)
0:16 Constant:
0:16 1 (const int)
0:17 move second child to first child ( temp highp int)
@@ -39,7 +39,7 @@ local_size = (8, 8, 1)
0:17 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:17 Constant:
0:17 0 (const int)
0:17 'gl_SubgroupID' ( in highp uint unknown built-in variable)
0:17 'gl_SubgroupID' ( in highp uint SubgroupID)
0:17 Test condition and select ( temp highp int)
0:17 Condition
0:17 subgroupElect ( global bool)
@@ -78,7 +78,7 @@ local_size = (8, 8, 1)
0:14 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:14 Constant:
0:14 0 (const int)
0:14 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:14 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:14 Constant:
0:14 1 (const int)
0:15 move second child to first child ( temp highp int)
@@ -87,7 +87,7 @@ local_size = (8, 8, 1)
0:15 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:15 Constant:
0:15 0 (const int)
0:15 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:15 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:15 Constant:
0:15 1 (const int)
0:16 move second child to first child ( temp highp int)
@@ -96,7 +96,7 @@ local_size = (8, 8, 1)
0:16 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:16 Constant:
0:16 0 (const int)
0:16 'gl_NumSubgroups' ( in highp uint unknown built-in variable)
0:16 'gl_NumSubgroups' ( in highp uint NumSubgroups)
0:16 Constant:
0:16 1 (const int)
0:17 move second child to first child ( temp highp int)
@@ -105,7 +105,7 @@ local_size = (8, 8, 1)
0:17 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:17 Constant:
0:17 0 (const int)
0:17 'gl_SubgroupID' ( in highp uint unknown built-in variable)
0:17 'gl_SubgroupID' ( in highp uint SubgroupID)
0:17 Test condition and select ( temp highp int)
0:17 Condition
0:17 subgroupElect ( global bool)

View File

@@ -12,8 +12,8 @@ local_size = (8, 1, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)
@@ -2332,8 +2332,8 @@ local_size = (8, 1, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)

View File

@@ -26,8 +26,8 @@ ERROR: node is still EOpNull!
0:19 'invocation' ( temp highp uint)
0:19 mod ( temp mediump uint)
0:19 add ( temp mediump uint)
0:19 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:19 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:19 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:19 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:19 Constant:
0:19 4 (const uint)
0:21 move second child to first child ( temp highp 2-component vector of float)
@@ -325,8 +325,8 @@ ERROR: node is still EOpNull!
0:19 'invocation' ( temp highp uint)
0:19 mod ( temp mediump uint)
0:19 add ( temp mediump uint)
0:19 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:19 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:19 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:19 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:19 Constant:
0:19 4 (const uint)
0:21 move second child to first child ( temp highp 2-component vector of float)

File diff suppressed because it is too large Load Diff

View File

@@ -12,8 +12,8 @@ local_size = (8, 1, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)
@@ -1728,8 +1728,8 @@ local_size = (8, 1, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)
@@ -900,8 +900,8 @@ local_size = (8, 8, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)
@@ -900,8 +900,8 @@ local_size = (8, 8, 1)
0:16 'invocation' ( temp highp uint)
0:16 mod ( temp mediump uint)
0:16 add ( temp mediump uint)
0:16 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:16 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16 Constant:
0:16 4 (const uint)
0:18 move second child to first child ( temp highp float)

View File

@@ -12,8 +12,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp highp uint)
0:17 mod ( temp mediump uint)
0:17 add ( temp mediump uint)
0:17 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 Test condition and select ( temp void)
@@ -436,8 +436,8 @@ local_size = (8, 8, 1)
0:17 'invocation' ( temp highp uint)
0:17 mod ( temp mediump uint)
0:17 add ( temp mediump uint)
0:17 'gl_SubgroupInvocationID' ( in mediump uint unknown built-in variable)
0:17 'gl_SubgroupSize' ( in mediump uint unknown built-in variable)
0:17 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:17 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:17 Constant:
0:17 4 (const uint)
0:19 Test condition and select ( temp void)

View File

@@ -11,12 +11,12 @@ local_size = (32, 16, 1)
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:6 '@gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:6 Test condition and select ( temp uint): no shortcircuit
0:6 Condition
0:6 subgroupElect ( temp bool)
0:6 true case
0:6 '@gl_SubgroupSize' ( in uint unknown built-in variable)
0:6 '@gl_SubgroupSize' ( in uint SubgroupSize)
0:6 false case
0:6 Constant:
0:6 0 (const uint)
@@ -43,12 +43,12 @@ local_size = (32, 16, 1)
0:6 'data' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
0:6 Constant:
0:6 0 (const uint)
0:6 '@gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:6 '@gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:6 Test condition and select ( temp uint): no shortcircuit
0:6 Condition
0:6 subgroupElect ( temp bool)
0:6 true case
0:6 '@gl_SubgroupSize' ( in uint unknown built-in variable)
0:6 '@gl_SubgroupSize' ( in uint SubgroupSize)
0:6 false case
0:6 Constant:
0:6 0 (const uint)

View File

@@ -31,11 +31,13 @@ ERROR: node is still EOpNull!
0:27 move second child to first child ( temp int)
0:27 'nu_li' ( nonuniform temp int)
0:27 add ( nonuniform temp int)
0:27 'a' ( nonuniform temp int)
0:27 component-wise multiply ( nonuniform temp int)
0:27 copy object ( nonuniform temp int)
0:27 'a' ( temp int)
0:27 Constant:
0:27 2 (const int)
0:27 copy object ( nonuniform temp int)
0:27 component-wise multiply ( temp int)
0:27 'a' ( temp int)
0:27 Constant:
0:27 2 (const int)
0:28 'nu_li' ( nonuniform temp int)
0:29 'nu_li' ( nonuniform temp int)
0:? Linker Objects
@@ -72,11 +74,13 @@ ERROR: node is still EOpNull!
0:27 move second child to first child ( temp int)
0:27 'nu_li' ( nonuniform temp int)
0:27 add ( nonuniform temp int)
0:27 'a' ( nonuniform temp int)
0:27 component-wise multiply ( nonuniform temp int)
0:27 copy object ( nonuniform temp int)
0:27 'a' ( temp int)
0:27 Constant:
0:27 2 (const int)
0:27 copy object ( nonuniform temp int)
0:27 component-wise multiply ( temp int)
0:27 'a' ( temp int)
0:27 Constant:
0:27 2 (const int)
0:28 'nu_li' ( nonuniform temp int)
0:29 'nu_li' ( nonuniform temp int)
0:? Linker Objects

View File

@@ -4,7 +4,7 @@ spv.1.3.8bitstorage-ssbo.vert
// Id's are bound by 28
Capability Shader
Capability CapabilityStorageBuffer8BitAccess
Capability StorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

@@ -4,7 +4,7 @@ spv.1.3.8bitstorage-ubo.vert
// Id's are bound by 29
Capability Shader
Capability CapabilityUniformAndStorageBuffer8BitAccess
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

@@ -4,9 +4,9 @@ spv.1.3.coopmat.comp
// Id's are bound by 52
Capability Shader
Capability CapabilityVariablePointers
Capability CapabilityVulkanMemoryModelKHR
Capability CapabilityCooperativeMatrixNV
Capability VariablePointers
Capability VulkanMemoryModelKHR
Capability CooperativeMatrixNV
Extension "SPV_KHR_vulkan_memory_model"
Extension "SPV_NV_cooperative_matrix"
1: ExtInstImport "GLSL.std.450"

View File

@@ -0,0 +1,109 @@
spv.1.4.LoopControl.frag
WARNING: 0:15: 'min_iterations' : expected a single integer argument
WARNING: 0:15: 'max_iterations' : expected a single integer argument
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 54
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 53
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_control_flow_attributes"
Name 4 "main"
Name 8 "i"
Name 32 "i"
Name 42 "i"
Name 53 "cond"
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
16: 6(int) Constant 8
17: TypeBool
20: 6(int) Constant 1
27: 17(bool) ConstantTrue
52: TypePointer Private 17(bool)
53(cond): 52(ptr) Variable Private
4(main): 2 Function None 3
5: Label
8(i): 7(ptr) Variable Function
32(i): 7(ptr) Variable Function
42(i): 7(ptr) Variable Function
Store 8(i) 9
Branch 10
10: Label
LoopMerge 12 13 MinIterations MaxIterations 3 7
Branch 14
14: Label
15: 6(int) Load 8(i)
18: 17(bool) SLessThan 15 16
BranchConditional 18 11 12
11: Label
Branch 13
13: Label
19: 6(int) Load 8(i)
21: 6(int) IAdd 19 20
Store 8(i) 21
Branch 10
12: Label
Branch 22
22: Label
LoopMerge 24 25 IterationMultiple 2
Branch 26
26: Label
BranchConditional 27 23 24
23: Label
Branch 25
25: Label
Branch 22
24: Label
Branch 28
28: Label
LoopMerge 30 31 PeelCount 5
Branch 29
29: Label
Branch 31
31: Label
BranchConditional 27 28 30
30: Label
Store 32(i) 9
Branch 33
33: Label
LoopMerge 35 36 PartialCount 4
Branch 37
37: Label
38: 6(int) Load 32(i)
39: 17(bool) SLessThan 38 16
BranchConditional 39 34 35
34: Label
Branch 36
36: Label
40: 6(int) Load 32(i)
41: 6(int) IAdd 40 20
Store 32(i) 41
Branch 33
35: Label
Store 42(i) 9
Branch 43
43: Label
LoopMerge 45 46 None
Branch 47
47: Label
48: 6(int) Load 42(i)
49: 17(bool) SLessThan 48 16
BranchConditional 49 44 45
44: Label
Branch 46
46: Label
50: 6(int) Load 42(i)
51: 6(int) IAdd 50 20
Store 42(i) 51
Branch 43
45: Label
Return
FunctionEnd

View File

@@ -0,0 +1,58 @@
spv.1.4.NonWritable.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 38
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 8 31
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 8 "color"
Name 31 "index"
Name 34 "indexable"
Decorate 8(color) Location 0
Decorate 31(index) Flat
Decorate 31(index) Location 0
Decorate 34(indexable) NonWritable
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Output 6(float)
8(color): 7(ptr) Variable Output
9: TypeInt 32 0
10: 9(int) Constant 16
11: TypeArray 6(float) 10
12: 6(float) Constant 1065353216
13: 6(float) Constant 1073741824
14: 6(float) Constant 1077936128
15: 6(float) Constant 1082130432
16: 6(float) Constant 1084227584
17: 6(float) Constant 1086324736
18: 6(float) Constant 1088421888
19: 6(float) Constant 1090519040
20: 6(float) Constant 1091567616
21: 6(float) Constant 1092616192
22: 6(float) Constant 1093664768
23: 6(float) Constant 1094713344
24: 6(float) Constant 1095761920
25: 6(float) Constant 1096810496
26: 6(float) Constant 1097859072
27: 6(float) Constant 1098907648
28: 11 ConstantComposite 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
29: TypeInt 32 1
30: TypePointer Input 29(int)
31(index): 30(ptr) Variable Input
33: TypePointer Function 11
35: TypePointer Function 6(float)
4(main): 2 Function None 3
5: Label
34(indexable): 33(ptr) Variable Function 28
32: 29(int) Load 31(index)
36: 35(ptr) AccessChain 34(indexable) 32
37: 6(float) Load 36
Store 8(color) 37
Return
FunctionEnd

View File

@@ -0,0 +1,150 @@
spv.1.4.OpCopyLogical.comp
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 65
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 19 27 35 51 60
ExecutionMode 4 LocalSize 1 1 1
Source GLSL 450
Name 4 "main"
Name 12 "MyStruct"
MemberName 12(MyStruct) 0 "foo"
MemberName 12(MyStruct) 1 "sb"
Name 14 "t"
Name 16 "MyStruct"
MemberName 16(MyStruct) 0 "foo"
MemberName 16(MyStruct) 1 "sb"
Name 17 "SSBO0"
MemberName 17(SSBO0) 0 "a"
Name 19 "inBuf"
Name 25 "SSBO1"
MemberName 25(SSBO1) 0 "b"
Name 27 "outBuf"
Name 32 "MyStruct"
MemberName 32(MyStruct) 0 "foo"
MemberName 32(MyStruct) 1 "sb"
Name 33 "UBO"
MemberName 33(UBO) 0 "c"
Name 35 "uBuf"
Name 44 "Nested"
MemberName 44(Nested) 0 "f"
MemberName 44(Nested) 1 "S"
Name 46 "n"
Name 48 "Nested"
MemberName 48(Nested) 0 "f"
MemberName 48(Nested) 1 "S"
Name 49 "UBON"
MemberName 49(UBON) 0 "N1"
Name 51 "uBufN"
Name 57 "Nested"
MemberName 57(Nested) 0 "f"
MemberName 57(Nested) 1 "S"
Name 58 "SSBO1N"
MemberName 58(SSBO1N) 0 "N2"
Name 60 "outBufN"
Decorate 15 ArrayStride 8
MemberDecorate 16(MyStruct) 0 Offset 0
MemberDecorate 16(MyStruct) 1 Offset 16
MemberDecorate 17(SSBO0) 0 Offset 0
Decorate 17(SSBO0) Block
Decorate 19(inBuf) DescriptorSet 0
Decorate 19(inBuf) Binding 0
MemberDecorate 25(SSBO1) 0 Offset 0
Decorate 25(SSBO1) Block
Decorate 27(outBuf) DescriptorSet 0
Decorate 27(outBuf) Binding 1
Decorate 31 ArrayStride 16
MemberDecorate 32(MyStruct) 0 Offset 0
MemberDecorate 32(MyStruct) 1 Offset 32
MemberDecorate 33(UBO) 0 Offset 0
Decorate 33(UBO) Block
Decorate 35(uBuf) DescriptorSet 0
Decorate 35(uBuf) Binding 2
Decorate 47 ArrayStride 48
MemberDecorate 48(Nested) 0 Offset 0
MemberDecorate 48(Nested) 1 Offset 16
MemberDecorate 49(UBON) 0 Offset 0
Decorate 49(UBON) Block
Decorate 51(uBufN) DescriptorSet 0
Decorate 51(uBufN) Binding 2
Decorate 56 ArrayStride 24
MemberDecorate 57(Nested) 0 Offset 0
MemberDecorate 57(Nested) 1 Offset 8
MemberDecorate 58(SSBO1N) 0 Offset 0
Decorate 58(SSBO1N) Block
Decorate 60(outBufN) DescriptorSet 0
Decorate 60(outBufN) Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 2
8: TypeInt 32 0
9: 8(int) Constant 2
10: TypeArray 7(fvec2) 9
11: TypeInt 32 1
12(MyStruct): TypeStruct 10 11(int)
13: TypePointer Function 12(MyStruct)
15: TypeArray 7(fvec2) 9
16(MyStruct): TypeStruct 15 11(int)
17(SSBO0): TypeStruct 16(MyStruct)
18: TypePointer StorageBuffer 17(SSBO0)
19(inBuf): 18(ptr) Variable StorageBuffer
20: 11(int) Constant 0
21: TypePointer StorageBuffer 16(MyStruct)
25(SSBO1): TypeStruct 16(MyStruct)
26: TypePointer StorageBuffer 25(SSBO1)
27(outBuf): 26(ptr) Variable StorageBuffer
31: TypeArray 7(fvec2) 9
32(MyStruct): TypeStruct 31 11(int)
33(UBO): TypeStruct 32(MyStruct)
34: TypePointer Uniform 33(UBO)
35(uBuf): 34(ptr) Variable Uniform
36: TypePointer Uniform 32(MyStruct)
43: TypeArray 12(MyStruct) 9
44(Nested): TypeStruct 6(float) 43
45: TypePointer Function 44(Nested)
47: TypeArray 32(MyStruct) 9
48(Nested): TypeStruct 6(float) 47
49(UBON): TypeStruct 48(Nested)
50: TypePointer Uniform 49(UBON)
51(uBufN): 50(ptr) Variable Uniform
52: TypePointer Uniform 48(Nested)
56: TypeArray 16(MyStruct) 9
57(Nested): TypeStruct 6(float) 56
58(SSBO1N): TypeStruct 57(Nested)
59: TypePointer StorageBuffer 58(SSBO1N)
60(outBufN): 59(ptr) Variable StorageBuffer
62: TypePointer StorageBuffer 57(Nested)
4(main): 2 Function None 3
5: Label
14(t): 13(ptr) Variable Function
46(n): 45(ptr) Variable Function
22: 21(ptr) AccessChain 19(inBuf) 20
23:16(MyStruct) Load 22
24:12(MyStruct) CopyLogical 23
Store 14(t) 24
28:12(MyStruct) Load 14(t)
29: 21(ptr) AccessChain 27(outBuf) 20
30:16(MyStruct) CopyLogical 28
Store 29 30
37: 36(ptr) AccessChain 35(uBuf) 20
38:32(MyStruct) Load 37
39:12(MyStruct) CopyLogical 38
Store 14(t) 39
40:12(MyStruct) Load 14(t)
41: 21(ptr) AccessChain 27(outBuf) 20
42:16(MyStruct) CopyLogical 40
Store 41 42
53: 52(ptr) AccessChain 51(uBufN) 20
54: 48(Nested) Load 53
55: 44(Nested) CopyLogical 54
Store 46(n) 55
61: 44(Nested) Load 46(n)
63: 62(ptr) AccessChain 60(outBufN) 20
64: 57(Nested) CopyLogical 61
Store 63 64
Return
FunctionEnd

View File

@@ -0,0 +1,114 @@
spv.1.4.OpCopyLogical.funcall.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 60
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 25 37
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "S"
MemberName 9(S) 0 "m"
Name 12 "fooConst(struct-S-mf441;"
Name 11 "s"
Name 17 "foo(struct-S-mf441;"
Name 16 "s"
Name 20 "fooOut(struct-S-mf441;"
Name 19 "s"
Name 22 "S"
MemberName 22(S) 0 "m"
Name 23 "blockName"
MemberName 23(blockName) 0 "s1"
Name 25 ""
Name 31 "S"
MemberName 31(S) 0 "m"
Name 32 "arg"
Name 37 "s2"
Name 40 "param"
Name 45 "param"
Name 48 "param"
Name 56 "param"
MemberDecorate 22(S) 0 ColMajor
MemberDecorate 22(S) 0 Offset 0
MemberDecorate 22(S) 0 MatrixStride 16
MemberDecorate 23(blockName) 0 Offset 0
Decorate 23(blockName) Block
Decorate 25 DescriptorSet 0
Decorate 25 Binding 0
MemberDecorate 31(S) 0 ColMajor
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeMatrix 7(fvec4) 4
9(S): TypeStruct 8
10: TypeFunction 2 9(S)
14: TypePointer Function 9(S)
15: TypeFunction 2 14(ptr)
22(S): TypeStruct 8
23(blockName): TypeStruct 22(S)
24: TypePointer StorageBuffer 23(blockName)
25: 24(ptr) Variable StorageBuffer
26: TypeInt 32 1
27: 26(int) Constant 0
28: TypePointer StorageBuffer 22(S)
31(S): TypeStruct 8
36: TypePointer Private 9(S)
37(s2): 36(ptr) Variable Private
4(main): 2 Function None 3
5: Label
32(arg): 14(ptr) Variable Function
40(param): 14(ptr) Variable Function
45(param): 14(ptr) Variable Function
48(param): 14(ptr) Variable Function
56(param): 14(ptr) Variable Function
29: 28(ptr) AccessChain 25 27
30: 22(S) Load 29
33: 9(S) CopyLogical 30
Store 32(arg) 33
34: 9(S) Load 32(arg)
35: 2 FunctionCall 12(fooConst(struct-S-mf441;) 34
38: 9(S) Load 37(s2)
39: 2 FunctionCall 12(fooConst(struct-S-mf441;) 38
41: 28(ptr) AccessChain 25 27
42: 22(S) Load 41
43: 9(S) CopyLogical 42
Store 40(param) 43
44: 2 FunctionCall 17(foo(struct-S-mf441;) 40(param)
46: 9(S) Load 37(s2)
Store 45(param) 46
47: 2 FunctionCall 17(foo(struct-S-mf441;) 45(param)
49: 28(ptr) AccessChain 25 27
50: 22(S) Load 49
51: 9(S) CopyLogical 50
Store 48(param) 51
52: 2 FunctionCall 20(fooOut(struct-S-mf441;) 48(param)
53: 9(S) Load 48(param)
54: 28(ptr) AccessChain 25 27
55: 22(S) CopyLogical 53
Store 54 55
57: 9(S) Load 37(s2)
Store 56(param) 57
58: 2 FunctionCall 20(fooOut(struct-S-mf441;) 56(param)
59: 9(S) Load 56(param)
Store 37(s2) 59
Return
FunctionEnd
12(fooConst(struct-S-mf441;): 2 Function None 10
11(s): 9(S) FunctionParameter
13: Label
Return
FunctionEnd
17(foo(struct-S-mf441;): 2 Function None 15
16(s): 14(ptr) FunctionParameter
18: Label
Return
FunctionEnd
20(fooOut(struct-S-mf441;): 2 Function None 15
19(s): 14(ptr) FunctionParameter
21: Label
Return
FunctionEnd

View File

@@ -0,0 +1,232 @@
spv.1.4.OpCopyLogicalBool.comp
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 135
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 19 37 53 79 109
ExecutionMode 4 LocalSize 1 1 1
Source GLSL 450
Name 4 "main"
Name 12 "MyStruct"
MemberName 12(MyStruct) 0 "foo"
MemberName 12(MyStruct) 1 "sb"
Name 14 "t"
Name 16 "MyStruct"
MemberName 16(MyStruct) 0 "foo"
MemberName 16(MyStruct) 1 "sb"
Name 17 "SSBO0"
MemberName 17(SSBO0) 0 "a"
Name 19 "inBuf"
Name 35 "SSBO1"
MemberName 35(SSBO1) 0 "b"
Name 37 "outBuf"
Name 50 "MyStruct"
MemberName 50(MyStruct) 0 "foo"
MemberName 50(MyStruct) 1 "sb"
Name 51 "UBO"
MemberName 51(UBO) 0 "c"
Name 53 "uBuf"
Name 72 "Nested"
MemberName 72(Nested) 0 "b"
MemberName 72(Nested) 1 "S"
Name 74 "n"
Name 76 "Nested"
MemberName 76(Nested) 0 "b"
MemberName 76(Nested) 1 "S"
Name 77 "UBON"
MemberName 77(UBON) 0 "N1"
Name 79 "uBufN"
Name 106 "Nested"
MemberName 106(Nested) 0 "b"
MemberName 106(Nested) 1 "S"
Name 107 "SSBO1N"
MemberName 107(SSBO1N) 0 "N2"
Name 109 "outBufN"
Decorate 15 ArrayStride 8
MemberDecorate 16(MyStruct) 0 Offset 0
MemberDecorate 16(MyStruct) 1 Offset 16
MemberDecorate 17(SSBO0) 0 Offset 0
Decorate 17(SSBO0) Block
Decorate 19(inBuf) DescriptorSet 0
Decorate 19(inBuf) Binding 0
MemberDecorate 35(SSBO1) 0 Offset 0
Decorate 35(SSBO1) Block
Decorate 37(outBuf) DescriptorSet 0
Decorate 37(outBuf) Binding 1
Decorate 49 ArrayStride 16
MemberDecorate 50(MyStruct) 0 Offset 0
MemberDecorate 50(MyStruct) 1 Offset 32
MemberDecorate 51(UBO) 0 Offset 0
Decorate 51(UBO) Block
Decorate 53(uBuf) DescriptorSet 0
Decorate 53(uBuf) Binding 2
Decorate 75 ArrayStride 48
MemberDecorate 76(Nested) 0 Offset 0
MemberDecorate 76(Nested) 1 Offset 16
MemberDecorate 77(UBON) 0 Offset 0
Decorate 77(UBON) Block
Decorate 79(uBufN) DescriptorSet 0
Decorate 79(uBufN) Binding 2
Decorate 105 ArrayStride 24
MemberDecorate 106(Nested) 0 Offset 0
MemberDecorate 106(Nested) 1 Offset 8
MemberDecorate 107(SSBO1N) 0 Offset 0
Decorate 107(SSBO1N) Block
Decorate 109(outBufN) DescriptorSet 0
Decorate 109(outBufN) Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 2
8: TypeInt 32 0
9: 8(int) Constant 2
10: TypeArray 7(fvec2) 9
11: TypeBool
12(MyStruct): TypeStruct 10 11(bool)
13: TypePointer Function 12(MyStruct)
15: TypeArray 7(fvec2) 9
16(MyStruct): TypeStruct 15 8(int)
17(SSBO0): TypeStruct 16(MyStruct)
18: TypePointer StorageBuffer 17(SSBO0)
19(inBuf): 18(ptr) Variable StorageBuffer
20: TypeInt 32 1
21: 20(int) Constant 0
22: TypePointer StorageBuffer 16(MyStruct)
26: TypePointer Function 10
30: 20(int) Constant 1
31: 8(int) Constant 0
33: TypePointer Function 11(bool)
35(SSBO1): TypeStruct 16(MyStruct)
36: TypePointer StorageBuffer 35(SSBO1)
37(outBuf): 36(ptr) Variable StorageBuffer
41: TypePointer StorageBuffer 15
45: 8(int) Constant 1
47: TypePointer StorageBuffer 8(int)
49: TypeArray 7(fvec2) 9
50(MyStruct): TypeStruct 49 8(int)
51(UBO): TypeStruct 50(MyStruct)
52: TypePointer Uniform 51(UBO)
53(uBuf): 52(ptr) Variable Uniform
54: TypePointer Uniform 50(MyStruct)
71: TypeArray 12(MyStruct) 9
72(Nested): TypeStruct 11(bool) 71
73: TypePointer Function 72(Nested)
75: TypeArray 50(MyStruct) 9
76(Nested): TypeStruct 8(int) 75
77(UBON): TypeStruct 76(Nested)
78: TypePointer Uniform 77(UBON)
79(uBufN): 78(ptr) Variable Uniform
80: TypePointer Uniform 76(Nested)
87: TypePointer Function 71
105: TypeArray 16(MyStruct) 9
106(Nested): TypeStruct 8(int) 105
107(SSBO1N): TypeStruct 106(Nested)
108: TypePointer StorageBuffer 107(SSBO1N)
109(outBufN): 108(ptr) Variable StorageBuffer
111: TypePointer StorageBuffer 106(Nested)
117: TypePointer StorageBuffer 105
4(main): 2 Function None 3
5: Label
14(t): 13(ptr) Variable Function
74(n): 73(ptr) Variable Function
23: 22(ptr) AccessChain 19(inBuf) 21
24:16(MyStruct) Load 23
25: 15 CompositeExtract 24 0
27: 26(ptr) AccessChain 14(t) 21
28: 10 CopyLogical 25
Store 27 28
29: 8(int) CompositeExtract 24 1
32: 11(bool) INotEqual 29 31
34: 33(ptr) AccessChain 14(t) 30
Store 34 32
38:12(MyStruct) Load 14(t)
39: 22(ptr) AccessChain 37(outBuf) 21
40: 10 CompositeExtract 38 0
42: 41(ptr) AccessChain 39 21
43: 15 CopyLogical 40
Store 42 43
44: 11(bool) CompositeExtract 38 1
46: 8(int) Select 44 45 31
48: 47(ptr) AccessChain 39 30
Store 48 46
55: 54(ptr) AccessChain 53(uBuf) 21
56:50(MyStruct) Load 55
57: 49 CompositeExtract 56 0
58: 26(ptr) AccessChain 14(t) 21
59: 10 CopyLogical 57
Store 58 59
60: 8(int) CompositeExtract 56 1
61: 11(bool) INotEqual 60 31
62: 33(ptr) AccessChain 14(t) 30
Store 62 61
63:12(MyStruct) Load 14(t)
64: 22(ptr) AccessChain 37(outBuf) 21
65: 10 CompositeExtract 63 0
66: 41(ptr) AccessChain 64 21
67: 15 CopyLogical 65
Store 66 67
68: 11(bool) CompositeExtract 63 1
69: 8(int) Select 68 45 31
70: 47(ptr) AccessChain 64 30
Store 70 69
81: 80(ptr) AccessChain 79(uBufN) 21
82: 76(Nested) Load 81
83: 8(int) CompositeExtract 82 0
84: 11(bool) INotEqual 83 31
85: 33(ptr) AccessChain 74(n) 21
Store 85 84
86: 75 CompositeExtract 82 1
88: 87(ptr) AccessChain 74(n) 30
89:50(MyStruct) CompositeExtract 86 0
90: 13(ptr) AccessChain 88 21
91: 49 CompositeExtract 89 0
92: 26(ptr) AccessChain 90 21
93: 10 CopyLogical 91
Store 92 93
94: 8(int) CompositeExtract 89 1
95: 11(bool) INotEqual 94 31
96: 33(ptr) AccessChain 90 30
Store 96 95
97:50(MyStruct) CompositeExtract 86 1
98: 13(ptr) AccessChain 88 30
99: 49 CompositeExtract 97 0
100: 26(ptr) AccessChain 98 21
101: 10 CopyLogical 99
Store 100 101
102: 8(int) CompositeExtract 97 1
103: 11(bool) INotEqual 102 31
104: 33(ptr) AccessChain 98 30
Store 104 103
110: 72(Nested) Load 74(n)
112: 111(ptr) AccessChain 109(outBufN) 21
113: 11(bool) CompositeExtract 110 0
114: 8(int) Select 113 45 31
115: 47(ptr) AccessChain 112 21
Store 115 114
116: 71 CompositeExtract 110 1
118: 117(ptr) AccessChain 112 30
119:12(MyStruct) CompositeExtract 116 0
120: 22(ptr) AccessChain 118 21
121: 10 CompositeExtract 119 0
122: 41(ptr) AccessChain 120 21
123: 15 CopyLogical 121
Store 122 123
124: 11(bool) CompositeExtract 119 1
125: 8(int) Select 124 45 31
126: 47(ptr) AccessChain 120 30
Store 126 125
127:12(MyStruct) CompositeExtract 116 1
128: 22(ptr) AccessChain 118 30
129: 10 CompositeExtract 127 0
130: 41(ptr) AccessChain 128 21
131: 15 CopyLogical 129
Store 130 131
132: 11(bool) CompositeExtract 127 1
133: 8(int) Select 132 45 31
134: 47(ptr) AccessChain 128 30
Store 134 133
Return
FunctionEnd

View File

@@ -0,0 +1,106 @@
spv.1.4.OpEntryPoint.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 64
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 11 14 17 25 33 41
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "functionv"
Name 11 "inv"
Name 14 "globalv"
Name 17 "outv"
Name 23 "ubt"
MemberName 23(ubt) 0 "v"
Name 25 "uniformv"
Name 31 "pushB"
MemberName 31(pushB) 0 "a"
Name 33 "pushv"
Name 39 "bbt"
MemberName 39(bbt) 0 "f"
Name 41 "bufferv"
Decorate 11(inv) Location 0
Decorate 17(outv) Location 0
MemberDecorate 23(ubt) 0 Offset 0
Decorate 23(ubt) Block
Decorate 25(uniformv) DescriptorSet 0
Decorate 25(uniformv) Binding 0
MemberDecorate 31(pushB) 0 Offset 0
Decorate 31(pushB) Block
Decorate 33(pushv) Binding 2
MemberDecorate 39(bbt) 0 Offset 0
Decorate 39(bbt) Block
Decorate 41(bufferv) DescriptorSet 0
Decorate 41(bufferv) Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypePointer Input 7(fvec4)
11(inv): 10(ptr) Variable Input
13: TypePointer Private 7(fvec4)
14(globalv): 13(ptr) Variable Private
16: TypePointer Output 7(fvec4)
17(outv): 16(ptr) Variable Output
23(ubt): TypeStruct 7(fvec4)
24: TypePointer Uniform 23(ubt)
25(uniformv): 24(ptr) Variable Uniform
26: TypeInt 32 1
27: 26(int) Constant 0
28: TypePointer Uniform 7(fvec4)
31(pushB): TypeStruct 26(int)
32: TypePointer PushConstant 31(pushB)
33(pushv): 32(ptr) Variable PushConstant
34: TypePointer PushConstant 26(int)
39(bbt): TypeStruct 6(float)
40: TypePointer StorageBuffer 39(bbt)
41(bufferv): 40(ptr) Variable StorageBuffer
42: TypePointer StorageBuffer 6(float)
4(main): 2 Function None 3
5: Label
9(functionv): 8(ptr) Variable Function
12: 7(fvec4) Load 11(inv)
Store 9(functionv) 12
15: 7(fvec4) Load 11(inv)
Store 14(globalv) 15
18: 7(fvec4) Load 9(functionv)
19: 7(fvec4) Load 11(inv)
20: 7(fvec4) FAdd 18 19
21: 7(fvec4) Load 14(globalv)
22: 7(fvec4) FAdd 20 21
29: 28(ptr) AccessChain 25(uniformv) 27
30: 7(fvec4) Load 29
35: 34(ptr) AccessChain 33(pushv) 27
36: 26(int) Load 35
37: 6(float) ConvertSToF 36
38: 7(fvec4) VectorTimesScalar 30 37
43: 42(ptr) AccessChain 41(bufferv) 27
44: 6(float) Load 43
45: 7(fvec4) VectorTimesScalar 38 44
46: 7(fvec4) FAdd 22 45
Store 17(outv) 46
47: 7(fvec4) Load 9(functionv)
48: 7(fvec4) Load 11(inv)
49: 7(fvec4) FAdd 47 48
50: 7(fvec4) Load 14(globalv)
51: 7(fvec4) FAdd 49 50
52: 28(ptr) AccessChain 25(uniformv) 27
53: 7(fvec4) Load 52
54: 34(ptr) AccessChain 33(pushv) 27
55: 26(int) Load 54
56: 6(float) ConvertSToF 55
57: 7(fvec4) VectorTimesScalar 53 56
58: 42(ptr) AccessChain 41(bufferv) 27
59: 6(float) Load 58
60: 7(fvec4) VectorTimesScalar 57 59
61: 7(fvec4) FAdd 51 60
62: 7(fvec4) Load 17(outv)
63: 7(fvec4) FAdd 62 61
Store 17(outv) 63
Return
FunctionEnd

View File

@@ -0,0 +1,152 @@
spv.1.4.OpSelect.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 98
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 17 20 82 84
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 6 "fun1("
Name 8 "fun2("
Name 12 "f1"
Name 14 "f2"
Name 17 "outv"
Name 20 "cond"
Name 30 "iv1"
Name 34 "iv2"
Name 53 "m1"
Name 59 "m2"
Name 75 "S1"
MemberName 75(S1) 0 "a"
MemberName 75(S1) 1 "b"
Name 77 "fv"
Name 82 "in1"
Name 84 "in2"
Decorate 17(outv) Location 0
Decorate 20(cond) Flat
Decorate 20(cond) Location 4
Decorate 82(in1) Flat
Decorate 82(in1) Location 0
Decorate 84(in2) Flat
Decorate 84(in2) Location 2
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
11: TypePointer Function 10(float)
13: 10(float) Constant 1065353216
15: 10(float) Constant 1073741824
16: TypePointer Output 10(float)
17(outv): 16(ptr) Variable Output
18: TypeInt 32 1
19: TypePointer Input 18(int)
20(cond): 19(ptr) Variable Input
22: 18(int) Constant 8
23: TypeBool
28: TypeVector 18(int) 4
29: TypePointer Function 28(ivec4)
39: 18(int) Constant 0
44: TypeInt 32 0
45: 44(int) Constant 2
50: TypeVector 10(float) 3
51: TypeMatrix 50(fvec3) 3
52: TypePointer Function 51
54: 10(float) Constant 0
55: 50(fvec3) ConstantComposite 13 54 54
56: 50(fvec3) ConstantComposite 54 13 54
57: 50(fvec3) ConstantComposite 54 54 13
58: 51 ConstantComposite 55 56 57
60: 50(fvec3) ConstantComposite 15 54 54
61: 50(fvec3) ConstantComposite 54 15 54
62: 50(fvec3) ConstantComposite 54 54 15
63: 51 ConstantComposite 60 61 62
65: 18(int) Constant 20
70: 18(int) Constant 2
71: 44(int) Constant 1
75(S1): TypeStruct 10(float) 18(int)
76: TypePointer Function 75(S1)
79: 18(int) Constant 5
81: TypePointer Input 75(S1)
82(in1): 81(ptr) Variable Input
84(in2): 81(ptr) Variable Input
4(main): 2 Function None 3
5: Label
12(f1): 11(ptr) Variable Function
14(f2): 11(ptr) Variable Function
30(iv1): 29(ptr) Variable Function
34(iv2): 29(ptr) Variable Function
53(m1): 52(ptr) Variable Function
59(m2): 52(ptr) Variable Function
77(fv): 76(ptr) Variable Function
Store 12(f1) 13
Store 14(f2) 15
21: 18(int) Load 20(cond)
24: 23(bool) SLessThan 21 22
25: 10(float) Load 12(f1)
26: 10(float) Load 14(f2)
27: 10(float) Select 24 25 26
Store 17(outv) 27
31: 10(float) Load 12(f1)
32: 18(int) ConvertFToS 31
33: 28(ivec4) CompositeConstruct 32 32 32 32
Store 30(iv1) 33
35: 10(float) Load 14(f2)
36: 18(int) ConvertFToS 35
37: 28(ivec4) CompositeConstruct 36 36 36 36
Store 34(iv2) 37
38: 18(int) Load 20(cond)
40: 23(bool) SGreaterThan 38 39
41: 28(ivec4) Load 30(iv1)
42: 28(ivec4) Load 34(iv2)
43: 28(ivec4) Select 40 41 42
46: 18(int) CompositeExtract 43 2
47: 10(float) ConvertSToF 46
48: 10(float) Load 17(outv)
49: 10(float) FMul 48 47
Store 17(outv) 49
Store 53(m1) 58
Store 59(m2) 63
64: 18(int) Load 20(cond)
66: 23(bool) SLessThan 64 65
67: 51 Load 53(m1)
68: 51 Load 59(m2)
69: 51 Select 66 67 68
72: 10(float) CompositeExtract 69 2 1
73: 10(float) Load 17(outv)
74: 10(float) FMul 73 72
Store 17(outv) 74
78: 18(int) Load 20(cond)
80: 23(bool) SGreaterThan 78 79
83: 75(S1) Load 82(in1)
85: 75(S1) Load 84(in2)
86: 75(S1) Select 80 83 85
Store 77(fv) 86
87: 11(ptr) AccessChain 77(fv) 39
88: 10(float) Load 87
89: 10(float) Load 17(outv)
90: 10(float) FMul 89 88
Store 17(outv) 90
91: 18(int) Load 20(cond)
92: 23(bool) SGreaterThan 91 39
SelectionMerge 94 None
BranchConditional 92 93 96
93: Label
95: 2 FunctionCall 6(fun1()
Branch 94
96: Label
97: 2 FunctionCall 8(fun2()
Branch 94
94: Label
Return
FunctionEnd
6(fun1(): 2 Function None 3
7: Label
Return
FunctionEnd
8(fun2(): 2 Function None 3
9: Label
Return
FunctionEnd

View File

@@ -0,0 +1,159 @@
spv.1.4.image.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 104
Capability Shader
Capability StorageImageMultisample
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 26 30 40 52 64 77 89 100 103
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "v"
Name 15 "iv"
Name 21 "uv"
Name 26 "i2D"
Name 30 "ic2D"
Name 40 "ii2D"
Name 52 "ui2D"
Name 64 "i2DMS"
Name 77 "ii2DMS"
Name 89 "ui2DMS"
Name 100 "fragData"
Name 103 "value"
Decorate 26(i2D) DescriptorSet 0
Decorate 26(i2D) Binding 1
Decorate 30(ic2D) Flat
Decorate 40(ii2D) DescriptorSet 0
Decorate 40(ii2D) Binding 12
Decorate 52(ui2D) DescriptorSet 0
Decorate 52(ui2D) Binding 12
Decorate 64(i2DMS) DescriptorSet 0
Decorate 64(i2DMS) Binding 9
Decorate 77(ii2DMS) DescriptorSet 0
Decorate 77(ii2DMS) Binding 13
Decorate 89(ui2DMS) DescriptorSet 0
Decorate 89(ui2DMS) Binding 13
Decorate 103(value) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
12: TypeInt 32 1
13: TypeVector 12(int) 4
14: TypePointer Function 13(ivec4)
16: 12(int) Constant 0
17: 13(ivec4) ConstantComposite 16 16 16 16
18: TypeInt 32 0
19: TypeVector 18(int) 4
20: TypePointer Function 19(ivec4)
22: 18(int) Constant 0
23: 19(ivec4) ConstantComposite 22 22 22 22
24: TypeImage 6(float) 2D nonsampled format:Rgba32f
25: TypePointer UniformConstant 24
26(i2D): 25(ptr) Variable UniformConstant
28: TypeVector 12(int) 2
29: TypePointer Input 28(ivec2)
30(ic2D): 29(ptr) Variable Input
38: TypeImage 12(int) 2D nonsampled format:R32i
39: TypePointer UniformConstant 38
40(ii2D): 39(ptr) Variable UniformConstant
50: TypeImage 18(int) 2D nonsampled format:R32ui
51: TypePointer UniformConstant 50
52(ui2D): 51(ptr) Variable UniformConstant
62: TypeImage 6(float) 2D multi-sampled nonsampled format:Rgba32f
63: TypePointer UniformConstant 62
64(i2DMS): 63(ptr) Variable UniformConstant
67: 12(int) Constant 1
73: 12(int) Constant 2
75: TypeImage 12(int) 2D multi-sampled nonsampled format:R32i
76: TypePointer UniformConstant 75
77(ii2DMS): 76(ptr) Variable UniformConstant
87: TypeImage 18(int) 2D multi-sampled nonsampled format:R32ui
88: TypePointer UniformConstant 87
89(ui2DMS): 88(ptr) Variable UniformConstant
99: TypePointer Output 7(fvec4)
100(fragData): 99(ptr) Variable Output
102: TypePointer Input 18(int)
103(value): 102(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(v): 8(ptr) Variable Function
15(iv): 14(ptr) Variable Function
21(uv): 20(ptr) Variable Function
Store 9(v) 11
Store 15(iv) 17
Store 21(uv) 23
27: 24 Load 26(i2D)
31: 28(ivec2) Load 30(ic2D)
32: 7(fvec4) ImageRead 27 31
33: 7(fvec4) Load 9(v)
34: 7(fvec4) FAdd 33 32
Store 9(v) 34
35: 24 Load 26(i2D)
36: 28(ivec2) Load 30(ic2D)
37: 7(fvec4) Load 9(v)
ImageWrite 35 36 37
41: 38 Load 40(ii2D)
42: 28(ivec2) Load 30(ic2D)
43: 13(ivec4) ImageRead 41 42 SignExtend
44: 7(fvec4) ConvertSToF 43
45: 7(fvec4) Load 9(v)
46: 7(fvec4) FAdd 45 44
Store 9(v) 46
47: 38 Load 40(ii2D)
48: 28(ivec2) Load 30(ic2D)
49: 13(ivec4) Load 15(iv)
ImageWrite 47 48 49 SignExtend
53: 50 Load 52(ui2D)
54: 28(ivec2) Load 30(ic2D)
55: 19(ivec4) ImageRead 53 54 ZeroExtend
56: 7(fvec4) ConvertUToF 55
57: 7(fvec4) Load 9(v)
58: 7(fvec4) FAdd 57 56
Store 9(v) 58
59: 50 Load 52(ui2D)
60: 28(ivec2) Load 30(ic2D)
61: 19(ivec4) Load 21(uv)
ImageWrite 59 60 61 ZeroExtend
65: 62 Load 64(i2DMS)
66: 28(ivec2) Load 30(ic2D)
68: 7(fvec4) ImageRead 65 66 Sample 67
69: 7(fvec4) Load 9(v)
70: 7(fvec4) FAdd 69 68
Store 9(v) 70
71: 62 Load 64(i2DMS)
72: 28(ivec2) Load 30(ic2D)
74: 7(fvec4) Load 9(v)
ImageWrite 71 72 74 Sample 73
78: 75 Load 77(ii2DMS)
79: 28(ivec2) Load 30(ic2D)
80: 13(ivec4) ImageRead 78 79 Sample SignExtend 67
81: 7(fvec4) ConvertSToF 80
82: 7(fvec4) Load 9(v)
83: 7(fvec4) FAdd 82 81
Store 9(v) 83
84: 75 Load 77(ii2DMS)
85: 28(ivec2) Load 30(ic2D)
86: 13(ivec4) Load 15(iv)
ImageWrite 84 85 86 Sample SignExtend 73
90: 87 Load 89(ui2DMS)
91: 28(ivec2) Load 30(ic2D)
92: 19(ivec4) ImageRead 90 91 Sample ZeroExtend 67
93: 7(fvec4) ConvertUToF 92
94: 7(fvec4) Load 9(v)
95: 7(fvec4) FAdd 94 93
Store 9(v) 95
96: 87 Load 89(ui2DMS)
97: 28(ivec2) Load 30(ic2D)
98: 19(ivec4) Load 21(uv)
ImageWrite 96 97 98 Sample ZeroExtend 73
101: 7(fvec4) Load 9(v)
Store 100(fragData) 101
Return
FunctionEnd

View File

@@ -0,0 +1,326 @@
spv.1.4.sparseTexture.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 213
Capability Shader
Capability StorageImageMultisample
Capability SparseResidency
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 29 33 42 46 59 63 84 96 119 133 149 152 159 162 177 181 189 206 208 212
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_ARB_sparse_texture2"
Name 4 "main"
Name 8 "resident"
Name 13 "texel"
Name 18 "itexel"
Name 23 "utexel"
Name 29 "s2D"
Name 33 "c2"
Name 35 "ResType"
Name 42 "tempReturn"
Name 46 "is2D"
Name 49 "tempArg"
Name 50 "ResType"
Name 59 "tempReturn"
Name 63 "us2D"
Name 66 "tempArg"
Name 67 "ResType"
Name 84 "tempReturn"
Name 87 "tempArg"
Name 96 "tempReturn"
Name 99 "tempArg"
Name 119 "tempReturn"
Name 123 "tempArg"
Name 133 "tempReturn"
Name 137 "tempArg"
Name 149 "i2D"
Name 152 "ic2"
Name 159 "tempReturn"
Name 162 "ii2DMS"
Name 166 "tempArg"
Name 177 "ui3D"
Name 181 "ic3"
Name 189 "outColor"
Name 206 "c3"
Name 208 "c4"
Name 212 "offsets"
Decorate 29(s2D) DescriptorSet 0
Decorate 29(s2D) Binding 0
Decorate 46(is2D) DescriptorSet 0
Decorate 46(is2D) Binding 0
Decorate 63(us2D) DescriptorSet 0
Decorate 63(us2D) Binding 0
Decorate 149(i2D) DescriptorSet 0
Decorate 149(i2D) Binding 0
Decorate 152(ic2) Flat
Decorate 162(ii2DMS) DescriptorSet 0
Decorate 162(ii2DMS) Binding 0
Decorate 177(ui3D) DescriptorSet 0
Decorate 177(ui3D) Binding 0
Decorate 181(ic3) Flat
Decorate 212(offsets) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 0
10: TypeFloat 32
11: TypeVector 10(float) 4
12: TypePointer Function 11(fvec4)
14: 10(float) Constant 0
15: 11(fvec4) ConstantComposite 14 14 14 14
16: TypeVector 6(int) 4
17: TypePointer Function 16(ivec4)
19: 16(ivec4) ConstantComposite 9 9 9 9
20: TypeInt 32 0
21: TypeVector 20(int) 4
22: TypePointer Function 21(ivec4)
24: 20(int) Constant 0
25: 21(ivec4) ConstantComposite 24 24 24 24
26: TypeImage 10(float) 2D sampled format:Unknown
27: TypeSampledImage 26
28: TypePointer UniformConstant 27
29(s2D): 28(ptr) Variable UniformConstant
31: TypeVector 10(float) 2
32: TypePointer Input 31(fvec2)
33(c2): 32(ptr) Variable Input
35(ResType): TypeStruct 6(int) 11(fvec4)
41: TypePointer Private 6(int)
42(tempReturn): 41(ptr) Variable Private
43: TypeImage 6(int) 2D sampled format:Unknown
44: TypeSampledImage 43
45: TypePointer UniformConstant 44
46(is2D): 45(ptr) Variable UniformConstant
50(ResType): TypeStruct 6(int) 16(ivec4)
59(tempReturn): 41(ptr) Variable Private
60: TypeImage 20(int) 2D sampled format:Unknown
61: TypeSampledImage 60
62: TypePointer UniformConstant 61
63(us2D): 62(ptr) Variable UniformConstant
67(ResType): TypeStruct 6(int) 21(ivec4)
78: 10(float) Constant 1073741824
84(tempReturn): 41(ptr) Variable Private
96(tempReturn): 41(ptr) Variable Private
110: TypeVector 6(int) 2
112: 6(int) Constant 2
119(tempReturn): 41(ptr) Variable Private
133(tempReturn): 41(ptr) Variable Private
147: TypeImage 10(float) 2D nonsampled format:Rgba32f
148: TypePointer UniformConstant 147
149(i2D): 148(ptr) Variable UniformConstant
151: TypePointer Input 110(ivec2)
152(ic2): 151(ptr) Variable Input
159(tempReturn): 41(ptr) Variable Private
160: TypeImage 6(int) 2D multi-sampled nonsampled format:Rgba32i
161: TypePointer UniformConstant 160
162(ii2DMS): 161(ptr) Variable UniformConstant
165: 6(int) Constant 3
175: TypeImage 20(int) 3D nonsampled format:Rgba32ui
176: TypePointer UniformConstant 175
177(ui3D): 176(ptr) Variable UniformConstant
179: TypeVector 6(int) 3
180: TypePointer Input 179(ivec3)
181(ic3): 180(ptr) Variable Input
188: TypePointer Output 11(fvec4)
189(outColor): 188(ptr) Variable Output
191: TypeBool
204: TypeVector 10(float) 3
205: TypePointer Input 204(fvec3)
206(c3): 205(ptr) Variable Input
207: TypePointer Input 11(fvec4)
208(c4): 207(ptr) Variable Input
209: 20(int) Constant 4
210: TypeArray 110(ivec2) 209
211: TypePointer Input 210
212(offsets): 211(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(resident): 7(ptr) Variable Function
13(texel): 12(ptr) Variable Function
18(itexel): 17(ptr) Variable Function
23(utexel): 22(ptr) Variable Function
49(tempArg): 17(ptr) Variable Function
66(tempArg): 22(ptr) Variable Function
87(tempArg): 17(ptr) Variable Function
99(tempArg): 22(ptr) Variable Function
123(tempArg): 17(ptr) Variable Function
137(tempArg): 22(ptr) Variable Function
166(tempArg): 17(ptr) Variable Function
193: 12(ptr) Variable Function
Store 8(resident) 9
Store 13(texel) 15
Store 18(itexel) 19
Store 23(utexel) 25
30: 27 Load 29(s2D)
34: 31(fvec2) Load 33(c2)
36: 35(ResType) ImageSparseSampleImplicitLod 30 34
37: 11(fvec4) CompositeExtract 36 1
Store 13(texel) 37
38: 6(int) CompositeExtract 36 0
39: 6(int) Load 8(resident)
40: 6(int) BitwiseOr 39 38
Store 8(resident) 40
47: 44 Load 46(is2D)
48: 31(fvec2) Load 33(c2)
51: 50(ResType) ImageSparseSampleImplicitLod 47 48 SignExtend
52: 16(ivec4) CompositeExtract 51 1
Store 49(tempArg) 52
53: 6(int) CompositeExtract 51 0
Store 42(tempReturn) 53
54: 16(ivec4) Load 49(tempArg)
55: 11(fvec4) ConvertSToF 54
Store 13(texel) 55
56: 6(int) Load 42(tempReturn)
57: 6(int) Load 8(resident)
58: 6(int) BitwiseOr 57 56
Store 8(resident) 58
64: 61 Load 63(us2D)
65: 31(fvec2) Load 33(c2)
68: 67(ResType) ImageSparseSampleImplicitLod 64 65 ZeroExtend
69: 21(ivec4) CompositeExtract 68 1
Store 66(tempArg) 69
70: 6(int) CompositeExtract 68 0
Store 59(tempReturn) 70
71: 21(ivec4) Load 66(tempArg)
72: 11(fvec4) ConvertUToF 71
Store 13(texel) 72
73: 6(int) Load 59(tempReturn)
74: 6(int) Load 8(resident)
75: 6(int) BitwiseOr 74 73
Store 8(resident) 75
76: 27 Load 29(s2D)
77: 31(fvec2) Load 33(c2)
79: 35(ResType) ImageSparseSampleExplicitLod 76 77 Lod 78
80: 11(fvec4) CompositeExtract 79 1
Store 13(texel) 80
81: 6(int) CompositeExtract 79 0
82: 6(int) Load 8(resident)
83: 6(int) BitwiseOr 82 81
Store 8(resident) 83
85: 44 Load 46(is2D)
86: 31(fvec2) Load 33(c2)
88: 50(ResType) ImageSparseSampleExplicitLod 85 86 Lod SignExtend 78
89: 16(ivec4) CompositeExtract 88 1
Store 87(tempArg) 89
90: 6(int) CompositeExtract 88 0
Store 84(tempReturn) 90
91: 16(ivec4) Load 87(tempArg)
92: 11(fvec4) ConvertSToF 91
Store 13(texel) 92
93: 6(int) Load 84(tempReturn)
94: 6(int) Load 8(resident)
95: 6(int) BitwiseOr 94 93
Store 8(resident) 95
97: 61 Load 63(us2D)
98: 31(fvec2) Load 33(c2)
100: 67(ResType) ImageSparseSampleExplicitLod 97 98 Lod ZeroExtend 78
101: 21(ivec4) CompositeExtract 100 1
Store 99(tempArg) 101
102: 6(int) CompositeExtract 100 0
Store 96(tempReturn) 102
103: 21(ivec4) Load 99(tempArg)
104: 11(fvec4) ConvertUToF 103
Store 13(texel) 104
105: 6(int) Load 96(tempReturn)
106: 6(int) Load 8(resident)
107: 6(int) BitwiseOr 106 105
Store 8(resident) 107
108: 27 Load 29(s2D)
109: 31(fvec2) Load 33(c2)
111: 110(ivec2) ConvertFToS 109
113: 26 Image 108
114: 35(ResType) ImageSparseFetch 113 111 Lod 112
115: 11(fvec4) CompositeExtract 114 1
Store 13(texel) 115
116: 6(int) CompositeExtract 114 0
117: 6(int) Load 8(resident)
118: 6(int) BitwiseOr 117 116
Store 8(resident) 118
120: 44 Load 46(is2D)
121: 31(fvec2) Load 33(c2)
122: 110(ivec2) ConvertFToS 121
124: 43 Image 120
125: 50(ResType) ImageSparseFetch 124 122 Lod SignExtend 112
126: 16(ivec4) CompositeExtract 125 1
Store 123(tempArg) 126
127: 6(int) CompositeExtract 125 0
Store 119(tempReturn) 127
128: 16(ivec4) Load 123(tempArg)
129: 11(fvec4) ConvertSToF 128
Store 13(texel) 129
130: 6(int) Load 119(tempReturn)
131: 6(int) Load 8(resident)
132: 6(int) BitwiseOr 131 130
Store 8(resident) 132
134: 61 Load 63(us2D)
135: 31(fvec2) Load 33(c2)
136: 110(ivec2) ConvertFToS 135
138: 60 Image 134
139: 67(ResType) ImageSparseFetch 138 136 Lod ZeroExtend 112
140: 21(ivec4) CompositeExtract 139 1
Store 137(tempArg) 140
141: 6(int) CompositeExtract 139 0
Store 133(tempReturn) 141
142: 21(ivec4) Load 137(tempArg)
143: 11(fvec4) ConvertUToF 142
Store 13(texel) 143
144: 6(int) Load 133(tempReturn)
145: 6(int) Load 8(resident)
146: 6(int) BitwiseOr 145 144
Store 8(resident) 146
150: 147 Load 149(i2D)
153: 110(ivec2) Load 152(ic2)
154: 35(ResType) ImageSparseRead 150 153
155: 11(fvec4) CompositeExtract 154 1
Store 13(texel) 155
156: 6(int) CompositeExtract 154 0
157: 6(int) Load 8(resident)
158: 6(int) BitwiseOr 157 156
Store 8(resident) 158
163: 160 Load 162(ii2DMS)
164: 110(ivec2) Load 152(ic2)
167: 50(ResType) ImageSparseRead 163 164 Sample SignExtend 165
168: 16(ivec4) CompositeExtract 167 1
Store 166(tempArg) 168
169: 6(int) CompositeExtract 167 0
Store 159(tempReturn) 169
170: 16(ivec4) Load 166(tempArg)
171: 11(fvec4) ConvertSToF 170
Store 13(texel) 171
172: 6(int) Load 159(tempReturn)
173: 6(int) Load 8(resident)
174: 6(int) BitwiseOr 173 172
Store 8(resident) 174
178: 175 Load 177(ui3D)
182: 179(ivec3) Load 181(ic3)
183: 67(ResType) ImageSparseRead 178 182 ZeroExtend
184: 21(ivec4) CompositeExtract 183 1
Store 23(utexel) 184
185: 6(int) CompositeExtract 183 0
186: 6(int) Load 8(resident)
187: 6(int) BitwiseOr 186 185
Store 8(resident) 187
190: 6(int) Load 8(resident)
192: 191(bool) ImageSparseTexelsResident 190
SelectionMerge 195 None
BranchConditional 192 194 197
194: Label
196: 11(fvec4) Load 13(texel)
Store 193 196
Branch 195
197: Label
198: 16(ivec4) Load 18(itexel)
199: 11(fvec4) ConvertSToF 198
200: 21(ivec4) Load 23(utexel)
201: 11(fvec4) ConvertUToF 200
202: 11(fvec4) FAdd 199 201
Store 193 202
Branch 195
195: Label
203: 11(fvec4) Load 193
Store 189(outColor) 203
Return
FunctionEnd

View File

@@ -0,0 +1,115 @@
spv.1.4.texture.frag
// Module Version 10400
// Generated by (magic number): 80007
// Id's are bound by 79
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 15 19 28 40 51 54 76 78
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "color"
Name 15 "texSampler2D"
Name 19 "coords2D"
Name 28 "itexSampler2D"
Name 40 "utexSampler2D"
Name 51 "iCoords2D"
Name 54 "iLod"
Name 76 "t"
Name 78 "color"
Decorate 15(texSampler2D) DescriptorSet 0
Decorate 15(texSampler2D) Binding 0
Decorate 28(itexSampler2D) DescriptorSet 0
Decorate 28(itexSampler2D) Binding 0
Decorate 40(utexSampler2D) DescriptorSet 0
Decorate 40(utexSampler2D) Binding 0
Decorate 51(iCoords2D) Flat
Decorate 54(iLod) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: 6(float) Constant 0
11: 7(fvec4) ConstantComposite 10 10 10 10
12: TypeImage 6(float) 2D sampled format:Unknown
13: TypeSampledImage 12
14: TypePointer UniformConstant 13
15(texSampler2D): 14(ptr) Variable UniformConstant
17: TypeVector 6(float) 2
18: TypePointer Input 17(fvec2)
19(coords2D): 18(ptr) Variable Input
24: TypeInt 32 1
25: TypeImage 24(int) 2D sampled format:Unknown
26: TypeSampledImage 25
27: TypePointer UniformConstant 26
28(itexSampler2D): 27(ptr) Variable UniformConstant
31: TypeVector 24(int) 4
36: TypeInt 32 0
37: TypeImage 36(int) 2D sampled format:Unknown
38: TypeSampledImage 37
39: TypePointer UniformConstant 38
40(utexSampler2D): 39(ptr) Variable UniformConstant
43: TypeVector 36(int) 4
49: TypeVector 24(int) 2
50: TypePointer Input 49(ivec2)
51(iCoords2D): 50(ptr) Variable Input
53: TypePointer Input 24(int)
54(iLod): 53(ptr) Variable Input
76(t): 18(ptr) Variable Input
77: TypePointer Output 7(fvec4)
78(color): 77(ptr) Variable Output
4(main): 2 Function None 3
5: Label
9(color): 8(ptr) Variable Function
Store 9(color) 11
16: 13 Load 15(texSampler2D)
20: 17(fvec2) Load 19(coords2D)
21: 7(fvec4) ImageSampleImplicitLod 16 20
22: 7(fvec4) Load 9(color)
23: 7(fvec4) FAdd 22 21
Store 9(color) 23
29: 26 Load 28(itexSampler2D)
30: 17(fvec2) Load 19(coords2D)
32: 31(ivec4) ImageSampleImplicitLod 29 30 SignExtend
33: 7(fvec4) ConvertSToF 32
34: 7(fvec4) Load 9(color)
35: 7(fvec4) FAdd 34 33
Store 9(color) 35
41: 38 Load 40(utexSampler2D)
42: 17(fvec2) Load 19(coords2D)
44: 43(ivec4) ImageSampleImplicitLod 41 42 ZeroExtend
45: 7(fvec4) ConvertUToF 44
46: 7(fvec4) Load 9(color)
47: 7(fvec4) FAdd 46 45
Store 9(color) 47
48: 13 Load 15(texSampler2D)
52: 49(ivec2) Load 51(iCoords2D)
55: 24(int) Load 54(iLod)
56: 12 Image 48
57: 7(fvec4) ImageFetch 56 52 Lod 55
58: 7(fvec4) Load 9(color)
59: 7(fvec4) FAdd 58 57
Store 9(color) 59
60: 26 Load 28(itexSampler2D)
61: 49(ivec2) Load 51(iCoords2D)
62: 24(int) Load 54(iLod)
63: 25 Image 60
64: 31(ivec4) ImageFetch 63 61 Lod SignExtend 62
65: 7(fvec4) ConvertSToF 64
66: 7(fvec4) Load 9(color)
67: 7(fvec4) FAdd 66 65
Store 9(color) 67
68: 38 Load 40(utexSampler2D)
69: 49(ivec2) Load 51(iCoords2D)
70: 24(int) Load 54(iLod)
71: 37 Image 68
72: 43(ivec4) ImageFetch 71 69 Lod ZeroExtend 70
73: 7(fvec4) ConvertUToF 72
74: 7(fvec4) Load 9(color)
75: 7(fvec4) FAdd 74 73
Store 9(color) 75
Return
FunctionEnd

View File

@@ -4,7 +4,7 @@ spv.8bitstorage-int.frag
// Id's are bound by 172
Capability Shader
Capability CapabilityUniformAndStorageBuffer8BitAccess
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

@@ -4,7 +4,7 @@ spv.8bitstorage-ssbo.vert
// Id's are bound by 28
Capability Shader
Capability CapabilityUniformAndStorageBuffer8BitAccess
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

@@ -4,7 +4,7 @@ spv.8bitstorage-ubo.vert
// Id's are bound by 29
Capability Shader
Capability CapabilityUniformAndStorageBuffer8BitAccess
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

@@ -4,7 +4,7 @@ spv.8bitstorage-uint.frag
// Id's are bound by 173
Capability Shader
Capability CapabilityUniformAndStorageBuffer8BitAccess
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450

View File

@@ -0,0 +1,140 @@
spv.RayGenShaderArray.rgen
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 89
Capability ShaderNonUniformEXT
Capability RuntimeDescriptorArrayEXT
Capability RayTracingNV
Extension "SPV_EXT_descriptor_indexing"
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationNV 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_EXT_nonuniform_qualifier"
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
Name 8 "lx"
Name 11 "gl_LaunchIDNV"
Name 16 "ly"
Name 20 "sx"
Name 21 "gl_LaunchSizeNV"
Name 24 "sy"
Name 30 "accNV0"
Name 34 "block"
MemberName 34(block) 0 "dir"
MemberName 34(block) 1 "origin"
MemberName 34(block) 2 "i"
Name 36 ""
Name 60 "accNV1"
Name 88 "payload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
Decorate 30(accNV0) DescriptorSet 0
Decorate 30(accNV0) Binding 0
MemberDecorate 34(block) 0 Offset 0
MemberDecorate 34(block) 1 Offset 16
MemberDecorate 34(block) 2 Offset 28
Decorate 34(block) BufferBlock
Decorate 60(accNV1) DescriptorSet 0
Decorate 60(accNV1) Binding 1
Decorate 75 DecorationNonUniformEXT
Decorate 77 DecorationNonUniformEXT
Decorate 88(payload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LaunchIDNV): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeNV): 10(ptr) Variable Input
27: TypeAccelerationStructureNV
28: TypeRuntimeArray 27
29: TypePointer UniformConstant 28
30(accNV0): 29(ptr) Variable UniformConstant
31: TypeFloat 32
32: TypeVector 31(float) 3
33: TypeInt 32 1
34(block): TypeStruct 32(fvec3) 32(fvec3) 33(int)
35: TypePointer ShaderRecordBufferNV 34(block)
36: 35(ptr) Variable ShaderRecordBufferNV
37: 33(int) Constant 2
38: TypePointer ShaderRecordBufferNV 33(int)
41: TypePointer UniformConstant 27
48: 33(int) Constant 1
49: TypePointer ShaderRecordBufferNV 32(fvec3)
52: 31(float) Constant 1056964608
53: 33(int) Constant 0
56: 31(float) Constant 1061158912
57: 6(int) Constant 2
58: TypeArray 27 57
59: TypePointer UniformConstant 58
60(accNV1): 59(ptr) Variable UniformConstant
86: TypeVector 31(float) 4
87: TypePointer RayPayloadNV 86(fvec4)
88(payload): 87(ptr) Variable RayPayloadNV
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
16(ly): 7(ptr) Variable Function
20(sx): 7(ptr) Variable Function
24(sy): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LaunchIDNV) 12
15: 6(int) Load 14
Store 8(lx) 15
18: 13(ptr) AccessChain 11(gl_LaunchIDNV) 17
19: 6(int) Load 18
Store 16(ly) 19
22: 13(ptr) AccessChain 21(gl_LaunchSizeNV) 12
23: 6(int) Load 22
Store 20(sx) 23
25: 13(ptr) AccessChain 21(gl_LaunchSizeNV) 17
26: 6(int) Load 25
Store 24(sy) 26
39: 38(ptr) AccessChain 36 37
40: 33(int) Load 39
42: 41(ptr) AccessChain 30(accNV0) 40
43: 27 Load 42
44: 6(int) Load 8(lx)
45: 6(int) Load 16(ly)
46: 6(int) Load 20(sx)
47: 6(int) Load 24(sy)
50: 49(ptr) AccessChain 36 48
51: 32(fvec3) Load 50
54: 49(ptr) AccessChain 36 53
55: 32(fvec3) Load 54
TraceNV 43 44 45 46 47 12 51 52 55 56 48
61: 38(ptr) AccessChain 36 37
62: 33(int) Load 61
63: 41(ptr) AccessChain 60(accNV1) 62
64: 27 Load 63
65: 6(int) Load 8(lx)
66: 6(int) Load 16(ly)
67: 6(int) Load 20(sx)
68: 6(int) Load 24(sy)
69: 49(ptr) AccessChain 36 48
70: 32(fvec3) Load 69
71: 49(ptr) AccessChain 36 53
72: 32(fvec3) Load 71
TraceNV 64 65 66 67 68 12 70 52 72 56 48
73: 38(ptr) AccessChain 36 37
74: 33(int) Load 73
75: 33(int) CopyObject 74
76: 41(ptr) AccessChain 30(accNV0) 75
77: 27 Load 76
78: 6(int) Load 8(lx)
79: 6(int) Load 16(ly)
80: 6(int) Load 20(sx)
81: 6(int) Load 24(sy)
82: 49(ptr) AccessChain 36 48
83: 32(fvec3) Load 82
84: 49(ptr) AccessChain 36 53
85: 32(fvec3) Load 84
TraceNV 77 78 79 80 81 12 83 52 85 56 48
Return
FunctionEnd

View File

@@ -4,8 +4,8 @@ spv.bufferhandle1.frag
// Id's are bound by 52
Capability Shader
Capability CapabilityVulkanMemoryModelKHR
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability VulkanMemoryModelKHR
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
Extension "SPV_KHR_vulkan_memory_model"

View File

@@ -4,8 +4,8 @@ spv.bufferhandle10.frag
// Id's are bound by 40
Capability Shader
Capability CapabilityVulkanMemoryModelKHR
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability VulkanMemoryModelKHR
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
Extension "SPV_KHR_vulkan_memory_model"

View File

@@ -7,8 +7,8 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
// Id's are bound by 60
Capability Shader
Capability CapabilityStorageBuffer8BitAccess
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability StorageBuffer8BitAccess
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_8bit_storage"
Extension "SPV_KHR_storage_buffer_storage_class"

View File

@@ -8,7 +8,7 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to
Capability Shader
Capability StorageUniformBufferBlock16
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_16bit_storage"
Extension "SPV_KHR_storage_buffer_storage_class"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle13.frag
// Id's are bound by 58
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle14.frag
// Id's are bound by 46
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450

View File

@@ -7,7 +7,7 @@ WARNING: 0:16: '' : all default precisions are highp; use precision statements t
// Id's are bound by 60
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -5,7 +5,7 @@ spv.bufferhandle16.frag
Capability Shader
Capability Int64
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450

View File

@@ -0,0 +1,274 @@
spv.bufferhandle18.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 196
Capability Shader
Capability Int64
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_buffer_reference"
SourceExtension "GL_EXT_buffer_reference2"
SourceExtension "GL_EXT_scalar_block_layout"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
Name 4 "main"
Name 9 "T1"
MemberName 9(T1) 0 "x"
MemberName 9(T1) 1 "y"
Name 11 "a"
Name 15 "b"
Name 18 "c"
Name 24 "d"
Name 26 "e"
Name 29 "f"
Name 59 "arr"
Name 71 "i"
Name 130 "j"
Name 153 "k"
Name 160 "x"
Name 171 "y"
Name 178 "T2"
MemberName 178(T2) 0 "x"
Name 180 "m"
Name 190 "x"
Name 195 "buf"
MemberDecorate 9(T1) 0 Offset 0
MemberDecorate 9(T1) 1 Offset 4
Decorate 9(T1) Block
Decorate 11(a) DecorationAliasedPointerEXT
Decorate 15(b) DecorationAliasedPointerEXT
Decorate 18(c) DecorationAliasedPointerEXT
Decorate 24(d) DecorationAliasedPointerEXT
Decorate 26(e) DecorationAliasedPointerEXT
Decorate 29(f) DecorationAliasedPointerEXT
Decorate 59(arr) DecorationAliasedPointerEXT
Decorate 130(j) DecorationAliasedPointerEXT
Decorate 153(k) DecorationAliasedPointerEXT
MemberDecorate 178(T2) 0 Offset 0
Decorate 178(T2) Block
Decorate 180(m) DecorationAliasedPointerEXT
2: TypeVoid
3: TypeFunction 2
TypeForwardPointer 6 PhysicalStorageBufferEXT
7: TypeInt 32 1
8: TypeInt 32 0
9(T1): TypeStruct 7(int) 8(int)
6: TypePointer PhysicalStorageBufferEXT 9(T1)
10: TypePointer Function 6(ptr)
12: TypeInt 64 0
13: 12(int64_t) Constant 4 0
16: 12(int64_t) Constant 5 0
19: TypeBool
20: 19(bool) ConstantTrue
27: 12(int64_t) Constant 6 0
31: 7(int) Constant 1
32: TypePointer PhysicalStorageBufferEXT 8(int)
35: 8(int) Constant 0
37: 12(int64_t) Constant 8 0
39: 12(int64_t) Constant 9 0
44: 12(int64_t) Constant 24 0
47: 7(int) Constant 0
48: TypePointer PhysicalStorageBufferEXT 7(int)
52: 12(int64_t) Constant 40 0
56: 8(int) Constant 2
57: TypeArray 6(ptr) 56
58: TypePointer Function 57
66: 12(int64_t) Constant 56 0
70: TypePointer Function 7(int)
77: TypeInt 64 1
137: 12(int64_t) Constant 16 0
146: 12(int64_t) Constant 32 0
156: 12(int64_t) Constant 48 0
159: TypePointer Function 77(int64_t)
168: 77(int64_t) Constant 8 0
170: TypePointer Function 12(int64_t)
174: 12(int64_t) Constant 4294967288 4294967295
TypeForwardPointer 177 PhysicalStorageBufferEXT
178(T2): TypeStruct 7(int)
177: TypePointer PhysicalStorageBufferEXT 178(T2)
179: TypePointer Function 177(ptr)
183: 12(int64_t) Constant 64 0
186: 7(int) Constant 3
187: 8(int) Constant 3
188: TypeArray 7(int) 187
189: TypePointer Private 188
190(x): 189(ptr) Variable Private
191: 12(int64_t) Constant 10 0
192: 8(int) Constant 8
193: TypeArray 8(int) 192
194: TypePointer Private 193
195(buf): 194(ptr) Variable Private
4(main): 2 Function None 3
5: Label
11(a): 10(ptr) Variable Function
15(b): 10(ptr) Variable Function
18(c): 10(ptr) Variable Function
24(d): 10(ptr) Variable Function
26(e): 10(ptr) Variable Function
29(f): 10(ptr) Variable Function
59(arr): 58(ptr) Variable Function
71(i): 70(ptr) Variable Function
130(j): 10(ptr) Variable Function
153(k): 10(ptr) Variable Function
160(x): 159(ptr) Variable Function
171(y): 170(ptr) Variable Function
180(m): 179(ptr) Variable Function
14: 6(ptr) Bitcast 13
Store 11(a) 14
17: 6(ptr) Bitcast 16
Store 15(b) 17
21: 6(ptr) Load 11(a)
22: 6(ptr) Load 15(b)
23: 6(ptr) Select 20 21 22
Store 18(c) 23
25: 6(ptr) Load 15(b)
Store 24(d) 25
28: 6(ptr) Bitcast 27
Store 26(e) 28
30: 6(ptr) Load 11(a)
33: 32(ptr) AccessChain 30 31
34: 8(int) Load 33 Aligned 4
36: 19(bool) INotEqual 34 35
38: 6(ptr) Bitcast 37
40: 6(ptr) Bitcast 39
41: 6(ptr) Select 36 38 40
Store 29(f) 41
42: 6(ptr) Load 29(f)
43: 12(int64_t) ConvertPtrToU 42
45: 12(int64_t) IAdd 43 44
46: 6(ptr) ConvertUToPtr 45
49: 48(ptr) AccessChain 46 47
Store 49 31 Aligned 8
50: 6(ptr) Load 29(f)
51: 12(int64_t) ConvertPtrToU 50
53: 12(int64_t) IAdd 51 52
54: 6(ptr) ConvertUToPtr 53
55: 48(ptr) AccessChain 54 47
Store 55 31 Aligned 8
60: 6(ptr) Load 11(a)
61: 6(ptr) Load 29(f)
62: 57 CompositeConstruct 60 61
Store 59(arr) 62
63: 10(ptr) AccessChain 59(arr) 31
64: 6(ptr) Load 63
65: 12(int64_t) ConvertPtrToU 64
67: 12(int64_t) IAdd 65 66
68: 6(ptr) ConvertUToPtr 67
69: 48(ptr) AccessChain 68 47
Store 69 31 Aligned 8
72: 7(int) Load 71(i)
73: 10(ptr) AccessChain 59(arr) 72
74: 6(ptr) Load 73
75: 12(int64_t) ConvertPtrToU 74
76: 7(int) Load 71(i)
78: 77(int64_t) SConvert 76
79: 12(int64_t) Bitcast 78
80: 12(int64_t) IMul 79 37
81: 12(int64_t) IAdd 75 80
82: 6(ptr) ConvertUToPtr 81
83: 48(ptr) AccessChain 82 47
Store 83 31 Aligned 8
84: 7(int) Load 71(i)
85: 10(ptr) AccessChain 59(arr) 84
86: 6(ptr) Load 85
87: 12(int64_t) ConvertPtrToU 86
88: 7(int) Load 71(i)
89: 77(int64_t) SConvert 88
90: 12(int64_t) Bitcast 89
91: 12(int64_t) IMul 90 37
92: 12(int64_t) IAdd 87 91
93: 6(ptr) ConvertUToPtr 92
94: 12(int64_t) ConvertPtrToU 93
95: 7(int) Load 71(i)
96: 77(int64_t) SConvert 95
97: 12(int64_t) Bitcast 96
98: 12(int64_t) IMul 97 37
99: 12(int64_t) IAdd 94 98
100: 6(ptr) ConvertUToPtr 99
101: 12(int64_t) ConvertPtrToU 100
102: 7(int) Load 71(i)
103: 77(int64_t) SConvert 102
104: 12(int64_t) Bitcast 103
105: 12(int64_t) IMul 104 37
106: 12(int64_t) IAdd 101 105
107: 6(ptr) ConvertUToPtr 106
108: 12(int64_t) ConvertPtrToU 107
109: 7(int) Load 71(i)
110: 77(int64_t) SConvert 109
111: 12(int64_t) Bitcast 110
112: 12(int64_t) IMul 111 37
113: 12(int64_t) IAdd 108 112
114: 6(ptr) ConvertUToPtr 113
115: 12(int64_t) ConvertPtrToU 114
116: 7(int) Load 71(i)
117: 77(int64_t) SConvert 116
118: 12(int64_t) Bitcast 117
119: 12(int64_t) IMul 118 37
120: 12(int64_t) IAdd 115 119
121: 6(ptr) ConvertUToPtr 120
122: 12(int64_t) ConvertPtrToU 121
123: 7(int) Load 71(i)
124: 77(int64_t) SConvert 123
125: 12(int64_t) Bitcast 124
126: 12(int64_t) IMul 125 37
127: 12(int64_t) IAdd 122 126
128: 6(ptr) ConvertUToPtr 127
129: 48(ptr) AccessChain 128 47
Store 129 31 Aligned 8
131: 6(ptr) Load 130(j)
132: 12(int64_t) ConvertPtrToU 131
133: 12(int64_t) IAdd 132 37
134: 6(ptr) ConvertUToPtr 133
Store 130(j) 134
135: 6(ptr) Load 130(j)
136: 12(int64_t) ConvertPtrToU 135
138: 12(int64_t) ISub 136 137
139: 6(ptr) ConvertUToPtr 138
Store 130(j) 139
140: 6(ptr) Load 130(j)
141: 12(int64_t) ConvertPtrToU 140
142: 12(int64_t) IAdd 141 44
143: 6(ptr) ConvertUToPtr 142
Store 130(j) 143
144: 6(ptr) Load 130(j)
145: 12(int64_t) ConvertPtrToU 144
147: 12(int64_t) ISub 145 146
148: 6(ptr) ConvertUToPtr 147
Store 130(j) 148
149: 6(ptr) Load 130(j)
150: 12(int64_t) ConvertPtrToU 149
151: 12(int64_t) IAdd 52 150
152: 6(ptr) ConvertUToPtr 151
Store 130(j) 152
154: 6(ptr) Load 130(j)
155: 12(int64_t) ConvertPtrToU 154
157: 12(int64_t) IAdd 155 156
158: 6(ptr) ConvertUToPtr 157
Store 153(k) 158
161: 6(ptr) Load 153(k)
162: 12(int64_t) ConvertPtrToU 161
163: 77(int64_t) Bitcast 162
164: 6(ptr) Load 130(j)
165: 12(int64_t) ConvertPtrToU 164
166: 77(int64_t) Bitcast 165
167: 77(int64_t) ISub 163 166
169: 77(int64_t) SDiv 167 168
Store 160(x) 169
Store 171(y) 37
172: 6(ptr) Load 153(k)
173: 12(int64_t) ConvertPtrToU 172
175: 12(int64_t) IAdd 173 174
176: 6(ptr) ConvertUToPtr 175
Store 153(k) 176
181: 177(ptr) Load 180(m)
182: 12(int64_t) ConvertPtrToU 181
184: 12(int64_t) IAdd 182 183
185: 177(ptr) ConvertUToPtr 184
Store 180(m) 185
Return
FunctionEnd

View File

@@ -0,0 +1,17 @@
spv.bufferhandle19_Errors.frag
ERROR: 0:18: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' const int' (or there is no acceptable conversion)
ERROR: 0:19: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' const int' (or there is no acceptable conversion)
ERROR: 0:20: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' const int' and a right operand of type ' temp reference' (or there is no acceptable conversion)
ERROR: 0:21: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' temp reference' (or there is no acceptable conversion)
ERROR: 0:22: 'assign' : cannot convert from ' const int' to ' temp reference'
ERROR: 0:23: 'assign' : cannot convert from ' const int' to ' temp reference'
ERROR: 0:24: 'assign' : cannot convert from ' temp reference' to ' temp reference'
ERROR: 0:25: 'assign' : cannot convert from ' temp reference' to ' temp reference'
ERROR: 0:28: 'assign' : cannot convert from ' temp reference' to ' temp reference'
ERROR: 0:29: 'assign' : cannot convert from ' temp reference' to ' temp reference'
ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type ' temp reference' and a right operand of type ' temp reference' (or there is no acceptable conversion)
ERROR: 0:31: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type ' const int' and a right operand of type ' temp reference' (or there is no acceptable conversion)
ERROR: 12 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View File

@@ -4,7 +4,7 @@ spv.bufferhandle2.frag
// Id's are bound by 45
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle3.frag
// Id's are bound by 50
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle4.frag
// Id's are bound by 61
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle5.frag
// Id's are bound by 22
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450

View File

@@ -4,7 +4,7 @@ spv.bufferhandle6.frag
// Id's are bound by 165
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle7.frag
// Id's are bound by 24
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -4,7 +4,7 @@ spv.bufferhandle8.frag
// Id's are bound by 27
Capability Shader
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -5,7 +5,7 @@ spv.bufferhandle9.frag
Capability Shader
Capability Int64
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"

View File

@@ -1,7 +1,7 @@
spv.controlFlowAttributes.frag
WARNING: 0:20: '' : attribute with arguments not recognized, skipping
WARNING: 0:21: '' : attribute with arguments not recognized, skipping
WARNING: 0:22: '' : attribute with arguments not recognized, skipping
WARNING: 0:20: 'unroll' : expected no arguments
WARNING: 0:21: 'dont_unroll' : expected no arguments
WARNING: 0:22: 'dependency_infinite' : expected no arguments
WARNING: 0:23: 'dependency_length' : expected a single integer argument
WARNING: 0:24: '' : attribute with arguments not recognized, skipping
WARNING: 0:25: '' : attribute with arguments not recognized, skipping

View File

@@ -6,9 +6,9 @@ spv.coopmat.comp
Capability Shader
Capability Float16
Capability StorageUniformBufferBlock16
Capability CapabilityVulkanMemoryModelKHR
Capability CapabilityPhysicalStorageBufferAddressesEXT
Capability CapabilityCooperativeMatrixNV
Capability VulkanMemoryModelKHR
Capability PhysicalStorageBufferAddressesEXT
Capability CooperativeMatrixNV
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_16bit_storage"
Extension "SPV_KHR_storage_buffer_storage_class"

View File

@@ -0,0 +1,56 @@
spv.fsi.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 24
Capability Shader
Capability CapabilityFragmentShaderSampleInterlockEXT
Extension "SPV_EXT_fragment_shader_interlock"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 SampleInterlockOrderedEXT
Source GLSL 450
SourceExtension "GL_ARB_fragment_shader_interlock"
Name 4 "main"
Name 7 "B1"
MemberName 7(B1) 0 "x"
Name 9 "b1"
Name 17 "im"
MemberDecorate 7(B1) 0 Coherent
MemberDecorate 7(B1) 0 Offset 0
Decorate 7(B1) BufferBlock
Decorate 9(b1) DescriptorSet 0
Decorate 9(b1) Binding 0
Decorate 17(im) DescriptorSet 0
Decorate 17(im) Binding 1
Decorate 17(im) Coherent
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7(B1): TypeStruct 6(int)
8: TypePointer Uniform 7(B1)
9(b1): 8(ptr) Variable Uniform
10: 6(int) Constant 0
11: 6(int) Constant 1
12: TypePointer Uniform 6(int)
14: TypeFloat 32
15: TypeImage 14(float) 2D nonsampled format:Rgba32f
16: TypePointer UniformConstant 15
17(im): 16(ptr) Variable UniformConstant
19: TypeVector 6(int) 2
20: 19(ivec2) ConstantComposite 10 10
21: TypeVector 14(float) 4
22: 14(float) Constant 0
23: 21(fvec4) ConstantComposite 22 22 22 22
4(main): 2 Function None 3
5: Label
BeginInvocationInterlockEXT
13: 12(ptr) AccessChain 9(b1) 10
Store 13 11
18: 15 Load 17(im)
ImageWrite 18 20 23
EndInvocationInterlockEXT
Return
FunctionEnd

View File

@@ -0,0 +1,14 @@
spv.fsi_Error.frag
ERROR: 0:4: 'pixel_interlock_ordered' : can only apply to 'in'
ERROR: 0:7: 'pixel_interlock_unordered' : cannot change previously set fragment shader interlock ordering
ERROR: 0:11: '' : beginInvocationInterlockARB() must be in main()
ERROR: 0:12: '' : endInvocationInterlockARB() must be in main()
ERROR: 0:17: '' : endInvocationInterlockARB() must only be called once
ERROR: 0:18: '' : beginInvocationInterlockARB() must only be called once
ERROR: 0:18: '' : beginInvocationInterlockARB() must be called before endInvocationInterlockARB()
ERROR: 0:22: '' : endInvocationInterlockARB() cannot be placed after a return from main()
ERROR: 0:22: '' : endInvocationInterlockARB() must only be called once
ERROR: 9 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