From a55a31d3298dbf676b943fc7ef998388a6d60f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Thu, 6 Jun 2019 22:11:01 -0700 Subject: [PATCH] Updated glslang. --- 3rdparty/glslang/.appveyor.yml | 1 + 3rdparty/glslang/BUILD.gn | 8 +- 3rdparty/glslang/CMakeLists.txt | 6 + 3rdparty/glslang/README.md | 2 +- 3rdparty/glslang/SPIRV/CMakeLists.txt | 3 +- 3rdparty/glslang/SPIRV/GLSL.ext.KHR.h | 1 + 3rdparty/glslang/SPIRV/GlslangToSpv.cpp | 209 +- 3rdparty/glslang/SPIRV/SpvBuilder.cpp | 36 +- 3rdparty/glslang/SPIRV/SpvBuilder.h | 15 +- 3rdparty/glslang/SPIRV/SpvTools.cpp | 17 +- 3rdparty/glslang/SPIRV/disassemble.cpp | 8 +- 3rdparty/glslang/SPIRV/doc.cpp | 81 +- 3rdparty/glslang/SPIRV/spirv.hpp | 100 +- 3rdparty/glslang/Test/140.vert | 2 +- 3rdparty/glslang/Test/310.frag | 2 +- 3rdparty/glslang/Test/400.tesc | 2 +- 3rdparty/glslang/Test/400.tese | 2 +- .../glslang/Test/baseResults/460.frag.out | 2 +- .../baseResults/glsl.450.subgroup.frag.out | 648 +++++- .../baseResults/glsl.450.subgroup.geom.out | 668 +++++- .../baseResults/glsl.450.subgroup.tesc.out | 668 +++++- .../baseResults/glsl.450.subgroup.tese.out | 668 +++++- .../baseResults/glsl.450.subgroup.vert.out | 668 +++++- .../glsl.450.subgroupArithmetic.comp.out | 8 +- .../glsl.450.subgroupBallot.comp.out | 28 +- .../glsl.450.subgroupBallotNeg.comp.out | 28 +- .../glsl.450.subgroupBasic.comp.out | 793 +++++++- .../glsl.450.subgroupClustered.comp.out | 8 +- .../glsl.450.subgroupClusteredNeg.comp.out | 8 +- .../glsl.450.subgroupPartitioned.comp.out | 1808 ++++++----------- .../glsl.450.subgroupQuad.comp.out | 8 +- .../glsl.450.subgroupShuffle.comp.out | 8 +- .../glsl.450.subgroupShuffleRelative.comp.out | 8 +- .../glsl.450.subgroupVote.comp.out | 8 +- .../baseResults/glsl.460.subgroup.mesh.out | 1217 +++++++++++ .../baseResults/glsl.460.subgroup.rahit.out | 775 +++++++ .../baseResults/glsl.460.subgroup.rcall.out | 663 ++++++ .../baseResults/glsl.460.subgroup.rchit.out | 797 ++++++++ .../baseResults/glsl.460.subgroup.rgen.out | 727 +++++++ .../baseResults/glsl.460.subgroup.rint.out | 749 +++++++ .../baseResults/glsl.460.subgroup.rmiss.out | 741 +++++++ .../baseResults/glsl.460.subgroup.task.out | 903 ++++++++ .../baseResults/glsl.es320.subgroup.frag.out | 8 +- .../baseResults/glsl.es320.subgroup.geom.out | 8 +- .../baseResults/glsl.es320.subgroup.tesc.out | 8 +- .../baseResults/glsl.es320.subgroup.tese.out | 8 +- .../baseResults/glsl.es320.subgroup.vert.out | 8 +- .../glsl.es320.subgroupArithmetic.comp.out | 8 +- .../glsl.es320.subgroupBallot.comp.out | 28 +- .../glsl.es320.subgroupBallotNeg.comp.out | 28 +- .../glsl.es320.subgroupBasic.comp.out | 16 +- .../glsl.es320.subgroupClustered.comp.out | 8 +- .../glsl.es320.subgroupClusteredNeg.comp.out | 8 +- .../glsl.es320.subgroupPartitioned.comp.out | 1520 +++++--------- .../glsl.es320.subgroupQuad.comp.out | 8 +- .../glsl.es320.subgroupShuffle.comp.out | 8 +- ...lsl.es320.subgroupShuffleRelative.comp.out | 8 +- .../glsl.es320.subgroupVote.comp.out | 8 +- .../Test/baseResults/hlsl.wavequery.comp.out | 8 +- .../Test/baseResults/nonuniform.frag.out | 20 +- .../spv.1.3.8bitstorage-ssbo.vert.out | 2 +- .../spv.1.3.8bitstorage-ubo.vert.out | 2 +- .../Test/baseResults/spv.1.3.coopmat.comp.out | 6 +- .../baseResults/spv.1.4.LoopControl.frag.out | 109 + .../baseResults/spv.1.4.NonWritable.frag.out | 58 + .../spv.1.4.OpCopyLogical.comp.out | 150 ++ .../spv.1.4.OpCopyLogical.funcall.frag.out | 114 ++ .../spv.1.4.OpCopyLogicalBool.comp.out | 232 +++ .../baseResults/spv.1.4.OpEntryPoint.frag.out | 106 + .../baseResults/spv.1.4.OpSelect.frag.out | 152 ++ .../Test/baseResults/spv.1.4.image.frag.out | 159 ++ .../spv.1.4.sparseTexture.frag.out | 326 +++ .../Test/baseResults/spv.1.4.texture.frag.out | 115 ++ .../baseResults/spv.8bitstorage-int.frag.out | 2 +- .../baseResults/spv.8bitstorage-ssbo.vert.out | 2 +- .../baseResults/spv.8bitstorage-ubo.vert.out | 2 +- .../baseResults/spv.8bitstorage-uint.frag.out | 2 +- .../spv.RayGenShaderArray.rgen.out | 140 ++ .../baseResults/spv.bufferhandle1.frag.out | 4 +- .../baseResults/spv.bufferhandle10.frag.out | 4 +- .../baseResults/spv.bufferhandle11.frag.out | 4 +- .../baseResults/spv.bufferhandle12.frag.out | 2 +- .../baseResults/spv.bufferhandle13.frag.out | 2 +- .../baseResults/spv.bufferhandle14.frag.out | 2 +- .../baseResults/spv.bufferhandle15.frag.out | 2 +- .../baseResults/spv.bufferhandle16.frag.out | 2 +- .../baseResults/spv.bufferhandle18.frag.out | 274 +++ .../spv.bufferhandle19_Errors.frag.out | 17 + .../baseResults/spv.bufferhandle2.frag.out | 2 +- .../baseResults/spv.bufferhandle3.frag.out | 2 +- .../baseResults/spv.bufferhandle4.frag.out | 2 +- .../baseResults/spv.bufferhandle5.frag.out | 2 +- .../baseResults/spv.bufferhandle6.frag.out | 2 +- .../baseResults/spv.bufferhandle7.frag.out | 2 +- .../baseResults/spv.bufferhandle8.frag.out | 2 +- .../baseResults/spv.bufferhandle9.frag.out | 2 +- .../spv.controlFlowAttributes.frag.out | 6 +- .../Test/baseResults/spv.coopmat.comp.out | 6 +- .../glslang/Test/baseResults/spv.fsi.frag.out | 56 + .../Test/baseResults/spv.fsi_Error.frag.out | 14 + .../Test/baseResults/spv.int8.frag.out | 2 +- .../spv.memoryScopeSemantics.comp.out | 4 +- .../Test/baseResults/spv.nonuniform.frag.out | 596 +++--- .../Test/baseResults/spv.nonuniform2.frag.out | 53 + .../baseResults/spv.shaderBallotAMD.comp.out | 1 - .../spv.shaderImageFootprint.frag.out | 2 +- 3rdparty/glslang/Test/glsl.450.subgroup.frag | 221 ++ 3rdparty/glslang/Test/glsl.450.subgroup.geom | 221 ++ 3rdparty/glslang/Test/glsl.450.subgroup.tesc | 221 ++ 3rdparty/glslang/Test/glsl.450.subgroup.tese | 220 ++ 3rdparty/glslang/Test/glsl.450.subgroup.vert | 221 ++ .../glslang/Test/glsl.450.subgroupBasic.comp | 215 ++ 3rdparty/glslang/Test/glsl.460.subgroup.mesh | 293 +++ 3rdparty/glslang/Test/glsl.460.subgroup.rahit | 255 +++ 3rdparty/glslang/Test/glsl.460.subgroup.rcall | 243 +++ 3rdparty/glslang/Test/glsl.460.subgroup.rchit | 253 +++ 3rdparty/glslang/Test/glsl.460.subgroup.rgen | 247 +++ 3rdparty/glslang/Test/glsl.460.subgroup.rint | 253 +++ 3rdparty/glslang/Test/glsl.460.subgroup.rmiss | 247 +++ 3rdparty/glslang/Test/glsl.460.subgroup.task | 284 +++ .../glslang/Test/spv.1.4.LoopControl.frag | 19 + .../glslang/Test/spv.1.4.NonWritable.frag | 13 + .../glslang/Test/spv.1.4.OpCopyLogical.comp | 48 + .../Test/spv.1.4.OpCopyLogical.funcall.frag | 21 + .../Test/spv.1.4.OpCopyLogicalBool.comp | 48 + .../glslang/Test/spv.1.4.OpEntryPoint.frag | 27 + 3rdparty/glslang/Test/spv.1.4.OpSelect.frag | 37 + 3rdparty/glslang/Test/spv.1.4.image.frag | 38 + .../glslang/Test/spv.1.4.sparseTexture.frag | 47 + 3rdparty/glslang/Test/spv.1.4.texture.frag | 26 + .../glslang/Test/spv.RayGenShaderArray.rgen | 22 + 3rdparty/glslang/Test/spv.bufferhandle18.frag | 59 + .../Test/spv.bufferhandle19_Errors.frag | 32 + 3rdparty/glslang/Test/spv.fsi.frag | 20 + 3rdparty/glslang/Test/spv.fsi_Error.frag | 23 + 3rdparty/glslang/Test/spv.nonuniform2.frag | 9 + 3rdparty/glslang/glslang/CMakeLists.txt | 3 +- 3rdparty/glslang/glslang/Include/BaseTypes.h | 19 +- 3rdparty/glslang/glslang/Include/Types.h | 29 + .../glslang/glslang/Include/intermediate.h | 41 +- 3rdparty/glslang/glslang/Include/revision.h | 2 +- .../glslang/MachineIndependent/Initialize.cpp | 102 +- .../MachineIndependent/Intermediate.cpp | 76 + .../MachineIndependent/ParseHelper.cpp | 84 +- .../glslang/MachineIndependent/ParseHelper.h | 3 + .../MachineIndependent/SymbolTable.cpp | 4 +- .../glslang/MachineIndependent/Versions.cpp | 6 + .../glslang/MachineIndependent/Versions.h | 2 + .../glslang/MachineIndependent/attribute.cpp | 109 +- .../glslang/MachineIndependent/attribute.h | 7 +- .../glslang/MachineIndependent/intermOut.cpp | 28 + .../MachineIndependent/linkValidate.cpp | 70 + .../MachineIndependent/localintermediate.h | 16 +- .../glslang/MachineIndependent/reflection.cpp | 64 +- 3rdparty/glslang/glslang/Public/ShaderLang.h | 2 +- 3rdparty/glslang/gtests/AST.FromFile.cpp | 12 +- 3rdparty/glslang/gtests/Hlsl.FromFile.cpp | 13 +- 3rdparty/glslang/gtests/Spv.FromFile.cpp | 50 +- 3rdparty/glslang/gtests/TestFixture.h | 31 +- 3rdparty/glslang/hlsl/CMakeLists.txt | 3 +- 3rdparty/glslang/known_good.json | 4 +- 161 files changed, 18989 insertions(+), 3240 deletions(-) create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.mesh.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rahit.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rcall.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rchit.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rgen.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rint.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rmiss.out create mode 100644 3rdparty/glslang/Test/baseResults/glsl.460.subgroup.task.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.1.4.LoopControl.frag.out create mode 100755 3rdparty/glslang/Test/baseResults/spv.1.4.NonWritable.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.comp.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.1.4.OpEntryPoint.frag.out create mode 100755 3rdparty/glslang/Test/baseResults/spv.1.4.OpSelect.frag.out create mode 100755 3rdparty/glslang/Test/baseResults/spv.1.4.image.frag.out create mode 100755 3rdparty/glslang/Test/baseResults/spv.1.4.sparseTexture.frag.out create mode 100755 3rdparty/glslang/Test/baseResults/spv.1.4.texture.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.RayGenShaderArray.rgen.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.bufferhandle18.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.bufferhandle19_Errors.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.fsi.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.fsi_Error.frag.out create mode 100644 3rdparty/glslang/Test/baseResults/spv.nonuniform2.frag.out create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.mesh create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.rahit create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.rcall create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.rchit create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.rgen create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.rint create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.rmiss create mode 100644 3rdparty/glslang/Test/glsl.460.subgroup.task create mode 100644 3rdparty/glslang/Test/spv.1.4.LoopControl.frag create mode 100755 3rdparty/glslang/Test/spv.1.4.NonWritable.frag create mode 100644 3rdparty/glslang/Test/spv.1.4.OpCopyLogical.comp create mode 100644 3rdparty/glslang/Test/spv.1.4.OpCopyLogical.funcall.frag create mode 100644 3rdparty/glslang/Test/spv.1.4.OpCopyLogicalBool.comp create mode 100644 3rdparty/glslang/Test/spv.1.4.OpEntryPoint.frag create mode 100755 3rdparty/glslang/Test/spv.1.4.OpSelect.frag create mode 100644 3rdparty/glslang/Test/spv.1.4.image.frag create mode 100644 3rdparty/glslang/Test/spv.1.4.sparseTexture.frag create mode 100644 3rdparty/glslang/Test/spv.1.4.texture.frag create mode 100644 3rdparty/glslang/Test/spv.RayGenShaderArray.rgen create mode 100644 3rdparty/glslang/Test/spv.bufferhandle18.frag create mode 100644 3rdparty/glslang/Test/spv.bufferhandle19_Errors.frag create mode 100644 3rdparty/glslang/Test/spv.fsi.frag create mode 100644 3rdparty/glslang/Test/spv.fsi_Error.frag create mode 100644 3rdparty/glslang/Test/spv.nonuniform2.frag mode change 100755 => 100644 3rdparty/glslang/glslang/MachineIndependent/Versions.h mode change 100755 => 100644 3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp mode change 100644 => 100755 3rdparty/glslang/gtests/TestFixture.h diff --git a/3rdparty/glslang/.appveyor.yml b/3rdparty/glslang/.appveyor.yml index 5765d9e66..e7c428275 100644 --- a/3rdparty/glslang/.appveyor.yml +++ b/3rdparty/glslang/.appveyor.yml @@ -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 diff --git a/3rdparty/glslang/BUILD.gn b/3rdparty/glslang/BUILD.gn index d8bfe616a..860247cb0 100644 --- a/3rdparty/glslang/BUILD.gn +++ b/3rdparty/glslang/BUILD.gn @@ -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", diff --git a/3rdparty/glslang/CMakeLists.txt b/3rdparty/glslang/CMakeLists.txt index aafa70ed1..acbd266b6 100644 --- a/3rdparty/glslang/CMakeLists.txt +++ b/3rdparty/glslang/CMakeLists.txt @@ -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) diff --git a/3rdparty/glslang/README.md b/3rdparty/glslang/README.md index 7d4fe3a93..ff89e4c01 100755 --- a/3rdparty/glslang/README.md +++ b/3rdparty/glslang/README.md @@ -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. diff --git a/3rdparty/glslang/SPIRV/CMakeLists.txt b/3rdparty/glslang/SPIRV/CMakeLists.txt index 1997e74c3..594ab1ef4 100644 --- a/3rdparty/glslang/SPIRV/CMakeLists.txt +++ b/3rdparty/glslang/SPIRV/CMakeLists.txt @@ -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 diff --git a/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h b/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h index 333442bb3..bcc6087dd 100644 --- a/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h +++ b/3rdparty/glslang/SPIRV/GLSL.ext.KHR.h @@ -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 diff --git a/3rdparty/glslang/SPIRV/GlslangToSpv.cpp b/3rdparty/glslang/SPIRV/GlslangToSpv.cpp index 25ef21055..7eba1b6a2 100644 --- a/3rdparty/glslang/SPIRV/GlslangToSpv.cpp +++ b/3rdparty/glslang/SPIRV/GlslangToSpv.cpp @@ -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& 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& 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 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 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 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; diff --git a/3rdparty/glslang/SPIRV/SpvBuilder.cpp b/3rdparty/glslang/SPIRV/SpvBuilder.cpp index 138c41c5f..4ef7e5fe7 100644 --- a/3rdparty/glslang/SPIRV/SpvBuilder.cpp +++ b/3rdparty/glslang/SPIRV/SpvBuilder.cpp @@ -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& 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(merge)); } diff --git a/3rdparty/glslang/SPIRV/SpvBuilder.h b/3rdparty/glslang/SPIRV/SpvBuilder.h index 52f7fba76..faed8e823 100644 --- a/3rdparty/glslang/SPIRV/SpvBuilder.h +++ b/3rdparty/glslang/SPIRV/SpvBuilder.h @@ -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& operands); // Sets to generate opcode for specialization constants. void setToSpecConstCodeGenMode() { generatingOpCodeForSpecConst = true; } diff --git a/3rdparty/glslang/SPIRV/SpvTools.cpp b/3rdparty/glslang/SPIRV/SpvTools.cpp index cce5fa717..db26d5908 100644 --- a/3rdparty/glslang/SPIRV/SpvTools.cpp +++ b/3rdparty/glslang/SPIRV/SpvTools.cpp @@ -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; } diff --git a/3rdparty/glslang/SPIRV/disassemble.cpp b/3rdparty/glslang/SPIRV/disassemble.cpp index 631173c0e..302f21243 100644 --- a/3rdparty/glslang/SPIRV/disassemble.cpp +++ b/3rdparty/glslang/SPIRV/disassemble.cpp @@ -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"; diff --git a/3rdparty/glslang/SPIRV/doc.cpp b/3rdparty/glslang/SPIRV/doc.cpp index 76e1df8d2..da9494d45 100644 --- a/3rdparty/glslang/SPIRV/doc.cpp +++ b/3rdparty/glslang/SPIRV/doc.cpp @@ -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'"); diff --git a/3rdparty/glslang/SPIRV/spirv.hpp b/3rdparty/glslang/SPIRV/spirv.hpp index 6437b9daa..03ba767ca 100644 --- a/3rdparty/glslang/SPIRV/spirv.hpp +++ b/3rdparty/glslang/SPIRV/spirv.hpp @@ -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 */ diff --git a/3rdparty/glslang/Test/140.vert b/3rdparty/glslang/Test/140.vert index 914e672d8..8035144ab 100644 --- a/3rdparty/glslang/Test/140.vert +++ b/3rdparty/glslang/Test/140.vert @@ -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 diff --git a/3rdparty/glslang/Test/310.frag b/3rdparty/glslang/Test/310.frag index 6814e6c53..a0525ea9b 100644 --- a/3rdparty/glslang/Test/310.frag +++ b/3rdparty/glslang/Test/310.frag @@ -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 diff --git a/3rdparty/glslang/Test/400.tesc b/3rdparty/glslang/Test/400.tesc index 415d7f7d7..6d609d589 100644 --- a/3rdparty/glslang/Test/400.tesc +++ b/3rdparty/glslang/Test/400.tesc @@ -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 diff --git a/3rdparty/glslang/Test/400.tese b/3rdparty/glslang/Test/400.tese index c110a1c4d..a3d30fea9 100644 --- a/3rdparty/glslang/Test/400.tese +++ b/3rdparty/glslang/Test/400.tese @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/460.frag.out b/3rdparty/glslang/Test/baseResults/460.frag.out index 90c4837e2..8670e6e14 100644 --- a/3rdparty/glslang/Test/baseResults/460.frag.out +++ b/3rdparty/glslang/Test/baseResults/460.frag.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.frag.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.frag.out index f651d6c2c..dd16c1fce 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.frag.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.frag.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.geom.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.geom.out index cddf7da7d..998f6c22f 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.geom.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.geom.out @@ -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}) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tesc.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tesc.out index d4466646a..fef9a0445 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tesc.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tesc.out @@ -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}) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tese.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tese.out index 7a005238d..de44d5553 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tese.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.tese.out @@ -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}) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.vert.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.vert.out index 54c54129a..8fad6134e 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.vert.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroup.vert.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupArithmetic.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupArithmetic.comp.out index 6c91bb0d4..431423fd4 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupArithmetic.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupArithmetic.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallot.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallot.comp.out index b3805250b..0408fb1b7 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallot.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallot.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out index 303835477..fd2e936d7 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBallotNeg.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBasic.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBasic.comp.out index 59fd193f1..168d80dfe 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBasic.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupBasic.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClustered.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClustered.comp.out index df63d3d7f..23cf03e7e 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClustered.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClustered.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out index d8aec083f..89ba8875a 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupClusteredNeg.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupPartitioned.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupPartitioned.comp.out index 1f6a83df3..853e08363 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupPartitioned.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupPartitioned.comp.out @@ -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 Sequence @@ -420,8 +420,7 @@ local_size = (8, 1, 1) 0:46 0 (const int) 0:46 Constant: 0:46 0 (const int) -0:46 ERROR: Bad aggregation op - ( global float) +0:46 subgroupPartitionedAddNV ( global float) 0:46 direct index ( temp float) 0:46 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:46 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -446,8 +445,7 @@ local_size = (8, 1, 1) 0:47 0 (const int) 0:47 Constant: 0:47 1 (const int) -0:47 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:47 subgroupPartitionedAddNV ( global 2-component vector of float) 0:47 vector swizzle ( temp 2-component vector of float) 0:47 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:47 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -477,8 +475,7 @@ local_size = (8, 1, 1) 0:48 1 (const int) 0:48 Constant: 0:48 2 (const int) -0:48 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:48 subgroupPartitionedAddNV ( global 3-component vector of float) 0:48 vector swizzle ( temp 3-component vector of float) 0:48 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:48 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -502,8 +499,7 @@ local_size = (8, 1, 1) 0:49 'invocation' ( temp uint) 0:49 Constant: 0:49 0 (const int) -0:49 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:49 subgroupPartitionedAddNV ( global 4-component vector of float) 0:49 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:49 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:49 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -522,8 +518,7 @@ local_size = (8, 1, 1) 0:51 1 (const int) 0:51 Constant: 0:51 0 (const int) -0:51 ERROR: Bad aggregation op - ( global int) +0:51 subgroupPartitionedAddNV ( global int) 0:51 direct index ( temp int) 0:51 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:51 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -548,8 +543,7 @@ local_size = (8, 1, 1) 0:52 0 (const int) 0:52 Constant: 0:52 1 (const int) -0:52 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:52 subgroupPartitionedAddNV ( global 2-component vector of int) 0:52 vector swizzle ( temp 2-component vector of int) 0:52 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:52 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -579,8 +573,7 @@ local_size = (8, 1, 1) 0:53 1 (const int) 0:53 Constant: 0:53 2 (const int) -0:53 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:53 subgroupPartitionedAddNV ( global 3-component vector of int) 0:53 vector swizzle ( temp 3-component vector of int) 0:53 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:53 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -604,8 +597,7 @@ local_size = (8, 1, 1) 0:54 'invocation' ( temp uint) 0:54 Constant: 0:54 1 (const int) -0:54 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:54 subgroupPartitionedAddNV ( global 4-component vector of int) 0:54 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:54 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:54 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -624,8 +616,7 @@ local_size = (8, 1, 1) 0:56 2 (const int) 0:56 Constant: 0:56 0 (const int) -0:56 ERROR: Bad aggregation op - ( global uint) +0:56 subgroupPartitionedAddNV ( global uint) 0:56 direct index ( temp uint) 0:56 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:56 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -650,8 +641,7 @@ local_size = (8, 1, 1) 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:57 subgroupPartitionedAddNV ( global 2-component vector of uint) 0:57 vector swizzle ( temp 2-component vector of uint) 0:57 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:57 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -681,8 +671,7 @@ local_size = (8, 1, 1) 0:58 1 (const int) 0:58 Constant: 0:58 2 (const int) -0:58 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:58 subgroupPartitionedAddNV ( global 3-component vector of uint) 0:58 vector swizzle ( temp 3-component vector of uint) 0:58 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:58 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -706,8 +695,7 @@ local_size = (8, 1, 1) 0:59 'invocation' ( temp uint) 0:59 Constant: 0:59 2 (const int) -0:59 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:59 subgroupPartitionedAddNV ( global 4-component vector of uint) 0:59 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:59 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:59 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -726,8 +714,7 @@ local_size = (8, 1, 1) 0:61 3 (const int) 0:61 Constant: 0:61 0 (const int) -0:61 ERROR: Bad aggregation op - ( global double) +0:61 subgroupPartitionedAddNV ( global double) 0:61 direct index ( temp double) 0:61 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:61 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -752,8 +739,7 @@ local_size = (8, 1, 1) 0:62 0 (const int) 0:62 Constant: 0:62 1 (const int) -0:62 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:62 subgroupPartitionedAddNV ( global 2-component vector of double) 0:62 vector swizzle ( temp 2-component vector of double) 0:62 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:62 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -783,8 +769,7 @@ local_size = (8, 1, 1) 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:63 subgroupPartitionedAddNV ( global 3-component vector of double) 0:63 vector swizzle ( temp 3-component vector of double) 0:63 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:63 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -808,8 +793,7 @@ local_size = (8, 1, 1) 0:64 'invocation' ( temp uint) 0:64 Constant: 0:64 3 (const int) -0:64 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:64 subgroupPartitionedAddNV ( global 4-component vector of double) 0:64 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:64 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:64 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -828,8 +812,7 @@ local_size = (8, 1, 1) 0:66 0 (const int) 0:66 Constant: 0:66 0 (const int) -0:66 ERROR: Bad aggregation op - ( global float) +0:66 subgroupPartitionedMulNV ( global float) 0:66 direct index ( temp float) 0:66 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:66 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -854,8 +837,7 @@ local_size = (8, 1, 1) 0:67 0 (const int) 0:67 Constant: 0:67 1 (const int) -0:67 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:67 subgroupPartitionedMulNV ( global 2-component vector of float) 0:67 vector swizzle ( temp 2-component vector of float) 0:67 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:67 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -885,8 +867,7 @@ local_size = (8, 1, 1) 0:68 1 (const int) 0:68 Constant: 0:68 2 (const int) -0:68 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:68 subgroupPartitionedMulNV ( global 3-component vector of float) 0:68 vector swizzle ( temp 3-component vector of float) 0:68 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:68 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -910,8 +891,7 @@ local_size = (8, 1, 1) 0:69 'invocation' ( temp uint) 0:69 Constant: 0:69 0 (const int) -0:69 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:69 subgroupPartitionedMulNV ( global 4-component vector of float) 0:69 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:69 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:69 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -930,8 +910,7 @@ local_size = (8, 1, 1) 0:71 1 (const int) 0:71 Constant: 0:71 0 (const int) -0:71 ERROR: Bad aggregation op - ( global int) +0:71 subgroupPartitionedMulNV ( global int) 0:71 direct index ( temp int) 0:71 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:71 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -956,8 +935,7 @@ local_size = (8, 1, 1) 0:72 0 (const int) 0:72 Constant: 0:72 1 (const int) -0:72 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:72 subgroupPartitionedMulNV ( global 2-component vector of int) 0:72 vector swizzle ( temp 2-component vector of int) 0:72 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:72 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -987,8 +965,7 @@ local_size = (8, 1, 1) 0:73 1 (const int) 0:73 Constant: 0:73 2 (const int) -0:73 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:73 subgroupPartitionedMulNV ( global 3-component vector of int) 0:73 vector swizzle ( temp 3-component vector of int) 0:73 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:73 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1012,8 +989,7 @@ local_size = (8, 1, 1) 0:74 'invocation' ( temp uint) 0:74 Constant: 0:74 1 (const int) -0:74 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:74 subgroupPartitionedMulNV ( global 4-component vector of int) 0:74 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:74 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:74 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1032,8 +1008,7 @@ local_size = (8, 1, 1) 0:76 2 (const int) 0:76 Constant: 0:76 0 (const int) -0:76 ERROR: Bad aggregation op - ( global uint) +0:76 subgroupPartitionedMulNV ( global uint) 0:76 direct index ( temp uint) 0:76 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:76 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1058,8 +1033,7 @@ local_size = (8, 1, 1) 0:77 0 (const int) 0:77 Constant: 0:77 1 (const int) -0:77 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:77 subgroupPartitionedMulNV ( global 2-component vector of uint) 0:77 vector swizzle ( temp 2-component vector of uint) 0:77 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:77 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1089,8 +1063,7 @@ local_size = (8, 1, 1) 0:78 1 (const int) 0:78 Constant: 0:78 2 (const int) -0:78 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:78 subgroupPartitionedMulNV ( global 3-component vector of uint) 0:78 vector swizzle ( temp 3-component vector of uint) 0:78 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:78 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1114,8 +1087,7 @@ local_size = (8, 1, 1) 0:79 'invocation' ( temp uint) 0:79 Constant: 0:79 2 (const int) -0:79 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:79 subgroupPartitionedMulNV ( global 4-component vector of uint) 0:79 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:79 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:79 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1134,8 +1106,7 @@ local_size = (8, 1, 1) 0:81 3 (const int) 0:81 Constant: 0:81 0 (const int) -0:81 ERROR: Bad aggregation op - ( global double) +0:81 subgroupPartitionedMulNV ( global double) 0:81 direct index ( temp double) 0:81 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:81 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1160,8 +1131,7 @@ local_size = (8, 1, 1) 0:82 0 (const int) 0:82 Constant: 0:82 1 (const int) -0:82 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:82 subgroupPartitionedMulNV ( global 2-component vector of double) 0:82 vector swizzle ( temp 2-component vector of double) 0:82 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:82 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1191,8 +1161,7 @@ local_size = (8, 1, 1) 0:83 1 (const int) 0:83 Constant: 0:83 2 (const int) -0:83 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:83 subgroupPartitionedMulNV ( global 3-component vector of double) 0:83 vector swizzle ( temp 3-component vector of double) 0:83 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:83 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1216,8 +1185,7 @@ local_size = (8, 1, 1) 0:84 'invocation' ( temp uint) 0:84 Constant: 0:84 3 (const int) -0:84 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:84 subgroupPartitionedMulNV ( global 4-component vector of double) 0:84 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:84 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:84 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1236,8 +1204,7 @@ local_size = (8, 1, 1) 0:86 0 (const int) 0:86 Constant: 0:86 0 (const int) -0:86 ERROR: Bad aggregation op - ( global float) +0:86 subgroupPartitionedMinNV ( global float) 0:86 direct index ( temp float) 0:86 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:86 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1262,8 +1229,7 @@ local_size = (8, 1, 1) 0:87 0 (const int) 0:87 Constant: 0:87 1 (const int) -0:87 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:87 subgroupPartitionedMinNV ( global 2-component vector of float) 0:87 vector swizzle ( temp 2-component vector of float) 0:87 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:87 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1293,8 +1259,7 @@ local_size = (8, 1, 1) 0:88 1 (const int) 0:88 Constant: 0:88 2 (const int) -0:88 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:88 subgroupPartitionedMinNV ( global 3-component vector of float) 0:88 vector swizzle ( temp 3-component vector of float) 0:88 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:88 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1318,8 +1283,7 @@ local_size = (8, 1, 1) 0:89 'invocation' ( temp uint) 0:89 Constant: 0:89 0 (const int) -0:89 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:89 subgroupPartitionedMinNV ( global 4-component vector of float) 0:89 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:89 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:89 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1338,8 +1302,7 @@ local_size = (8, 1, 1) 0:91 1 (const int) 0:91 Constant: 0:91 0 (const int) -0:91 ERROR: Bad aggregation op - ( global int) +0:91 subgroupPartitionedMinNV ( global int) 0:91 direct index ( temp int) 0:91 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:91 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1364,8 +1327,7 @@ local_size = (8, 1, 1) 0:92 0 (const int) 0:92 Constant: 0:92 1 (const int) -0:92 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:92 subgroupPartitionedMinNV ( global 2-component vector of int) 0:92 vector swizzle ( temp 2-component vector of int) 0:92 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:92 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1395,8 +1357,7 @@ local_size = (8, 1, 1) 0:93 1 (const int) 0:93 Constant: 0:93 2 (const int) -0:93 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:93 subgroupPartitionedMinNV ( global 3-component vector of int) 0:93 vector swizzle ( temp 3-component vector of int) 0:93 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:93 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1420,8 +1381,7 @@ local_size = (8, 1, 1) 0:94 'invocation' ( temp uint) 0:94 Constant: 0:94 1 (const int) -0:94 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:94 subgroupPartitionedMinNV ( global 4-component vector of int) 0:94 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:94 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:94 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1440,8 +1400,7 @@ local_size = (8, 1, 1) 0:96 2 (const int) 0:96 Constant: 0:96 0 (const int) -0:96 ERROR: Bad aggregation op - ( global uint) +0:96 subgroupPartitionedMinNV ( global uint) 0:96 direct index ( temp uint) 0:96 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:96 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1466,8 +1425,7 @@ local_size = (8, 1, 1) 0:97 0 (const int) 0:97 Constant: 0:97 1 (const int) -0:97 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:97 subgroupPartitionedMinNV ( global 2-component vector of uint) 0:97 vector swizzle ( temp 2-component vector of uint) 0:97 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:97 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1497,8 +1455,7 @@ local_size = (8, 1, 1) 0:98 1 (const int) 0:98 Constant: 0:98 2 (const int) -0:98 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:98 subgroupPartitionedMinNV ( global 3-component vector of uint) 0:98 vector swizzle ( temp 3-component vector of uint) 0:98 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:98 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1522,8 +1479,7 @@ local_size = (8, 1, 1) 0:99 'invocation' ( temp uint) 0:99 Constant: 0:99 2 (const int) -0:99 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:99 subgroupPartitionedMinNV ( global 4-component vector of uint) 0:99 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:99 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:99 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1542,8 +1498,7 @@ local_size = (8, 1, 1) 0:101 3 (const int) 0:101 Constant: 0:101 0 (const int) -0:101 ERROR: Bad aggregation op - ( global double) +0:101 subgroupPartitionedMinNV ( global double) 0:101 direct index ( temp double) 0:101 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:101 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1568,8 +1523,7 @@ local_size = (8, 1, 1) 0:102 0 (const int) 0:102 Constant: 0:102 1 (const int) -0:102 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:102 subgroupPartitionedMinNV ( global 2-component vector of double) 0:102 vector swizzle ( temp 2-component vector of double) 0:102 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:102 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1599,8 +1553,7 @@ local_size = (8, 1, 1) 0:103 1 (const int) 0:103 Constant: 0:103 2 (const int) -0:103 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:103 subgroupPartitionedMinNV ( global 3-component vector of double) 0:103 vector swizzle ( temp 3-component vector of double) 0:103 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:103 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1624,8 +1577,7 @@ local_size = (8, 1, 1) 0:104 'invocation' ( temp uint) 0:104 Constant: 0:104 3 (const int) -0:104 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:104 subgroupPartitionedMinNV ( global 4-component vector of double) 0:104 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:104 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:104 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1644,8 +1596,7 @@ local_size = (8, 1, 1) 0:106 0 (const int) 0:106 Constant: 0:106 0 (const int) -0:106 ERROR: Bad aggregation op - ( global float) +0:106 subgroupPartitionedMaxNV ( global float) 0:106 direct index ( temp float) 0:106 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:106 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1670,8 +1621,7 @@ local_size = (8, 1, 1) 0:107 0 (const int) 0:107 Constant: 0:107 1 (const int) -0:107 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:107 subgroupPartitionedMaxNV ( global 2-component vector of float) 0:107 vector swizzle ( temp 2-component vector of float) 0:107 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:107 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1701,8 +1651,7 @@ local_size = (8, 1, 1) 0:108 1 (const int) 0:108 Constant: 0:108 2 (const int) -0:108 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:108 subgroupPartitionedMaxNV ( global 3-component vector of float) 0:108 vector swizzle ( temp 3-component vector of float) 0:108 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:108 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1726,8 +1675,7 @@ local_size = (8, 1, 1) 0:109 'invocation' ( temp uint) 0:109 Constant: 0:109 0 (const int) -0:109 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:109 subgroupPartitionedMaxNV ( global 4-component vector of float) 0:109 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:109 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:109 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1746,8 +1694,7 @@ local_size = (8, 1, 1) 0:111 1 (const int) 0:111 Constant: 0:111 0 (const int) -0:111 ERROR: Bad aggregation op - ( global int) +0:111 subgroupPartitionedMaxNV ( global int) 0:111 direct index ( temp int) 0:111 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:111 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1772,8 +1719,7 @@ local_size = (8, 1, 1) 0:112 0 (const int) 0:112 Constant: 0:112 1 (const int) -0:112 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:112 subgroupPartitionedMaxNV ( global 2-component vector of int) 0:112 vector swizzle ( temp 2-component vector of int) 0:112 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:112 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1803,8 +1749,7 @@ local_size = (8, 1, 1) 0:113 1 (const int) 0:113 Constant: 0:113 2 (const int) -0:113 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:113 subgroupPartitionedMaxNV ( global 3-component vector of int) 0:113 vector swizzle ( temp 3-component vector of int) 0:113 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:113 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1828,8 +1773,7 @@ local_size = (8, 1, 1) 0:114 'invocation' ( temp uint) 0:114 Constant: 0:114 1 (const int) -0:114 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:114 subgroupPartitionedMaxNV ( global 4-component vector of int) 0:114 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:114 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:114 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1848,8 +1792,7 @@ local_size = (8, 1, 1) 0:116 2 (const int) 0:116 Constant: 0:116 0 (const int) -0:116 ERROR: Bad aggregation op - ( global uint) +0:116 subgroupPartitionedMaxNV ( global uint) 0:116 direct index ( temp uint) 0:116 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:116 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1874,8 +1817,7 @@ local_size = (8, 1, 1) 0:117 0 (const int) 0:117 Constant: 0:117 1 (const int) -0:117 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:117 subgroupPartitionedMaxNV ( global 2-component vector of uint) 0:117 vector swizzle ( temp 2-component vector of uint) 0:117 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:117 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1905,8 +1847,7 @@ local_size = (8, 1, 1) 0:118 1 (const int) 0:118 Constant: 0:118 2 (const int) -0:118 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:118 subgroupPartitionedMaxNV ( global 3-component vector of uint) 0:118 vector swizzle ( temp 3-component vector of uint) 0:118 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:118 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1930,8 +1871,7 @@ local_size = (8, 1, 1) 0:119 'invocation' ( temp uint) 0:119 Constant: 0:119 2 (const int) -0:119 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:119 subgroupPartitionedMaxNV ( global 4-component vector of uint) 0:119 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:119 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:119 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1950,8 +1890,7 @@ local_size = (8, 1, 1) 0:121 3 (const int) 0:121 Constant: 0:121 0 (const int) -0:121 ERROR: Bad aggregation op - ( global double) +0:121 subgroupPartitionedMaxNV ( global double) 0:121 direct index ( temp double) 0:121 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:121 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -1976,8 +1915,7 @@ local_size = (8, 1, 1) 0:122 0 (const int) 0:122 Constant: 0:122 1 (const int) -0:122 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:122 subgroupPartitionedMaxNV ( global 2-component vector of double) 0:122 vector swizzle ( temp 2-component vector of double) 0:122 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:122 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2007,8 +1945,7 @@ local_size = (8, 1, 1) 0:123 1 (const int) 0:123 Constant: 0:123 2 (const int) -0:123 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:123 subgroupPartitionedMaxNV ( global 3-component vector of double) 0:123 vector swizzle ( temp 3-component vector of double) 0:123 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:123 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2032,8 +1969,7 @@ local_size = (8, 1, 1) 0:124 'invocation' ( temp uint) 0:124 Constant: 0:124 3 (const int) -0:124 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:124 subgroupPartitionedMaxNV ( global 4-component vector of double) 0:124 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:124 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:124 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2052,8 +1988,7 @@ local_size = (8, 1, 1) 0:126 1 (const int) 0:126 Constant: 0:126 0 (const int) -0:126 ERROR: Bad aggregation op - ( global int) +0:126 subgroupPartitionedAndNV ( global int) 0:126 direct index ( temp int) 0:126 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:126 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2078,8 +2013,7 @@ local_size = (8, 1, 1) 0:127 0 (const int) 0:127 Constant: 0:127 1 (const int) -0:127 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:127 subgroupPartitionedAndNV ( global 2-component vector of int) 0:127 vector swizzle ( temp 2-component vector of int) 0:127 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:127 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2109,8 +2043,7 @@ local_size = (8, 1, 1) 0:128 1 (const int) 0:128 Constant: 0:128 2 (const int) -0:128 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:128 subgroupPartitionedAndNV ( global 3-component vector of int) 0:128 vector swizzle ( temp 3-component vector of int) 0:128 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:128 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2134,8 +2067,7 @@ local_size = (8, 1, 1) 0:129 'invocation' ( temp uint) 0:129 Constant: 0:129 1 (const int) -0:129 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:129 subgroupPartitionedAndNV ( global 4-component vector of int) 0:129 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:129 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:129 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2154,8 +2086,7 @@ local_size = (8, 1, 1) 0:131 2 (const int) 0:131 Constant: 0:131 0 (const int) -0:131 ERROR: Bad aggregation op - ( global uint) +0:131 subgroupPartitionedAndNV ( global uint) 0:131 direct index ( temp uint) 0:131 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:131 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2180,8 +2111,7 @@ local_size = (8, 1, 1) 0:132 0 (const int) 0:132 Constant: 0:132 1 (const int) -0:132 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:132 subgroupPartitionedAndNV ( global 2-component vector of uint) 0:132 vector swizzle ( temp 2-component vector of uint) 0:132 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:132 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2211,8 +2141,7 @@ local_size = (8, 1, 1) 0:133 1 (const int) 0:133 Constant: 0:133 2 (const int) -0:133 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:133 subgroupPartitionedAndNV ( global 3-component vector of uint) 0:133 vector swizzle ( temp 3-component vector of uint) 0:133 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:133 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2236,8 +2165,7 @@ local_size = (8, 1, 1) 0:134 'invocation' ( temp uint) 0:134 Constant: 0:134 2 (const int) -0:134 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:134 subgroupPartitionedAndNV ( global 4-component vector of uint) 0:134 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:134 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:134 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2257,8 +2185,7 @@ local_size = (8, 1, 1) 0:136 Constant: 0:136 0 (const int) 0:136 Convert bool to int ( temp int) -0:136 ERROR: Bad aggregation op - ( global bool) +0:136 subgroupPartitionedAndNV ( global bool) 0:136 Compare Less Than ( temp bool) 0:136 direct index ( temp int) 0:136 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2287,8 +2214,7 @@ local_size = (8, 1, 1) 0:137 Constant: 0:137 1 (const int) 0:137 Convert bool to int ( temp 2-component vector of int) -0:137 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:137 subgroupPartitionedAndNV ( global 2-component vector of bool) 0:137 Compare Less Than ( global 2-component vector of bool) 0:137 vector swizzle ( temp 2-component vector of int) 0:137 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2323,8 +2249,7 @@ local_size = (8, 1, 1) 0:138 Constant: 0:138 2 (const int) 0:138 Convert bool to int ( temp 3-component vector of int) -0:138 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:138 subgroupPartitionedAndNV ( global 3-component vector of bool) 0:138 Compare Less Than ( global 3-component vector of bool) 0:138 vector swizzle ( temp 3-component vector of int) 0:138 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2354,8 +2279,7 @@ local_size = (8, 1, 1) 0:139 Constant: 0:139 1 (const int) 0:139 Convert bool to int ( temp 4-component vector of int) -0:139 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:139 subgroupPartitionedAndNV ( global 4-component vector of bool) 0:139 Compare Less Than ( global 4-component vector of bool) 0:139 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:139 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2380,8 +2304,7 @@ local_size = (8, 1, 1) 0:141 1 (const int) 0:141 Constant: 0:141 0 (const int) -0:141 ERROR: Bad aggregation op - ( global int) +0:141 subgroupPartitionedOrNV ( global int) 0:141 direct index ( temp int) 0:141 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:141 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2406,8 +2329,7 @@ local_size = (8, 1, 1) 0:142 0 (const int) 0:142 Constant: 0:142 1 (const int) -0:142 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:142 subgroupPartitionedOrNV ( global 2-component vector of int) 0:142 vector swizzle ( temp 2-component vector of int) 0:142 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:142 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2437,8 +2359,7 @@ local_size = (8, 1, 1) 0:143 1 (const int) 0:143 Constant: 0:143 2 (const int) -0:143 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:143 subgroupPartitionedOrNV ( global 3-component vector of int) 0:143 vector swizzle ( temp 3-component vector of int) 0:143 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:143 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2462,8 +2383,7 @@ local_size = (8, 1, 1) 0:144 'invocation' ( temp uint) 0:144 Constant: 0:144 1 (const int) -0:144 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:144 subgroupPartitionedOrNV ( global 4-component vector of int) 0:144 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:144 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:144 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2482,8 +2402,7 @@ local_size = (8, 1, 1) 0:146 2 (const int) 0:146 Constant: 0:146 0 (const int) -0:146 ERROR: Bad aggregation op - ( global uint) +0:146 subgroupPartitionedOrNV ( global uint) 0:146 direct index ( temp uint) 0:146 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:146 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2508,8 +2427,7 @@ local_size = (8, 1, 1) 0:147 0 (const int) 0:147 Constant: 0:147 1 (const int) -0:147 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:147 subgroupPartitionedOrNV ( global 2-component vector of uint) 0:147 vector swizzle ( temp 2-component vector of uint) 0:147 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:147 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2539,8 +2457,7 @@ local_size = (8, 1, 1) 0:148 1 (const int) 0:148 Constant: 0:148 2 (const int) -0:148 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:148 subgroupPartitionedOrNV ( global 3-component vector of uint) 0:148 vector swizzle ( temp 3-component vector of uint) 0:148 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:148 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2564,8 +2481,7 @@ local_size = (8, 1, 1) 0:149 'invocation' ( temp uint) 0:149 Constant: 0:149 2 (const int) -0:149 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:149 subgroupPartitionedOrNV ( global 4-component vector of uint) 0:149 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:149 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:149 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2585,8 +2501,7 @@ local_size = (8, 1, 1) 0:151 Constant: 0:151 0 (const int) 0:151 Convert bool to int ( temp int) -0:151 ERROR: Bad aggregation op - ( global bool) +0:151 subgroupPartitionedOrNV ( global bool) 0:151 Compare Less Than ( temp bool) 0:151 direct index ( temp int) 0:151 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2615,8 +2530,7 @@ local_size = (8, 1, 1) 0:152 Constant: 0:152 1 (const int) 0:152 Convert bool to int ( temp 2-component vector of int) -0:152 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:152 subgroupPartitionedOrNV ( global 2-component vector of bool) 0:152 Compare Less Than ( global 2-component vector of bool) 0:152 vector swizzle ( temp 2-component vector of int) 0:152 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2651,8 +2565,7 @@ local_size = (8, 1, 1) 0:153 Constant: 0:153 2 (const int) 0:153 Convert bool to int ( temp 3-component vector of int) -0:153 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:153 subgroupPartitionedOrNV ( global 3-component vector of bool) 0:153 Compare Less Than ( global 3-component vector of bool) 0:153 vector swizzle ( temp 3-component vector of int) 0:153 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2682,8 +2595,7 @@ local_size = (8, 1, 1) 0:154 Constant: 0:154 1 (const int) 0:154 Convert bool to int ( temp 4-component vector of int) -0:154 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:154 subgroupPartitionedOrNV ( global 4-component vector of bool) 0:154 Compare Less Than ( global 4-component vector of bool) 0:154 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:154 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2708,8 +2620,7 @@ local_size = (8, 1, 1) 0:156 1 (const int) 0:156 Constant: 0:156 0 (const int) -0:156 ERROR: Bad aggregation op - ( global int) +0:156 subgroupPartitionedXorNV ( global int) 0:156 direct index ( temp int) 0:156 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:156 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2734,8 +2645,7 @@ local_size = (8, 1, 1) 0:157 0 (const int) 0:157 Constant: 0:157 1 (const int) -0:157 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:157 subgroupPartitionedXorNV ( global 2-component vector of int) 0:157 vector swizzle ( temp 2-component vector of int) 0:157 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:157 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2765,8 +2675,7 @@ local_size = (8, 1, 1) 0:158 1 (const int) 0:158 Constant: 0:158 2 (const int) -0:158 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:158 subgroupPartitionedXorNV ( global 3-component vector of int) 0:158 vector swizzle ( temp 3-component vector of int) 0:158 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:158 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2790,8 +2699,7 @@ local_size = (8, 1, 1) 0:159 'invocation' ( temp uint) 0:159 Constant: 0:159 1 (const int) -0:159 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:159 subgroupPartitionedXorNV ( global 4-component vector of int) 0:159 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:159 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:159 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2810,8 +2718,7 @@ local_size = (8, 1, 1) 0:161 2 (const int) 0:161 Constant: 0:161 0 (const int) -0:161 ERROR: Bad aggregation op - ( global uint) +0:161 subgroupPartitionedXorNV ( global uint) 0:161 direct index ( temp uint) 0:161 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:161 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2836,8 +2743,7 @@ local_size = (8, 1, 1) 0:162 0 (const int) 0:162 Constant: 0:162 1 (const int) -0:162 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:162 subgroupPartitionedXorNV ( global 2-component vector of uint) 0:162 vector swizzle ( temp 2-component vector of uint) 0:162 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:162 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2867,8 +2773,7 @@ local_size = (8, 1, 1) 0:163 1 (const int) 0:163 Constant: 0:163 2 (const int) -0:163 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:163 subgroupPartitionedXorNV ( global 3-component vector of uint) 0:163 vector swizzle ( temp 3-component vector of uint) 0:163 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:163 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2892,8 +2797,7 @@ local_size = (8, 1, 1) 0:164 'invocation' ( temp uint) 0:164 Constant: 0:164 2 (const int) -0:164 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:164 subgroupPartitionedXorNV ( global 4-component vector of uint) 0:164 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:164 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:164 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -2913,8 +2817,7 @@ local_size = (8, 1, 1) 0:166 Constant: 0:166 0 (const int) 0:166 Convert bool to int ( temp int) -0:166 ERROR: Bad aggregation op - ( global bool) +0:166 subgroupPartitionedXorNV ( global bool) 0:166 Compare Less Than ( temp bool) 0:166 direct index ( temp int) 0:166 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2943,8 +2846,7 @@ local_size = (8, 1, 1) 0:167 Constant: 0:167 1 (const int) 0:167 Convert bool to int ( temp 2-component vector of int) -0:167 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:167 subgroupPartitionedXorNV ( global 2-component vector of bool) 0:167 Compare Less Than ( global 2-component vector of bool) 0:167 vector swizzle ( temp 2-component vector of int) 0:167 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -2979,8 +2881,7 @@ local_size = (8, 1, 1) 0:168 Constant: 0:168 2 (const int) 0:168 Convert bool to int ( temp 3-component vector of int) -0:168 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:168 subgroupPartitionedXorNV ( global 3-component vector of bool) 0:168 Compare Less Than ( global 3-component vector of bool) 0:168 vector swizzle ( temp 3-component vector of int) 0:168 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -3010,8 +2911,7 @@ local_size = (8, 1, 1) 0:169 Constant: 0:169 1 (const int) 0:169 Convert bool to int ( temp 4-component vector of int) -0:169 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:169 subgroupPartitionedXorNV ( global 4-component vector of bool) 0:169 Compare Less Than ( global 4-component vector of bool) 0:169 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:169 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3036,8 +2936,7 @@ local_size = (8, 1, 1) 0:171 0 (const int) 0:171 Constant: 0:171 0 (const int) -0:171 ERROR: Bad aggregation op - ( global float) +0:171 subgroupPartitionedInclusiveAddNV ( global float) 0:171 direct index ( temp float) 0:171 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:171 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3062,8 +2961,7 @@ local_size = (8, 1, 1) 0:172 0 (const int) 0:172 Constant: 0:172 1 (const int) -0:172 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:172 subgroupPartitionedInclusiveAddNV ( global 2-component vector of float) 0:172 vector swizzle ( temp 2-component vector of float) 0:172 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:172 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3093,8 +2991,7 @@ local_size = (8, 1, 1) 0:173 1 (const int) 0:173 Constant: 0:173 2 (const int) -0:173 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:173 subgroupPartitionedInclusiveAddNV ( global 3-component vector of float) 0:173 vector swizzle ( temp 3-component vector of float) 0:173 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:173 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3118,8 +3015,7 @@ local_size = (8, 1, 1) 0:174 'invocation' ( temp uint) 0:174 Constant: 0:174 0 (const int) -0:174 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:174 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float) 0:174 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:174 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:174 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3138,8 +3034,7 @@ local_size = (8, 1, 1) 0:176 1 (const int) 0:176 Constant: 0:176 0 (const int) -0:176 ERROR: Bad aggregation op - ( global int) +0:176 subgroupPartitionedInclusiveAddNV ( global int) 0:176 direct index ( temp int) 0:176 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:176 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3164,8 +3059,7 @@ local_size = (8, 1, 1) 0:177 0 (const int) 0:177 Constant: 0:177 1 (const int) -0:177 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:177 subgroupPartitionedInclusiveAddNV ( global 2-component vector of int) 0:177 vector swizzle ( temp 2-component vector of int) 0:177 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:177 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3195,8 +3089,7 @@ local_size = (8, 1, 1) 0:178 1 (const int) 0:178 Constant: 0:178 2 (const int) -0:178 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:178 subgroupPartitionedInclusiveAddNV ( global 3-component vector of int) 0:178 vector swizzle ( temp 3-component vector of int) 0:178 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:178 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3220,8 +3113,7 @@ local_size = (8, 1, 1) 0:179 'invocation' ( temp uint) 0:179 Constant: 0:179 1 (const int) -0:179 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:179 subgroupPartitionedInclusiveAddNV ( global 4-component vector of int) 0:179 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:179 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:179 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3240,8 +3132,7 @@ local_size = (8, 1, 1) 0:181 2 (const int) 0:181 Constant: 0:181 0 (const int) -0:181 ERROR: Bad aggregation op - ( global uint) +0:181 subgroupPartitionedInclusiveAddNV ( global uint) 0:181 direct index ( temp uint) 0:181 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:181 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3266,8 +3157,7 @@ local_size = (8, 1, 1) 0:182 0 (const int) 0:182 Constant: 0:182 1 (const int) -0:182 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:182 subgroupPartitionedInclusiveAddNV ( global 2-component vector of uint) 0:182 vector swizzle ( temp 2-component vector of uint) 0:182 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:182 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3297,8 +3187,7 @@ local_size = (8, 1, 1) 0:183 1 (const int) 0:183 Constant: 0:183 2 (const int) -0:183 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:183 subgroupPartitionedInclusiveAddNV ( global 3-component vector of uint) 0:183 vector swizzle ( temp 3-component vector of uint) 0:183 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:183 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3322,8 +3211,7 @@ local_size = (8, 1, 1) 0:184 'invocation' ( temp uint) 0:184 Constant: 0:184 2 (const int) -0:184 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:184 subgroupPartitionedInclusiveAddNV ( global 4-component vector of uint) 0:184 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:184 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:184 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3342,8 +3230,7 @@ local_size = (8, 1, 1) 0:186 3 (const int) 0:186 Constant: 0:186 0 (const int) -0:186 ERROR: Bad aggregation op - ( global double) +0:186 subgroupPartitionedInclusiveAddNV ( global double) 0:186 direct index ( temp double) 0:186 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:186 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3368,8 +3255,7 @@ local_size = (8, 1, 1) 0:187 0 (const int) 0:187 Constant: 0:187 1 (const int) -0:187 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:187 subgroupPartitionedInclusiveAddNV ( global 2-component vector of double) 0:187 vector swizzle ( temp 2-component vector of double) 0:187 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:187 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3399,8 +3285,7 @@ local_size = (8, 1, 1) 0:188 1 (const int) 0:188 Constant: 0:188 2 (const int) -0:188 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:188 subgroupPartitionedInclusiveAddNV ( global 3-component vector of double) 0:188 vector swizzle ( temp 3-component vector of double) 0:188 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:188 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3424,8 +3309,7 @@ local_size = (8, 1, 1) 0:189 'invocation' ( temp uint) 0:189 Constant: 0:189 3 (const int) -0:189 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:189 subgroupPartitionedInclusiveAddNV ( global 4-component vector of double) 0:189 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:189 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:189 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3444,8 +3328,7 @@ local_size = (8, 1, 1) 0:191 0 (const int) 0:191 Constant: 0:191 0 (const int) -0:191 ERROR: Bad aggregation op - ( global float) +0:191 subgroupPartitionedInclusiveMulNV ( global float) 0:191 direct index ( temp float) 0:191 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:191 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3470,8 +3353,7 @@ local_size = (8, 1, 1) 0:192 0 (const int) 0:192 Constant: 0:192 1 (const int) -0:192 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:192 subgroupPartitionedInclusiveMulNV ( global 2-component vector of float) 0:192 vector swizzle ( temp 2-component vector of float) 0:192 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:192 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3501,8 +3383,7 @@ local_size = (8, 1, 1) 0:193 1 (const int) 0:193 Constant: 0:193 2 (const int) -0:193 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:193 subgroupPartitionedInclusiveMulNV ( global 3-component vector of float) 0:193 vector swizzle ( temp 3-component vector of float) 0:193 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:193 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3526,8 +3407,7 @@ local_size = (8, 1, 1) 0:194 'invocation' ( temp uint) 0:194 Constant: 0:194 0 (const int) -0:194 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:194 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float) 0:194 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:194 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:194 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3546,8 +3426,7 @@ local_size = (8, 1, 1) 0:196 1 (const int) 0:196 Constant: 0:196 0 (const int) -0:196 ERROR: Bad aggregation op - ( global int) +0:196 subgroupPartitionedInclusiveMulNV ( global int) 0:196 direct index ( temp int) 0:196 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:196 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3572,8 +3451,7 @@ local_size = (8, 1, 1) 0:197 0 (const int) 0:197 Constant: 0:197 1 (const int) -0:197 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:197 subgroupPartitionedInclusiveMulNV ( global 2-component vector of int) 0:197 vector swizzle ( temp 2-component vector of int) 0:197 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:197 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3603,8 +3481,7 @@ local_size = (8, 1, 1) 0:198 1 (const int) 0:198 Constant: 0:198 2 (const int) -0:198 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:198 subgroupPartitionedInclusiveMulNV ( global 3-component vector of int) 0:198 vector swizzle ( temp 3-component vector of int) 0:198 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:198 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3628,8 +3505,7 @@ local_size = (8, 1, 1) 0:199 'invocation' ( temp uint) 0:199 Constant: 0:199 1 (const int) -0:199 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:199 subgroupPartitionedInclusiveMulNV ( global 4-component vector of int) 0:199 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:199 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:199 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3648,8 +3524,7 @@ local_size = (8, 1, 1) 0:201 2 (const int) 0:201 Constant: 0:201 0 (const int) -0:201 ERROR: Bad aggregation op - ( global uint) +0:201 subgroupPartitionedInclusiveMulNV ( global uint) 0:201 direct index ( temp uint) 0:201 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:201 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3674,8 +3549,7 @@ local_size = (8, 1, 1) 0:202 0 (const int) 0:202 Constant: 0:202 1 (const int) -0:202 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:202 subgroupPartitionedInclusiveMulNV ( global 2-component vector of uint) 0:202 vector swizzle ( temp 2-component vector of uint) 0:202 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:202 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3705,8 +3579,7 @@ local_size = (8, 1, 1) 0:203 1 (const int) 0:203 Constant: 0:203 2 (const int) -0:203 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:203 subgroupPartitionedInclusiveMulNV ( global 3-component vector of uint) 0:203 vector swizzle ( temp 3-component vector of uint) 0:203 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:203 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3730,8 +3603,7 @@ local_size = (8, 1, 1) 0:204 'invocation' ( temp uint) 0:204 Constant: 0:204 2 (const int) -0:204 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:204 subgroupPartitionedInclusiveMulNV ( global 4-component vector of uint) 0:204 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:204 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:204 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3750,8 +3622,7 @@ local_size = (8, 1, 1) 0:206 3 (const int) 0:206 Constant: 0:206 0 (const int) -0:206 ERROR: Bad aggregation op - ( global double) +0:206 subgroupPartitionedInclusiveMulNV ( global double) 0:206 direct index ( temp double) 0:206 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:206 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3776,8 +3647,7 @@ local_size = (8, 1, 1) 0:207 0 (const int) 0:207 Constant: 0:207 1 (const int) -0:207 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:207 subgroupPartitionedInclusiveMulNV ( global 2-component vector of double) 0:207 vector swizzle ( temp 2-component vector of double) 0:207 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:207 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3807,8 +3677,7 @@ local_size = (8, 1, 1) 0:208 1 (const int) 0:208 Constant: 0:208 2 (const int) -0:208 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:208 subgroupPartitionedInclusiveMulNV ( global 3-component vector of double) 0:208 vector swizzle ( temp 3-component vector of double) 0:208 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:208 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3832,8 +3701,7 @@ local_size = (8, 1, 1) 0:209 'invocation' ( temp uint) 0:209 Constant: 0:209 3 (const int) -0:209 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:209 subgroupPartitionedInclusiveMulNV ( global 4-component vector of double) 0:209 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:209 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:209 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3852,8 +3720,7 @@ local_size = (8, 1, 1) 0:211 0 (const int) 0:211 Constant: 0:211 0 (const int) -0:211 ERROR: Bad aggregation op - ( global float) +0:211 subgroupPartitionedInclusiveMinNV ( global float) 0:211 direct index ( temp float) 0:211 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:211 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3878,8 +3745,7 @@ local_size = (8, 1, 1) 0:212 0 (const int) 0:212 Constant: 0:212 1 (const int) -0:212 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:212 subgroupPartitionedInclusiveMinNV ( global 2-component vector of float) 0:212 vector swizzle ( temp 2-component vector of float) 0:212 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:212 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3909,8 +3775,7 @@ local_size = (8, 1, 1) 0:213 1 (const int) 0:213 Constant: 0:213 2 (const int) -0:213 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:213 subgroupPartitionedInclusiveMinNV ( global 3-component vector of float) 0:213 vector swizzle ( temp 3-component vector of float) 0:213 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:213 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3934,8 +3799,7 @@ local_size = (8, 1, 1) 0:214 'invocation' ( temp uint) 0:214 Constant: 0:214 0 (const int) -0:214 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:214 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float) 0:214 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:214 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:214 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3954,8 +3818,7 @@ local_size = (8, 1, 1) 0:216 1 (const int) 0:216 Constant: 0:216 0 (const int) -0:216 ERROR: Bad aggregation op - ( global int) +0:216 subgroupPartitionedInclusiveMinNV ( global int) 0:216 direct index ( temp int) 0:216 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:216 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -3980,8 +3843,7 @@ local_size = (8, 1, 1) 0:217 0 (const int) 0:217 Constant: 0:217 1 (const int) -0:217 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:217 subgroupPartitionedInclusiveMinNV ( global 2-component vector of int) 0:217 vector swizzle ( temp 2-component vector of int) 0:217 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:217 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4011,8 +3873,7 @@ local_size = (8, 1, 1) 0:218 1 (const int) 0:218 Constant: 0:218 2 (const int) -0:218 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:218 subgroupPartitionedInclusiveMinNV ( global 3-component vector of int) 0:218 vector swizzle ( temp 3-component vector of int) 0:218 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:218 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4036,8 +3897,7 @@ local_size = (8, 1, 1) 0:219 'invocation' ( temp uint) 0:219 Constant: 0:219 1 (const int) -0:219 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:219 subgroupPartitionedInclusiveMinNV ( global 4-component vector of int) 0:219 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:219 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:219 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4056,8 +3916,7 @@ local_size = (8, 1, 1) 0:221 2 (const int) 0:221 Constant: 0:221 0 (const int) -0:221 ERROR: Bad aggregation op - ( global uint) +0:221 subgroupPartitionedInclusiveMinNV ( global uint) 0:221 direct index ( temp uint) 0:221 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:221 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4082,8 +3941,7 @@ local_size = (8, 1, 1) 0:222 0 (const int) 0:222 Constant: 0:222 1 (const int) -0:222 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:222 subgroupPartitionedInclusiveMinNV ( global 2-component vector of uint) 0:222 vector swizzle ( temp 2-component vector of uint) 0:222 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:222 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4113,8 +3971,7 @@ local_size = (8, 1, 1) 0:223 1 (const int) 0:223 Constant: 0:223 2 (const int) -0:223 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:223 subgroupPartitionedInclusiveMinNV ( global 3-component vector of uint) 0:223 vector swizzle ( temp 3-component vector of uint) 0:223 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:223 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4138,8 +3995,7 @@ local_size = (8, 1, 1) 0:224 'invocation' ( temp uint) 0:224 Constant: 0:224 2 (const int) -0:224 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:224 subgroupPartitionedInclusiveMinNV ( global 4-component vector of uint) 0:224 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:224 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:224 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4158,8 +4014,7 @@ local_size = (8, 1, 1) 0:226 3 (const int) 0:226 Constant: 0:226 0 (const int) -0:226 ERROR: Bad aggregation op - ( global double) +0:226 subgroupPartitionedInclusiveMinNV ( global double) 0:226 direct index ( temp double) 0:226 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:226 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4184,8 +4039,7 @@ local_size = (8, 1, 1) 0:227 0 (const int) 0:227 Constant: 0:227 1 (const int) -0:227 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:227 subgroupPartitionedInclusiveMinNV ( global 2-component vector of double) 0:227 vector swizzle ( temp 2-component vector of double) 0:227 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:227 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4215,8 +4069,7 @@ local_size = (8, 1, 1) 0:228 1 (const int) 0:228 Constant: 0:228 2 (const int) -0:228 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:228 subgroupPartitionedInclusiveMinNV ( global 3-component vector of double) 0:228 vector swizzle ( temp 3-component vector of double) 0:228 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:228 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4240,8 +4093,7 @@ local_size = (8, 1, 1) 0:229 'invocation' ( temp uint) 0:229 Constant: 0:229 3 (const int) -0:229 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:229 subgroupPartitionedInclusiveMinNV ( global 4-component vector of double) 0:229 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:229 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:229 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4260,8 +4112,7 @@ local_size = (8, 1, 1) 0:231 0 (const int) 0:231 Constant: 0:231 0 (const int) -0:231 ERROR: Bad aggregation op - ( global float) +0:231 subgroupPartitionedInclusiveMaxNV ( global float) 0:231 direct index ( temp float) 0:231 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:231 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4286,8 +4137,7 @@ local_size = (8, 1, 1) 0:232 0 (const int) 0:232 Constant: 0:232 1 (const int) -0:232 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:232 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of float) 0:232 vector swizzle ( temp 2-component vector of float) 0:232 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:232 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4317,8 +4167,7 @@ local_size = (8, 1, 1) 0:233 1 (const int) 0:233 Constant: 0:233 2 (const int) -0:233 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:233 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of float) 0:233 vector swizzle ( temp 3-component vector of float) 0:233 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:233 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4342,8 +4191,7 @@ local_size = (8, 1, 1) 0:234 'invocation' ( temp uint) 0:234 Constant: 0:234 0 (const int) -0:234 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:234 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float) 0:234 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:234 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:234 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4362,8 +4210,7 @@ local_size = (8, 1, 1) 0:236 1 (const int) 0:236 Constant: 0:236 0 (const int) -0:236 ERROR: Bad aggregation op - ( global int) +0:236 subgroupPartitionedInclusiveMaxNV ( global int) 0:236 direct index ( temp int) 0:236 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:236 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4388,8 +4235,7 @@ local_size = (8, 1, 1) 0:237 0 (const int) 0:237 Constant: 0:237 1 (const int) -0:237 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:237 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of int) 0:237 vector swizzle ( temp 2-component vector of int) 0:237 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:237 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4419,8 +4265,7 @@ local_size = (8, 1, 1) 0:238 1 (const int) 0:238 Constant: 0:238 2 (const int) -0:238 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:238 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of int) 0:238 vector swizzle ( temp 3-component vector of int) 0:238 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:238 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4444,8 +4289,7 @@ local_size = (8, 1, 1) 0:239 'invocation' ( temp uint) 0:239 Constant: 0:239 1 (const int) -0:239 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:239 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of int) 0:239 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:239 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:239 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4464,8 +4308,7 @@ local_size = (8, 1, 1) 0:241 2 (const int) 0:241 Constant: 0:241 0 (const int) -0:241 ERROR: Bad aggregation op - ( global uint) +0:241 subgroupPartitionedInclusiveMaxNV ( global uint) 0:241 direct index ( temp uint) 0:241 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:241 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4490,8 +4333,7 @@ local_size = (8, 1, 1) 0:242 0 (const int) 0:242 Constant: 0:242 1 (const int) -0:242 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:242 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of uint) 0:242 vector swizzle ( temp 2-component vector of uint) 0:242 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:242 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4521,8 +4363,7 @@ local_size = (8, 1, 1) 0:243 1 (const int) 0:243 Constant: 0:243 2 (const int) -0:243 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:243 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of uint) 0:243 vector swizzle ( temp 3-component vector of uint) 0:243 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:243 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4546,8 +4387,7 @@ local_size = (8, 1, 1) 0:244 'invocation' ( temp uint) 0:244 Constant: 0:244 2 (const int) -0:244 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:244 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of uint) 0:244 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:244 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:244 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4566,8 +4406,7 @@ local_size = (8, 1, 1) 0:246 3 (const int) 0:246 Constant: 0:246 0 (const int) -0:246 ERROR: Bad aggregation op - ( global double) +0:246 subgroupPartitionedInclusiveMaxNV ( global double) 0:246 direct index ( temp double) 0:246 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:246 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4592,8 +4431,7 @@ local_size = (8, 1, 1) 0:247 0 (const int) 0:247 Constant: 0:247 1 (const int) -0:247 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:247 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of double) 0:247 vector swizzle ( temp 2-component vector of double) 0:247 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:247 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4623,8 +4461,7 @@ local_size = (8, 1, 1) 0:248 1 (const int) 0:248 Constant: 0:248 2 (const int) -0:248 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:248 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of double) 0:248 vector swizzle ( temp 3-component vector of double) 0:248 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:248 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4648,8 +4485,7 @@ local_size = (8, 1, 1) 0:249 'invocation' ( temp uint) 0:249 Constant: 0:249 3 (const int) -0:249 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:249 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of double) 0:249 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:249 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:249 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4668,8 +4504,7 @@ local_size = (8, 1, 1) 0:251 1 (const int) 0:251 Constant: 0:251 0 (const int) -0:251 ERROR: Bad aggregation op - ( global int) +0:251 subgroupPartitionedInclusiveAndNV ( global int) 0:251 direct index ( temp int) 0:251 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:251 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4694,8 +4529,7 @@ local_size = (8, 1, 1) 0:252 0 (const int) 0:252 Constant: 0:252 1 (const int) -0:252 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:252 subgroupPartitionedInclusiveAndNV ( global 2-component vector of int) 0:252 vector swizzle ( temp 2-component vector of int) 0:252 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:252 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4725,8 +4559,7 @@ local_size = (8, 1, 1) 0:253 1 (const int) 0:253 Constant: 0:253 2 (const int) -0:253 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:253 subgroupPartitionedInclusiveAndNV ( global 3-component vector of int) 0:253 vector swizzle ( temp 3-component vector of int) 0:253 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:253 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4750,8 +4583,7 @@ local_size = (8, 1, 1) 0:254 'invocation' ( temp uint) 0:254 Constant: 0:254 1 (const int) -0:254 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:254 subgroupPartitionedInclusiveAndNV ( global 4-component vector of int) 0:254 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:254 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:254 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4770,8 +4602,7 @@ local_size = (8, 1, 1) 0:256 2 (const int) 0:256 Constant: 0:256 0 (const int) -0:256 ERROR: Bad aggregation op - ( global uint) +0:256 subgroupPartitionedInclusiveAndNV ( global uint) 0:256 direct index ( temp uint) 0:256 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:256 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4796,8 +4627,7 @@ local_size = (8, 1, 1) 0:257 0 (const int) 0:257 Constant: 0:257 1 (const int) -0:257 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:257 subgroupPartitionedInclusiveAndNV ( global 2-component vector of uint) 0:257 vector swizzle ( temp 2-component vector of uint) 0:257 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:257 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4827,8 +4657,7 @@ local_size = (8, 1, 1) 0:258 1 (const int) 0:258 Constant: 0:258 2 (const int) -0:258 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:258 subgroupPartitionedInclusiveAndNV ( global 3-component vector of uint) 0:258 vector swizzle ( temp 3-component vector of uint) 0:258 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:258 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4852,8 +4681,7 @@ local_size = (8, 1, 1) 0:259 'invocation' ( temp uint) 0:259 Constant: 0:259 2 (const int) -0:259 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:259 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint) 0:259 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:259 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:259 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4873,8 +4701,7 @@ local_size = (8, 1, 1) 0:261 Constant: 0:261 0 (const int) 0:261 Convert bool to int ( temp int) -0:261 ERROR: Bad aggregation op - ( global bool) +0:261 subgroupPartitionedInclusiveAndNV ( global bool) 0:261 Compare Less Than ( temp bool) 0:261 direct index ( temp int) 0:261 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -4903,8 +4730,7 @@ local_size = (8, 1, 1) 0:262 Constant: 0:262 1 (const int) 0:262 Convert bool to int ( temp 2-component vector of int) -0:262 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:262 subgroupPartitionedInclusiveAndNV ( global 2-component vector of bool) 0:262 Compare Less Than ( global 2-component vector of bool) 0:262 vector swizzle ( temp 2-component vector of int) 0:262 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -4939,8 +4765,7 @@ local_size = (8, 1, 1) 0:263 Constant: 0:263 2 (const int) 0:263 Convert bool to int ( temp 3-component vector of int) -0:263 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:263 subgroupPartitionedInclusiveAndNV ( global 3-component vector of bool) 0:263 Compare Less Than ( global 3-component vector of bool) 0:263 vector swizzle ( temp 3-component vector of int) 0:263 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -4970,8 +4795,7 @@ local_size = (8, 1, 1) 0:264 Constant: 0:264 1 (const int) 0:264 Convert bool to int ( temp 4-component vector of int) -0:264 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:264 subgroupPartitionedInclusiveAndNV ( global 4-component vector of bool) 0:264 Compare Less Than ( global 4-component vector of bool) 0:264 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:264 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -4996,8 +4820,7 @@ local_size = (8, 1, 1) 0:266 1 (const int) 0:266 Constant: 0:266 0 (const int) -0:266 ERROR: Bad aggregation op - ( global int) +0:266 subgroupPartitionedInclusiveOrNV ( global int) 0:266 direct index ( temp int) 0:266 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:266 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5022,8 +4845,7 @@ local_size = (8, 1, 1) 0:267 0 (const int) 0:267 Constant: 0:267 1 (const int) -0:267 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:267 subgroupPartitionedInclusiveOrNV ( global 2-component vector of int) 0:267 vector swizzle ( temp 2-component vector of int) 0:267 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:267 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5053,8 +4875,7 @@ local_size = (8, 1, 1) 0:268 1 (const int) 0:268 Constant: 0:268 2 (const int) -0:268 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:268 subgroupPartitionedInclusiveOrNV ( global 3-component vector of int) 0:268 vector swizzle ( temp 3-component vector of int) 0:268 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:268 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5078,8 +4899,7 @@ local_size = (8, 1, 1) 0:269 'invocation' ( temp uint) 0:269 Constant: 0:269 1 (const int) -0:269 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:269 subgroupPartitionedInclusiveOrNV ( global 4-component vector of int) 0:269 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:269 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:269 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5098,8 +4918,7 @@ local_size = (8, 1, 1) 0:271 2 (const int) 0:271 Constant: 0:271 0 (const int) -0:271 ERROR: Bad aggregation op - ( global uint) +0:271 subgroupPartitionedInclusiveOrNV ( global uint) 0:271 direct index ( temp uint) 0:271 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:271 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5124,8 +4943,7 @@ local_size = (8, 1, 1) 0:272 0 (const int) 0:272 Constant: 0:272 1 (const int) -0:272 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:272 subgroupPartitionedInclusiveOrNV ( global 2-component vector of uint) 0:272 vector swizzle ( temp 2-component vector of uint) 0:272 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:272 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5155,8 +4973,7 @@ local_size = (8, 1, 1) 0:273 1 (const int) 0:273 Constant: 0:273 2 (const int) -0:273 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:273 subgroupPartitionedInclusiveOrNV ( global 3-component vector of uint) 0:273 vector swizzle ( temp 3-component vector of uint) 0:273 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:273 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5180,8 +4997,7 @@ local_size = (8, 1, 1) 0:274 'invocation' ( temp uint) 0:274 Constant: 0:274 2 (const int) -0:274 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:274 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint) 0:274 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:274 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:274 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5201,8 +5017,7 @@ local_size = (8, 1, 1) 0:276 Constant: 0:276 0 (const int) 0:276 Convert bool to int ( temp int) -0:276 ERROR: Bad aggregation op - ( global bool) +0:276 subgroupPartitionedInclusiveOrNV ( global bool) 0:276 Compare Less Than ( temp bool) 0:276 direct index ( temp int) 0:276 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -5231,8 +5046,7 @@ local_size = (8, 1, 1) 0:277 Constant: 0:277 1 (const int) 0:277 Convert bool to int ( temp 2-component vector of int) -0:277 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:277 subgroupPartitionedInclusiveOrNV ( global 2-component vector of bool) 0:277 Compare Less Than ( global 2-component vector of bool) 0:277 vector swizzle ( temp 2-component vector of int) 0:277 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -5267,8 +5081,7 @@ local_size = (8, 1, 1) 0:278 Constant: 0:278 2 (const int) 0:278 Convert bool to int ( temp 3-component vector of int) -0:278 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:278 subgroupPartitionedInclusiveOrNV ( global 3-component vector of bool) 0:278 Compare Less Than ( global 3-component vector of bool) 0:278 vector swizzle ( temp 3-component vector of int) 0:278 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -5298,8 +5111,7 @@ local_size = (8, 1, 1) 0:279 Constant: 0:279 1 (const int) 0:279 Convert bool to int ( temp 4-component vector of int) -0:279 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:279 subgroupPartitionedInclusiveOrNV ( global 4-component vector of bool) 0:279 Compare Less Than ( global 4-component vector of bool) 0:279 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:279 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5324,8 +5136,7 @@ local_size = (8, 1, 1) 0:281 1 (const int) 0:281 Constant: 0:281 0 (const int) -0:281 ERROR: Bad aggregation op - ( global int) +0:281 subgroupPartitionedInclusiveXorNV ( global int) 0:281 direct index ( temp int) 0:281 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:281 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5350,8 +5161,7 @@ local_size = (8, 1, 1) 0:282 0 (const int) 0:282 Constant: 0:282 1 (const int) -0:282 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:282 subgroupPartitionedInclusiveXorNV ( global 2-component vector of int) 0:282 vector swizzle ( temp 2-component vector of int) 0:282 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:282 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5381,8 +5191,7 @@ local_size = (8, 1, 1) 0:283 1 (const int) 0:283 Constant: 0:283 2 (const int) -0:283 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:283 subgroupPartitionedInclusiveXorNV ( global 3-component vector of int) 0:283 vector swizzle ( temp 3-component vector of int) 0:283 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:283 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5406,8 +5215,7 @@ local_size = (8, 1, 1) 0:284 'invocation' ( temp uint) 0:284 Constant: 0:284 1 (const int) -0:284 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:284 subgroupPartitionedInclusiveXorNV ( global 4-component vector of int) 0:284 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:284 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:284 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5426,8 +5234,7 @@ local_size = (8, 1, 1) 0:286 2 (const int) 0:286 Constant: 0:286 0 (const int) -0:286 ERROR: Bad aggregation op - ( global uint) +0:286 subgroupPartitionedInclusiveXorNV ( global uint) 0:286 direct index ( temp uint) 0:286 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:286 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5452,8 +5259,7 @@ local_size = (8, 1, 1) 0:287 0 (const int) 0:287 Constant: 0:287 1 (const int) -0:287 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:287 subgroupPartitionedInclusiveXorNV ( global 2-component vector of uint) 0:287 vector swizzle ( temp 2-component vector of uint) 0:287 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:287 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5483,8 +5289,7 @@ local_size = (8, 1, 1) 0:288 1 (const int) 0:288 Constant: 0:288 2 (const int) -0:288 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:288 subgroupPartitionedInclusiveXorNV ( global 3-component vector of uint) 0:288 vector swizzle ( temp 3-component vector of uint) 0:288 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:288 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5508,8 +5313,7 @@ local_size = (8, 1, 1) 0:289 'invocation' ( temp uint) 0:289 Constant: 0:289 2 (const int) -0:289 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:289 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint) 0:289 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:289 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:289 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5529,8 +5333,7 @@ local_size = (8, 1, 1) 0:291 Constant: 0:291 0 (const int) 0:291 Convert bool to int ( temp int) -0:291 ERROR: Bad aggregation op - ( global bool) +0:291 subgroupPartitionedInclusiveXorNV ( global bool) 0:291 Compare Less Than ( temp bool) 0:291 direct index ( temp int) 0:291 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -5559,8 +5362,7 @@ local_size = (8, 1, 1) 0:292 Constant: 0:292 1 (const int) 0:292 Convert bool to int ( temp 2-component vector of int) -0:292 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:292 subgroupPartitionedInclusiveXorNV ( global 2-component vector of bool) 0:292 Compare Less Than ( global 2-component vector of bool) 0:292 vector swizzle ( temp 2-component vector of int) 0:292 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -5595,8 +5397,7 @@ local_size = (8, 1, 1) 0:293 Constant: 0:293 2 (const int) 0:293 Convert bool to int ( temp 3-component vector of int) -0:293 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:293 subgroupPartitionedInclusiveXorNV ( global 3-component vector of bool) 0:293 Compare Less Than ( global 3-component vector of bool) 0:293 vector swizzle ( temp 3-component vector of int) 0:293 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -5626,8 +5427,7 @@ local_size = (8, 1, 1) 0:294 Constant: 0:294 1 (const int) 0:294 Convert bool to int ( temp 4-component vector of int) -0:294 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:294 subgroupPartitionedInclusiveXorNV ( global 4-component vector of bool) 0:294 Compare Less Than ( global 4-component vector of bool) 0:294 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:294 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5652,8 +5452,7 @@ local_size = (8, 1, 1) 0:296 0 (const int) 0:296 Constant: 0:296 0 (const int) -0:296 ERROR: Bad aggregation op - ( global float) +0:296 subgroupPartitionedExclusiveAddNV ( global float) 0:296 direct index ( temp float) 0:296 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:296 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5678,8 +5477,7 @@ local_size = (8, 1, 1) 0:297 0 (const int) 0:297 Constant: 0:297 1 (const int) -0:297 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:297 subgroupPartitionedExclusiveAddNV ( global 2-component vector of float) 0:297 vector swizzle ( temp 2-component vector of float) 0:297 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:297 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5709,8 +5507,7 @@ local_size = (8, 1, 1) 0:298 1 (const int) 0:298 Constant: 0:298 2 (const int) -0:298 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:298 subgroupPartitionedExclusiveAddNV ( global 3-component vector of float) 0:298 vector swizzle ( temp 3-component vector of float) 0:298 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:298 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5734,8 +5531,7 @@ local_size = (8, 1, 1) 0:299 'invocation' ( temp uint) 0:299 Constant: 0:299 0 (const int) -0:299 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:299 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float) 0:299 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:299 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:299 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5754,8 +5550,7 @@ local_size = (8, 1, 1) 0:301 1 (const int) 0:301 Constant: 0:301 0 (const int) -0:301 ERROR: Bad aggregation op - ( global int) +0:301 subgroupPartitionedExclusiveAddNV ( global int) 0:301 direct index ( temp int) 0:301 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:301 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5780,8 +5575,7 @@ local_size = (8, 1, 1) 0:302 0 (const int) 0:302 Constant: 0:302 1 (const int) -0:302 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:302 subgroupPartitionedExclusiveAddNV ( global 2-component vector of int) 0:302 vector swizzle ( temp 2-component vector of int) 0:302 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:302 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5811,8 +5605,7 @@ local_size = (8, 1, 1) 0:303 1 (const int) 0:303 Constant: 0:303 2 (const int) -0:303 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:303 subgroupPartitionedExclusiveAddNV ( global 3-component vector of int) 0:303 vector swizzle ( temp 3-component vector of int) 0:303 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:303 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5836,8 +5629,7 @@ local_size = (8, 1, 1) 0:304 'invocation' ( temp uint) 0:304 Constant: 0:304 1 (const int) -0:304 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:304 subgroupPartitionedExclusiveAddNV ( global 4-component vector of int) 0:304 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:304 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:304 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5856,8 +5648,7 @@ local_size = (8, 1, 1) 0:306 2 (const int) 0:306 Constant: 0:306 0 (const int) -0:306 ERROR: Bad aggregation op - ( global uint) +0:306 subgroupPartitionedExclusiveAddNV ( global uint) 0:306 direct index ( temp uint) 0:306 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:306 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5882,8 +5673,7 @@ local_size = (8, 1, 1) 0:307 0 (const int) 0:307 Constant: 0:307 1 (const int) -0:307 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:307 subgroupPartitionedExclusiveAddNV ( global 2-component vector of uint) 0:307 vector swizzle ( temp 2-component vector of uint) 0:307 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:307 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5913,8 +5703,7 @@ local_size = (8, 1, 1) 0:308 1 (const int) 0:308 Constant: 0:308 2 (const int) -0:308 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:308 subgroupPartitionedExclusiveAddNV ( global 3-component vector of uint) 0:308 vector swizzle ( temp 3-component vector of uint) 0:308 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:308 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5938,8 +5727,7 @@ local_size = (8, 1, 1) 0:309 'invocation' ( temp uint) 0:309 Constant: 0:309 2 (const int) -0:309 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:309 subgroupPartitionedExclusiveAddNV ( global 4-component vector of uint) 0:309 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:309 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:309 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5958,8 +5746,7 @@ local_size = (8, 1, 1) 0:311 3 (const int) 0:311 Constant: 0:311 0 (const int) -0:311 ERROR: Bad aggregation op - ( global double) +0:311 subgroupPartitionedExclusiveAddNV ( global double) 0:311 direct index ( temp double) 0:311 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:311 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -5984,8 +5771,7 @@ local_size = (8, 1, 1) 0:312 0 (const int) 0:312 Constant: 0:312 1 (const int) -0:312 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:312 subgroupPartitionedExclusiveAddNV ( global 2-component vector of double) 0:312 vector swizzle ( temp 2-component vector of double) 0:312 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:312 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6015,8 +5801,7 @@ local_size = (8, 1, 1) 0:313 1 (const int) 0:313 Constant: 0:313 2 (const int) -0:313 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:313 subgroupPartitionedExclusiveAddNV ( global 3-component vector of double) 0:313 vector swizzle ( temp 3-component vector of double) 0:313 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:313 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6040,8 +5825,7 @@ local_size = (8, 1, 1) 0:314 'invocation' ( temp uint) 0:314 Constant: 0:314 3 (const int) -0:314 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:314 subgroupPartitionedExclusiveAddNV ( global 4-component vector of double) 0:314 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:314 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:314 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6060,8 +5844,7 @@ local_size = (8, 1, 1) 0:316 0 (const int) 0:316 Constant: 0:316 0 (const int) -0:316 ERROR: Bad aggregation op - ( global float) +0:316 subgroupPartitionedExclusiveMulNV ( global float) 0:316 direct index ( temp float) 0:316 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:316 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6086,8 +5869,7 @@ local_size = (8, 1, 1) 0:317 0 (const int) 0:317 Constant: 0:317 1 (const int) -0:317 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:317 subgroupPartitionedExclusiveMulNV ( global 2-component vector of float) 0:317 vector swizzle ( temp 2-component vector of float) 0:317 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:317 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6117,8 +5899,7 @@ local_size = (8, 1, 1) 0:318 1 (const int) 0:318 Constant: 0:318 2 (const int) -0:318 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:318 subgroupPartitionedExclusiveMulNV ( global 3-component vector of float) 0:318 vector swizzle ( temp 3-component vector of float) 0:318 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:318 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6142,8 +5923,7 @@ local_size = (8, 1, 1) 0:319 'invocation' ( temp uint) 0:319 Constant: 0:319 0 (const int) -0:319 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:319 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float) 0:319 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:319 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:319 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6162,8 +5942,7 @@ local_size = (8, 1, 1) 0:321 1 (const int) 0:321 Constant: 0:321 0 (const int) -0:321 ERROR: Bad aggregation op - ( global int) +0:321 subgroupPartitionedExclusiveMulNV ( global int) 0:321 direct index ( temp int) 0:321 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:321 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6188,8 +5967,7 @@ local_size = (8, 1, 1) 0:322 0 (const int) 0:322 Constant: 0:322 1 (const int) -0:322 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:322 subgroupPartitionedExclusiveMulNV ( global 2-component vector of int) 0:322 vector swizzle ( temp 2-component vector of int) 0:322 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:322 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6219,8 +5997,7 @@ local_size = (8, 1, 1) 0:323 1 (const int) 0:323 Constant: 0:323 2 (const int) -0:323 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:323 subgroupPartitionedExclusiveMulNV ( global 3-component vector of int) 0:323 vector swizzle ( temp 3-component vector of int) 0:323 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:323 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6244,8 +6021,7 @@ local_size = (8, 1, 1) 0:324 'invocation' ( temp uint) 0:324 Constant: 0:324 1 (const int) -0:324 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:324 subgroupPartitionedExclusiveMulNV ( global 4-component vector of int) 0:324 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:324 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:324 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6264,8 +6040,7 @@ local_size = (8, 1, 1) 0:326 2 (const int) 0:326 Constant: 0:326 0 (const int) -0:326 ERROR: Bad aggregation op - ( global uint) +0:326 subgroupPartitionedExclusiveMulNV ( global uint) 0:326 direct index ( temp uint) 0:326 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:326 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6290,8 +6065,7 @@ local_size = (8, 1, 1) 0:327 0 (const int) 0:327 Constant: 0:327 1 (const int) -0:327 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:327 subgroupPartitionedExclusiveMulNV ( global 2-component vector of uint) 0:327 vector swizzle ( temp 2-component vector of uint) 0:327 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:327 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6321,8 +6095,7 @@ local_size = (8, 1, 1) 0:328 1 (const int) 0:328 Constant: 0:328 2 (const int) -0:328 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:328 subgroupPartitionedExclusiveMulNV ( global 3-component vector of uint) 0:328 vector swizzle ( temp 3-component vector of uint) 0:328 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:328 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6346,8 +6119,7 @@ local_size = (8, 1, 1) 0:329 'invocation' ( temp uint) 0:329 Constant: 0:329 2 (const int) -0:329 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:329 subgroupPartitionedExclusiveMulNV ( global 4-component vector of uint) 0:329 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:329 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:329 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6366,8 +6138,7 @@ local_size = (8, 1, 1) 0:331 3 (const int) 0:331 Constant: 0:331 0 (const int) -0:331 ERROR: Bad aggregation op - ( global double) +0:331 subgroupPartitionedExclusiveMulNV ( global double) 0:331 direct index ( temp double) 0:331 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:331 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6392,8 +6163,7 @@ local_size = (8, 1, 1) 0:332 0 (const int) 0:332 Constant: 0:332 1 (const int) -0:332 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:332 subgroupPartitionedExclusiveMulNV ( global 2-component vector of double) 0:332 vector swizzle ( temp 2-component vector of double) 0:332 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:332 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6423,8 +6193,7 @@ local_size = (8, 1, 1) 0:333 1 (const int) 0:333 Constant: 0:333 2 (const int) -0:333 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:333 subgroupPartitionedExclusiveMulNV ( global 3-component vector of double) 0:333 vector swizzle ( temp 3-component vector of double) 0:333 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:333 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6448,8 +6217,7 @@ local_size = (8, 1, 1) 0:334 'invocation' ( temp uint) 0:334 Constant: 0:334 3 (const int) -0:334 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:334 subgroupPartitionedExclusiveMulNV ( global 4-component vector of double) 0:334 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:334 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:334 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6468,8 +6236,7 @@ local_size = (8, 1, 1) 0:336 0 (const int) 0:336 Constant: 0:336 0 (const int) -0:336 ERROR: Bad aggregation op - ( global float) +0:336 subgroupPartitionedExclusiveMinNV ( global float) 0:336 direct index ( temp float) 0:336 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:336 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6494,8 +6261,7 @@ local_size = (8, 1, 1) 0:337 0 (const int) 0:337 Constant: 0:337 1 (const int) -0:337 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:337 subgroupPartitionedExclusiveMinNV ( global 2-component vector of float) 0:337 vector swizzle ( temp 2-component vector of float) 0:337 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:337 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6525,8 +6291,7 @@ local_size = (8, 1, 1) 0:338 1 (const int) 0:338 Constant: 0:338 2 (const int) -0:338 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:338 subgroupPartitionedExclusiveMinNV ( global 3-component vector of float) 0:338 vector swizzle ( temp 3-component vector of float) 0:338 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:338 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6550,8 +6315,7 @@ local_size = (8, 1, 1) 0:339 'invocation' ( temp uint) 0:339 Constant: 0:339 0 (const int) -0:339 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:339 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float) 0:339 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:339 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:339 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6570,8 +6334,7 @@ local_size = (8, 1, 1) 0:341 1 (const int) 0:341 Constant: 0:341 0 (const int) -0:341 ERROR: Bad aggregation op - ( global int) +0:341 subgroupPartitionedExclusiveMinNV ( global int) 0:341 direct index ( temp int) 0:341 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:341 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6596,8 +6359,7 @@ local_size = (8, 1, 1) 0:342 0 (const int) 0:342 Constant: 0:342 1 (const int) -0:342 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:342 subgroupPartitionedExclusiveMinNV ( global 2-component vector of int) 0:342 vector swizzle ( temp 2-component vector of int) 0:342 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:342 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6627,8 +6389,7 @@ local_size = (8, 1, 1) 0:343 1 (const int) 0:343 Constant: 0:343 2 (const int) -0:343 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:343 subgroupPartitionedExclusiveMinNV ( global 3-component vector of int) 0:343 vector swizzle ( temp 3-component vector of int) 0:343 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:343 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6652,8 +6413,7 @@ local_size = (8, 1, 1) 0:344 'invocation' ( temp uint) 0:344 Constant: 0:344 1 (const int) -0:344 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:344 subgroupPartitionedExclusiveMinNV ( global 4-component vector of int) 0:344 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:344 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:344 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6672,8 +6432,7 @@ local_size = (8, 1, 1) 0:346 2 (const int) 0:346 Constant: 0:346 0 (const int) -0:346 ERROR: Bad aggregation op - ( global uint) +0:346 subgroupPartitionedExclusiveMinNV ( global uint) 0:346 direct index ( temp uint) 0:346 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:346 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6698,8 +6457,7 @@ local_size = (8, 1, 1) 0:347 0 (const int) 0:347 Constant: 0:347 1 (const int) -0:347 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:347 subgroupPartitionedExclusiveMinNV ( global 2-component vector of uint) 0:347 vector swizzle ( temp 2-component vector of uint) 0:347 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:347 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6729,8 +6487,7 @@ local_size = (8, 1, 1) 0:348 1 (const int) 0:348 Constant: 0:348 2 (const int) -0:348 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:348 subgroupPartitionedExclusiveMinNV ( global 3-component vector of uint) 0:348 vector swizzle ( temp 3-component vector of uint) 0:348 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:348 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6754,8 +6511,7 @@ local_size = (8, 1, 1) 0:349 'invocation' ( temp uint) 0:349 Constant: 0:349 2 (const int) -0:349 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:349 subgroupPartitionedExclusiveMinNV ( global 4-component vector of uint) 0:349 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:349 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:349 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6774,8 +6530,7 @@ local_size = (8, 1, 1) 0:351 3 (const int) 0:351 Constant: 0:351 0 (const int) -0:351 ERROR: Bad aggregation op - ( global double) +0:351 subgroupPartitionedExclusiveMinNV ( global double) 0:351 direct index ( temp double) 0:351 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:351 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6800,8 +6555,7 @@ local_size = (8, 1, 1) 0:352 0 (const int) 0:352 Constant: 0:352 1 (const int) -0:352 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:352 subgroupPartitionedExclusiveMinNV ( global 2-component vector of double) 0:352 vector swizzle ( temp 2-component vector of double) 0:352 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:352 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6831,8 +6585,7 @@ local_size = (8, 1, 1) 0:353 1 (const int) 0:353 Constant: 0:353 2 (const int) -0:353 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:353 subgroupPartitionedExclusiveMinNV ( global 3-component vector of double) 0:353 vector swizzle ( temp 3-component vector of double) 0:353 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:353 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6856,8 +6609,7 @@ local_size = (8, 1, 1) 0:354 'invocation' ( temp uint) 0:354 Constant: 0:354 3 (const int) -0:354 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:354 subgroupPartitionedExclusiveMinNV ( global 4-component vector of double) 0:354 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:354 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:354 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6876,8 +6628,7 @@ local_size = (8, 1, 1) 0:356 0 (const int) 0:356 Constant: 0:356 0 (const int) -0:356 ERROR: Bad aggregation op - ( global float) +0:356 subgroupPartitionedExclusiveMaxNV ( global float) 0:356 direct index ( temp float) 0:356 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:356 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6902,8 +6653,7 @@ local_size = (8, 1, 1) 0:357 0 (const int) 0:357 Constant: 0:357 1 (const int) -0:357 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:357 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of float) 0:357 vector swizzle ( temp 2-component vector of float) 0:357 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:357 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6933,8 +6683,7 @@ local_size = (8, 1, 1) 0:358 1 (const int) 0:358 Constant: 0:358 2 (const int) -0:358 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:358 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of float) 0:358 vector swizzle ( temp 3-component vector of float) 0:358 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:358 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6958,8 +6707,7 @@ local_size = (8, 1, 1) 0:359 'invocation' ( temp uint) 0:359 Constant: 0:359 0 (const int) -0:359 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:359 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float) 0:359 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:359 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:359 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -6978,8 +6726,7 @@ local_size = (8, 1, 1) 0:361 1 (const int) 0:361 Constant: 0:361 0 (const int) -0:361 ERROR: Bad aggregation op - ( global int) +0:361 subgroupPartitionedExclusiveMaxNV ( global int) 0:361 direct index ( temp int) 0:361 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:361 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7004,8 +6751,7 @@ local_size = (8, 1, 1) 0:362 0 (const int) 0:362 Constant: 0:362 1 (const int) -0:362 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:362 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of int) 0:362 vector swizzle ( temp 2-component vector of int) 0:362 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:362 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7035,8 +6781,7 @@ local_size = (8, 1, 1) 0:363 1 (const int) 0:363 Constant: 0:363 2 (const int) -0:363 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:363 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of int) 0:363 vector swizzle ( temp 3-component vector of int) 0:363 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:363 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7060,8 +6805,7 @@ local_size = (8, 1, 1) 0:364 'invocation' ( temp uint) 0:364 Constant: 0:364 1 (const int) -0:364 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:364 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of int) 0:364 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:364 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:364 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7080,8 +6824,7 @@ local_size = (8, 1, 1) 0:366 2 (const int) 0:366 Constant: 0:366 0 (const int) -0:366 ERROR: Bad aggregation op - ( global uint) +0:366 subgroupPartitionedExclusiveMaxNV ( global uint) 0:366 direct index ( temp uint) 0:366 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:366 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7106,8 +6849,7 @@ local_size = (8, 1, 1) 0:367 0 (const int) 0:367 Constant: 0:367 1 (const int) -0:367 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:367 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of uint) 0:367 vector swizzle ( temp 2-component vector of uint) 0:367 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:367 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7137,8 +6879,7 @@ local_size = (8, 1, 1) 0:368 1 (const int) 0:368 Constant: 0:368 2 (const int) -0:368 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:368 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of uint) 0:368 vector swizzle ( temp 3-component vector of uint) 0:368 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:368 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7162,8 +6903,7 @@ local_size = (8, 1, 1) 0:369 'invocation' ( temp uint) 0:369 Constant: 0:369 2 (const int) -0:369 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:369 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of uint) 0:369 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:369 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:369 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7182,8 +6922,7 @@ local_size = (8, 1, 1) 0:371 3 (const int) 0:371 Constant: 0:371 0 (const int) -0:371 ERROR: Bad aggregation op - ( global double) +0:371 subgroupPartitionedExclusiveMaxNV ( global double) 0:371 direct index ( temp double) 0:371 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:371 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7208,8 +6947,7 @@ local_size = (8, 1, 1) 0:372 0 (const int) 0:372 Constant: 0:372 1 (const int) -0:372 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:372 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of double) 0:372 vector swizzle ( temp 2-component vector of double) 0:372 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:372 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7239,8 +6977,7 @@ local_size = (8, 1, 1) 0:373 1 (const int) 0:373 Constant: 0:373 2 (const int) -0:373 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:373 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of double) 0:373 vector swizzle ( temp 3-component vector of double) 0:373 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:373 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7264,8 +7001,7 @@ local_size = (8, 1, 1) 0:374 'invocation' ( temp uint) 0:374 Constant: 0:374 3 (const int) -0:374 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:374 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of double) 0:374 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:374 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:374 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7284,8 +7020,7 @@ local_size = (8, 1, 1) 0:376 1 (const int) 0:376 Constant: 0:376 0 (const int) -0:376 ERROR: Bad aggregation op - ( global int) +0:376 subgroupPartitionedExclusiveAndNV ( global int) 0:376 direct index ( temp int) 0:376 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:376 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7310,8 +7045,7 @@ local_size = (8, 1, 1) 0:377 0 (const int) 0:377 Constant: 0:377 1 (const int) -0:377 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:377 subgroupPartitionedExclusiveAndNV ( global 2-component vector of int) 0:377 vector swizzle ( temp 2-component vector of int) 0:377 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:377 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7341,8 +7075,7 @@ local_size = (8, 1, 1) 0:378 1 (const int) 0:378 Constant: 0:378 2 (const int) -0:378 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:378 subgroupPartitionedExclusiveAndNV ( global 3-component vector of int) 0:378 vector swizzle ( temp 3-component vector of int) 0:378 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:378 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7366,8 +7099,7 @@ local_size = (8, 1, 1) 0:379 'invocation' ( temp uint) 0:379 Constant: 0:379 1 (const int) -0:379 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:379 subgroupPartitionedExclusiveAndNV ( global 4-component vector of int) 0:379 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:379 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:379 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7386,8 +7118,7 @@ local_size = (8, 1, 1) 0:381 2 (const int) 0:381 Constant: 0:381 0 (const int) -0:381 ERROR: Bad aggregation op - ( global uint) +0:381 subgroupPartitionedExclusiveAndNV ( global uint) 0:381 direct index ( temp uint) 0:381 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:381 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7412,8 +7143,7 @@ local_size = (8, 1, 1) 0:382 0 (const int) 0:382 Constant: 0:382 1 (const int) -0:382 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:382 subgroupPartitionedExclusiveAndNV ( global 2-component vector of uint) 0:382 vector swizzle ( temp 2-component vector of uint) 0:382 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:382 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7443,8 +7173,7 @@ local_size = (8, 1, 1) 0:383 1 (const int) 0:383 Constant: 0:383 2 (const int) -0:383 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:383 subgroupPartitionedExclusiveAndNV ( global 3-component vector of uint) 0:383 vector swizzle ( temp 3-component vector of uint) 0:383 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:383 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7468,8 +7197,7 @@ local_size = (8, 1, 1) 0:384 'invocation' ( temp uint) 0:384 Constant: 0:384 2 (const int) -0:384 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:384 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint) 0:384 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:384 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:384 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7489,8 +7217,7 @@ local_size = (8, 1, 1) 0:386 Constant: 0:386 0 (const int) 0:386 Convert bool to int ( temp int) -0:386 ERROR: Bad aggregation op - ( global bool) +0:386 subgroupPartitionedExclusiveAndNV ( global bool) 0:386 Compare Less Than ( temp bool) 0:386 direct index ( temp int) 0:386 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -7519,8 +7246,7 @@ local_size = (8, 1, 1) 0:387 Constant: 0:387 1 (const int) 0:387 Convert bool to int ( temp 2-component vector of int) -0:387 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:387 subgroupPartitionedExclusiveAndNV ( global 2-component vector of bool) 0:387 Compare Less Than ( global 2-component vector of bool) 0:387 vector swizzle ( temp 2-component vector of int) 0:387 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -7555,8 +7281,7 @@ local_size = (8, 1, 1) 0:388 Constant: 0:388 2 (const int) 0:388 Convert bool to int ( temp 3-component vector of int) -0:388 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:388 subgroupPartitionedExclusiveAndNV ( global 3-component vector of bool) 0:388 Compare Less Than ( global 3-component vector of bool) 0:388 vector swizzle ( temp 3-component vector of int) 0:388 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -7586,8 +7311,7 @@ local_size = (8, 1, 1) 0:389 Constant: 0:389 1 (const int) 0:389 Convert bool to int ( temp 4-component vector of int) -0:389 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:389 subgroupPartitionedExclusiveAndNV ( global 4-component vector of bool) 0:389 Compare Less Than ( global 4-component vector of bool) 0:389 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:389 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7612,8 +7336,7 @@ local_size = (8, 1, 1) 0:391 1 (const int) 0:391 Constant: 0:391 0 (const int) -0:391 ERROR: Bad aggregation op - ( global int) +0:391 subgroupPartitionedExclusiveOrNV ( global int) 0:391 direct index ( temp int) 0:391 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:391 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7638,8 +7361,7 @@ local_size = (8, 1, 1) 0:392 0 (const int) 0:392 Constant: 0:392 1 (const int) -0:392 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:392 subgroupPartitionedExclusiveOrNV ( global 2-component vector of int) 0:392 vector swizzle ( temp 2-component vector of int) 0:392 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:392 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7669,8 +7391,7 @@ local_size = (8, 1, 1) 0:393 1 (const int) 0:393 Constant: 0:393 2 (const int) -0:393 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:393 subgroupPartitionedExclusiveOrNV ( global 3-component vector of int) 0:393 vector swizzle ( temp 3-component vector of int) 0:393 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:393 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7694,8 +7415,7 @@ local_size = (8, 1, 1) 0:394 'invocation' ( temp uint) 0:394 Constant: 0:394 1 (const int) -0:394 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:394 subgroupPartitionedExclusiveOrNV ( global 4-component vector of int) 0:394 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:394 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:394 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7714,8 +7434,7 @@ local_size = (8, 1, 1) 0:396 2 (const int) 0:396 Constant: 0:396 0 (const int) -0:396 ERROR: Bad aggregation op - ( global uint) +0:396 subgroupPartitionedExclusiveOrNV ( global uint) 0:396 direct index ( temp uint) 0:396 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:396 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7740,8 +7459,7 @@ local_size = (8, 1, 1) 0:397 0 (const int) 0:397 Constant: 0:397 1 (const int) -0:397 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:397 subgroupPartitionedExclusiveOrNV ( global 2-component vector of uint) 0:397 vector swizzle ( temp 2-component vector of uint) 0:397 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:397 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7771,8 +7489,7 @@ local_size = (8, 1, 1) 0:398 1 (const int) 0:398 Constant: 0:398 2 (const int) -0:398 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:398 subgroupPartitionedExclusiveOrNV ( global 3-component vector of uint) 0:398 vector swizzle ( temp 3-component vector of uint) 0:398 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:398 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7796,8 +7513,7 @@ local_size = (8, 1, 1) 0:399 'invocation' ( temp uint) 0:399 Constant: 0:399 2 (const int) -0:399 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:399 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint) 0:399 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:399 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:399 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7817,8 +7533,7 @@ local_size = (8, 1, 1) 0:401 Constant: 0:401 0 (const int) 0:401 Convert bool to int ( temp int) -0:401 ERROR: Bad aggregation op - ( global bool) +0:401 subgroupPartitionedExclusiveOrNV ( global bool) 0:401 Compare Less Than ( temp bool) 0:401 direct index ( temp int) 0:401 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -7847,8 +7562,7 @@ local_size = (8, 1, 1) 0:402 Constant: 0:402 1 (const int) 0:402 Convert bool to int ( temp 2-component vector of int) -0:402 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:402 subgroupPartitionedExclusiveOrNV ( global 2-component vector of bool) 0:402 Compare Less Than ( global 2-component vector of bool) 0:402 vector swizzle ( temp 2-component vector of int) 0:402 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -7883,8 +7597,7 @@ local_size = (8, 1, 1) 0:403 Constant: 0:403 2 (const int) 0:403 Convert bool to int ( temp 3-component vector of int) -0:403 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:403 subgroupPartitionedExclusiveOrNV ( global 3-component vector of bool) 0:403 Compare Less Than ( global 3-component vector of bool) 0:403 vector swizzle ( temp 3-component vector of int) 0:403 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -7914,8 +7627,7 @@ local_size = (8, 1, 1) 0:404 Constant: 0:404 1 (const int) 0:404 Convert bool to int ( temp 4-component vector of int) -0:404 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:404 subgroupPartitionedExclusiveOrNV ( global 4-component vector of bool) 0:404 Compare Less Than ( global 4-component vector of bool) 0:404 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:404 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7940,8 +7652,7 @@ local_size = (8, 1, 1) 0:406 1 (const int) 0:406 Constant: 0:406 0 (const int) -0:406 ERROR: Bad aggregation op - ( global int) +0:406 subgroupPartitionedExclusiveXorNV ( global int) 0:406 direct index ( temp int) 0:406 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:406 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7966,8 +7677,7 @@ local_size = (8, 1, 1) 0:407 0 (const int) 0:407 Constant: 0:407 1 (const int) -0:407 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:407 subgroupPartitionedExclusiveXorNV ( global 2-component vector of int) 0:407 vector swizzle ( temp 2-component vector of int) 0:407 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:407 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -7997,8 +7707,7 @@ local_size = (8, 1, 1) 0:408 1 (const int) 0:408 Constant: 0:408 2 (const int) -0:408 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:408 subgroupPartitionedExclusiveXorNV ( global 3-component vector of int) 0:408 vector swizzle ( temp 3-component vector of int) 0:408 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:408 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8022,8 +7731,7 @@ local_size = (8, 1, 1) 0:409 'invocation' ( temp uint) 0:409 Constant: 0:409 1 (const int) -0:409 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:409 subgroupPartitionedExclusiveXorNV ( global 4-component vector of int) 0:409 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:409 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:409 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8042,8 +7750,7 @@ local_size = (8, 1, 1) 0:411 2 (const int) 0:411 Constant: 0:411 0 (const int) -0:411 ERROR: Bad aggregation op - ( global uint) +0:411 subgroupPartitionedExclusiveXorNV ( global uint) 0:411 direct index ( temp uint) 0:411 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:411 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8068,8 +7775,7 @@ local_size = (8, 1, 1) 0:412 0 (const int) 0:412 Constant: 0:412 1 (const int) -0:412 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:412 subgroupPartitionedExclusiveXorNV ( global 2-component vector of uint) 0:412 vector swizzle ( temp 2-component vector of uint) 0:412 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:412 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8099,8 +7805,7 @@ local_size = (8, 1, 1) 0:413 1 (const int) 0:413 Constant: 0:413 2 (const int) -0:413 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:413 subgroupPartitionedExclusiveXorNV ( global 3-component vector of uint) 0:413 vector swizzle ( temp 3-component vector of uint) 0:413 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:413 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8124,8 +7829,7 @@ local_size = (8, 1, 1) 0:414 'invocation' ( temp uint) 0:414 Constant: 0:414 2 (const int) -0:414 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:414 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint) 0:414 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:414 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:414 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8145,8 +7849,7 @@ local_size = (8, 1, 1) 0:416 Constant: 0:416 0 (const int) 0:416 Convert bool to int ( temp int) -0:416 ERROR: Bad aggregation op - ( global bool) +0:416 subgroupPartitionedExclusiveXorNV ( global bool) 0:416 Compare Less Than ( temp bool) 0:416 direct index ( temp int) 0:416 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -8175,8 +7878,7 @@ local_size = (8, 1, 1) 0:417 Constant: 0:417 1 (const int) 0:417 Convert bool to int ( temp 2-component vector of int) -0:417 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:417 subgroupPartitionedExclusiveXorNV ( global 2-component vector of bool) 0:417 Compare Less Than ( global 2-component vector of bool) 0:417 vector swizzle ( temp 2-component vector of int) 0:417 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -8211,8 +7913,7 @@ local_size = (8, 1, 1) 0:418 Constant: 0:418 2 (const int) 0:418 Convert bool to int ( temp 3-component vector of int) -0:418 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:418 subgroupPartitionedExclusiveXorNV ( global 3-component vector of bool) 0:418 Compare Less Than ( global 3-component vector of bool) 0:418 vector swizzle ( temp 3-component vector of int) 0:418 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -8242,8 +7943,7 @@ local_size = (8, 1, 1) 0:419 Constant: 0:419 1 (const int) 0:419 Convert bool to int ( temp 4-component vector of int) -0:419 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:419 subgroupPartitionedExclusiveXorNV ( global 4-component vector of bool) 0:419 Compare Less Than ( global 4-component vector of bool) 0:419 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:419 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8282,8 +7982,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 Sequence @@ -8690,8 +8390,7 @@ local_size = (8, 1, 1) 0:46 0 (const int) 0:46 Constant: 0:46 0 (const int) -0:46 ERROR: Bad aggregation op - ( global float) +0:46 subgroupPartitionedAddNV ( global float) 0:46 direct index ( temp float) 0:46 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:46 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8716,8 +8415,7 @@ local_size = (8, 1, 1) 0:47 0 (const int) 0:47 Constant: 0:47 1 (const int) -0:47 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:47 subgroupPartitionedAddNV ( global 2-component vector of float) 0:47 vector swizzle ( temp 2-component vector of float) 0:47 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:47 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8747,8 +8445,7 @@ local_size = (8, 1, 1) 0:48 1 (const int) 0:48 Constant: 0:48 2 (const int) -0:48 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:48 subgroupPartitionedAddNV ( global 3-component vector of float) 0:48 vector swizzle ( temp 3-component vector of float) 0:48 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:48 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8772,8 +8469,7 @@ local_size = (8, 1, 1) 0:49 'invocation' ( temp uint) 0:49 Constant: 0:49 0 (const int) -0:49 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:49 subgroupPartitionedAddNV ( global 4-component vector of float) 0:49 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:49 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:49 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8792,8 +8488,7 @@ local_size = (8, 1, 1) 0:51 1 (const int) 0:51 Constant: 0:51 0 (const int) -0:51 ERROR: Bad aggregation op - ( global int) +0:51 subgroupPartitionedAddNV ( global int) 0:51 direct index ( temp int) 0:51 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:51 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8818,8 +8513,7 @@ local_size = (8, 1, 1) 0:52 0 (const int) 0:52 Constant: 0:52 1 (const int) -0:52 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:52 subgroupPartitionedAddNV ( global 2-component vector of int) 0:52 vector swizzle ( temp 2-component vector of int) 0:52 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:52 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8849,8 +8543,7 @@ local_size = (8, 1, 1) 0:53 1 (const int) 0:53 Constant: 0:53 2 (const int) -0:53 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:53 subgroupPartitionedAddNV ( global 3-component vector of int) 0:53 vector swizzle ( temp 3-component vector of int) 0:53 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:53 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8874,8 +8567,7 @@ local_size = (8, 1, 1) 0:54 'invocation' ( temp uint) 0:54 Constant: 0:54 1 (const int) -0:54 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:54 subgroupPartitionedAddNV ( global 4-component vector of int) 0:54 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:54 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:54 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8894,8 +8586,7 @@ local_size = (8, 1, 1) 0:56 2 (const int) 0:56 Constant: 0:56 0 (const int) -0:56 ERROR: Bad aggregation op - ( global uint) +0:56 subgroupPartitionedAddNV ( global uint) 0:56 direct index ( temp uint) 0:56 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:56 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8920,8 +8611,7 @@ local_size = (8, 1, 1) 0:57 0 (const int) 0:57 Constant: 0:57 1 (const int) -0:57 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:57 subgroupPartitionedAddNV ( global 2-component vector of uint) 0:57 vector swizzle ( temp 2-component vector of uint) 0:57 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:57 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8951,8 +8641,7 @@ local_size = (8, 1, 1) 0:58 1 (const int) 0:58 Constant: 0:58 2 (const int) -0:58 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:58 subgroupPartitionedAddNV ( global 3-component vector of uint) 0:58 vector swizzle ( temp 3-component vector of uint) 0:58 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:58 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8976,8 +8665,7 @@ local_size = (8, 1, 1) 0:59 'invocation' ( temp uint) 0:59 Constant: 0:59 2 (const int) -0:59 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:59 subgroupPartitionedAddNV ( global 4-component vector of uint) 0:59 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:59 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:59 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -8996,8 +8684,7 @@ local_size = (8, 1, 1) 0:61 3 (const int) 0:61 Constant: 0:61 0 (const int) -0:61 ERROR: Bad aggregation op - ( global double) +0:61 subgroupPartitionedAddNV ( global double) 0:61 direct index ( temp double) 0:61 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:61 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9022,8 +8709,7 @@ local_size = (8, 1, 1) 0:62 0 (const int) 0:62 Constant: 0:62 1 (const int) -0:62 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:62 subgroupPartitionedAddNV ( global 2-component vector of double) 0:62 vector swizzle ( temp 2-component vector of double) 0:62 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:62 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9053,8 +8739,7 @@ local_size = (8, 1, 1) 0:63 1 (const int) 0:63 Constant: 0:63 2 (const int) -0:63 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:63 subgroupPartitionedAddNV ( global 3-component vector of double) 0:63 vector swizzle ( temp 3-component vector of double) 0:63 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:63 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9078,8 +8763,7 @@ local_size = (8, 1, 1) 0:64 'invocation' ( temp uint) 0:64 Constant: 0:64 3 (const int) -0:64 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:64 subgroupPartitionedAddNV ( global 4-component vector of double) 0:64 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:64 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:64 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9098,8 +8782,7 @@ local_size = (8, 1, 1) 0:66 0 (const int) 0:66 Constant: 0:66 0 (const int) -0:66 ERROR: Bad aggregation op - ( global float) +0:66 subgroupPartitionedMulNV ( global float) 0:66 direct index ( temp float) 0:66 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:66 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9124,8 +8807,7 @@ local_size = (8, 1, 1) 0:67 0 (const int) 0:67 Constant: 0:67 1 (const int) -0:67 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:67 subgroupPartitionedMulNV ( global 2-component vector of float) 0:67 vector swizzle ( temp 2-component vector of float) 0:67 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:67 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9155,8 +8837,7 @@ local_size = (8, 1, 1) 0:68 1 (const int) 0:68 Constant: 0:68 2 (const int) -0:68 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:68 subgroupPartitionedMulNV ( global 3-component vector of float) 0:68 vector swizzle ( temp 3-component vector of float) 0:68 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:68 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9180,8 +8861,7 @@ local_size = (8, 1, 1) 0:69 'invocation' ( temp uint) 0:69 Constant: 0:69 0 (const int) -0:69 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:69 subgroupPartitionedMulNV ( global 4-component vector of float) 0:69 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:69 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:69 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9200,8 +8880,7 @@ local_size = (8, 1, 1) 0:71 1 (const int) 0:71 Constant: 0:71 0 (const int) -0:71 ERROR: Bad aggregation op - ( global int) +0:71 subgroupPartitionedMulNV ( global int) 0:71 direct index ( temp int) 0:71 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:71 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9226,8 +8905,7 @@ local_size = (8, 1, 1) 0:72 0 (const int) 0:72 Constant: 0:72 1 (const int) -0:72 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:72 subgroupPartitionedMulNV ( global 2-component vector of int) 0:72 vector swizzle ( temp 2-component vector of int) 0:72 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:72 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9257,8 +8935,7 @@ local_size = (8, 1, 1) 0:73 1 (const int) 0:73 Constant: 0:73 2 (const int) -0:73 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:73 subgroupPartitionedMulNV ( global 3-component vector of int) 0:73 vector swizzle ( temp 3-component vector of int) 0:73 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:73 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9282,8 +8959,7 @@ local_size = (8, 1, 1) 0:74 'invocation' ( temp uint) 0:74 Constant: 0:74 1 (const int) -0:74 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:74 subgroupPartitionedMulNV ( global 4-component vector of int) 0:74 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:74 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:74 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9302,8 +8978,7 @@ local_size = (8, 1, 1) 0:76 2 (const int) 0:76 Constant: 0:76 0 (const int) -0:76 ERROR: Bad aggregation op - ( global uint) +0:76 subgroupPartitionedMulNV ( global uint) 0:76 direct index ( temp uint) 0:76 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:76 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9328,8 +9003,7 @@ local_size = (8, 1, 1) 0:77 0 (const int) 0:77 Constant: 0:77 1 (const int) -0:77 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:77 subgroupPartitionedMulNV ( global 2-component vector of uint) 0:77 vector swizzle ( temp 2-component vector of uint) 0:77 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:77 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9359,8 +9033,7 @@ local_size = (8, 1, 1) 0:78 1 (const int) 0:78 Constant: 0:78 2 (const int) -0:78 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:78 subgroupPartitionedMulNV ( global 3-component vector of uint) 0:78 vector swizzle ( temp 3-component vector of uint) 0:78 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:78 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9384,8 +9057,7 @@ local_size = (8, 1, 1) 0:79 'invocation' ( temp uint) 0:79 Constant: 0:79 2 (const int) -0:79 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:79 subgroupPartitionedMulNV ( global 4-component vector of uint) 0:79 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:79 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:79 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9404,8 +9076,7 @@ local_size = (8, 1, 1) 0:81 3 (const int) 0:81 Constant: 0:81 0 (const int) -0:81 ERROR: Bad aggregation op - ( global double) +0:81 subgroupPartitionedMulNV ( global double) 0:81 direct index ( temp double) 0:81 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:81 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9430,8 +9101,7 @@ local_size = (8, 1, 1) 0:82 0 (const int) 0:82 Constant: 0:82 1 (const int) -0:82 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:82 subgroupPartitionedMulNV ( global 2-component vector of double) 0:82 vector swizzle ( temp 2-component vector of double) 0:82 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:82 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9461,8 +9131,7 @@ local_size = (8, 1, 1) 0:83 1 (const int) 0:83 Constant: 0:83 2 (const int) -0:83 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:83 subgroupPartitionedMulNV ( global 3-component vector of double) 0:83 vector swizzle ( temp 3-component vector of double) 0:83 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:83 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9486,8 +9155,7 @@ local_size = (8, 1, 1) 0:84 'invocation' ( temp uint) 0:84 Constant: 0:84 3 (const int) -0:84 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:84 subgroupPartitionedMulNV ( global 4-component vector of double) 0:84 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:84 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:84 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9506,8 +9174,7 @@ local_size = (8, 1, 1) 0:86 0 (const int) 0:86 Constant: 0:86 0 (const int) -0:86 ERROR: Bad aggregation op - ( global float) +0:86 subgroupPartitionedMinNV ( global float) 0:86 direct index ( temp float) 0:86 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:86 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9532,8 +9199,7 @@ local_size = (8, 1, 1) 0:87 0 (const int) 0:87 Constant: 0:87 1 (const int) -0:87 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:87 subgroupPartitionedMinNV ( global 2-component vector of float) 0:87 vector swizzle ( temp 2-component vector of float) 0:87 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:87 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9563,8 +9229,7 @@ local_size = (8, 1, 1) 0:88 1 (const int) 0:88 Constant: 0:88 2 (const int) -0:88 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:88 subgroupPartitionedMinNV ( global 3-component vector of float) 0:88 vector swizzle ( temp 3-component vector of float) 0:88 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:88 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9588,8 +9253,7 @@ local_size = (8, 1, 1) 0:89 'invocation' ( temp uint) 0:89 Constant: 0:89 0 (const int) -0:89 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:89 subgroupPartitionedMinNV ( global 4-component vector of float) 0:89 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:89 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:89 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9608,8 +9272,7 @@ local_size = (8, 1, 1) 0:91 1 (const int) 0:91 Constant: 0:91 0 (const int) -0:91 ERROR: Bad aggregation op - ( global int) +0:91 subgroupPartitionedMinNV ( global int) 0:91 direct index ( temp int) 0:91 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:91 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9634,8 +9297,7 @@ local_size = (8, 1, 1) 0:92 0 (const int) 0:92 Constant: 0:92 1 (const int) -0:92 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:92 subgroupPartitionedMinNV ( global 2-component vector of int) 0:92 vector swizzle ( temp 2-component vector of int) 0:92 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:92 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9665,8 +9327,7 @@ local_size = (8, 1, 1) 0:93 1 (const int) 0:93 Constant: 0:93 2 (const int) -0:93 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:93 subgroupPartitionedMinNV ( global 3-component vector of int) 0:93 vector swizzle ( temp 3-component vector of int) 0:93 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:93 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9690,8 +9351,7 @@ local_size = (8, 1, 1) 0:94 'invocation' ( temp uint) 0:94 Constant: 0:94 1 (const int) -0:94 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:94 subgroupPartitionedMinNV ( global 4-component vector of int) 0:94 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:94 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:94 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9710,8 +9370,7 @@ local_size = (8, 1, 1) 0:96 2 (const int) 0:96 Constant: 0:96 0 (const int) -0:96 ERROR: Bad aggregation op - ( global uint) +0:96 subgroupPartitionedMinNV ( global uint) 0:96 direct index ( temp uint) 0:96 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:96 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9736,8 +9395,7 @@ local_size = (8, 1, 1) 0:97 0 (const int) 0:97 Constant: 0:97 1 (const int) -0:97 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:97 subgroupPartitionedMinNV ( global 2-component vector of uint) 0:97 vector swizzle ( temp 2-component vector of uint) 0:97 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:97 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9767,8 +9425,7 @@ local_size = (8, 1, 1) 0:98 1 (const int) 0:98 Constant: 0:98 2 (const int) -0:98 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:98 subgroupPartitionedMinNV ( global 3-component vector of uint) 0:98 vector swizzle ( temp 3-component vector of uint) 0:98 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:98 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9792,8 +9449,7 @@ local_size = (8, 1, 1) 0:99 'invocation' ( temp uint) 0:99 Constant: 0:99 2 (const int) -0:99 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:99 subgroupPartitionedMinNV ( global 4-component vector of uint) 0:99 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:99 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:99 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9812,8 +9468,7 @@ local_size = (8, 1, 1) 0:101 3 (const int) 0:101 Constant: 0:101 0 (const int) -0:101 ERROR: Bad aggregation op - ( global double) +0:101 subgroupPartitionedMinNV ( global double) 0:101 direct index ( temp double) 0:101 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:101 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9838,8 +9493,7 @@ local_size = (8, 1, 1) 0:102 0 (const int) 0:102 Constant: 0:102 1 (const int) -0:102 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:102 subgroupPartitionedMinNV ( global 2-component vector of double) 0:102 vector swizzle ( temp 2-component vector of double) 0:102 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:102 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9869,8 +9523,7 @@ local_size = (8, 1, 1) 0:103 1 (const int) 0:103 Constant: 0:103 2 (const int) -0:103 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:103 subgroupPartitionedMinNV ( global 3-component vector of double) 0:103 vector swizzle ( temp 3-component vector of double) 0:103 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:103 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9894,8 +9547,7 @@ local_size = (8, 1, 1) 0:104 'invocation' ( temp uint) 0:104 Constant: 0:104 3 (const int) -0:104 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:104 subgroupPartitionedMinNV ( global 4-component vector of double) 0:104 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:104 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:104 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9914,8 +9566,7 @@ local_size = (8, 1, 1) 0:106 0 (const int) 0:106 Constant: 0:106 0 (const int) -0:106 ERROR: Bad aggregation op - ( global float) +0:106 subgroupPartitionedMaxNV ( global float) 0:106 direct index ( temp float) 0:106 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:106 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9940,8 +9591,7 @@ local_size = (8, 1, 1) 0:107 0 (const int) 0:107 Constant: 0:107 1 (const int) -0:107 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:107 subgroupPartitionedMaxNV ( global 2-component vector of float) 0:107 vector swizzle ( temp 2-component vector of float) 0:107 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:107 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9971,8 +9621,7 @@ local_size = (8, 1, 1) 0:108 1 (const int) 0:108 Constant: 0:108 2 (const int) -0:108 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:108 subgroupPartitionedMaxNV ( global 3-component vector of float) 0:108 vector swizzle ( temp 3-component vector of float) 0:108 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:108 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -9996,8 +9645,7 @@ local_size = (8, 1, 1) 0:109 'invocation' ( temp uint) 0:109 Constant: 0:109 0 (const int) -0:109 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:109 subgroupPartitionedMaxNV ( global 4-component vector of float) 0:109 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:109 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:109 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10016,8 +9664,7 @@ local_size = (8, 1, 1) 0:111 1 (const int) 0:111 Constant: 0:111 0 (const int) -0:111 ERROR: Bad aggregation op - ( global int) +0:111 subgroupPartitionedMaxNV ( global int) 0:111 direct index ( temp int) 0:111 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:111 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10042,8 +9689,7 @@ local_size = (8, 1, 1) 0:112 0 (const int) 0:112 Constant: 0:112 1 (const int) -0:112 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:112 subgroupPartitionedMaxNV ( global 2-component vector of int) 0:112 vector swizzle ( temp 2-component vector of int) 0:112 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:112 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10073,8 +9719,7 @@ local_size = (8, 1, 1) 0:113 1 (const int) 0:113 Constant: 0:113 2 (const int) -0:113 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:113 subgroupPartitionedMaxNV ( global 3-component vector of int) 0:113 vector swizzle ( temp 3-component vector of int) 0:113 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:113 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10098,8 +9743,7 @@ local_size = (8, 1, 1) 0:114 'invocation' ( temp uint) 0:114 Constant: 0:114 1 (const int) -0:114 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:114 subgroupPartitionedMaxNV ( global 4-component vector of int) 0:114 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:114 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:114 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10118,8 +9762,7 @@ local_size = (8, 1, 1) 0:116 2 (const int) 0:116 Constant: 0:116 0 (const int) -0:116 ERROR: Bad aggregation op - ( global uint) +0:116 subgroupPartitionedMaxNV ( global uint) 0:116 direct index ( temp uint) 0:116 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:116 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10144,8 +9787,7 @@ local_size = (8, 1, 1) 0:117 0 (const int) 0:117 Constant: 0:117 1 (const int) -0:117 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:117 subgroupPartitionedMaxNV ( global 2-component vector of uint) 0:117 vector swizzle ( temp 2-component vector of uint) 0:117 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:117 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10175,8 +9817,7 @@ local_size = (8, 1, 1) 0:118 1 (const int) 0:118 Constant: 0:118 2 (const int) -0:118 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:118 subgroupPartitionedMaxNV ( global 3-component vector of uint) 0:118 vector swizzle ( temp 3-component vector of uint) 0:118 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:118 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10200,8 +9841,7 @@ local_size = (8, 1, 1) 0:119 'invocation' ( temp uint) 0:119 Constant: 0:119 2 (const int) -0:119 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:119 subgroupPartitionedMaxNV ( global 4-component vector of uint) 0:119 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:119 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:119 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10220,8 +9860,7 @@ local_size = (8, 1, 1) 0:121 3 (const int) 0:121 Constant: 0:121 0 (const int) -0:121 ERROR: Bad aggregation op - ( global double) +0:121 subgroupPartitionedMaxNV ( global double) 0:121 direct index ( temp double) 0:121 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:121 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10246,8 +9885,7 @@ local_size = (8, 1, 1) 0:122 0 (const int) 0:122 Constant: 0:122 1 (const int) -0:122 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:122 subgroupPartitionedMaxNV ( global 2-component vector of double) 0:122 vector swizzle ( temp 2-component vector of double) 0:122 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:122 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10277,8 +9915,7 @@ local_size = (8, 1, 1) 0:123 1 (const int) 0:123 Constant: 0:123 2 (const int) -0:123 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:123 subgroupPartitionedMaxNV ( global 3-component vector of double) 0:123 vector swizzle ( temp 3-component vector of double) 0:123 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:123 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10302,8 +9939,7 @@ local_size = (8, 1, 1) 0:124 'invocation' ( temp uint) 0:124 Constant: 0:124 3 (const int) -0:124 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:124 subgroupPartitionedMaxNV ( global 4-component vector of double) 0:124 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:124 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:124 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10322,8 +9958,7 @@ local_size = (8, 1, 1) 0:126 1 (const int) 0:126 Constant: 0:126 0 (const int) -0:126 ERROR: Bad aggregation op - ( global int) +0:126 subgroupPartitionedAndNV ( global int) 0:126 direct index ( temp int) 0:126 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:126 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10348,8 +9983,7 @@ local_size = (8, 1, 1) 0:127 0 (const int) 0:127 Constant: 0:127 1 (const int) -0:127 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:127 subgroupPartitionedAndNV ( global 2-component vector of int) 0:127 vector swizzle ( temp 2-component vector of int) 0:127 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:127 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10379,8 +10013,7 @@ local_size = (8, 1, 1) 0:128 1 (const int) 0:128 Constant: 0:128 2 (const int) -0:128 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:128 subgroupPartitionedAndNV ( global 3-component vector of int) 0:128 vector swizzle ( temp 3-component vector of int) 0:128 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:128 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10404,8 +10037,7 @@ local_size = (8, 1, 1) 0:129 'invocation' ( temp uint) 0:129 Constant: 0:129 1 (const int) -0:129 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:129 subgroupPartitionedAndNV ( global 4-component vector of int) 0:129 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:129 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:129 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10424,8 +10056,7 @@ local_size = (8, 1, 1) 0:131 2 (const int) 0:131 Constant: 0:131 0 (const int) -0:131 ERROR: Bad aggregation op - ( global uint) +0:131 subgroupPartitionedAndNV ( global uint) 0:131 direct index ( temp uint) 0:131 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:131 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10450,8 +10081,7 @@ local_size = (8, 1, 1) 0:132 0 (const int) 0:132 Constant: 0:132 1 (const int) -0:132 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:132 subgroupPartitionedAndNV ( global 2-component vector of uint) 0:132 vector swizzle ( temp 2-component vector of uint) 0:132 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:132 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10481,8 +10111,7 @@ local_size = (8, 1, 1) 0:133 1 (const int) 0:133 Constant: 0:133 2 (const int) -0:133 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:133 subgroupPartitionedAndNV ( global 3-component vector of uint) 0:133 vector swizzle ( temp 3-component vector of uint) 0:133 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:133 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10506,8 +10135,7 @@ local_size = (8, 1, 1) 0:134 'invocation' ( temp uint) 0:134 Constant: 0:134 2 (const int) -0:134 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:134 subgroupPartitionedAndNV ( global 4-component vector of uint) 0:134 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:134 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:134 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10527,8 +10155,7 @@ local_size = (8, 1, 1) 0:136 Constant: 0:136 0 (const int) 0:136 Convert bool to int ( temp int) -0:136 ERROR: Bad aggregation op - ( global bool) +0:136 subgroupPartitionedAndNV ( global bool) 0:136 Compare Less Than ( temp bool) 0:136 direct index ( temp int) 0:136 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -10557,8 +10184,7 @@ local_size = (8, 1, 1) 0:137 Constant: 0:137 1 (const int) 0:137 Convert bool to int ( temp 2-component vector of int) -0:137 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:137 subgroupPartitionedAndNV ( global 2-component vector of bool) 0:137 Compare Less Than ( global 2-component vector of bool) 0:137 vector swizzle ( temp 2-component vector of int) 0:137 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -10593,8 +10219,7 @@ local_size = (8, 1, 1) 0:138 Constant: 0:138 2 (const int) 0:138 Convert bool to int ( temp 3-component vector of int) -0:138 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:138 subgroupPartitionedAndNV ( global 3-component vector of bool) 0:138 Compare Less Than ( global 3-component vector of bool) 0:138 vector swizzle ( temp 3-component vector of int) 0:138 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -10624,8 +10249,7 @@ local_size = (8, 1, 1) 0:139 Constant: 0:139 1 (const int) 0:139 Convert bool to int ( temp 4-component vector of int) -0:139 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:139 subgroupPartitionedAndNV ( global 4-component vector of bool) 0:139 Compare Less Than ( global 4-component vector of bool) 0:139 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:139 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10650,8 +10274,7 @@ local_size = (8, 1, 1) 0:141 1 (const int) 0:141 Constant: 0:141 0 (const int) -0:141 ERROR: Bad aggregation op - ( global int) +0:141 subgroupPartitionedOrNV ( global int) 0:141 direct index ( temp int) 0:141 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:141 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10676,8 +10299,7 @@ local_size = (8, 1, 1) 0:142 0 (const int) 0:142 Constant: 0:142 1 (const int) -0:142 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:142 subgroupPartitionedOrNV ( global 2-component vector of int) 0:142 vector swizzle ( temp 2-component vector of int) 0:142 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:142 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10707,8 +10329,7 @@ local_size = (8, 1, 1) 0:143 1 (const int) 0:143 Constant: 0:143 2 (const int) -0:143 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:143 subgroupPartitionedOrNV ( global 3-component vector of int) 0:143 vector swizzle ( temp 3-component vector of int) 0:143 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:143 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10732,8 +10353,7 @@ local_size = (8, 1, 1) 0:144 'invocation' ( temp uint) 0:144 Constant: 0:144 1 (const int) -0:144 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:144 subgroupPartitionedOrNV ( global 4-component vector of int) 0:144 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:144 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:144 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10752,8 +10372,7 @@ local_size = (8, 1, 1) 0:146 2 (const int) 0:146 Constant: 0:146 0 (const int) -0:146 ERROR: Bad aggregation op - ( global uint) +0:146 subgroupPartitionedOrNV ( global uint) 0:146 direct index ( temp uint) 0:146 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:146 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10778,8 +10397,7 @@ local_size = (8, 1, 1) 0:147 0 (const int) 0:147 Constant: 0:147 1 (const int) -0:147 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:147 subgroupPartitionedOrNV ( global 2-component vector of uint) 0:147 vector swizzle ( temp 2-component vector of uint) 0:147 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:147 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10809,8 +10427,7 @@ local_size = (8, 1, 1) 0:148 1 (const int) 0:148 Constant: 0:148 2 (const int) -0:148 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:148 subgroupPartitionedOrNV ( global 3-component vector of uint) 0:148 vector swizzle ( temp 3-component vector of uint) 0:148 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:148 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10834,8 +10451,7 @@ local_size = (8, 1, 1) 0:149 'invocation' ( temp uint) 0:149 Constant: 0:149 2 (const int) -0:149 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:149 subgroupPartitionedOrNV ( global 4-component vector of uint) 0:149 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:149 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:149 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10855,8 +10471,7 @@ local_size = (8, 1, 1) 0:151 Constant: 0:151 0 (const int) 0:151 Convert bool to int ( temp int) -0:151 ERROR: Bad aggregation op - ( global bool) +0:151 subgroupPartitionedOrNV ( global bool) 0:151 Compare Less Than ( temp bool) 0:151 direct index ( temp int) 0:151 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -10885,8 +10500,7 @@ local_size = (8, 1, 1) 0:152 Constant: 0:152 1 (const int) 0:152 Convert bool to int ( temp 2-component vector of int) -0:152 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:152 subgroupPartitionedOrNV ( global 2-component vector of bool) 0:152 Compare Less Than ( global 2-component vector of bool) 0:152 vector swizzle ( temp 2-component vector of int) 0:152 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -10921,8 +10535,7 @@ local_size = (8, 1, 1) 0:153 Constant: 0:153 2 (const int) 0:153 Convert bool to int ( temp 3-component vector of int) -0:153 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:153 subgroupPartitionedOrNV ( global 3-component vector of bool) 0:153 Compare Less Than ( global 3-component vector of bool) 0:153 vector swizzle ( temp 3-component vector of int) 0:153 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -10952,8 +10565,7 @@ local_size = (8, 1, 1) 0:154 Constant: 0:154 1 (const int) 0:154 Convert bool to int ( temp 4-component vector of int) -0:154 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:154 subgroupPartitionedOrNV ( global 4-component vector of bool) 0:154 Compare Less Than ( global 4-component vector of bool) 0:154 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:154 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -10978,8 +10590,7 @@ local_size = (8, 1, 1) 0:156 1 (const int) 0:156 Constant: 0:156 0 (const int) -0:156 ERROR: Bad aggregation op - ( global int) +0:156 subgroupPartitionedXorNV ( global int) 0:156 direct index ( temp int) 0:156 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:156 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11004,8 +10615,7 @@ local_size = (8, 1, 1) 0:157 0 (const int) 0:157 Constant: 0:157 1 (const int) -0:157 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:157 subgroupPartitionedXorNV ( global 2-component vector of int) 0:157 vector swizzle ( temp 2-component vector of int) 0:157 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:157 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11035,8 +10645,7 @@ local_size = (8, 1, 1) 0:158 1 (const int) 0:158 Constant: 0:158 2 (const int) -0:158 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:158 subgroupPartitionedXorNV ( global 3-component vector of int) 0:158 vector swizzle ( temp 3-component vector of int) 0:158 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:158 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11060,8 +10669,7 @@ local_size = (8, 1, 1) 0:159 'invocation' ( temp uint) 0:159 Constant: 0:159 1 (const int) -0:159 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:159 subgroupPartitionedXorNV ( global 4-component vector of int) 0:159 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:159 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:159 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11080,8 +10688,7 @@ local_size = (8, 1, 1) 0:161 2 (const int) 0:161 Constant: 0:161 0 (const int) -0:161 ERROR: Bad aggregation op - ( global uint) +0:161 subgroupPartitionedXorNV ( global uint) 0:161 direct index ( temp uint) 0:161 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:161 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11106,8 +10713,7 @@ local_size = (8, 1, 1) 0:162 0 (const int) 0:162 Constant: 0:162 1 (const int) -0:162 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:162 subgroupPartitionedXorNV ( global 2-component vector of uint) 0:162 vector swizzle ( temp 2-component vector of uint) 0:162 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:162 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11137,8 +10743,7 @@ local_size = (8, 1, 1) 0:163 1 (const int) 0:163 Constant: 0:163 2 (const int) -0:163 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:163 subgroupPartitionedXorNV ( global 3-component vector of uint) 0:163 vector swizzle ( temp 3-component vector of uint) 0:163 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:163 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11162,8 +10767,7 @@ local_size = (8, 1, 1) 0:164 'invocation' ( temp uint) 0:164 Constant: 0:164 2 (const int) -0:164 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:164 subgroupPartitionedXorNV ( global 4-component vector of uint) 0:164 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:164 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:164 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11183,8 +10787,7 @@ local_size = (8, 1, 1) 0:166 Constant: 0:166 0 (const int) 0:166 Convert bool to int ( temp int) -0:166 ERROR: Bad aggregation op - ( global bool) +0:166 subgroupPartitionedXorNV ( global bool) 0:166 Compare Less Than ( temp bool) 0:166 direct index ( temp int) 0:166 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -11213,8 +10816,7 @@ local_size = (8, 1, 1) 0:167 Constant: 0:167 1 (const int) 0:167 Convert bool to int ( temp 2-component vector of int) -0:167 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:167 subgroupPartitionedXorNV ( global 2-component vector of bool) 0:167 Compare Less Than ( global 2-component vector of bool) 0:167 vector swizzle ( temp 2-component vector of int) 0:167 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -11249,8 +10851,7 @@ local_size = (8, 1, 1) 0:168 Constant: 0:168 2 (const int) 0:168 Convert bool to int ( temp 3-component vector of int) -0:168 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:168 subgroupPartitionedXorNV ( global 3-component vector of bool) 0:168 Compare Less Than ( global 3-component vector of bool) 0:168 vector swizzle ( temp 3-component vector of int) 0:168 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -11280,8 +10881,7 @@ local_size = (8, 1, 1) 0:169 Constant: 0:169 1 (const int) 0:169 Convert bool to int ( temp 4-component vector of int) -0:169 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:169 subgroupPartitionedXorNV ( global 4-component vector of bool) 0:169 Compare Less Than ( global 4-component vector of bool) 0:169 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:169 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11306,8 +10906,7 @@ local_size = (8, 1, 1) 0:171 0 (const int) 0:171 Constant: 0:171 0 (const int) -0:171 ERROR: Bad aggregation op - ( global float) +0:171 subgroupPartitionedInclusiveAddNV ( global float) 0:171 direct index ( temp float) 0:171 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:171 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11332,8 +10931,7 @@ local_size = (8, 1, 1) 0:172 0 (const int) 0:172 Constant: 0:172 1 (const int) -0:172 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:172 subgroupPartitionedInclusiveAddNV ( global 2-component vector of float) 0:172 vector swizzle ( temp 2-component vector of float) 0:172 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:172 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11363,8 +10961,7 @@ local_size = (8, 1, 1) 0:173 1 (const int) 0:173 Constant: 0:173 2 (const int) -0:173 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:173 subgroupPartitionedInclusiveAddNV ( global 3-component vector of float) 0:173 vector swizzle ( temp 3-component vector of float) 0:173 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:173 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11388,8 +10985,7 @@ local_size = (8, 1, 1) 0:174 'invocation' ( temp uint) 0:174 Constant: 0:174 0 (const int) -0:174 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:174 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float) 0:174 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:174 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:174 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11408,8 +11004,7 @@ local_size = (8, 1, 1) 0:176 1 (const int) 0:176 Constant: 0:176 0 (const int) -0:176 ERROR: Bad aggregation op - ( global int) +0:176 subgroupPartitionedInclusiveAddNV ( global int) 0:176 direct index ( temp int) 0:176 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:176 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11434,8 +11029,7 @@ local_size = (8, 1, 1) 0:177 0 (const int) 0:177 Constant: 0:177 1 (const int) -0:177 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:177 subgroupPartitionedInclusiveAddNV ( global 2-component vector of int) 0:177 vector swizzle ( temp 2-component vector of int) 0:177 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:177 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11465,8 +11059,7 @@ local_size = (8, 1, 1) 0:178 1 (const int) 0:178 Constant: 0:178 2 (const int) -0:178 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:178 subgroupPartitionedInclusiveAddNV ( global 3-component vector of int) 0:178 vector swizzle ( temp 3-component vector of int) 0:178 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:178 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11490,8 +11083,7 @@ local_size = (8, 1, 1) 0:179 'invocation' ( temp uint) 0:179 Constant: 0:179 1 (const int) -0:179 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:179 subgroupPartitionedInclusiveAddNV ( global 4-component vector of int) 0:179 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:179 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:179 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11510,8 +11102,7 @@ local_size = (8, 1, 1) 0:181 2 (const int) 0:181 Constant: 0:181 0 (const int) -0:181 ERROR: Bad aggregation op - ( global uint) +0:181 subgroupPartitionedInclusiveAddNV ( global uint) 0:181 direct index ( temp uint) 0:181 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:181 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11536,8 +11127,7 @@ local_size = (8, 1, 1) 0:182 0 (const int) 0:182 Constant: 0:182 1 (const int) -0:182 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:182 subgroupPartitionedInclusiveAddNV ( global 2-component vector of uint) 0:182 vector swizzle ( temp 2-component vector of uint) 0:182 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:182 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11567,8 +11157,7 @@ local_size = (8, 1, 1) 0:183 1 (const int) 0:183 Constant: 0:183 2 (const int) -0:183 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:183 subgroupPartitionedInclusiveAddNV ( global 3-component vector of uint) 0:183 vector swizzle ( temp 3-component vector of uint) 0:183 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:183 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11592,8 +11181,7 @@ local_size = (8, 1, 1) 0:184 'invocation' ( temp uint) 0:184 Constant: 0:184 2 (const int) -0:184 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:184 subgroupPartitionedInclusiveAddNV ( global 4-component vector of uint) 0:184 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:184 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:184 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11612,8 +11200,7 @@ local_size = (8, 1, 1) 0:186 3 (const int) 0:186 Constant: 0:186 0 (const int) -0:186 ERROR: Bad aggregation op - ( global double) +0:186 subgroupPartitionedInclusiveAddNV ( global double) 0:186 direct index ( temp double) 0:186 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:186 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11638,8 +11225,7 @@ local_size = (8, 1, 1) 0:187 0 (const int) 0:187 Constant: 0:187 1 (const int) -0:187 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:187 subgroupPartitionedInclusiveAddNV ( global 2-component vector of double) 0:187 vector swizzle ( temp 2-component vector of double) 0:187 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:187 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11669,8 +11255,7 @@ local_size = (8, 1, 1) 0:188 1 (const int) 0:188 Constant: 0:188 2 (const int) -0:188 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:188 subgroupPartitionedInclusiveAddNV ( global 3-component vector of double) 0:188 vector swizzle ( temp 3-component vector of double) 0:188 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:188 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11694,8 +11279,7 @@ local_size = (8, 1, 1) 0:189 'invocation' ( temp uint) 0:189 Constant: 0:189 3 (const int) -0:189 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:189 subgroupPartitionedInclusiveAddNV ( global 4-component vector of double) 0:189 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:189 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:189 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11714,8 +11298,7 @@ local_size = (8, 1, 1) 0:191 0 (const int) 0:191 Constant: 0:191 0 (const int) -0:191 ERROR: Bad aggregation op - ( global float) +0:191 subgroupPartitionedInclusiveMulNV ( global float) 0:191 direct index ( temp float) 0:191 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:191 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11740,8 +11323,7 @@ local_size = (8, 1, 1) 0:192 0 (const int) 0:192 Constant: 0:192 1 (const int) -0:192 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:192 subgroupPartitionedInclusiveMulNV ( global 2-component vector of float) 0:192 vector swizzle ( temp 2-component vector of float) 0:192 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:192 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11771,8 +11353,7 @@ local_size = (8, 1, 1) 0:193 1 (const int) 0:193 Constant: 0:193 2 (const int) -0:193 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:193 subgroupPartitionedInclusiveMulNV ( global 3-component vector of float) 0:193 vector swizzle ( temp 3-component vector of float) 0:193 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:193 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11796,8 +11377,7 @@ local_size = (8, 1, 1) 0:194 'invocation' ( temp uint) 0:194 Constant: 0:194 0 (const int) -0:194 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:194 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float) 0:194 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:194 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:194 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11816,8 +11396,7 @@ local_size = (8, 1, 1) 0:196 1 (const int) 0:196 Constant: 0:196 0 (const int) -0:196 ERROR: Bad aggregation op - ( global int) +0:196 subgroupPartitionedInclusiveMulNV ( global int) 0:196 direct index ( temp int) 0:196 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:196 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11842,8 +11421,7 @@ local_size = (8, 1, 1) 0:197 0 (const int) 0:197 Constant: 0:197 1 (const int) -0:197 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:197 subgroupPartitionedInclusiveMulNV ( global 2-component vector of int) 0:197 vector swizzle ( temp 2-component vector of int) 0:197 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:197 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11873,8 +11451,7 @@ local_size = (8, 1, 1) 0:198 1 (const int) 0:198 Constant: 0:198 2 (const int) -0:198 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:198 subgroupPartitionedInclusiveMulNV ( global 3-component vector of int) 0:198 vector swizzle ( temp 3-component vector of int) 0:198 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:198 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11898,8 +11475,7 @@ local_size = (8, 1, 1) 0:199 'invocation' ( temp uint) 0:199 Constant: 0:199 1 (const int) -0:199 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:199 subgroupPartitionedInclusiveMulNV ( global 4-component vector of int) 0:199 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:199 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:199 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11918,8 +11494,7 @@ local_size = (8, 1, 1) 0:201 2 (const int) 0:201 Constant: 0:201 0 (const int) -0:201 ERROR: Bad aggregation op - ( global uint) +0:201 subgroupPartitionedInclusiveMulNV ( global uint) 0:201 direct index ( temp uint) 0:201 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:201 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11944,8 +11519,7 @@ local_size = (8, 1, 1) 0:202 0 (const int) 0:202 Constant: 0:202 1 (const int) -0:202 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:202 subgroupPartitionedInclusiveMulNV ( global 2-component vector of uint) 0:202 vector swizzle ( temp 2-component vector of uint) 0:202 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:202 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -11975,8 +11549,7 @@ local_size = (8, 1, 1) 0:203 1 (const int) 0:203 Constant: 0:203 2 (const int) -0:203 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:203 subgroupPartitionedInclusiveMulNV ( global 3-component vector of uint) 0:203 vector swizzle ( temp 3-component vector of uint) 0:203 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:203 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12000,8 +11573,7 @@ local_size = (8, 1, 1) 0:204 'invocation' ( temp uint) 0:204 Constant: 0:204 2 (const int) -0:204 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:204 subgroupPartitionedInclusiveMulNV ( global 4-component vector of uint) 0:204 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:204 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:204 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12020,8 +11592,7 @@ local_size = (8, 1, 1) 0:206 3 (const int) 0:206 Constant: 0:206 0 (const int) -0:206 ERROR: Bad aggregation op - ( global double) +0:206 subgroupPartitionedInclusiveMulNV ( global double) 0:206 direct index ( temp double) 0:206 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:206 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12046,8 +11617,7 @@ local_size = (8, 1, 1) 0:207 0 (const int) 0:207 Constant: 0:207 1 (const int) -0:207 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:207 subgroupPartitionedInclusiveMulNV ( global 2-component vector of double) 0:207 vector swizzle ( temp 2-component vector of double) 0:207 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:207 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12077,8 +11647,7 @@ local_size = (8, 1, 1) 0:208 1 (const int) 0:208 Constant: 0:208 2 (const int) -0:208 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:208 subgroupPartitionedInclusiveMulNV ( global 3-component vector of double) 0:208 vector swizzle ( temp 3-component vector of double) 0:208 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:208 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12102,8 +11671,7 @@ local_size = (8, 1, 1) 0:209 'invocation' ( temp uint) 0:209 Constant: 0:209 3 (const int) -0:209 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:209 subgroupPartitionedInclusiveMulNV ( global 4-component vector of double) 0:209 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:209 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:209 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12122,8 +11690,7 @@ local_size = (8, 1, 1) 0:211 0 (const int) 0:211 Constant: 0:211 0 (const int) -0:211 ERROR: Bad aggregation op - ( global float) +0:211 subgroupPartitionedInclusiveMinNV ( global float) 0:211 direct index ( temp float) 0:211 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:211 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12148,8 +11715,7 @@ local_size = (8, 1, 1) 0:212 0 (const int) 0:212 Constant: 0:212 1 (const int) -0:212 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:212 subgroupPartitionedInclusiveMinNV ( global 2-component vector of float) 0:212 vector swizzle ( temp 2-component vector of float) 0:212 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:212 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12179,8 +11745,7 @@ local_size = (8, 1, 1) 0:213 1 (const int) 0:213 Constant: 0:213 2 (const int) -0:213 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:213 subgroupPartitionedInclusiveMinNV ( global 3-component vector of float) 0:213 vector swizzle ( temp 3-component vector of float) 0:213 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:213 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12204,8 +11769,7 @@ local_size = (8, 1, 1) 0:214 'invocation' ( temp uint) 0:214 Constant: 0:214 0 (const int) -0:214 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:214 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float) 0:214 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:214 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:214 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12224,8 +11788,7 @@ local_size = (8, 1, 1) 0:216 1 (const int) 0:216 Constant: 0:216 0 (const int) -0:216 ERROR: Bad aggregation op - ( global int) +0:216 subgroupPartitionedInclusiveMinNV ( global int) 0:216 direct index ( temp int) 0:216 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:216 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12250,8 +11813,7 @@ local_size = (8, 1, 1) 0:217 0 (const int) 0:217 Constant: 0:217 1 (const int) -0:217 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:217 subgroupPartitionedInclusiveMinNV ( global 2-component vector of int) 0:217 vector swizzle ( temp 2-component vector of int) 0:217 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:217 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12281,8 +11843,7 @@ local_size = (8, 1, 1) 0:218 1 (const int) 0:218 Constant: 0:218 2 (const int) -0:218 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:218 subgroupPartitionedInclusiveMinNV ( global 3-component vector of int) 0:218 vector swizzle ( temp 3-component vector of int) 0:218 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:218 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12306,8 +11867,7 @@ local_size = (8, 1, 1) 0:219 'invocation' ( temp uint) 0:219 Constant: 0:219 1 (const int) -0:219 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:219 subgroupPartitionedInclusiveMinNV ( global 4-component vector of int) 0:219 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:219 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:219 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12326,8 +11886,7 @@ local_size = (8, 1, 1) 0:221 2 (const int) 0:221 Constant: 0:221 0 (const int) -0:221 ERROR: Bad aggregation op - ( global uint) +0:221 subgroupPartitionedInclusiveMinNV ( global uint) 0:221 direct index ( temp uint) 0:221 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:221 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12352,8 +11911,7 @@ local_size = (8, 1, 1) 0:222 0 (const int) 0:222 Constant: 0:222 1 (const int) -0:222 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:222 subgroupPartitionedInclusiveMinNV ( global 2-component vector of uint) 0:222 vector swizzle ( temp 2-component vector of uint) 0:222 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:222 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12383,8 +11941,7 @@ local_size = (8, 1, 1) 0:223 1 (const int) 0:223 Constant: 0:223 2 (const int) -0:223 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:223 subgroupPartitionedInclusiveMinNV ( global 3-component vector of uint) 0:223 vector swizzle ( temp 3-component vector of uint) 0:223 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:223 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12408,8 +11965,7 @@ local_size = (8, 1, 1) 0:224 'invocation' ( temp uint) 0:224 Constant: 0:224 2 (const int) -0:224 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:224 subgroupPartitionedInclusiveMinNV ( global 4-component vector of uint) 0:224 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:224 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:224 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12428,8 +11984,7 @@ local_size = (8, 1, 1) 0:226 3 (const int) 0:226 Constant: 0:226 0 (const int) -0:226 ERROR: Bad aggregation op - ( global double) +0:226 subgroupPartitionedInclusiveMinNV ( global double) 0:226 direct index ( temp double) 0:226 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:226 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12454,8 +12009,7 @@ local_size = (8, 1, 1) 0:227 0 (const int) 0:227 Constant: 0:227 1 (const int) -0:227 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:227 subgroupPartitionedInclusiveMinNV ( global 2-component vector of double) 0:227 vector swizzle ( temp 2-component vector of double) 0:227 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:227 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12485,8 +12039,7 @@ local_size = (8, 1, 1) 0:228 1 (const int) 0:228 Constant: 0:228 2 (const int) -0:228 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:228 subgroupPartitionedInclusiveMinNV ( global 3-component vector of double) 0:228 vector swizzle ( temp 3-component vector of double) 0:228 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:228 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12510,8 +12063,7 @@ local_size = (8, 1, 1) 0:229 'invocation' ( temp uint) 0:229 Constant: 0:229 3 (const int) -0:229 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:229 subgroupPartitionedInclusiveMinNV ( global 4-component vector of double) 0:229 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:229 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:229 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12530,8 +12082,7 @@ local_size = (8, 1, 1) 0:231 0 (const int) 0:231 Constant: 0:231 0 (const int) -0:231 ERROR: Bad aggregation op - ( global float) +0:231 subgroupPartitionedInclusiveMaxNV ( global float) 0:231 direct index ( temp float) 0:231 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:231 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12556,8 +12107,7 @@ local_size = (8, 1, 1) 0:232 0 (const int) 0:232 Constant: 0:232 1 (const int) -0:232 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:232 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of float) 0:232 vector swizzle ( temp 2-component vector of float) 0:232 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:232 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12587,8 +12137,7 @@ local_size = (8, 1, 1) 0:233 1 (const int) 0:233 Constant: 0:233 2 (const int) -0:233 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:233 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of float) 0:233 vector swizzle ( temp 3-component vector of float) 0:233 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:233 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12612,8 +12161,7 @@ local_size = (8, 1, 1) 0:234 'invocation' ( temp uint) 0:234 Constant: 0:234 0 (const int) -0:234 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:234 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float) 0:234 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:234 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:234 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12632,8 +12180,7 @@ local_size = (8, 1, 1) 0:236 1 (const int) 0:236 Constant: 0:236 0 (const int) -0:236 ERROR: Bad aggregation op - ( global int) +0:236 subgroupPartitionedInclusiveMaxNV ( global int) 0:236 direct index ( temp int) 0:236 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:236 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12658,8 +12205,7 @@ local_size = (8, 1, 1) 0:237 0 (const int) 0:237 Constant: 0:237 1 (const int) -0:237 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:237 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of int) 0:237 vector swizzle ( temp 2-component vector of int) 0:237 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:237 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12689,8 +12235,7 @@ local_size = (8, 1, 1) 0:238 1 (const int) 0:238 Constant: 0:238 2 (const int) -0:238 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:238 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of int) 0:238 vector swizzle ( temp 3-component vector of int) 0:238 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:238 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12714,8 +12259,7 @@ local_size = (8, 1, 1) 0:239 'invocation' ( temp uint) 0:239 Constant: 0:239 1 (const int) -0:239 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:239 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of int) 0:239 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:239 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:239 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12734,8 +12278,7 @@ local_size = (8, 1, 1) 0:241 2 (const int) 0:241 Constant: 0:241 0 (const int) -0:241 ERROR: Bad aggregation op - ( global uint) +0:241 subgroupPartitionedInclusiveMaxNV ( global uint) 0:241 direct index ( temp uint) 0:241 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:241 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12760,8 +12303,7 @@ local_size = (8, 1, 1) 0:242 0 (const int) 0:242 Constant: 0:242 1 (const int) -0:242 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:242 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of uint) 0:242 vector swizzle ( temp 2-component vector of uint) 0:242 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:242 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12791,8 +12333,7 @@ local_size = (8, 1, 1) 0:243 1 (const int) 0:243 Constant: 0:243 2 (const int) -0:243 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:243 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of uint) 0:243 vector swizzle ( temp 3-component vector of uint) 0:243 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:243 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12816,8 +12357,7 @@ local_size = (8, 1, 1) 0:244 'invocation' ( temp uint) 0:244 Constant: 0:244 2 (const int) -0:244 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:244 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of uint) 0:244 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:244 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:244 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12836,8 +12376,7 @@ local_size = (8, 1, 1) 0:246 3 (const int) 0:246 Constant: 0:246 0 (const int) -0:246 ERROR: Bad aggregation op - ( global double) +0:246 subgroupPartitionedInclusiveMaxNV ( global double) 0:246 direct index ( temp double) 0:246 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:246 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12862,8 +12401,7 @@ local_size = (8, 1, 1) 0:247 0 (const int) 0:247 Constant: 0:247 1 (const int) -0:247 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:247 subgroupPartitionedInclusiveMaxNV ( global 2-component vector of double) 0:247 vector swizzle ( temp 2-component vector of double) 0:247 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:247 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12893,8 +12431,7 @@ local_size = (8, 1, 1) 0:248 1 (const int) 0:248 Constant: 0:248 2 (const int) -0:248 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:248 subgroupPartitionedInclusiveMaxNV ( global 3-component vector of double) 0:248 vector swizzle ( temp 3-component vector of double) 0:248 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:248 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12918,8 +12455,7 @@ local_size = (8, 1, 1) 0:249 'invocation' ( temp uint) 0:249 Constant: 0:249 3 (const int) -0:249 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:249 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of double) 0:249 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:249 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:249 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12938,8 +12474,7 @@ local_size = (8, 1, 1) 0:251 1 (const int) 0:251 Constant: 0:251 0 (const int) -0:251 ERROR: Bad aggregation op - ( global int) +0:251 subgroupPartitionedInclusiveAndNV ( global int) 0:251 direct index ( temp int) 0:251 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:251 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12964,8 +12499,7 @@ local_size = (8, 1, 1) 0:252 0 (const int) 0:252 Constant: 0:252 1 (const int) -0:252 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:252 subgroupPartitionedInclusiveAndNV ( global 2-component vector of int) 0:252 vector swizzle ( temp 2-component vector of int) 0:252 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:252 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -12995,8 +12529,7 @@ local_size = (8, 1, 1) 0:253 1 (const int) 0:253 Constant: 0:253 2 (const int) -0:253 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:253 subgroupPartitionedInclusiveAndNV ( global 3-component vector of int) 0:253 vector swizzle ( temp 3-component vector of int) 0:253 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:253 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13020,8 +12553,7 @@ local_size = (8, 1, 1) 0:254 'invocation' ( temp uint) 0:254 Constant: 0:254 1 (const int) -0:254 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:254 subgroupPartitionedInclusiveAndNV ( global 4-component vector of int) 0:254 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:254 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:254 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13040,8 +12572,7 @@ local_size = (8, 1, 1) 0:256 2 (const int) 0:256 Constant: 0:256 0 (const int) -0:256 ERROR: Bad aggregation op - ( global uint) +0:256 subgroupPartitionedInclusiveAndNV ( global uint) 0:256 direct index ( temp uint) 0:256 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:256 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13066,8 +12597,7 @@ local_size = (8, 1, 1) 0:257 0 (const int) 0:257 Constant: 0:257 1 (const int) -0:257 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:257 subgroupPartitionedInclusiveAndNV ( global 2-component vector of uint) 0:257 vector swizzle ( temp 2-component vector of uint) 0:257 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:257 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13097,8 +12627,7 @@ local_size = (8, 1, 1) 0:258 1 (const int) 0:258 Constant: 0:258 2 (const int) -0:258 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:258 subgroupPartitionedInclusiveAndNV ( global 3-component vector of uint) 0:258 vector swizzle ( temp 3-component vector of uint) 0:258 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:258 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13122,8 +12651,7 @@ local_size = (8, 1, 1) 0:259 'invocation' ( temp uint) 0:259 Constant: 0:259 2 (const int) -0:259 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:259 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint) 0:259 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:259 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:259 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13143,8 +12671,7 @@ local_size = (8, 1, 1) 0:261 Constant: 0:261 0 (const int) 0:261 Convert bool to int ( temp int) -0:261 ERROR: Bad aggregation op - ( global bool) +0:261 subgroupPartitionedInclusiveAndNV ( global bool) 0:261 Compare Less Than ( temp bool) 0:261 direct index ( temp int) 0:261 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13173,8 +12700,7 @@ local_size = (8, 1, 1) 0:262 Constant: 0:262 1 (const int) 0:262 Convert bool to int ( temp 2-component vector of int) -0:262 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:262 subgroupPartitionedInclusiveAndNV ( global 2-component vector of bool) 0:262 Compare Less Than ( global 2-component vector of bool) 0:262 vector swizzle ( temp 2-component vector of int) 0:262 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13209,8 +12735,7 @@ local_size = (8, 1, 1) 0:263 Constant: 0:263 2 (const int) 0:263 Convert bool to int ( temp 3-component vector of int) -0:263 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:263 subgroupPartitionedInclusiveAndNV ( global 3-component vector of bool) 0:263 Compare Less Than ( global 3-component vector of bool) 0:263 vector swizzle ( temp 3-component vector of int) 0:263 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13240,8 +12765,7 @@ local_size = (8, 1, 1) 0:264 Constant: 0:264 1 (const int) 0:264 Convert bool to int ( temp 4-component vector of int) -0:264 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:264 subgroupPartitionedInclusiveAndNV ( global 4-component vector of bool) 0:264 Compare Less Than ( global 4-component vector of bool) 0:264 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:264 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13266,8 +12790,7 @@ local_size = (8, 1, 1) 0:266 1 (const int) 0:266 Constant: 0:266 0 (const int) -0:266 ERROR: Bad aggregation op - ( global int) +0:266 subgroupPartitionedInclusiveOrNV ( global int) 0:266 direct index ( temp int) 0:266 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:266 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13292,8 +12815,7 @@ local_size = (8, 1, 1) 0:267 0 (const int) 0:267 Constant: 0:267 1 (const int) -0:267 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:267 subgroupPartitionedInclusiveOrNV ( global 2-component vector of int) 0:267 vector swizzle ( temp 2-component vector of int) 0:267 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:267 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13323,8 +12845,7 @@ local_size = (8, 1, 1) 0:268 1 (const int) 0:268 Constant: 0:268 2 (const int) -0:268 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:268 subgroupPartitionedInclusiveOrNV ( global 3-component vector of int) 0:268 vector swizzle ( temp 3-component vector of int) 0:268 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:268 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13348,8 +12869,7 @@ local_size = (8, 1, 1) 0:269 'invocation' ( temp uint) 0:269 Constant: 0:269 1 (const int) -0:269 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:269 subgroupPartitionedInclusiveOrNV ( global 4-component vector of int) 0:269 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:269 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:269 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13368,8 +12888,7 @@ local_size = (8, 1, 1) 0:271 2 (const int) 0:271 Constant: 0:271 0 (const int) -0:271 ERROR: Bad aggregation op - ( global uint) +0:271 subgroupPartitionedInclusiveOrNV ( global uint) 0:271 direct index ( temp uint) 0:271 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:271 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13394,8 +12913,7 @@ local_size = (8, 1, 1) 0:272 0 (const int) 0:272 Constant: 0:272 1 (const int) -0:272 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:272 subgroupPartitionedInclusiveOrNV ( global 2-component vector of uint) 0:272 vector swizzle ( temp 2-component vector of uint) 0:272 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:272 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13425,8 +12943,7 @@ local_size = (8, 1, 1) 0:273 1 (const int) 0:273 Constant: 0:273 2 (const int) -0:273 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:273 subgroupPartitionedInclusiveOrNV ( global 3-component vector of uint) 0:273 vector swizzle ( temp 3-component vector of uint) 0:273 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:273 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13450,8 +12967,7 @@ local_size = (8, 1, 1) 0:274 'invocation' ( temp uint) 0:274 Constant: 0:274 2 (const int) -0:274 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:274 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint) 0:274 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:274 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:274 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13471,8 +12987,7 @@ local_size = (8, 1, 1) 0:276 Constant: 0:276 0 (const int) 0:276 Convert bool to int ( temp int) -0:276 ERROR: Bad aggregation op - ( global bool) +0:276 subgroupPartitionedInclusiveOrNV ( global bool) 0:276 Compare Less Than ( temp bool) 0:276 direct index ( temp int) 0:276 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13501,8 +13016,7 @@ local_size = (8, 1, 1) 0:277 Constant: 0:277 1 (const int) 0:277 Convert bool to int ( temp 2-component vector of int) -0:277 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:277 subgroupPartitionedInclusiveOrNV ( global 2-component vector of bool) 0:277 Compare Less Than ( global 2-component vector of bool) 0:277 vector swizzle ( temp 2-component vector of int) 0:277 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13537,8 +13051,7 @@ local_size = (8, 1, 1) 0:278 Constant: 0:278 2 (const int) 0:278 Convert bool to int ( temp 3-component vector of int) -0:278 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:278 subgroupPartitionedInclusiveOrNV ( global 3-component vector of bool) 0:278 Compare Less Than ( global 3-component vector of bool) 0:278 vector swizzle ( temp 3-component vector of int) 0:278 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13568,8 +13081,7 @@ local_size = (8, 1, 1) 0:279 Constant: 0:279 1 (const int) 0:279 Convert bool to int ( temp 4-component vector of int) -0:279 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:279 subgroupPartitionedInclusiveOrNV ( global 4-component vector of bool) 0:279 Compare Less Than ( global 4-component vector of bool) 0:279 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:279 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13594,8 +13106,7 @@ local_size = (8, 1, 1) 0:281 1 (const int) 0:281 Constant: 0:281 0 (const int) -0:281 ERROR: Bad aggregation op - ( global int) +0:281 subgroupPartitionedInclusiveXorNV ( global int) 0:281 direct index ( temp int) 0:281 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:281 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13620,8 +13131,7 @@ local_size = (8, 1, 1) 0:282 0 (const int) 0:282 Constant: 0:282 1 (const int) -0:282 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:282 subgroupPartitionedInclusiveXorNV ( global 2-component vector of int) 0:282 vector swizzle ( temp 2-component vector of int) 0:282 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:282 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13651,8 +13161,7 @@ local_size = (8, 1, 1) 0:283 1 (const int) 0:283 Constant: 0:283 2 (const int) -0:283 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:283 subgroupPartitionedInclusiveXorNV ( global 3-component vector of int) 0:283 vector swizzle ( temp 3-component vector of int) 0:283 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:283 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13676,8 +13185,7 @@ local_size = (8, 1, 1) 0:284 'invocation' ( temp uint) 0:284 Constant: 0:284 1 (const int) -0:284 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:284 subgroupPartitionedInclusiveXorNV ( global 4-component vector of int) 0:284 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:284 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:284 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13696,8 +13204,7 @@ local_size = (8, 1, 1) 0:286 2 (const int) 0:286 Constant: 0:286 0 (const int) -0:286 ERROR: Bad aggregation op - ( global uint) +0:286 subgroupPartitionedInclusiveXorNV ( global uint) 0:286 direct index ( temp uint) 0:286 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:286 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13722,8 +13229,7 @@ local_size = (8, 1, 1) 0:287 0 (const int) 0:287 Constant: 0:287 1 (const int) -0:287 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:287 subgroupPartitionedInclusiveXorNV ( global 2-component vector of uint) 0:287 vector swizzle ( temp 2-component vector of uint) 0:287 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:287 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13753,8 +13259,7 @@ local_size = (8, 1, 1) 0:288 1 (const int) 0:288 Constant: 0:288 2 (const int) -0:288 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:288 subgroupPartitionedInclusiveXorNV ( global 3-component vector of uint) 0:288 vector swizzle ( temp 3-component vector of uint) 0:288 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:288 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13778,8 +13283,7 @@ local_size = (8, 1, 1) 0:289 'invocation' ( temp uint) 0:289 Constant: 0:289 2 (const int) -0:289 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:289 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint) 0:289 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:289 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:289 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13799,8 +13303,7 @@ local_size = (8, 1, 1) 0:291 Constant: 0:291 0 (const int) 0:291 Convert bool to int ( temp int) -0:291 ERROR: Bad aggregation op - ( global bool) +0:291 subgroupPartitionedInclusiveXorNV ( global bool) 0:291 Compare Less Than ( temp bool) 0:291 direct index ( temp int) 0:291 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13829,8 +13332,7 @@ local_size = (8, 1, 1) 0:292 Constant: 0:292 1 (const int) 0:292 Convert bool to int ( temp 2-component vector of int) -0:292 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:292 subgroupPartitionedInclusiveXorNV ( global 2-component vector of bool) 0:292 Compare Less Than ( global 2-component vector of bool) 0:292 vector swizzle ( temp 2-component vector of int) 0:292 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13865,8 +13367,7 @@ local_size = (8, 1, 1) 0:293 Constant: 0:293 2 (const int) 0:293 Convert bool to int ( temp 3-component vector of int) -0:293 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:293 subgroupPartitionedInclusiveXorNV ( global 3-component vector of bool) 0:293 Compare Less Than ( global 3-component vector of bool) 0:293 vector swizzle ( temp 3-component vector of int) 0:293 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -13896,8 +13397,7 @@ local_size = (8, 1, 1) 0:294 Constant: 0:294 1 (const int) 0:294 Convert bool to int ( temp 4-component vector of int) -0:294 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:294 subgroupPartitionedInclusiveXorNV ( global 4-component vector of bool) 0:294 Compare Less Than ( global 4-component vector of bool) 0:294 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:294 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13922,8 +13422,7 @@ local_size = (8, 1, 1) 0:296 0 (const int) 0:296 Constant: 0:296 0 (const int) -0:296 ERROR: Bad aggregation op - ( global float) +0:296 subgroupPartitionedExclusiveAddNV ( global float) 0:296 direct index ( temp float) 0:296 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:296 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13948,8 +13447,7 @@ local_size = (8, 1, 1) 0:297 0 (const int) 0:297 Constant: 0:297 1 (const int) -0:297 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:297 subgroupPartitionedExclusiveAddNV ( global 2-component vector of float) 0:297 vector swizzle ( temp 2-component vector of float) 0:297 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:297 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -13979,8 +13477,7 @@ local_size = (8, 1, 1) 0:298 1 (const int) 0:298 Constant: 0:298 2 (const int) -0:298 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:298 subgroupPartitionedExclusiveAddNV ( global 3-component vector of float) 0:298 vector swizzle ( temp 3-component vector of float) 0:298 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:298 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14004,8 +13501,7 @@ local_size = (8, 1, 1) 0:299 'invocation' ( temp uint) 0:299 Constant: 0:299 0 (const int) -0:299 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:299 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float) 0:299 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:299 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:299 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14024,8 +13520,7 @@ local_size = (8, 1, 1) 0:301 1 (const int) 0:301 Constant: 0:301 0 (const int) -0:301 ERROR: Bad aggregation op - ( global int) +0:301 subgroupPartitionedExclusiveAddNV ( global int) 0:301 direct index ( temp int) 0:301 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:301 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14050,8 +13545,7 @@ local_size = (8, 1, 1) 0:302 0 (const int) 0:302 Constant: 0:302 1 (const int) -0:302 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:302 subgroupPartitionedExclusiveAddNV ( global 2-component vector of int) 0:302 vector swizzle ( temp 2-component vector of int) 0:302 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:302 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14081,8 +13575,7 @@ local_size = (8, 1, 1) 0:303 1 (const int) 0:303 Constant: 0:303 2 (const int) -0:303 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:303 subgroupPartitionedExclusiveAddNV ( global 3-component vector of int) 0:303 vector swizzle ( temp 3-component vector of int) 0:303 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:303 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14106,8 +13599,7 @@ local_size = (8, 1, 1) 0:304 'invocation' ( temp uint) 0:304 Constant: 0:304 1 (const int) -0:304 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:304 subgroupPartitionedExclusiveAddNV ( global 4-component vector of int) 0:304 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:304 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:304 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14126,8 +13618,7 @@ local_size = (8, 1, 1) 0:306 2 (const int) 0:306 Constant: 0:306 0 (const int) -0:306 ERROR: Bad aggregation op - ( global uint) +0:306 subgroupPartitionedExclusiveAddNV ( global uint) 0:306 direct index ( temp uint) 0:306 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:306 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14152,8 +13643,7 @@ local_size = (8, 1, 1) 0:307 0 (const int) 0:307 Constant: 0:307 1 (const int) -0:307 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:307 subgroupPartitionedExclusiveAddNV ( global 2-component vector of uint) 0:307 vector swizzle ( temp 2-component vector of uint) 0:307 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:307 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14183,8 +13673,7 @@ local_size = (8, 1, 1) 0:308 1 (const int) 0:308 Constant: 0:308 2 (const int) -0:308 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:308 subgroupPartitionedExclusiveAddNV ( global 3-component vector of uint) 0:308 vector swizzle ( temp 3-component vector of uint) 0:308 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:308 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14208,8 +13697,7 @@ local_size = (8, 1, 1) 0:309 'invocation' ( temp uint) 0:309 Constant: 0:309 2 (const int) -0:309 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:309 subgroupPartitionedExclusiveAddNV ( global 4-component vector of uint) 0:309 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:309 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:309 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14228,8 +13716,7 @@ local_size = (8, 1, 1) 0:311 3 (const int) 0:311 Constant: 0:311 0 (const int) -0:311 ERROR: Bad aggregation op - ( global double) +0:311 subgroupPartitionedExclusiveAddNV ( global double) 0:311 direct index ( temp double) 0:311 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:311 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14254,8 +13741,7 @@ local_size = (8, 1, 1) 0:312 0 (const int) 0:312 Constant: 0:312 1 (const int) -0:312 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:312 subgroupPartitionedExclusiveAddNV ( global 2-component vector of double) 0:312 vector swizzle ( temp 2-component vector of double) 0:312 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:312 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14285,8 +13771,7 @@ local_size = (8, 1, 1) 0:313 1 (const int) 0:313 Constant: 0:313 2 (const int) -0:313 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:313 subgroupPartitionedExclusiveAddNV ( global 3-component vector of double) 0:313 vector swizzle ( temp 3-component vector of double) 0:313 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:313 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14310,8 +13795,7 @@ local_size = (8, 1, 1) 0:314 'invocation' ( temp uint) 0:314 Constant: 0:314 3 (const int) -0:314 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:314 subgroupPartitionedExclusiveAddNV ( global 4-component vector of double) 0:314 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:314 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:314 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14330,8 +13814,7 @@ local_size = (8, 1, 1) 0:316 0 (const int) 0:316 Constant: 0:316 0 (const int) -0:316 ERROR: Bad aggregation op - ( global float) +0:316 subgroupPartitionedExclusiveMulNV ( global float) 0:316 direct index ( temp float) 0:316 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:316 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14356,8 +13839,7 @@ local_size = (8, 1, 1) 0:317 0 (const int) 0:317 Constant: 0:317 1 (const int) -0:317 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:317 subgroupPartitionedExclusiveMulNV ( global 2-component vector of float) 0:317 vector swizzle ( temp 2-component vector of float) 0:317 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:317 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14387,8 +13869,7 @@ local_size = (8, 1, 1) 0:318 1 (const int) 0:318 Constant: 0:318 2 (const int) -0:318 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:318 subgroupPartitionedExclusiveMulNV ( global 3-component vector of float) 0:318 vector swizzle ( temp 3-component vector of float) 0:318 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:318 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14412,8 +13893,7 @@ local_size = (8, 1, 1) 0:319 'invocation' ( temp uint) 0:319 Constant: 0:319 0 (const int) -0:319 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:319 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float) 0:319 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:319 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:319 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14432,8 +13912,7 @@ local_size = (8, 1, 1) 0:321 1 (const int) 0:321 Constant: 0:321 0 (const int) -0:321 ERROR: Bad aggregation op - ( global int) +0:321 subgroupPartitionedExclusiveMulNV ( global int) 0:321 direct index ( temp int) 0:321 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:321 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14458,8 +13937,7 @@ local_size = (8, 1, 1) 0:322 0 (const int) 0:322 Constant: 0:322 1 (const int) -0:322 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:322 subgroupPartitionedExclusiveMulNV ( global 2-component vector of int) 0:322 vector swizzle ( temp 2-component vector of int) 0:322 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:322 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14489,8 +13967,7 @@ local_size = (8, 1, 1) 0:323 1 (const int) 0:323 Constant: 0:323 2 (const int) -0:323 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:323 subgroupPartitionedExclusiveMulNV ( global 3-component vector of int) 0:323 vector swizzle ( temp 3-component vector of int) 0:323 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:323 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14514,8 +13991,7 @@ local_size = (8, 1, 1) 0:324 'invocation' ( temp uint) 0:324 Constant: 0:324 1 (const int) -0:324 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:324 subgroupPartitionedExclusiveMulNV ( global 4-component vector of int) 0:324 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:324 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:324 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14534,8 +14010,7 @@ local_size = (8, 1, 1) 0:326 2 (const int) 0:326 Constant: 0:326 0 (const int) -0:326 ERROR: Bad aggregation op - ( global uint) +0:326 subgroupPartitionedExclusiveMulNV ( global uint) 0:326 direct index ( temp uint) 0:326 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:326 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14560,8 +14035,7 @@ local_size = (8, 1, 1) 0:327 0 (const int) 0:327 Constant: 0:327 1 (const int) -0:327 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:327 subgroupPartitionedExclusiveMulNV ( global 2-component vector of uint) 0:327 vector swizzle ( temp 2-component vector of uint) 0:327 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:327 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14591,8 +14065,7 @@ local_size = (8, 1, 1) 0:328 1 (const int) 0:328 Constant: 0:328 2 (const int) -0:328 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:328 subgroupPartitionedExclusiveMulNV ( global 3-component vector of uint) 0:328 vector swizzle ( temp 3-component vector of uint) 0:328 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:328 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14616,8 +14089,7 @@ local_size = (8, 1, 1) 0:329 'invocation' ( temp uint) 0:329 Constant: 0:329 2 (const int) -0:329 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:329 subgroupPartitionedExclusiveMulNV ( global 4-component vector of uint) 0:329 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:329 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:329 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14636,8 +14108,7 @@ local_size = (8, 1, 1) 0:331 3 (const int) 0:331 Constant: 0:331 0 (const int) -0:331 ERROR: Bad aggregation op - ( global double) +0:331 subgroupPartitionedExclusiveMulNV ( global double) 0:331 direct index ( temp double) 0:331 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:331 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14662,8 +14133,7 @@ local_size = (8, 1, 1) 0:332 0 (const int) 0:332 Constant: 0:332 1 (const int) -0:332 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:332 subgroupPartitionedExclusiveMulNV ( global 2-component vector of double) 0:332 vector swizzle ( temp 2-component vector of double) 0:332 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:332 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14693,8 +14163,7 @@ local_size = (8, 1, 1) 0:333 1 (const int) 0:333 Constant: 0:333 2 (const int) -0:333 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:333 subgroupPartitionedExclusiveMulNV ( global 3-component vector of double) 0:333 vector swizzle ( temp 3-component vector of double) 0:333 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:333 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14718,8 +14187,7 @@ local_size = (8, 1, 1) 0:334 'invocation' ( temp uint) 0:334 Constant: 0:334 3 (const int) -0:334 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:334 subgroupPartitionedExclusiveMulNV ( global 4-component vector of double) 0:334 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:334 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:334 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14738,8 +14206,7 @@ local_size = (8, 1, 1) 0:336 0 (const int) 0:336 Constant: 0:336 0 (const int) -0:336 ERROR: Bad aggregation op - ( global float) +0:336 subgroupPartitionedExclusiveMinNV ( global float) 0:336 direct index ( temp float) 0:336 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:336 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14764,8 +14231,7 @@ local_size = (8, 1, 1) 0:337 0 (const int) 0:337 Constant: 0:337 1 (const int) -0:337 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:337 subgroupPartitionedExclusiveMinNV ( global 2-component vector of float) 0:337 vector swizzle ( temp 2-component vector of float) 0:337 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:337 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14795,8 +14261,7 @@ local_size = (8, 1, 1) 0:338 1 (const int) 0:338 Constant: 0:338 2 (const int) -0:338 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:338 subgroupPartitionedExclusiveMinNV ( global 3-component vector of float) 0:338 vector swizzle ( temp 3-component vector of float) 0:338 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:338 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14820,8 +14285,7 @@ local_size = (8, 1, 1) 0:339 'invocation' ( temp uint) 0:339 Constant: 0:339 0 (const int) -0:339 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:339 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float) 0:339 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:339 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:339 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14840,8 +14304,7 @@ local_size = (8, 1, 1) 0:341 1 (const int) 0:341 Constant: 0:341 0 (const int) -0:341 ERROR: Bad aggregation op - ( global int) +0:341 subgroupPartitionedExclusiveMinNV ( global int) 0:341 direct index ( temp int) 0:341 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:341 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14866,8 +14329,7 @@ local_size = (8, 1, 1) 0:342 0 (const int) 0:342 Constant: 0:342 1 (const int) -0:342 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:342 subgroupPartitionedExclusiveMinNV ( global 2-component vector of int) 0:342 vector swizzle ( temp 2-component vector of int) 0:342 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:342 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14897,8 +14359,7 @@ local_size = (8, 1, 1) 0:343 1 (const int) 0:343 Constant: 0:343 2 (const int) -0:343 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:343 subgroupPartitionedExclusiveMinNV ( global 3-component vector of int) 0:343 vector swizzle ( temp 3-component vector of int) 0:343 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:343 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14922,8 +14383,7 @@ local_size = (8, 1, 1) 0:344 'invocation' ( temp uint) 0:344 Constant: 0:344 1 (const int) -0:344 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:344 subgroupPartitionedExclusiveMinNV ( global 4-component vector of int) 0:344 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:344 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:344 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14942,8 +14402,7 @@ local_size = (8, 1, 1) 0:346 2 (const int) 0:346 Constant: 0:346 0 (const int) -0:346 ERROR: Bad aggregation op - ( global uint) +0:346 subgroupPartitionedExclusiveMinNV ( global uint) 0:346 direct index ( temp uint) 0:346 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:346 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14968,8 +14427,7 @@ local_size = (8, 1, 1) 0:347 0 (const int) 0:347 Constant: 0:347 1 (const int) -0:347 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:347 subgroupPartitionedExclusiveMinNV ( global 2-component vector of uint) 0:347 vector swizzle ( temp 2-component vector of uint) 0:347 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:347 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -14999,8 +14457,7 @@ local_size = (8, 1, 1) 0:348 1 (const int) 0:348 Constant: 0:348 2 (const int) -0:348 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:348 subgroupPartitionedExclusiveMinNV ( global 3-component vector of uint) 0:348 vector swizzle ( temp 3-component vector of uint) 0:348 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:348 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15024,8 +14481,7 @@ local_size = (8, 1, 1) 0:349 'invocation' ( temp uint) 0:349 Constant: 0:349 2 (const int) -0:349 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:349 subgroupPartitionedExclusiveMinNV ( global 4-component vector of uint) 0:349 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:349 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:349 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15044,8 +14500,7 @@ local_size = (8, 1, 1) 0:351 3 (const int) 0:351 Constant: 0:351 0 (const int) -0:351 ERROR: Bad aggregation op - ( global double) +0:351 subgroupPartitionedExclusiveMinNV ( global double) 0:351 direct index ( temp double) 0:351 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:351 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15070,8 +14525,7 @@ local_size = (8, 1, 1) 0:352 0 (const int) 0:352 Constant: 0:352 1 (const int) -0:352 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:352 subgroupPartitionedExclusiveMinNV ( global 2-component vector of double) 0:352 vector swizzle ( temp 2-component vector of double) 0:352 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:352 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15101,8 +14555,7 @@ local_size = (8, 1, 1) 0:353 1 (const int) 0:353 Constant: 0:353 2 (const int) -0:353 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:353 subgroupPartitionedExclusiveMinNV ( global 3-component vector of double) 0:353 vector swizzle ( temp 3-component vector of double) 0:353 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:353 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15126,8 +14579,7 @@ local_size = (8, 1, 1) 0:354 'invocation' ( temp uint) 0:354 Constant: 0:354 3 (const int) -0:354 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:354 subgroupPartitionedExclusiveMinNV ( global 4-component vector of double) 0:354 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:354 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:354 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15146,8 +14598,7 @@ local_size = (8, 1, 1) 0:356 0 (const int) 0:356 Constant: 0:356 0 (const int) -0:356 ERROR: Bad aggregation op - ( global float) +0:356 subgroupPartitionedExclusiveMaxNV ( global float) 0:356 direct index ( temp float) 0:356 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:356 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15172,8 +14623,7 @@ local_size = (8, 1, 1) 0:357 0 (const int) 0:357 Constant: 0:357 1 (const int) -0:357 ERROR: Bad aggregation op - ( global 2-component vector of float) +0:357 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of float) 0:357 vector swizzle ( temp 2-component vector of float) 0:357 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:357 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15203,8 +14653,7 @@ local_size = (8, 1, 1) 0:358 1 (const int) 0:358 Constant: 0:358 2 (const int) -0:358 ERROR: Bad aggregation op - ( global 3-component vector of float) +0:358 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of float) 0:358 vector swizzle ( temp 3-component vector of float) 0:358 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:358 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15228,8 +14677,7 @@ local_size = (8, 1, 1) 0:359 'invocation' ( temp uint) 0:359 Constant: 0:359 0 (const int) -0:359 ERROR: Bad aggregation op - ( global 4-component vector of float) +0:359 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float) 0:359 f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float) 0:359 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:359 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15248,8 +14696,7 @@ local_size = (8, 1, 1) 0:361 1 (const int) 0:361 Constant: 0:361 0 (const int) -0:361 ERROR: Bad aggregation op - ( global int) +0:361 subgroupPartitionedExclusiveMaxNV ( global int) 0:361 direct index ( temp int) 0:361 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:361 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15274,8 +14721,7 @@ local_size = (8, 1, 1) 0:362 0 (const int) 0:362 Constant: 0:362 1 (const int) -0:362 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:362 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of int) 0:362 vector swizzle ( temp 2-component vector of int) 0:362 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:362 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15305,8 +14751,7 @@ local_size = (8, 1, 1) 0:363 1 (const int) 0:363 Constant: 0:363 2 (const int) -0:363 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:363 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of int) 0:363 vector swizzle ( temp 3-component vector of int) 0:363 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:363 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15330,8 +14775,7 @@ local_size = (8, 1, 1) 0:364 'invocation' ( temp uint) 0:364 Constant: 0:364 1 (const int) -0:364 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:364 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of int) 0:364 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:364 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:364 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15350,8 +14794,7 @@ local_size = (8, 1, 1) 0:366 2 (const int) 0:366 Constant: 0:366 0 (const int) -0:366 ERROR: Bad aggregation op - ( global uint) +0:366 subgroupPartitionedExclusiveMaxNV ( global uint) 0:366 direct index ( temp uint) 0:366 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:366 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15376,8 +14819,7 @@ local_size = (8, 1, 1) 0:367 0 (const int) 0:367 Constant: 0:367 1 (const int) -0:367 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:367 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of uint) 0:367 vector swizzle ( temp 2-component vector of uint) 0:367 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:367 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15407,8 +14849,7 @@ local_size = (8, 1, 1) 0:368 1 (const int) 0:368 Constant: 0:368 2 (const int) -0:368 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:368 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of uint) 0:368 vector swizzle ( temp 3-component vector of uint) 0:368 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:368 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15432,8 +14873,7 @@ local_size = (8, 1, 1) 0:369 'invocation' ( temp uint) 0:369 Constant: 0:369 2 (const int) -0:369 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:369 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of uint) 0:369 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:369 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:369 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15452,8 +14892,7 @@ local_size = (8, 1, 1) 0:371 3 (const int) 0:371 Constant: 0:371 0 (const int) -0:371 ERROR: Bad aggregation op - ( global double) +0:371 subgroupPartitionedExclusiveMaxNV ( global double) 0:371 direct index ( temp double) 0:371 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:371 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15478,8 +14917,7 @@ local_size = (8, 1, 1) 0:372 0 (const int) 0:372 Constant: 0:372 1 (const int) -0:372 ERROR: Bad aggregation op - ( global 2-component vector of double) +0:372 subgroupPartitionedExclusiveMaxNV ( global 2-component vector of double) 0:372 vector swizzle ( temp 2-component vector of double) 0:372 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:372 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15509,8 +14947,7 @@ local_size = (8, 1, 1) 0:373 1 (const int) 0:373 Constant: 0:373 2 (const int) -0:373 ERROR: Bad aggregation op - ( global 3-component vector of double) +0:373 subgroupPartitionedExclusiveMaxNV ( global 3-component vector of double) 0:373 vector swizzle ( temp 3-component vector of double) 0:373 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:373 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15534,8 +14971,7 @@ local_size = (8, 1, 1) 0:374 'invocation' ( temp uint) 0:374 Constant: 0:374 3 (const int) -0:374 ERROR: Bad aggregation op - ( global 4-component vector of double) +0:374 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of double) 0:374 d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double) 0:374 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:374 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15554,8 +14990,7 @@ local_size = (8, 1, 1) 0:376 1 (const int) 0:376 Constant: 0:376 0 (const int) -0:376 ERROR: Bad aggregation op - ( global int) +0:376 subgroupPartitionedExclusiveAndNV ( global int) 0:376 direct index ( temp int) 0:376 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:376 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15580,8 +15015,7 @@ local_size = (8, 1, 1) 0:377 0 (const int) 0:377 Constant: 0:377 1 (const int) -0:377 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:377 subgroupPartitionedExclusiveAndNV ( global 2-component vector of int) 0:377 vector swizzle ( temp 2-component vector of int) 0:377 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:377 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15611,8 +15045,7 @@ local_size = (8, 1, 1) 0:378 1 (const int) 0:378 Constant: 0:378 2 (const int) -0:378 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:378 subgroupPartitionedExclusiveAndNV ( global 3-component vector of int) 0:378 vector swizzle ( temp 3-component vector of int) 0:378 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:378 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15636,8 +15069,7 @@ local_size = (8, 1, 1) 0:379 'invocation' ( temp uint) 0:379 Constant: 0:379 1 (const int) -0:379 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:379 subgroupPartitionedExclusiveAndNV ( global 4-component vector of int) 0:379 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:379 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:379 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15656,8 +15088,7 @@ local_size = (8, 1, 1) 0:381 2 (const int) 0:381 Constant: 0:381 0 (const int) -0:381 ERROR: Bad aggregation op - ( global uint) +0:381 subgroupPartitionedExclusiveAndNV ( global uint) 0:381 direct index ( temp uint) 0:381 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:381 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15682,8 +15113,7 @@ local_size = (8, 1, 1) 0:382 0 (const int) 0:382 Constant: 0:382 1 (const int) -0:382 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:382 subgroupPartitionedExclusiveAndNV ( global 2-component vector of uint) 0:382 vector swizzle ( temp 2-component vector of uint) 0:382 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:382 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15713,8 +15143,7 @@ local_size = (8, 1, 1) 0:383 1 (const int) 0:383 Constant: 0:383 2 (const int) -0:383 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:383 subgroupPartitionedExclusiveAndNV ( global 3-component vector of uint) 0:383 vector swizzle ( temp 3-component vector of uint) 0:383 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:383 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15738,8 +15167,7 @@ local_size = (8, 1, 1) 0:384 'invocation' ( temp uint) 0:384 Constant: 0:384 2 (const int) -0:384 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:384 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint) 0:384 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:384 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:384 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15759,8 +15187,7 @@ local_size = (8, 1, 1) 0:386 Constant: 0:386 0 (const int) 0:386 Convert bool to int ( temp int) -0:386 ERROR: Bad aggregation op - ( global bool) +0:386 subgroupPartitionedExclusiveAndNV ( global bool) 0:386 Compare Less Than ( temp bool) 0:386 direct index ( temp int) 0:386 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -15789,8 +15216,7 @@ local_size = (8, 1, 1) 0:387 Constant: 0:387 1 (const int) 0:387 Convert bool to int ( temp 2-component vector of int) -0:387 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:387 subgroupPartitionedExclusiveAndNV ( global 2-component vector of bool) 0:387 Compare Less Than ( global 2-component vector of bool) 0:387 vector swizzle ( temp 2-component vector of int) 0:387 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -15825,8 +15251,7 @@ local_size = (8, 1, 1) 0:388 Constant: 0:388 2 (const int) 0:388 Convert bool to int ( temp 3-component vector of int) -0:388 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:388 subgroupPartitionedExclusiveAndNV ( global 3-component vector of bool) 0:388 Compare Less Than ( global 3-component vector of bool) 0:388 vector swizzle ( temp 3-component vector of int) 0:388 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -15856,8 +15281,7 @@ local_size = (8, 1, 1) 0:389 Constant: 0:389 1 (const int) 0:389 Convert bool to int ( temp 4-component vector of int) -0:389 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:389 subgroupPartitionedExclusiveAndNV ( global 4-component vector of bool) 0:389 Compare Less Than ( global 4-component vector of bool) 0:389 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:389 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15882,8 +15306,7 @@ local_size = (8, 1, 1) 0:391 1 (const int) 0:391 Constant: 0:391 0 (const int) -0:391 ERROR: Bad aggregation op - ( global int) +0:391 subgroupPartitionedExclusiveOrNV ( global int) 0:391 direct index ( temp int) 0:391 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:391 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15908,8 +15331,7 @@ local_size = (8, 1, 1) 0:392 0 (const int) 0:392 Constant: 0:392 1 (const int) -0:392 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:392 subgroupPartitionedExclusiveOrNV ( global 2-component vector of int) 0:392 vector swizzle ( temp 2-component vector of int) 0:392 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:392 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15939,8 +15361,7 @@ local_size = (8, 1, 1) 0:393 1 (const int) 0:393 Constant: 0:393 2 (const int) -0:393 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:393 subgroupPartitionedExclusiveOrNV ( global 3-component vector of int) 0:393 vector swizzle ( temp 3-component vector of int) 0:393 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:393 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15964,8 +15385,7 @@ local_size = (8, 1, 1) 0:394 'invocation' ( temp uint) 0:394 Constant: 0:394 1 (const int) -0:394 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:394 subgroupPartitionedExclusiveOrNV ( global 4-component vector of int) 0:394 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:394 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:394 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -15984,8 +15404,7 @@ local_size = (8, 1, 1) 0:396 2 (const int) 0:396 Constant: 0:396 0 (const int) -0:396 ERROR: Bad aggregation op - ( global uint) +0:396 subgroupPartitionedExclusiveOrNV ( global uint) 0:396 direct index ( temp uint) 0:396 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:396 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16010,8 +15429,7 @@ local_size = (8, 1, 1) 0:397 0 (const int) 0:397 Constant: 0:397 1 (const int) -0:397 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:397 subgroupPartitionedExclusiveOrNV ( global 2-component vector of uint) 0:397 vector swizzle ( temp 2-component vector of uint) 0:397 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:397 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16041,8 +15459,7 @@ local_size = (8, 1, 1) 0:398 1 (const int) 0:398 Constant: 0:398 2 (const int) -0:398 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:398 subgroupPartitionedExclusiveOrNV ( global 3-component vector of uint) 0:398 vector swizzle ( temp 3-component vector of uint) 0:398 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:398 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16066,8 +15483,7 @@ local_size = (8, 1, 1) 0:399 'invocation' ( temp uint) 0:399 Constant: 0:399 2 (const int) -0:399 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:399 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint) 0:399 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:399 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:399 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16087,8 +15503,7 @@ local_size = (8, 1, 1) 0:401 Constant: 0:401 0 (const int) 0:401 Convert bool to int ( temp int) -0:401 ERROR: Bad aggregation op - ( global bool) +0:401 subgroupPartitionedExclusiveOrNV ( global bool) 0:401 Compare Less Than ( temp bool) 0:401 direct index ( temp int) 0:401 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -16117,8 +15532,7 @@ local_size = (8, 1, 1) 0:402 Constant: 0:402 1 (const int) 0:402 Convert bool to int ( temp 2-component vector of int) -0:402 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:402 subgroupPartitionedExclusiveOrNV ( global 2-component vector of bool) 0:402 Compare Less Than ( global 2-component vector of bool) 0:402 vector swizzle ( temp 2-component vector of int) 0:402 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -16153,8 +15567,7 @@ local_size = (8, 1, 1) 0:403 Constant: 0:403 2 (const int) 0:403 Convert bool to int ( temp 3-component vector of int) -0:403 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:403 subgroupPartitionedExclusiveOrNV ( global 3-component vector of bool) 0:403 Compare Less Than ( global 3-component vector of bool) 0:403 vector swizzle ( temp 3-component vector of int) 0:403 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -16184,8 +15597,7 @@ local_size = (8, 1, 1) 0:404 Constant: 0:404 1 (const int) 0:404 Convert bool to int ( temp 4-component vector of int) -0:404 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:404 subgroupPartitionedExclusiveOrNV ( global 4-component vector of bool) 0:404 Compare Less Than ( global 4-component vector of bool) 0:404 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:404 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16210,8 +15622,7 @@ local_size = (8, 1, 1) 0:406 1 (const int) 0:406 Constant: 0:406 0 (const int) -0:406 ERROR: Bad aggregation op - ( global int) +0:406 subgroupPartitionedExclusiveXorNV ( global int) 0:406 direct index ( temp int) 0:406 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:406 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16236,8 +15647,7 @@ local_size = (8, 1, 1) 0:407 0 (const int) 0:407 Constant: 0:407 1 (const int) -0:407 ERROR: Bad aggregation op - ( global 2-component vector of int) +0:407 subgroupPartitionedExclusiveXorNV ( global 2-component vector of int) 0:407 vector swizzle ( temp 2-component vector of int) 0:407 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:407 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16267,8 +15677,7 @@ local_size = (8, 1, 1) 0:408 1 (const int) 0:408 Constant: 0:408 2 (const int) -0:408 ERROR: Bad aggregation op - ( global 3-component vector of int) +0:408 subgroupPartitionedExclusiveXorNV ( global 3-component vector of int) 0:408 vector swizzle ( temp 3-component vector of int) 0:408 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:408 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16292,8 +15701,7 @@ local_size = (8, 1, 1) 0:409 'invocation' ( temp uint) 0:409 Constant: 0:409 1 (const int) -0:409 ERROR: Bad aggregation op - ( global 4-component vector of int) +0:409 subgroupPartitionedExclusiveXorNV ( global 4-component vector of int) 0:409 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:409 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:409 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16312,8 +15720,7 @@ local_size = (8, 1, 1) 0:411 2 (const int) 0:411 Constant: 0:411 0 (const int) -0:411 ERROR: Bad aggregation op - ( global uint) +0:411 subgroupPartitionedExclusiveXorNV ( global uint) 0:411 direct index ( temp uint) 0:411 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:411 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16338,8 +15745,7 @@ local_size = (8, 1, 1) 0:412 0 (const int) 0:412 Constant: 0:412 1 (const int) -0:412 ERROR: Bad aggregation op - ( global 2-component vector of uint) +0:412 subgroupPartitionedExclusiveXorNV ( global 2-component vector of uint) 0:412 vector swizzle ( temp 2-component vector of uint) 0:412 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:412 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16369,8 +15775,7 @@ local_size = (8, 1, 1) 0:413 1 (const int) 0:413 Constant: 0:413 2 (const int) -0:413 ERROR: Bad aggregation op - ( global 3-component vector of uint) +0:413 subgroupPartitionedExclusiveXorNV ( global 3-component vector of uint) 0:413 vector swizzle ( temp 3-component vector of uint) 0:413 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:413 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16394,8 +15799,7 @@ local_size = (8, 1, 1) 0:414 'invocation' ( temp uint) 0:414 Constant: 0:414 2 (const int) -0:414 ERROR: Bad aggregation op - ( global 4-component vector of uint) +0:414 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint) 0:414 u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint) 0:414 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) 0:414 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) @@ -16415,8 +15819,7 @@ local_size = (8, 1, 1) 0:416 Constant: 0:416 0 (const int) 0:416 Convert bool to int ( temp int) -0:416 ERROR: Bad aggregation op - ( global bool) +0:416 subgroupPartitionedExclusiveXorNV ( global bool) 0:416 Compare Less Than ( temp bool) 0:416 direct index ( temp int) 0:416 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -16445,8 +15848,7 @@ local_size = (8, 1, 1) 0:417 Constant: 0:417 1 (const int) 0:417 Convert bool to int ( temp 2-component vector of int) -0:417 ERROR: Bad aggregation op - ( global 2-component vector of bool) +0:417 subgroupPartitionedExclusiveXorNV ( global 2-component vector of bool) 0:417 Compare Less Than ( global 2-component vector of bool) 0:417 vector swizzle ( temp 2-component vector of int) 0:417 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -16481,8 +15883,7 @@ local_size = (8, 1, 1) 0:418 Constant: 0:418 2 (const int) 0:418 Convert bool to int ( temp 3-component vector of int) -0:418 ERROR: Bad aggregation op - ( global 3-component vector of bool) +0:418 subgroupPartitionedExclusiveXorNV ( global 3-component vector of bool) 0:418 Compare Less Than ( global 3-component vector of bool) 0:418 vector swizzle ( temp 3-component vector of int) 0:418 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) @@ -16512,8 +15913,7 @@ local_size = (8, 1, 1) 0:419 Constant: 0:419 1 (const int) 0:419 Convert bool to int ( temp 4-component vector of int) -0:419 ERROR: Bad aggregation op - ( global 4-component vector of bool) +0:419 subgroupPartitionedExclusiveXorNV ( global 4-component vector of bool) 0:419 Compare Less Than ( global 4-component vector of bool) 0:419 i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int) 0:419 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4}) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupQuad.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupQuad.comp.out index 766975d84..5e6c01ed2 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupQuad.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupQuad.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffle.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffle.comp.out index 8a9db56d3..d0384d050 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffle.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffle.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out index d60e2f7d1..098295028 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupShuffleRelative.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupVote.comp.out b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupVote.comp.out index 3c49de2c7..2c389daaa 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.450.subgroupVote.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.450.subgroupVote.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.mesh.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.mesh.out new file mode 100644 index 000000000..c8198817e --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.mesh.out @@ -0,0 +1,1217 @@ +glsl.460.subgroup.mesh +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 +max_vertices = 81 +max_primitives = 32 +output primitive = triangles +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:120 Function Definition: main( ( global void) +0:120 Function Parameters: +0:122 Sequence +0:122 Sequence +0:122 move second child to first child ( temp uint) +0:122 'iid' ( temp uint) +0:122 direct index ( temp uint) +0:122 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID) +0:122 Constant: +0:122 0 (const int) +0:123 Sequence +0:123 move second child to first child ( temp uint) +0:123 'gid' ( temp uint) +0:123 direct index ( temp uint) +0:123 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID) +0:123 Constant: +0:123 0 (const int) +0:125 move second child to first child ( temp 4-component vector of float) +0:125 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:125 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:125 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:125 'iid' ( temp uint) +0:125 Constant: +0:125 0 (const int) +0:125 Constant: +0:125 1.000000 +0:125 1.000000 +0:125 1.000000 +0:125 1.000000 +0:126 move second child to first child ( temp float) +0:126 gl_PointSize: direct index for structure ( out float PointSize) +0:126 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:126 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:126 'iid' ( temp uint) +0:126 Constant: +0:126 1 (const int) +0:126 Constant: +0:126 2.000000 +0:127 move second child to first child ( temp float) +0:127 direct index ( temp float ClipDistance) +0:127 gl_ClipDistance: direct index for structure ( out unsized 4-element array of float ClipDistance) +0:127 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:127 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:127 'iid' ( temp uint) +0:127 Constant: +0:127 2 (const int) +0:127 Constant: +0:127 3 (const int) +0:127 Constant: +0:127 3.000000 +0:128 move second child to first child ( temp float) +0:128 direct index ( temp float CullDistance) +0:128 gl_CullDistance: direct index for structure ( out unsized 3-element array of float CullDistance) +0:128 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:128 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:128 'iid' ( temp uint) +0:128 Constant: +0:128 3 (const int) +0:128 Constant: +0:128 2 (const int) +0:128 Constant: +0:128 4.000000 +0:130 MemoryBarrierShared ( global void) +0:130 Barrier ( global void) +0:132 move second child to first child ( temp 4-component vector of float) +0:132 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:132 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 add ( temp uint) +0:132 'iid' ( temp uint) +0:132 Constant: +0:132 1 (const uint) +0:132 Constant: +0:132 0 (const int) +0:132 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:132 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 'iid' ( temp uint) +0:132 Constant: +0:132 0 (const int) +0:133 move second child to first child ( temp float) +0:133 gl_PointSize: direct index for structure ( out float PointSize) +0:133 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 add ( temp uint) +0:133 'iid' ( temp uint) +0:133 Constant: +0:133 1 (const uint) +0:133 Constant: +0:133 1 (const int) +0:133 gl_PointSize: direct index for structure ( out float PointSize) +0:133 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 'iid' ( temp uint) +0:133 Constant: +0:133 1 (const int) +0:134 move second child to first child ( temp float) +0:134 direct index ( temp float ClipDistance) +0:134 gl_ClipDistance: direct index for structure ( out unsized 4-element array of float ClipDistance) +0:134 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 add ( temp uint) +0:134 'iid' ( temp uint) +0:134 Constant: +0:134 1 (const uint) +0:134 Constant: +0:134 2 (const int) +0:134 Constant: +0:134 3 (const int) +0:134 direct index ( temp float ClipDistance) +0:134 gl_ClipDistance: direct index for structure ( out unsized 4-element array of float ClipDistance) +0:134 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 'iid' ( temp uint) +0:134 Constant: +0:134 2 (const int) +0:134 Constant: +0:134 3 (const int) +0:135 move second child to first child ( temp float) +0:135 direct index ( temp float CullDistance) +0:135 gl_CullDistance: direct index for structure ( out unsized 3-element array of float CullDistance) +0:135 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 add ( temp uint) +0:135 'iid' ( temp uint) +0:135 Constant: +0:135 1 (const uint) +0:135 Constant: +0:135 3 (const int) +0:135 Constant: +0:135 2 (const int) +0:135 direct index ( temp float CullDistance) +0:135 gl_CullDistance: direct index for structure ( out unsized 3-element array of float CullDistance) +0:135 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 'iid' ( temp uint) +0:135 Constant: +0:135 3 (const int) +0:135 Constant: +0:135 2 (const int) +0:137 MemoryBarrierShared ( global void) +0:137 Barrier ( global void) +0:139 move second child to first child ( temp int) +0:139 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID) +0:139 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:139 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:139 'iid' ( temp uint) +0:139 Constant: +0:139 0 (const int) +0:139 Constant: +0:139 6 (const int) +0:140 move second child to first child ( temp int) +0:140 gl_Layer: direct index for structure ( perprimitiveNV out int Layer) +0:140 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:140 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:140 'iid' ( temp uint) +0:140 Constant: +0:140 1 (const int) +0:140 Constant: +0:140 7 (const int) +0:141 move second child to first child ( temp int) +0:141 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex) +0:141 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:141 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:141 'iid' ( temp uint) +0:141 Constant: +0:141 2 (const int) +0:141 Constant: +0:141 8 (const int) +0:142 move second child to first child ( temp int) +0:142 direct index ( perprimitiveNV temp int ViewportMaskNV) +0:142 gl_ViewportMask: direct index for structure ( perprimitiveNV out unsized 1-element array of int ViewportMaskNV) +0:142 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:142 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:142 'iid' ( temp uint) +0:142 Constant: +0:142 3 (const int) +0:142 Constant: +0:142 0 (const int) +0:142 Constant: +0:142 9 (const int) +0:144 MemoryBarrierShared ( global void) +0:144 Barrier ( global void) +0:146 move second child to first child ( temp int) +0:146 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID) +0:146 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 add ( temp uint) +0:146 'iid' ( temp uint) +0:146 Constant: +0:146 1 (const uint) +0:146 Constant: +0:146 0 (const int) +0:146 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID) +0:146 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 'iid' ( temp uint) +0:146 Constant: +0:146 0 (const int) +0:147 move second child to first child ( temp int) +0:147 gl_Layer: direct index for structure ( perprimitiveNV out int Layer) +0:147 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 add ( temp uint) +0:147 'iid' ( temp uint) +0:147 Constant: +0:147 1 (const uint) +0:147 Constant: +0:147 1 (const int) +0:147 gl_Layer: direct index for structure ( perprimitiveNV out int Layer) +0:147 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 'iid' ( temp uint) +0:147 Constant: +0:147 1 (const int) +0:148 move second child to first child ( temp int) +0:148 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex) +0:148 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 add ( temp uint) +0:148 'iid' ( temp uint) +0:148 Constant: +0:148 1 (const uint) +0:148 Constant: +0:148 2 (const int) +0:148 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex) +0:148 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 'iid' ( temp uint) +0:148 Constant: +0:148 2 (const int) +0:149 move second child to first child ( temp int) +0:149 direct index ( perprimitiveNV temp int ViewportMaskNV) +0:149 gl_ViewportMask: direct index for structure ( perprimitiveNV out unsized 1-element array of int ViewportMaskNV) +0:149 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 add ( temp uint) +0:149 'iid' ( temp uint) +0:149 Constant: +0:149 1 (const uint) +0:149 Constant: +0:149 3 (const int) +0:149 Constant: +0:149 0 (const int) +0:149 direct index ( perprimitiveNV temp int ViewportMaskNV) +0:149 gl_ViewportMask: direct index for structure ( perprimitiveNV out unsized 1-element array of int ViewportMaskNV) +0:149 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 'iid' ( temp uint) +0:149 Constant: +0:149 3 (const int) +0:149 Constant: +0:149 0 (const int) +0:151 MemoryBarrierShared ( global void) +0:151 Barrier ( global void) +0:154 move second child to first child ( temp uint) +0:154 direct index ( temp uint PrimitiveIndicesNV) +0:154 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:154 Constant: +0:154 0 (const int) +0:154 Constant: +0:154 257 (const uint) +0:155 move second child to first child ( temp uint) +0:155 direct index ( temp uint PrimitiveIndicesNV) +0:155 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:155 Constant: +0:155 95 (const int) +0:155 Constant: +0:155 2 (const uint) +0:156 move second child to first child ( temp uint) +0:156 indirect index ( temp uint PrimitiveIndicesNV) +0:156 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:156 'gid' ( temp uint) +0:156 indirect index ( temp uint PrimitiveIndicesNV) +0:156 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:156 subtract ( temp uint) +0:156 'gid' ( temp uint) +0:156 Constant: +0:156 1 (const uint) +0:159 writePackedPrimitiveIndices4x8NV ( global void) +0:159 Convert int to uint ( temp uint) +0:159 'gl_DrawID' ( in int DrawId) +0:159 Constant: +0:159 16909060 (const uint) +0:161 move second child to first child ( temp uint) +0:161 'gl_PrimitiveCountNV' ( out uint PrimitiveCountNV) +0:161 Constant: +0:161 96 (const uint) +0:163 MemoryBarrierShared ( global void) +0:163 Barrier ( global void) +0:167 Function Definition: basic_works( ( global void) +0:167 Function Parameters: +0:169 Sequence +0:169 'gl_SubgroupSize' ( in uint SubgroupSize) +0:170 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID) +0:171 subgroupBarrier ( global void) +0:172 subgroupMemoryBarrier ( global void) +0:173 subgroupMemoryBarrierBuffer ( global void) +0:174 subgroupMemoryBarrierImage ( global void) +0:175 subgroupElect ( global bool) +0:176 'gl_NumSubgroups' ( in uint NumSubgroups) +0:177 'gl_SubgroupID' ( in uint SubgroupID) +0:178 subgroupMemoryBarrierShared ( global void) +0:182 Function Definition: ballot_works(vf4; ( global void) +0:182 Function Parameters: +0:182 'f4' ( in 4-component vector of float) +0:183 Sequence +0:183 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask) +0:184 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask) +0:185 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask) +0:186 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask) +0:187 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask) +0:188 subgroupBroadcast ( global 4-component vector of float) +0:188 'f4' ( in 4-component vector of float) +0:188 Constant: +0:188 0 (const uint) +0:189 subgroupBroadcastFirst ( global 4-component vector of float) +0:189 'f4' ( in 4-component vector of float) +0:190 Sequence +0:190 move second child to first child ( temp 4-component vector of uint) +0:190 'ballot' ( temp 4-component vector of uint) +0:190 subgroupBallot ( global 4-component vector of uint) +0:190 Constant: +0:190 false (const bool) +0:191 subgroupInverseBallot ( global bool) +0:191 Constant: +0:191 1 (const uint) +0:191 1 (const uint) +0:191 1 (const uint) +0:191 1 (const uint) +0:192 subgroupBallotBitExtract ( global bool) +0:192 'ballot' ( temp 4-component vector of uint) +0:192 Constant: +0:192 0 (const uint) +0:193 subgroupBallotBitCount ( global uint) +0:193 'ballot' ( temp 4-component vector of uint) +0:194 subgroupBallotInclusiveBitCount ( global uint) +0:194 'ballot' ( temp 4-component vector of uint) +0:195 subgroupBallotExclusiveBitCount ( global uint) +0:195 'ballot' ( temp 4-component vector of uint) +0:196 subgroupBallotFindLSB ( global uint) +0:196 'ballot' ( temp 4-component vector of uint) +0:197 subgroupBallotFindMSB ( global uint) +0:197 'ballot' ( temp 4-component vector of uint) +0:201 Function Definition: vote_works(vf4; ( global void) +0:201 Function Parameters: +0:201 'f4' ( in 4-component vector of float) +0:203 Sequence +0:203 subgroupAll ( global bool) +0:203 Constant: +0:203 true (const bool) +0:204 subgroupAny ( global bool) +0:204 Constant: +0:204 false (const bool) +0:205 subgroupAllEqual ( global bool) +0:205 'f4' ( in 4-component vector of float) +0:210 Function Definition: shuffle_works(vf4; ( global void) +0:210 Function Parameters: +0:210 'f4' ( in 4-component vector of float) +0:212 Sequence +0:212 subgroupShuffle ( global 4-component vector of float) +0:212 'f4' ( in 4-component vector of float) +0:212 Constant: +0:212 0 (const uint) +0:213 subgroupShuffleXor ( global 4-component vector of float) +0:213 'f4' ( in 4-component vector of float) +0:213 Constant: +0:213 1 (const uint) +0:214 subgroupShuffleUp ( global 4-component vector of float) +0:214 'f4' ( in 4-component vector of float) +0:214 Constant: +0:214 1 (const uint) +0:215 subgroupShuffleDown ( global 4-component vector of float) +0:215 'f4' ( in 4-component vector of float) +0:215 Constant: +0:215 1 (const uint) +0:219 Function Definition: arith_works(vf4; ( global void) +0:219 Function Parameters: +0:219 'f4' ( in 4-component vector of float) +0:? Sequence +0:222 subgroupAdd ( global 4-component vector of float) +0:222 'f4' ( in 4-component vector of float) +0:223 subgroupMul ( global 4-component vector of float) +0:223 'f4' ( in 4-component vector of float) +0:224 subgroupMin ( global 4-component vector of float) +0:224 'f4' ( in 4-component vector of float) +0:225 subgroupMax ( global 4-component vector of float) +0:225 'f4' ( in 4-component vector of float) +0:226 subgroupAnd ( global 4-component vector of uint) +0:226 'ballot' ( temp 4-component vector of uint) +0:227 subgroupOr ( global 4-component vector of uint) +0:227 'ballot' ( temp 4-component vector of uint) +0:228 subgroupXor ( global 4-component vector of uint) +0:228 'ballot' ( temp 4-component vector of uint) +0:229 subgroupInclusiveAdd ( global 4-component vector of float) +0:229 'f4' ( in 4-component vector of float) +0:230 subgroupInclusiveMul ( global 4-component vector of float) +0:230 'f4' ( in 4-component vector of float) +0:231 subgroupInclusiveMin ( global 4-component vector of float) +0:231 'f4' ( in 4-component vector of float) +0:232 subgroupInclusiveMax ( global 4-component vector of float) +0:232 'f4' ( in 4-component vector of float) +0:233 subgroupInclusiveAnd ( global 4-component vector of uint) +0:233 'ballot' ( temp 4-component vector of uint) +0:234 subgroupInclusiveOr ( global 4-component vector of uint) +0:234 'ballot' ( temp 4-component vector of uint) +0:235 subgroupInclusiveXor ( global 4-component vector of uint) +0:235 'ballot' ( temp 4-component vector of uint) +0:236 subgroupExclusiveAdd ( global 4-component vector of float) +0:236 'f4' ( in 4-component vector of float) +0:237 subgroupExclusiveMul ( global 4-component vector of float) +0:237 'f4' ( in 4-component vector of float) +0:238 subgroupExclusiveMin ( global 4-component vector of float) +0:238 'f4' ( in 4-component vector of float) +0:239 subgroupExclusiveMax ( global 4-component vector of float) +0:239 'f4' ( in 4-component vector of float) +0:240 subgroupExclusiveAnd ( global 4-component vector of uint) +0:240 'ballot' ( temp 4-component vector of uint) +0:241 subgroupExclusiveOr ( global 4-component vector of uint) +0:241 'ballot' ( temp 4-component vector of uint) +0:242 subgroupExclusiveXor ( global 4-component vector of uint) +0:242 'ballot' ( temp 4-component vector of uint) +0:246 Function Definition: clustered_works(vf4; ( global void) +0:246 Function Parameters: +0:246 'f4' ( in 4-component vector of float) +0:248 Sequence +0:248 Sequence +0:248 move second child to first child ( temp 4-component vector of uint) +0:248 'ballot' ( temp 4-component vector of uint) +0:248 Constant: +0:248 85 (const uint) +0:248 0 (const uint) +0:248 0 (const uint) +0:248 0 (const uint) +0:249 subgroupClusteredAdd ( global 4-component vector of float) +0:249 'f4' ( in 4-component vector of float) +0:249 Constant: +0:249 2 (const uint) +0:250 subgroupClusteredMul ( global 4-component vector of float) +0:250 'f4' ( in 4-component vector of float) +0:250 Constant: +0:250 2 (const uint) +0:251 subgroupClusteredMin ( global 4-component vector of float) +0:251 'f4' ( in 4-component vector of float) +0:251 Constant: +0:251 2 (const uint) +0:252 subgroupClusteredMax ( global 4-component vector of float) +0:252 'f4' ( in 4-component vector of float) +0:252 Constant: +0:252 2 (const uint) +0:253 subgroupClusteredAnd ( global 4-component vector of uint) +0:253 'ballot' ( temp 4-component vector of uint) +0:253 Constant: +0:253 2 (const uint) +0:254 subgroupClusteredOr ( global 4-component vector of uint) +0:254 'ballot' ( temp 4-component vector of uint) +0:254 Constant: +0:254 2 (const uint) +0:255 subgroupClusteredXor ( global 4-component vector of uint) +0:255 'ballot' ( temp 4-component vector of uint) +0:255 Constant: +0:255 2 (const uint) +0:259 Function Definition: quad_works(vf4; ( global void) +0:259 Function Parameters: +0:259 'f4' ( in 4-component vector of float) +0:261 Sequence +0:261 subgroupQuadBroadcast ( global 4-component vector of float) +0:261 'f4' ( in 4-component vector of float) +0:261 Constant: +0:261 0 (const uint) +0:262 subgroupQuadSwapHorizontal ( global 4-component vector of float) +0:262 'f4' ( in 4-component vector of float) +0:263 subgroupQuadSwapVertical ( global 4-component vector of float) +0:263 'f4' ( in 4-component vector of float) +0:264 subgroupQuadSwapDiagonal ( global 4-component vector of float) +0:264 'f4' ( in 4-component vector of float) +0:268 Function Definition: partitioned_works(vf4; ( global void) +0:268 Function Parameters: +0:268 'f4' ( in 4-component vector of float) +0:270 Sequence +0:270 Sequence +0:270 move second child to first child ( temp 4-component vector of uint) +0:270 'parti' ( temp 4-component vector of uint) +0:270 subgroupPartitionNV ( global 4-component vector of uint) +0:270 'f4' ( in 4-component vector of float) +0:271 Sequence +0:271 move second child to first child ( temp 4-component vector of uint) +0:271 'ballot' ( temp 4-component vector of uint) +0:271 Constant: +0:271 85 (const uint) +0:271 0 (const uint) +0:271 0 (const uint) +0:271 0 (const uint) +0:272 subgroupPartitionedAddNV ( 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 subgroupPartitionedMulNV ( global 4-component vector of float) +0:273 'f4' ( in 4-component vector of float) +0:273 'parti' ( temp 4-component vector of uint) +0:274 subgroupPartitionedMinNV ( global 4-component vector of float) +0:274 'f4' ( in 4-component vector of float) +0:274 'parti' ( temp 4-component vector of uint) +0:275 subgroupPartitionedMaxNV ( global 4-component vector of float) +0:275 'f4' ( in 4-component vector of float) +0:275 'parti' ( temp 4-component vector of uint) +0:276 subgroupPartitionedAndNV ( global 4-component vector of uint) +0:276 'ballot' ( temp 4-component vector of uint) +0:276 'parti' ( temp 4-component vector of uint) +0:277 subgroupPartitionedOrNV ( global 4-component vector of uint) +0:277 'ballot' ( temp 4-component vector of uint) +0:277 'parti' ( temp 4-component vector of uint) +0:278 subgroupPartitionedXorNV ( global 4-component vector of uint) +0:278 'ballot' ( temp 4-component vector of uint) +0:278 'parti' ( temp 4-component vector of uint) +0:279 subgroupPartitionedInclusiveAddNV ( 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 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float) +0:280 'f4' ( in 4-component vector of float) +0:280 'parti' ( temp 4-component vector of uint) +0:281 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float) +0:281 'f4' ( in 4-component vector of float) +0:281 'parti' ( temp 4-component vector of uint) +0:282 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float) +0:282 'f4' ( in 4-component vector of float) +0:282 'parti' ( temp 4-component vector of uint) +0:283 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint) +0:283 'ballot' ( temp 4-component vector of uint) +0:283 'parti' ( temp 4-component vector of uint) +0:284 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint) +0:284 'ballot' ( temp 4-component vector of uint) +0:284 'parti' ( temp 4-component vector of uint) +0:285 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint) +0:285 'ballot' ( temp 4-component vector of uint) +0:285 'parti' ( temp 4-component vector of uint) +0:286 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float) +0:286 'f4' ( in 4-component vector of float) +0:286 'parti' ( temp 4-component vector of uint) +0:287 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float) +0:287 'f4' ( in 4-component vector of float) +0:287 'parti' ( temp 4-component vector of uint) +0:288 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float) +0:288 'f4' ( in 4-component vector of float) +0:288 'parti' ( temp 4-component vector of uint) +0:289 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float) +0:289 'f4' ( in 4-component vector of float) +0:289 'parti' ( temp 4-component vector of uint) +0:290 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint) +0:290 'ballot' ( temp 4-component vector of uint) +0:290 'parti' ( temp 4-component vector of uint) +0:291 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint) +0:291 'ballot' ( temp 4-component vector of uint) +0:291 'parti' ( temp 4-component vector of uint) +0:292 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint) +0:292 'ballot' ( temp 4-component vector of uint) +0:292 '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:? 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of unsized-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of unsized-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:? 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out unsized 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of unsized-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:? 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) + + +Linked mesh 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 +max_vertices = 81 +max_primitives = 32 +output primitive = triangles +local_size = (32, 1, 1) +ERROR: node is still EOpNull! +0:120 Function Definition: main( ( global void) +0:120 Function Parameters: +0:122 Sequence +0:122 Sequence +0:122 move second child to first child ( temp uint) +0:122 'iid' ( temp uint) +0:122 direct index ( temp uint) +0:122 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID) +0:122 Constant: +0:122 0 (const int) +0:123 Sequence +0:123 move second child to first child ( temp uint) +0:123 'gid' ( temp uint) +0:123 direct index ( temp uint) +0:123 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID) +0:123 Constant: +0:123 0 (const int) +0:125 move second child to first child ( temp 4-component vector of float) +0:125 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:125 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:125 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:125 'iid' ( temp uint) +0:125 Constant: +0:125 0 (const int) +0:125 Constant: +0:125 1.000000 +0:125 1.000000 +0:125 1.000000 +0:125 1.000000 +0:126 move second child to first child ( temp float) +0:126 gl_PointSize: direct index for structure ( out float PointSize) +0:126 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:126 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:126 'iid' ( temp uint) +0:126 Constant: +0:126 1 (const int) +0:126 Constant: +0:126 2.000000 +0:127 move second child to first child ( temp float) +0:127 direct index ( temp float ClipDistance) +0:127 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance) +0:127 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:127 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:127 'iid' ( temp uint) +0:127 Constant: +0:127 2 (const int) +0:127 Constant: +0:127 3 (const int) +0:127 Constant: +0:127 3.000000 +0:128 move second child to first child ( temp float) +0:128 direct index ( temp float CullDistance) +0:128 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:128 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:128 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:128 'iid' ( temp uint) +0:128 Constant: +0:128 3 (const int) +0:128 Constant: +0:128 2 (const int) +0:128 Constant: +0:128 4.000000 +0:130 MemoryBarrierShared ( global void) +0:130 Barrier ( global void) +0:132 move second child to first child ( temp 4-component vector of float) +0:132 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:132 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 add ( temp uint) +0:132 'iid' ( temp uint) +0:132 Constant: +0:132 1 (const uint) +0:132 Constant: +0:132 0 (const int) +0:132 gl_Position: direct index for structure ( out 4-component vector of float Position) +0:132 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:132 'iid' ( temp uint) +0:132 Constant: +0:132 0 (const int) +0:133 move second child to first child ( temp float) +0:133 gl_PointSize: direct index for structure ( out float PointSize) +0:133 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 add ( temp uint) +0:133 'iid' ( temp uint) +0:133 Constant: +0:133 1 (const uint) +0:133 Constant: +0:133 1 (const int) +0:133 gl_PointSize: direct index for structure ( out float PointSize) +0:133 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:133 'iid' ( temp uint) +0:133 Constant: +0:133 1 (const int) +0:134 move second child to first child ( temp float) +0:134 direct index ( temp float ClipDistance) +0:134 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance) +0:134 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 add ( temp uint) +0:134 'iid' ( temp uint) +0:134 Constant: +0:134 1 (const uint) +0:134 Constant: +0:134 2 (const int) +0:134 Constant: +0:134 3 (const int) +0:134 direct index ( temp float ClipDistance) +0:134 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance) +0:134 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:134 'iid' ( temp uint) +0:134 Constant: +0:134 2 (const int) +0:134 Constant: +0:134 3 (const int) +0:135 move second child to first child ( temp float) +0:135 direct index ( temp float CullDistance) +0:135 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:135 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 add ( temp uint) +0:135 'iid' ( temp uint) +0:135 Constant: +0:135 1 (const uint) +0:135 Constant: +0:135 3 (const int) +0:135 Constant: +0:135 2 (const int) +0:135 direct index ( temp float CullDistance) +0:135 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance) +0:135 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:135 'iid' ( temp uint) +0:135 Constant: +0:135 3 (const int) +0:135 Constant: +0:135 2 (const int) +0:137 MemoryBarrierShared ( global void) +0:137 Barrier ( global void) +0:139 move second child to first child ( temp int) +0:139 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID) +0:139 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:139 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:139 'iid' ( temp uint) +0:139 Constant: +0:139 0 (const int) +0:139 Constant: +0:139 6 (const int) +0:140 move second child to first child ( temp int) +0:140 gl_Layer: direct index for structure ( perprimitiveNV out int Layer) +0:140 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:140 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:140 'iid' ( temp uint) +0:140 Constant: +0:140 1 (const int) +0:140 Constant: +0:140 7 (const int) +0:141 move second child to first child ( temp int) +0:141 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex) +0:141 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:141 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:141 'iid' ( temp uint) +0:141 Constant: +0:141 2 (const int) +0:141 Constant: +0:141 8 (const int) +0:142 move second child to first child ( temp int) +0:142 direct index ( perprimitiveNV temp int ViewportMaskNV) +0:142 gl_ViewportMask: direct index for structure ( perprimitiveNV out 1-element array of int ViewportMaskNV) +0:142 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:142 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:142 'iid' ( temp uint) +0:142 Constant: +0:142 3 (const int) +0:142 Constant: +0:142 0 (const int) +0:142 Constant: +0:142 9 (const int) +0:144 MemoryBarrierShared ( global void) +0:144 Barrier ( global void) +0:146 move second child to first child ( temp int) +0:146 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID) +0:146 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 add ( temp uint) +0:146 'iid' ( temp uint) +0:146 Constant: +0:146 1 (const uint) +0:146 Constant: +0:146 0 (const int) +0:146 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID) +0:146 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:146 'iid' ( temp uint) +0:146 Constant: +0:146 0 (const int) +0:147 move second child to first child ( temp int) +0:147 gl_Layer: direct index for structure ( perprimitiveNV out int Layer) +0:147 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 add ( temp uint) +0:147 'iid' ( temp uint) +0:147 Constant: +0:147 1 (const uint) +0:147 Constant: +0:147 1 (const int) +0:147 gl_Layer: direct index for structure ( perprimitiveNV out int Layer) +0:147 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:147 'iid' ( temp uint) +0:147 Constant: +0:147 1 (const int) +0:148 move second child to first child ( temp int) +0:148 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex) +0:148 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 add ( temp uint) +0:148 'iid' ( temp uint) +0:148 Constant: +0:148 1 (const uint) +0:148 Constant: +0:148 2 (const int) +0:148 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex) +0:148 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:148 'iid' ( temp uint) +0:148 Constant: +0:148 2 (const int) +0:149 move second child to first child ( temp int) +0:149 direct index ( perprimitiveNV temp int ViewportMaskNV) +0:149 gl_ViewportMask: direct index for structure ( perprimitiveNV out 1-element array of int ViewportMaskNV) +0:149 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 add ( temp uint) +0:149 'iid' ( temp uint) +0:149 Constant: +0:149 1 (const uint) +0:149 Constant: +0:149 3 (const int) +0:149 Constant: +0:149 0 (const int) +0:149 direct index ( perprimitiveNV temp int ViewportMaskNV) +0:149 gl_ViewportMask: direct index for structure ( perprimitiveNV out 1-element array of int ViewportMaskNV) +0:149 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:149 'iid' ( temp uint) +0:149 Constant: +0:149 3 (const int) +0:149 Constant: +0:149 0 (const int) +0:151 MemoryBarrierShared ( global void) +0:151 Barrier ( global void) +0:154 move second child to first child ( temp uint) +0:154 direct index ( temp uint PrimitiveIndicesNV) +0:154 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:154 Constant: +0:154 0 (const int) +0:154 Constant: +0:154 257 (const uint) +0:155 move second child to first child ( temp uint) +0:155 direct index ( temp uint PrimitiveIndicesNV) +0:155 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:155 Constant: +0:155 95 (const int) +0:155 Constant: +0:155 2 (const uint) +0:156 move second child to first child ( temp uint) +0:156 indirect index ( temp uint PrimitiveIndicesNV) +0:156 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:156 'gid' ( temp uint) +0:156 indirect index ( temp uint PrimitiveIndicesNV) +0:156 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) +0:156 subtract ( temp uint) +0:156 'gid' ( temp uint) +0:156 Constant: +0:156 1 (const uint) +0:159 writePackedPrimitiveIndices4x8NV ( global void) +0:159 Convert int to uint ( temp uint) +0:159 'gl_DrawID' ( in int DrawId) +0:159 Constant: +0:159 16909060 (const uint) +0:161 move second child to first child ( temp uint) +0:161 'gl_PrimitiveCountNV' ( out uint PrimitiveCountNV) +0:161 Constant: +0:161 96 (const uint) +0:163 MemoryBarrierShared ( global void) +0:163 Barrier ( global void) +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:? 'gl_MeshVerticesNV' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance, perviewNV out 4-element array of 4-component vector of float PositionPerViewNV gl_PositionPerViewNV, perviewNV out 4-element array of 1-element array of float ClipDistancePerViewNV gl_ClipDistancePerViewNV, perviewNV out 4-element array of 1-element array of float CullDistancePerViewNV gl_CullDistancePerViewNV}) +0:? 'gl_MeshPrimitivesNV' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out 1-element array of int ViewportMaskNV gl_ViewportMask, perprimitiveNV perviewNV out 4-element array of int LayerPerViewNV gl_LayerPerViewNV, perprimitiveNV perviewNV out 4-element array of 1-element array of int ViewportMaskPerViewNV gl_ViewportMaskPerViewNV}) +0:? 'gl_PrimitiveIndicesNV' ( out 96-element array of uint PrimitiveIndicesNV) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rahit.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rahit.out new file mode 100644 index 000000000..aba573aa3 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rahit.out @@ -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) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rcall.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rcall.out new file mode 100644 index 000000000..d6b4895d6 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rcall.out @@ -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}) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rchit.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rchit.out new file mode 100644 index 000000000..14a8d84ba --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rchit.out @@ -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) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rgen.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rgen.out new file mode 100644 index 000000000..a3c5bbb5d --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rgen.out @@ -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}) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rint.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rint.out new file mode 100644 index 000000000..31a8a59c7 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rint.out @@ -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) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rmiss.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rmiss.out new file mode 100644 index 000000000..2ca136d00 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.rmiss.out @@ -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) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.task.out b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.task.out new file mode 100644 index 000000000..d953646a6 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/glsl.460.subgroup.task.out @@ -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}) + diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.frag.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.frag.out index f5447e20e..5e2ae733d 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.frag.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.frag.out @@ -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: diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.geom.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.geom.out index ef408b3e4..5d18d30a1 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.geom.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.geom.out @@ -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: diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tesc.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tesc.out index 60d835c6a..9512bc531 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tesc.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tesc.out @@ -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: diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tese.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tese.out index acde7db91..29f7b73c1 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tese.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.tese.out @@ -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: diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.vert.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.vert.out index d44fde3d8..bf1da4925 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.vert.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroup.vert.out @@ -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: diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out index 14aefbfbf..a12969344 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupArithmetic.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallot.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallot.comp.out index 927debfe8..d5a97c4b7 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallot.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallot.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out index 2d895a63c..37bbfab72 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBallotNeg.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBasic.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBasic.comp.out index e97dbd3b4..9a75bada1 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBasic.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupBasic.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClustered.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClustered.comp.out index bd239dc47..27251d4ec 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClustered.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClustered.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out index ff62dbf50..675e50705 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupClusteredNeg.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out index df8b8deec..4f6cfe49a 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupPartitioned.comp.out @@ -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 Sequence @@ -360,8 +360,7 @@ local_size = (8, 1, 1) 0:40 0 (const int) 0:40 Constant: 0:40 0 (const int) -0:40 ERROR: Bad aggregation op - ( global highp float) +0:40 subgroupPartitionedAddNV ( global highp float) 0:40 direct index ( temp highp float) 0:40 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:40 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -387,8 +386,7 @@ local_size = (8, 1, 1) 0:41 0 (const int) 0:41 Constant: 0:41 1 (const int) -0:41 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:41 subgroupPartitionedAddNV ( global highp 2-component vector of float) 0:41 vector swizzle ( temp highp 2-component vector of float) 0:41 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:41 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -419,8 +417,7 @@ local_size = (8, 1, 1) 0:42 1 (const int) 0:42 Constant: 0:42 2 (const int) -0:42 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:42 subgroupPartitionedAddNV ( global highp 3-component vector of float) 0:42 vector swizzle ( temp highp 3-component vector of float) 0:42 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:42 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -445,8 +442,7 @@ local_size = (8, 1, 1) 0:43 1 (const int) 0:43 Constant: 0:43 0 (const int) -0:43 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:43 subgroupPartitionedAddNV ( global highp 4-component vector of float) 0:43 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:43 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:43 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -466,8 +462,7 @@ local_size = (8, 1, 1) 0:45 1 (const int) 0:45 Constant: 0:45 0 (const int) -0:45 ERROR: Bad aggregation op - ( global highp int) +0:45 subgroupPartitionedAddNV ( global highp int) 0:45 direct index ( temp highp int) 0:45 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:45 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -493,8 +488,7 @@ local_size = (8, 1, 1) 0:46 0 (const int) 0:46 Constant: 0:46 1 (const int) -0:46 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:46 subgroupPartitionedAddNV ( global highp 2-component vector of int) 0:46 vector swizzle ( temp highp 2-component vector of int) 0:46 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:46 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -525,8 +519,7 @@ local_size = (8, 1, 1) 0:47 1 (const int) 0:47 Constant: 0:47 2 (const int) -0:47 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:47 subgroupPartitionedAddNV ( global highp 3-component vector of int) 0:47 vector swizzle ( temp highp 3-component vector of int) 0:47 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:47 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -551,8 +544,7 @@ local_size = (8, 1, 1) 0:48 1 (const int) 0:48 Constant: 0:48 1 (const int) -0:48 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:48 subgroupPartitionedAddNV ( global highp 4-component vector of int) 0:48 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:48 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:48 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -572,8 +564,7 @@ local_size = (8, 1, 1) 0:50 2 (const int) 0:50 Constant: 0:50 0 (const int) -0:50 ERROR: Bad aggregation op - ( global highp uint) +0:50 subgroupPartitionedAddNV ( global highp uint) 0:50 direct index ( temp highp uint) 0:50 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:50 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -599,8 +590,7 @@ local_size = (8, 1, 1) 0:51 0 (const int) 0:51 Constant: 0:51 1 (const int) -0:51 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:51 subgroupPartitionedAddNV ( global highp 2-component vector of uint) 0:51 vector swizzle ( temp highp 2-component vector of uint) 0:51 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:51 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -631,8 +621,7 @@ local_size = (8, 1, 1) 0:52 1 (const int) 0:52 Constant: 0:52 2 (const int) -0:52 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:52 subgroupPartitionedAddNV ( global highp 3-component vector of uint) 0:52 vector swizzle ( temp highp 3-component vector of uint) 0:52 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:52 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -657,8 +646,7 @@ local_size = (8, 1, 1) 0:53 1 (const int) 0:53 Constant: 0:53 2 (const int) -0:53 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:53 subgroupPartitionedAddNV ( global highp 4-component vector of uint) 0:53 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:53 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:53 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -678,8 +666,7 @@ local_size = (8, 1, 1) 0:55 0 (const int) 0:55 Constant: 0:55 0 (const int) -0:55 ERROR: Bad aggregation op - ( global highp float) +0:55 subgroupPartitionedMulNV ( global highp float) 0:55 direct index ( temp highp float) 0:55 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:55 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -705,8 +692,7 @@ local_size = (8, 1, 1) 0:56 0 (const int) 0:56 Constant: 0:56 1 (const int) -0:56 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:56 subgroupPartitionedMulNV ( global highp 2-component vector of float) 0:56 vector swizzle ( temp highp 2-component vector of float) 0:56 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:56 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -737,8 +723,7 @@ local_size = (8, 1, 1) 0:57 1 (const int) 0:57 Constant: 0:57 2 (const int) -0:57 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:57 subgroupPartitionedMulNV ( global highp 3-component vector of float) 0:57 vector swizzle ( temp highp 3-component vector of float) 0:57 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:57 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -763,8 +748,7 @@ local_size = (8, 1, 1) 0:58 2 (const int) 0:58 Constant: 0:58 0 (const int) -0:58 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:58 subgroupPartitionedMulNV ( global highp 4-component vector of float) 0:58 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:58 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:58 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -784,8 +768,7 @@ local_size = (8, 1, 1) 0:60 1 (const int) 0:60 Constant: 0:60 0 (const int) -0:60 ERROR: Bad aggregation op - ( global highp int) +0:60 subgroupPartitionedMulNV ( global highp int) 0:60 direct index ( temp highp int) 0:60 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:60 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -811,8 +794,7 @@ local_size = (8, 1, 1) 0:61 0 (const int) 0:61 Constant: 0:61 1 (const int) -0:61 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:61 subgroupPartitionedMulNV ( global highp 2-component vector of int) 0:61 vector swizzle ( temp highp 2-component vector of int) 0:61 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:61 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -843,8 +825,7 @@ local_size = (8, 1, 1) 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:62 subgroupPartitionedMulNV ( global highp 3-component vector of int) 0:62 vector swizzle ( temp highp 3-component vector of int) 0:62 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:62 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -869,8 +850,7 @@ local_size = (8, 1, 1) 0:63 2 (const int) 0:63 Constant: 0:63 1 (const int) -0:63 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:63 subgroupPartitionedMulNV ( global highp 4-component vector of int) 0:63 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:63 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:63 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -890,8 +870,7 @@ local_size = (8, 1, 1) 0:65 2 (const int) 0:65 Constant: 0:65 0 (const int) -0:65 ERROR: Bad aggregation op - ( global highp uint) +0:65 subgroupPartitionedMulNV ( global highp uint) 0:65 direct index ( temp highp uint) 0:65 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:65 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -917,8 +896,7 @@ local_size = (8, 1, 1) 0:66 0 (const int) 0:66 Constant: 0:66 1 (const int) -0:66 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:66 subgroupPartitionedMulNV ( global highp 2-component vector of uint) 0:66 vector swizzle ( temp highp 2-component vector of uint) 0:66 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:66 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -949,8 +927,7 @@ local_size = (8, 1, 1) 0:67 1 (const int) 0:67 Constant: 0:67 2 (const int) -0:67 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:67 subgroupPartitionedMulNV ( global highp 3-component vector of uint) 0:67 vector swizzle ( temp highp 3-component vector of uint) 0:67 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:67 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -975,8 +952,7 @@ local_size = (8, 1, 1) 0:68 2 (const int) 0:68 Constant: 0:68 2 (const int) -0:68 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:68 subgroupPartitionedMulNV ( global highp 4-component vector of uint) 0:68 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:68 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:68 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -996,8 +972,7 @@ local_size = (8, 1, 1) 0:70 0 (const int) 0:70 Constant: 0:70 0 (const int) -0:70 ERROR: Bad aggregation op - ( global highp float) +0:70 subgroupPartitionedMinNV ( global highp float) 0:70 direct index ( temp highp float) 0:70 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:70 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1023,8 +998,7 @@ local_size = (8, 1, 1) 0:71 0 (const int) 0:71 Constant: 0:71 1 (const int) -0:71 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:71 subgroupPartitionedMinNV ( global highp 2-component vector of float) 0:71 vector swizzle ( temp highp 2-component vector of float) 0:71 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:71 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1055,8 +1029,7 @@ local_size = (8, 1, 1) 0:72 1 (const int) 0:72 Constant: 0:72 2 (const int) -0:72 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:72 subgroupPartitionedMinNV ( global highp 3-component vector of float) 0:72 vector swizzle ( temp highp 3-component vector of float) 0:72 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:72 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1081,8 +1054,7 @@ local_size = (8, 1, 1) 0:73 2 (const int) 0:73 Constant: 0:73 0 (const int) -0:73 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:73 subgroupPartitionedMinNV ( global highp 4-component vector of float) 0:73 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:73 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:73 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1102,8 +1074,7 @@ local_size = (8, 1, 1) 0:75 1 (const int) 0:75 Constant: 0:75 0 (const int) -0:75 ERROR: Bad aggregation op - ( global highp int) +0:75 subgroupPartitionedMinNV ( global highp int) 0:75 direct index ( temp highp int) 0:75 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:75 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1129,8 +1100,7 @@ local_size = (8, 1, 1) 0:76 0 (const int) 0:76 Constant: 0:76 1 (const int) -0:76 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:76 subgroupPartitionedMinNV ( global highp 2-component vector of int) 0:76 vector swizzle ( temp highp 2-component vector of int) 0:76 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:76 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1161,8 +1131,7 @@ local_size = (8, 1, 1) 0:77 1 (const int) 0:77 Constant: 0:77 2 (const int) -0:77 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:77 subgroupPartitionedMinNV ( global highp 3-component vector of int) 0:77 vector swizzle ( temp highp 3-component vector of int) 0:77 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:77 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1187,8 +1156,7 @@ local_size = (8, 1, 1) 0:78 3 (const int) 0:78 Constant: 0:78 1 (const int) -0:78 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:78 subgroupPartitionedMinNV ( global highp 4-component vector of int) 0:78 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:78 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:78 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1208,8 +1176,7 @@ local_size = (8, 1, 1) 0:80 2 (const int) 0:80 Constant: 0:80 0 (const int) -0:80 ERROR: Bad aggregation op - ( global highp uint) +0:80 subgroupPartitionedMinNV ( global highp uint) 0:80 direct index ( temp highp uint) 0:80 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:80 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1235,8 +1202,7 @@ local_size = (8, 1, 1) 0:81 0 (const int) 0:81 Constant: 0:81 1 (const int) -0:81 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:81 subgroupPartitionedMinNV ( global highp 2-component vector of uint) 0:81 vector swizzle ( temp highp 2-component vector of uint) 0:81 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:81 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1267,8 +1233,7 @@ local_size = (8, 1, 1) 0:82 1 (const int) 0:82 Constant: 0:82 2 (const int) -0:82 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:82 subgroupPartitionedMinNV ( global highp 3-component vector of uint) 0:82 vector swizzle ( temp highp 3-component vector of uint) 0:82 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:82 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1293,8 +1258,7 @@ local_size = (8, 1, 1) 0:83 3 (const int) 0:83 Constant: 0:83 2 (const int) -0:83 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:83 subgroupPartitionedMinNV ( global highp 4-component vector of uint) 0:83 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:83 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:83 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1314,8 +1278,7 @@ local_size = (8, 1, 1) 0:85 0 (const int) 0:85 Constant: 0:85 0 (const int) -0:85 ERROR: Bad aggregation op - ( global highp float) +0:85 subgroupPartitionedMaxNV ( global highp float) 0:85 direct index ( temp highp float) 0:85 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:85 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1341,8 +1304,7 @@ local_size = (8, 1, 1) 0:86 0 (const int) 0:86 Constant: 0:86 1 (const int) -0:86 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:86 subgroupPartitionedMaxNV ( global highp 2-component vector of float) 0:86 vector swizzle ( temp highp 2-component vector of float) 0:86 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:86 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1373,8 +1335,7 @@ local_size = (8, 1, 1) 0:87 1 (const int) 0:87 Constant: 0:87 2 (const int) -0:87 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:87 subgroupPartitionedMaxNV ( global highp 3-component vector of float) 0:87 vector swizzle ( temp highp 3-component vector of float) 0:87 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:87 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1399,8 +1360,7 @@ local_size = (8, 1, 1) 0:88 3 (const int) 0:88 Constant: 0:88 0 (const int) -0:88 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:88 subgroupPartitionedMaxNV ( global highp 4-component vector of float) 0:88 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:88 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:88 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1420,8 +1380,7 @@ local_size = (8, 1, 1) 0:90 1 (const int) 0:90 Constant: 0:90 0 (const int) -0:90 ERROR: Bad aggregation op - ( global highp int) +0:90 subgroupPartitionedMaxNV ( global highp int) 0:90 direct index ( temp highp int) 0:90 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:90 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1447,8 +1406,7 @@ local_size = (8, 1, 1) 0:91 0 (const int) 0:91 Constant: 0:91 1 (const int) -0:91 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:91 subgroupPartitionedMaxNV ( global highp 2-component vector of int) 0:91 vector swizzle ( temp highp 2-component vector of int) 0:91 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:91 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1479,8 +1437,7 @@ local_size = (8, 1, 1) 0:92 1 (const int) 0:92 Constant: 0:92 2 (const int) -0:92 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:92 subgroupPartitionedMaxNV ( global highp 3-component vector of int) 0:92 vector swizzle ( temp highp 3-component vector of int) 0:92 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:92 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1505,8 +1462,7 @@ local_size = (8, 1, 1) 0:93 0 (const int) 0:93 Constant: 0:93 1 (const int) -0:93 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:93 subgroupPartitionedMaxNV ( global highp 4-component vector of int) 0:93 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:93 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:93 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1526,8 +1482,7 @@ local_size = (8, 1, 1) 0:95 2 (const int) 0:95 Constant: 0:95 0 (const int) -0:95 ERROR: Bad aggregation op - ( global highp uint) +0:95 subgroupPartitionedMaxNV ( global highp uint) 0:95 direct index ( temp highp uint) 0:95 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:95 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1553,8 +1508,7 @@ local_size = (8, 1, 1) 0:96 0 (const int) 0:96 Constant: 0:96 1 (const int) -0:96 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:96 subgroupPartitionedMaxNV ( global highp 2-component vector of uint) 0:96 vector swizzle ( temp highp 2-component vector of uint) 0:96 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:96 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1585,8 +1539,7 @@ local_size = (8, 1, 1) 0:97 1 (const int) 0:97 Constant: 0:97 2 (const int) -0:97 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:97 subgroupPartitionedMaxNV ( global highp 3-component vector of uint) 0:97 vector swizzle ( temp highp 3-component vector of uint) 0:97 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:97 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1611,8 +1564,7 @@ local_size = (8, 1, 1) 0:98 0 (const int) 0:98 Constant: 0:98 2 (const int) -0:98 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:98 subgroupPartitionedMaxNV ( global highp 4-component vector of uint) 0:98 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:98 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:98 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1632,8 +1584,7 @@ local_size = (8, 1, 1) 0:100 1 (const int) 0:100 Constant: 0:100 0 (const int) -0:100 ERROR: Bad aggregation op - ( global highp int) +0:100 subgroupPartitionedAndNV ( global highp int) 0:100 direct index ( temp highp int) 0:100 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:100 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1659,8 +1610,7 @@ local_size = (8, 1, 1) 0:101 0 (const int) 0:101 Constant: 0:101 1 (const int) -0:101 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:101 subgroupPartitionedAndNV ( global highp 2-component vector of int) 0:101 vector swizzle ( temp highp 2-component vector of int) 0:101 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:101 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1691,8 +1641,7 @@ local_size = (8, 1, 1) 0:102 1 (const int) 0:102 Constant: 0:102 2 (const int) -0:102 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:102 subgroupPartitionedAndNV ( global highp 3-component vector of int) 0:102 vector swizzle ( temp highp 3-component vector of int) 0:102 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:102 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1717,8 +1666,7 @@ local_size = (8, 1, 1) 0:103 0 (const int) 0:103 Constant: 0:103 1 (const int) -0:103 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:103 subgroupPartitionedAndNV ( global highp 4-component vector of int) 0:103 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:103 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:103 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1738,8 +1686,7 @@ local_size = (8, 1, 1) 0:105 2 (const int) 0:105 Constant: 0:105 0 (const int) -0:105 ERROR: Bad aggregation op - ( global highp uint) +0:105 subgroupPartitionedAndNV ( global highp uint) 0:105 direct index ( temp highp uint) 0:105 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:105 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1765,8 +1712,7 @@ local_size = (8, 1, 1) 0:106 0 (const int) 0:106 Constant: 0:106 1 (const int) -0:106 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:106 subgroupPartitionedAndNV ( global highp 2-component vector of uint) 0:106 vector swizzle ( temp highp 2-component vector of uint) 0:106 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:106 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1797,8 +1743,7 @@ local_size = (8, 1, 1) 0:107 1 (const int) 0:107 Constant: 0:107 2 (const int) -0:107 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:107 subgroupPartitionedAndNV ( global highp 3-component vector of uint) 0:107 vector swizzle ( temp highp 3-component vector of uint) 0:107 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:107 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1823,8 +1768,7 @@ local_size = (8, 1, 1) 0:108 1 (const int) 0:108 Constant: 0:108 2 (const int) -0:108 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:108 subgroupPartitionedAndNV ( global highp 4-component vector of uint) 0:108 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:108 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:108 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1845,8 +1789,7 @@ local_size = (8, 1, 1) 0:110 Constant: 0:110 0 (const int) 0:110 Convert bool to int ( temp highp int) -0:110 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:110 subgroupPartitionedAndNV ( global bool, operation at highp) 0:110 Compare Less Than ( temp bool) 0:110 direct index ( temp highp int) 0:110 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -1876,8 +1819,7 @@ local_size = (8, 1, 1) 0:111 Constant: 0:111 1 (const int) 0:111 Convert bool to int ( temp highp 2-component vector of int) -0:111 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:111 subgroupPartitionedAndNV ( global 2-component vector of bool, operation at highp) 0:111 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:111 vector swizzle ( temp highp 2-component vector of int) 0:111 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -1913,8 +1855,7 @@ local_size = (8, 1, 1) 0:112 Constant: 0:112 2 (const int) 0:112 Convert bool to int ( temp highp 3-component vector of int) -0:112 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:112 subgroupPartitionedAndNV ( global 3-component vector of bool, operation at highp) 0:112 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:112 vector swizzle ( temp highp 3-component vector of int) 0:112 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -1945,8 +1886,7 @@ local_size = (8, 1, 1) 0:113 Constant: 0:113 1 (const int) 0:113 Convert bool to int ( temp highp 4-component vector of int) -0:113 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:113 subgroupPartitionedAndNV ( global 4-component vector of bool, operation at highp) 0:113 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:113 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:113 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1972,8 +1912,7 @@ local_size = (8, 1, 1) 0:115 1 (const int) 0:115 Constant: 0:115 0 (const int) -0:115 ERROR: Bad aggregation op - ( global highp int) +0:115 subgroupPartitionedOrNV ( global highp int) 0:115 direct index ( temp highp int) 0:115 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:115 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -1999,8 +1938,7 @@ local_size = (8, 1, 1) 0:116 0 (const int) 0:116 Constant: 0:116 1 (const int) -0:116 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:116 subgroupPartitionedOrNV ( global highp 2-component vector of int) 0:116 vector swizzle ( temp highp 2-component vector of int) 0:116 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:116 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2031,8 +1969,7 @@ local_size = (8, 1, 1) 0:117 1 (const int) 0:117 Constant: 0:117 2 (const int) -0:117 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:117 subgroupPartitionedOrNV ( global highp 3-component vector of int) 0:117 vector swizzle ( temp highp 3-component vector of int) 0:117 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:117 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2057,8 +1994,7 @@ local_size = (8, 1, 1) 0:118 1 (const int) 0:118 Constant: 0:118 1 (const int) -0:118 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:118 subgroupPartitionedOrNV ( global highp 4-component vector of int) 0:118 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:118 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:118 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2078,8 +2014,7 @@ local_size = (8, 1, 1) 0:120 2 (const int) 0:120 Constant: 0:120 0 (const int) -0:120 ERROR: Bad aggregation op - ( global highp uint) +0:120 subgroupPartitionedOrNV ( global highp uint) 0:120 direct index ( temp highp uint) 0:120 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:120 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2105,8 +2040,7 @@ local_size = (8, 1, 1) 0:121 0 (const int) 0:121 Constant: 0:121 1 (const int) -0:121 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:121 subgroupPartitionedOrNV ( global highp 2-component vector of uint) 0:121 vector swizzle ( temp highp 2-component vector of uint) 0:121 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:121 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2137,8 +2071,7 @@ local_size = (8, 1, 1) 0:122 1 (const int) 0:122 Constant: 0:122 2 (const int) -0:122 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:122 subgroupPartitionedOrNV ( global highp 3-component vector of uint) 0:122 vector swizzle ( temp highp 3-component vector of uint) 0:122 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:122 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2163,8 +2096,7 @@ local_size = (8, 1, 1) 0:123 2 (const int) 0:123 Constant: 0:123 2 (const int) -0:123 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:123 subgroupPartitionedOrNV ( global highp 4-component vector of uint) 0:123 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:123 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:123 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2185,8 +2117,7 @@ local_size = (8, 1, 1) 0:125 Constant: 0:125 0 (const int) 0:125 Convert bool to int ( temp highp int) -0:125 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:125 subgroupPartitionedOrNV ( global bool, operation at highp) 0:125 Compare Less Than ( temp bool) 0:125 direct index ( temp highp int) 0:125 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -2216,8 +2147,7 @@ local_size = (8, 1, 1) 0:126 Constant: 0:126 1 (const int) 0:126 Convert bool to int ( temp highp 2-component vector of int) -0:126 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:126 subgroupPartitionedOrNV ( global 2-component vector of bool, operation at highp) 0:126 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:126 vector swizzle ( temp highp 2-component vector of int) 0:126 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -2253,8 +2183,7 @@ local_size = (8, 1, 1) 0:127 Constant: 0:127 2 (const int) 0:127 Convert bool to int ( temp highp 3-component vector of int) -0:127 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:127 subgroupPartitionedOrNV ( global 3-component vector of bool, operation at highp) 0:127 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:127 vector swizzle ( temp highp 3-component vector of int) 0:127 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -2285,8 +2214,7 @@ local_size = (8, 1, 1) 0:128 Constant: 0:128 1 (const int) 0:128 Convert bool to int ( temp highp 4-component vector of int) -0:128 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:128 subgroupPartitionedOrNV ( global 4-component vector of bool, operation at highp) 0:128 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:128 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:128 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2312,8 +2240,7 @@ local_size = (8, 1, 1) 0:130 1 (const int) 0:130 Constant: 0:130 0 (const int) -0:130 ERROR: Bad aggregation op - ( global highp int) +0:130 subgroupPartitionedXorNV ( global highp int) 0:130 direct index ( temp highp int) 0:130 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:130 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2339,8 +2266,7 @@ local_size = (8, 1, 1) 0:131 0 (const int) 0:131 Constant: 0:131 1 (const int) -0:131 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:131 subgroupPartitionedXorNV ( global highp 2-component vector of int) 0:131 vector swizzle ( temp highp 2-component vector of int) 0:131 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:131 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2371,8 +2297,7 @@ local_size = (8, 1, 1) 0:132 1 (const int) 0:132 Constant: 0:132 2 (const int) -0:132 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:132 subgroupPartitionedXorNV ( global highp 3-component vector of int) 0:132 vector swizzle ( temp highp 3-component vector of int) 0:132 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:132 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2397,8 +2322,7 @@ local_size = (8, 1, 1) 0:133 2 (const int) 0:133 Constant: 0:133 1 (const int) -0:133 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:133 subgroupPartitionedXorNV ( global highp 4-component vector of int) 0:133 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:133 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:133 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2418,8 +2342,7 @@ local_size = (8, 1, 1) 0:135 2 (const int) 0:135 Constant: 0:135 0 (const int) -0:135 ERROR: Bad aggregation op - ( global highp uint) +0:135 subgroupPartitionedXorNV ( global highp uint) 0:135 direct index ( temp highp uint) 0:135 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:135 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2445,8 +2368,7 @@ local_size = (8, 1, 1) 0:136 0 (const int) 0:136 Constant: 0:136 1 (const int) -0:136 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:136 subgroupPartitionedXorNV ( global highp 2-component vector of uint) 0:136 vector swizzle ( temp highp 2-component vector of uint) 0:136 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:136 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2477,8 +2399,7 @@ local_size = (8, 1, 1) 0:137 1 (const int) 0:137 Constant: 0:137 2 (const int) -0:137 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:137 subgroupPartitionedXorNV ( global highp 3-component vector of uint) 0:137 vector swizzle ( temp highp 3-component vector of uint) 0:137 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:137 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2503,8 +2424,7 @@ local_size = (8, 1, 1) 0:138 2 (const int) 0:138 Constant: 0:138 2 (const int) -0:138 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:138 subgroupPartitionedXorNV ( global highp 4-component vector of uint) 0:138 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:138 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:138 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2525,8 +2445,7 @@ local_size = (8, 1, 1) 0:140 Constant: 0:140 0 (const int) 0:140 Convert bool to int ( temp highp int) -0:140 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:140 subgroupPartitionedXorNV ( global bool, operation at highp) 0:140 Compare Less Than ( temp bool) 0:140 direct index ( temp highp int) 0:140 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -2556,8 +2475,7 @@ local_size = (8, 1, 1) 0:141 Constant: 0:141 1 (const int) 0:141 Convert bool to int ( temp highp 2-component vector of int) -0:141 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:141 subgroupPartitionedXorNV ( global 2-component vector of bool, operation at highp) 0:141 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:141 vector swizzle ( temp highp 2-component vector of int) 0:141 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -2593,8 +2511,7 @@ local_size = (8, 1, 1) 0:142 Constant: 0:142 2 (const int) 0:142 Convert bool to int ( temp highp 3-component vector of int) -0:142 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:142 subgroupPartitionedXorNV ( global 3-component vector of bool, operation at highp) 0:142 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:142 vector swizzle ( temp highp 3-component vector of int) 0:142 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -2625,8 +2542,7 @@ local_size = (8, 1, 1) 0:143 Constant: 0:143 1 (const int) 0:143 Convert bool to int ( temp highp 4-component vector of int) -0:143 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:143 subgroupPartitionedXorNV ( global 4-component vector of bool, operation at highp) 0:143 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:143 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:143 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2652,8 +2568,7 @@ local_size = (8, 1, 1) 0:145 0 (const int) 0:145 Constant: 0:145 0 (const int) -0:145 ERROR: Bad aggregation op - ( global highp float) +0:145 subgroupPartitionedInclusiveAddNV ( global highp float) 0:145 direct index ( temp highp float) 0:145 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:145 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2679,8 +2594,7 @@ local_size = (8, 1, 1) 0:146 0 (const int) 0:146 Constant: 0:146 1 (const int) -0:146 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:146 subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of float) 0:146 vector swizzle ( temp highp 2-component vector of float) 0:146 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:146 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2711,8 +2625,7 @@ local_size = (8, 1, 1) 0:147 1 (const int) 0:147 Constant: 0:147 2 (const int) -0:147 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:147 subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of float) 0:147 vector swizzle ( temp highp 3-component vector of float) 0:147 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:147 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2737,8 +2650,7 @@ local_size = (8, 1, 1) 0:148 3 (const int) 0:148 Constant: 0:148 0 (const int) -0:148 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:148 subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of float) 0:148 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:148 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:148 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2758,8 +2670,7 @@ local_size = (8, 1, 1) 0:150 1 (const int) 0:150 Constant: 0:150 0 (const int) -0:150 ERROR: Bad aggregation op - ( global highp int) +0:150 subgroupPartitionedInclusiveAddNV ( global highp int) 0:150 direct index ( temp highp int) 0:150 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:150 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2785,8 +2696,7 @@ local_size = (8, 1, 1) 0:151 0 (const int) 0:151 Constant: 0:151 1 (const int) -0:151 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:151 subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of int) 0:151 vector swizzle ( temp highp 2-component vector of int) 0:151 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:151 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2817,8 +2727,7 @@ local_size = (8, 1, 1) 0:152 1 (const int) 0:152 Constant: 0:152 2 (const int) -0:152 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:152 subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of int) 0:152 vector swizzle ( temp highp 3-component vector of int) 0:152 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:152 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2843,8 +2752,7 @@ local_size = (8, 1, 1) 0:153 3 (const int) 0:153 Constant: 0:153 1 (const int) -0:153 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:153 subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of int) 0:153 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:153 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:153 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2864,8 +2772,7 @@ local_size = (8, 1, 1) 0:155 2 (const int) 0:155 Constant: 0:155 0 (const int) -0:155 ERROR: Bad aggregation op - ( global highp uint) +0:155 subgroupPartitionedInclusiveAddNV ( global highp uint) 0:155 direct index ( temp highp uint) 0:155 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:155 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2891,8 +2798,7 @@ local_size = (8, 1, 1) 0:156 0 (const int) 0:156 Constant: 0:156 1 (const int) -0:156 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:156 subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of uint) 0:156 vector swizzle ( temp highp 2-component vector of uint) 0:156 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:156 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2923,8 +2829,7 @@ local_size = (8, 1, 1) 0:157 1 (const int) 0:157 Constant: 0:157 2 (const int) -0:157 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:157 subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of uint) 0:157 vector swizzle ( temp highp 3-component vector of uint) 0:157 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:157 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2949,8 +2854,7 @@ local_size = (8, 1, 1) 0:158 3 (const int) 0:158 Constant: 0:158 2 (const int) -0:158 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:158 subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of uint) 0:158 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:158 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:158 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2970,8 +2874,7 @@ local_size = (8, 1, 1) 0:160 0 (const int) 0:160 Constant: 0:160 0 (const int) -0:160 ERROR: Bad aggregation op - ( global highp float) +0:160 subgroupPartitionedInclusiveMulNV ( global highp float) 0:160 direct index ( temp highp float) 0:160 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:160 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -2997,8 +2900,7 @@ local_size = (8, 1, 1) 0:161 0 (const int) 0:161 Constant: 0:161 1 (const int) -0:161 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:161 subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of float) 0:161 vector swizzle ( temp highp 2-component vector of float) 0:161 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:161 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3029,8 +2931,7 @@ local_size = (8, 1, 1) 0:162 1 (const int) 0:162 Constant: 0:162 2 (const int) -0:162 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:162 subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of float) 0:162 vector swizzle ( temp highp 3-component vector of float) 0:162 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:162 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3055,8 +2956,7 @@ local_size = (8, 1, 1) 0:163 3 (const int) 0:163 Constant: 0:163 0 (const int) -0:163 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:163 subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of float) 0:163 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:163 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:163 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3076,8 +2976,7 @@ local_size = (8, 1, 1) 0:165 1 (const int) 0:165 Constant: 0:165 0 (const int) -0:165 ERROR: Bad aggregation op - ( global highp int) +0:165 subgroupPartitionedInclusiveMulNV ( global highp int) 0:165 direct index ( temp highp int) 0:165 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:165 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3103,8 +3002,7 @@ local_size = (8, 1, 1) 0:166 0 (const int) 0:166 Constant: 0:166 1 (const int) -0:166 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:166 subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of int) 0:166 vector swizzle ( temp highp 2-component vector of int) 0:166 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:166 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3135,8 +3033,7 @@ local_size = (8, 1, 1) 0:167 1 (const int) 0:167 Constant: 0:167 2 (const int) -0:167 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:167 subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of int) 0:167 vector swizzle ( temp highp 3-component vector of int) 0:167 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:167 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3161,8 +3058,7 @@ local_size = (8, 1, 1) 0:168 3 (const int) 0:168 Constant: 0:168 1 (const int) -0:168 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:168 subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of int) 0:168 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:168 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:168 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3182,8 +3078,7 @@ local_size = (8, 1, 1) 0:170 2 (const int) 0:170 Constant: 0:170 0 (const int) -0:170 ERROR: Bad aggregation op - ( global highp uint) +0:170 subgroupPartitionedInclusiveMulNV ( global highp uint) 0:170 direct index ( temp highp uint) 0:170 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:170 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3209,8 +3104,7 @@ local_size = (8, 1, 1) 0:171 0 (const int) 0:171 Constant: 0:171 1 (const int) -0:171 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:171 subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of uint) 0:171 vector swizzle ( temp highp 2-component vector of uint) 0:171 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:171 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3241,8 +3135,7 @@ local_size = (8, 1, 1) 0:172 1 (const int) 0:172 Constant: 0:172 2 (const int) -0:172 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:172 subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of uint) 0:172 vector swizzle ( temp highp 3-component vector of uint) 0:172 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:172 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3267,8 +3160,7 @@ local_size = (8, 1, 1) 0:173 0 (const int) 0:173 Constant: 0:173 2 (const int) -0:173 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:173 subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of uint) 0:173 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:173 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:173 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3288,8 +3180,7 @@ local_size = (8, 1, 1) 0:175 0 (const int) 0:175 Constant: 0:175 0 (const int) -0:175 ERROR: Bad aggregation op - ( global highp float) +0:175 subgroupPartitionedInclusiveMinNV ( global highp float) 0:175 direct index ( temp highp float) 0:175 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:175 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3315,8 +3206,7 @@ local_size = (8, 1, 1) 0:176 0 (const int) 0:176 Constant: 0:176 1 (const int) -0:176 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:176 subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of float) 0:176 vector swizzle ( temp highp 2-component vector of float) 0:176 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:176 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3347,8 +3237,7 @@ local_size = (8, 1, 1) 0:177 1 (const int) 0:177 Constant: 0:177 2 (const int) -0:177 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:177 subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of float) 0:177 vector swizzle ( temp highp 3-component vector of float) 0:177 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:177 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3373,8 +3262,7 @@ local_size = (8, 1, 1) 0:178 0 (const int) 0:178 Constant: 0:178 0 (const int) -0:178 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:178 subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of float) 0:178 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:178 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:178 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3394,8 +3282,7 @@ local_size = (8, 1, 1) 0:180 1 (const int) 0:180 Constant: 0:180 0 (const int) -0:180 ERROR: Bad aggregation op - ( global highp int) +0:180 subgroupPartitionedInclusiveMinNV ( global highp int) 0:180 direct index ( temp highp int) 0:180 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:180 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3421,8 +3308,7 @@ local_size = (8, 1, 1) 0:181 0 (const int) 0:181 Constant: 0:181 1 (const int) -0:181 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:181 subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of int) 0:181 vector swizzle ( temp highp 2-component vector of int) 0:181 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:181 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3453,8 +3339,7 @@ local_size = (8, 1, 1) 0:182 1 (const int) 0:182 Constant: 0:182 2 (const int) -0:182 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:182 subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of int) 0:182 vector swizzle ( temp highp 3-component vector of int) 0:182 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:182 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3479,8 +3364,7 @@ local_size = (8, 1, 1) 0:183 0 (const int) 0:183 Constant: 0:183 1 (const int) -0:183 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:183 subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of int) 0:183 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:183 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:183 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3500,8 +3384,7 @@ local_size = (8, 1, 1) 0:185 2 (const int) 0:185 Constant: 0:185 0 (const int) -0:185 ERROR: Bad aggregation op - ( global highp uint) +0:185 subgroupPartitionedInclusiveMinNV ( global highp uint) 0:185 direct index ( temp highp uint) 0:185 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:185 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3527,8 +3410,7 @@ local_size = (8, 1, 1) 0:186 0 (const int) 0:186 Constant: 0:186 1 (const int) -0:186 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:186 subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of uint) 0:186 vector swizzle ( temp highp 2-component vector of uint) 0:186 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:186 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3559,8 +3441,7 @@ local_size = (8, 1, 1) 0:187 1 (const int) 0:187 Constant: 0:187 2 (const int) -0:187 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:187 subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of uint) 0:187 vector swizzle ( temp highp 3-component vector of uint) 0:187 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:187 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3585,8 +3466,7 @@ local_size = (8, 1, 1) 0:188 0 (const int) 0:188 Constant: 0:188 2 (const int) -0:188 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:188 subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of uint) 0:188 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:188 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:188 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3606,8 +3486,7 @@ local_size = (8, 1, 1) 0:190 0 (const int) 0:190 Constant: 0:190 0 (const int) -0:190 ERROR: Bad aggregation op - ( global highp float) +0:190 subgroupPartitionedInclusiveMaxNV ( global highp float) 0:190 direct index ( temp highp float) 0:190 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:190 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3633,8 +3512,7 @@ local_size = (8, 1, 1) 0:191 0 (const int) 0:191 Constant: 0:191 1 (const int) -0:191 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:191 subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of float) 0:191 vector swizzle ( temp highp 2-component vector of float) 0:191 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:191 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3665,8 +3543,7 @@ local_size = (8, 1, 1) 0:192 1 (const int) 0:192 Constant: 0:192 2 (const int) -0:192 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:192 subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of float) 0:192 vector swizzle ( temp highp 3-component vector of float) 0:192 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:192 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3691,8 +3568,7 @@ local_size = (8, 1, 1) 0:193 1 (const int) 0:193 Constant: 0:193 0 (const int) -0:193 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:193 subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of float) 0:193 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:193 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:193 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3712,8 +3588,7 @@ local_size = (8, 1, 1) 0:195 1 (const int) 0:195 Constant: 0:195 0 (const int) -0:195 ERROR: Bad aggregation op - ( global highp int) +0:195 subgroupPartitionedInclusiveMaxNV ( global highp int) 0:195 direct index ( temp highp int) 0:195 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:195 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3739,8 +3614,7 @@ local_size = (8, 1, 1) 0:196 0 (const int) 0:196 Constant: 0:196 1 (const int) -0:196 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:196 subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of int) 0:196 vector swizzle ( temp highp 2-component vector of int) 0:196 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:196 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3771,8 +3645,7 @@ local_size = (8, 1, 1) 0:197 1 (const int) 0:197 Constant: 0:197 2 (const int) -0:197 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:197 subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of int) 0:197 vector swizzle ( temp highp 3-component vector of int) 0:197 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:197 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3797,8 +3670,7 @@ local_size = (8, 1, 1) 0:198 1 (const int) 0:198 Constant: 0:198 1 (const int) -0:198 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:198 subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of int) 0:198 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:198 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:198 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3818,8 +3690,7 @@ local_size = (8, 1, 1) 0:200 2 (const int) 0:200 Constant: 0:200 0 (const int) -0:200 ERROR: Bad aggregation op - ( global highp uint) +0:200 subgroupPartitionedInclusiveMaxNV ( global highp uint) 0:200 direct index ( temp highp uint) 0:200 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:200 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3845,8 +3716,7 @@ local_size = (8, 1, 1) 0:201 0 (const int) 0:201 Constant: 0:201 1 (const int) -0:201 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:201 subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of uint) 0:201 vector swizzle ( temp highp 2-component vector of uint) 0:201 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:201 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3877,8 +3747,7 @@ local_size = (8, 1, 1) 0:202 1 (const int) 0:202 Constant: 0:202 2 (const int) -0:202 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:202 subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of uint) 0:202 vector swizzle ( temp highp 3-component vector of uint) 0:202 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:202 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3903,8 +3772,7 @@ local_size = (8, 1, 1) 0:203 1 (const int) 0:203 Constant: 0:203 2 (const int) -0:203 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:203 subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of uint) 0:203 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:203 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:203 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3924,8 +3792,7 @@ local_size = (8, 1, 1) 0:205 1 (const int) 0:205 Constant: 0:205 0 (const int) -0:205 ERROR: Bad aggregation op - ( global highp int) +0:205 subgroupPartitionedInclusiveAndNV ( global highp int) 0:205 direct index ( temp highp int) 0:205 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:205 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3951,8 +3818,7 @@ local_size = (8, 1, 1) 0:206 0 (const int) 0:206 Constant: 0:206 1 (const int) -0:206 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:206 subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of int) 0:206 vector swizzle ( temp highp 2-component vector of int) 0:206 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:206 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -3983,8 +3849,7 @@ local_size = (8, 1, 1) 0:207 1 (const int) 0:207 Constant: 0:207 2 (const int) -0:207 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:207 subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of int) 0:207 vector swizzle ( temp highp 3-component vector of int) 0:207 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:207 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4009,8 +3874,7 @@ local_size = (8, 1, 1) 0:208 1 (const int) 0:208 Constant: 0:208 1 (const int) -0:208 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:208 subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of int) 0:208 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:208 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:208 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4030,8 +3894,7 @@ local_size = (8, 1, 1) 0:210 2 (const int) 0:210 Constant: 0:210 0 (const int) -0:210 ERROR: Bad aggregation op - ( global highp uint) +0:210 subgroupPartitionedInclusiveAndNV ( global highp uint) 0:210 direct index ( temp highp uint) 0:210 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:210 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4057,8 +3920,7 @@ local_size = (8, 1, 1) 0:211 0 (const int) 0:211 Constant: 0:211 1 (const int) -0:211 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:211 subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of uint) 0:211 vector swizzle ( temp highp 2-component vector of uint) 0:211 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:211 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4089,8 +3951,7 @@ local_size = (8, 1, 1) 0:212 1 (const int) 0:212 Constant: 0:212 2 (const int) -0:212 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:212 subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of uint) 0:212 vector swizzle ( temp highp 3-component vector of uint) 0:212 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:212 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4115,8 +3976,7 @@ local_size = (8, 1, 1) 0:213 2 (const int) 0:213 Constant: 0:213 2 (const int) -0:213 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:213 subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of uint) 0:213 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:213 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:213 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4137,8 +3997,7 @@ local_size = (8, 1, 1) 0:215 Constant: 0:215 0 (const int) 0:215 Convert bool to int ( temp highp int) -0:215 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:215 subgroupPartitionedInclusiveAndNV ( global bool, operation at highp) 0:215 Compare Less Than ( temp bool) 0:215 direct index ( temp highp int) 0:215 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4168,8 +4027,7 @@ local_size = (8, 1, 1) 0:216 Constant: 0:216 1 (const int) 0:216 Convert bool to int ( temp highp 2-component vector of int) -0:216 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:216 subgroupPartitionedInclusiveAndNV ( global 2-component vector of bool, operation at highp) 0:216 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:216 vector swizzle ( temp highp 2-component vector of int) 0:216 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4205,8 +4063,7 @@ local_size = (8, 1, 1) 0:217 Constant: 0:217 2 (const int) 0:217 Convert bool to int ( temp highp 3-component vector of int) -0:217 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:217 subgroupPartitionedInclusiveAndNV ( global 3-component vector of bool, operation at highp) 0:217 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:217 vector swizzle ( temp highp 3-component vector of int) 0:217 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4237,8 +4094,7 @@ local_size = (8, 1, 1) 0:218 Constant: 0:218 1 (const int) 0:218 Convert bool to int ( temp highp 4-component vector of int) -0:218 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:218 subgroupPartitionedInclusiveAndNV ( global 4-component vector of bool, operation at highp) 0:218 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:218 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:218 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4264,8 +4120,7 @@ local_size = (8, 1, 1) 0:220 1 (const int) 0:220 Constant: 0:220 0 (const int) -0:220 ERROR: Bad aggregation op - ( global highp int) +0:220 subgroupPartitionedInclusiveOrNV ( global highp int) 0:220 direct index ( temp highp int) 0:220 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:220 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4291,8 +4146,7 @@ local_size = (8, 1, 1) 0:221 0 (const int) 0:221 Constant: 0:221 1 (const int) -0:221 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:221 subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of int) 0:221 vector swizzle ( temp highp 2-component vector of int) 0:221 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:221 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4323,8 +4177,7 @@ local_size = (8, 1, 1) 0:222 1 (const int) 0:222 Constant: 0:222 2 (const int) -0:222 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:222 subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of int) 0:222 vector swizzle ( temp highp 3-component vector of int) 0:222 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:222 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4349,8 +4202,7 @@ local_size = (8, 1, 1) 0:223 2 (const int) 0:223 Constant: 0:223 1 (const int) -0:223 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:223 subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of int) 0:223 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:223 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:223 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4370,8 +4222,7 @@ local_size = (8, 1, 1) 0:225 2 (const int) 0:225 Constant: 0:225 0 (const int) -0:225 ERROR: Bad aggregation op - ( global highp uint) +0:225 subgroupPartitionedInclusiveOrNV ( global highp uint) 0:225 direct index ( temp highp uint) 0:225 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:225 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4397,8 +4248,7 @@ local_size = (8, 1, 1) 0:226 0 (const int) 0:226 Constant: 0:226 1 (const int) -0:226 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:226 subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of uint) 0:226 vector swizzle ( temp highp 2-component vector of uint) 0:226 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:226 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4429,8 +4279,7 @@ local_size = (8, 1, 1) 0:227 1 (const int) 0:227 Constant: 0:227 2 (const int) -0:227 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:227 subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of uint) 0:227 vector swizzle ( temp highp 3-component vector of uint) 0:227 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:227 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4455,8 +4304,7 @@ local_size = (8, 1, 1) 0:228 2 (const int) 0:228 Constant: 0:228 2 (const int) -0:228 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:228 subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of uint) 0:228 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:228 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:228 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4477,8 +4325,7 @@ local_size = (8, 1, 1) 0:230 Constant: 0:230 0 (const int) 0:230 Convert bool to int ( temp highp int) -0:230 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:230 subgroupPartitionedInclusiveOrNV ( global bool, operation at highp) 0:230 Compare Less Than ( temp bool) 0:230 direct index ( temp highp int) 0:230 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4508,8 +4355,7 @@ local_size = (8, 1, 1) 0:231 Constant: 0:231 1 (const int) 0:231 Convert bool to int ( temp highp 2-component vector of int) -0:231 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:231 subgroupPartitionedInclusiveOrNV ( global 2-component vector of bool, operation at highp) 0:231 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:231 vector swizzle ( temp highp 2-component vector of int) 0:231 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4545,8 +4391,7 @@ local_size = (8, 1, 1) 0:232 Constant: 0:232 2 (const int) 0:232 Convert bool to int ( temp highp 3-component vector of int) -0:232 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:232 subgroupPartitionedInclusiveOrNV ( global 3-component vector of bool, operation at highp) 0:232 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:232 vector swizzle ( temp highp 3-component vector of int) 0:232 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4577,8 +4422,7 @@ local_size = (8, 1, 1) 0:233 Constant: 0:233 1 (const int) 0:233 Convert bool to int ( temp highp 4-component vector of int) -0:233 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:233 subgroupPartitionedInclusiveOrNV ( global 4-component vector of bool, operation at highp) 0:233 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:233 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:233 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4604,8 +4448,7 @@ local_size = (8, 1, 1) 0:235 1 (const int) 0:235 Constant: 0:235 0 (const int) -0:235 ERROR: Bad aggregation op - ( global highp int) +0:235 subgroupPartitionedInclusiveXorNV ( global highp int) 0:235 direct index ( temp highp int) 0:235 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:235 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4631,8 +4474,7 @@ local_size = (8, 1, 1) 0:236 0 (const int) 0:236 Constant: 0:236 1 (const int) -0:236 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:236 subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of int) 0:236 vector swizzle ( temp highp 2-component vector of int) 0:236 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:236 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4663,8 +4505,7 @@ local_size = (8, 1, 1) 0:237 1 (const int) 0:237 Constant: 0:237 2 (const int) -0:237 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:237 subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of int) 0:237 vector swizzle ( temp highp 3-component vector of int) 0:237 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:237 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4689,8 +4530,7 @@ local_size = (8, 1, 1) 0:238 3 (const int) 0:238 Constant: 0:238 1 (const int) -0:238 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:238 subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of int) 0:238 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:238 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:238 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4710,8 +4550,7 @@ local_size = (8, 1, 1) 0:240 2 (const int) 0:240 Constant: 0:240 0 (const int) -0:240 ERROR: Bad aggregation op - ( global highp uint) +0:240 subgroupPartitionedInclusiveXorNV ( global highp uint) 0:240 direct index ( temp highp uint) 0:240 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:240 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4737,8 +4576,7 @@ local_size = (8, 1, 1) 0:241 0 (const int) 0:241 Constant: 0:241 1 (const int) -0:241 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:241 subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of uint) 0:241 vector swizzle ( temp highp 2-component vector of uint) 0:241 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:241 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4769,8 +4607,7 @@ local_size = (8, 1, 1) 0:242 1 (const int) 0:242 Constant: 0:242 2 (const int) -0:242 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:242 subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of uint) 0:242 vector swizzle ( temp highp 3-component vector of uint) 0:242 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:242 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4795,8 +4632,7 @@ local_size = (8, 1, 1) 0:243 3 (const int) 0:243 Constant: 0:243 2 (const int) -0:243 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:243 subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of uint) 0:243 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:243 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:243 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4817,8 +4653,7 @@ local_size = (8, 1, 1) 0:245 Constant: 0:245 0 (const int) 0:245 Convert bool to int ( temp highp int) -0:245 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:245 subgroupPartitionedInclusiveXorNV ( global bool, operation at highp) 0:245 Compare Less Than ( temp bool) 0:245 direct index ( temp highp int) 0:245 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4848,8 +4683,7 @@ local_size = (8, 1, 1) 0:246 Constant: 0:246 1 (const int) 0:246 Convert bool to int ( temp highp 2-component vector of int) -0:246 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:246 subgroupPartitionedInclusiveXorNV ( global 2-component vector of bool, operation at highp) 0:246 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:246 vector swizzle ( temp highp 2-component vector of int) 0:246 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4885,8 +4719,7 @@ local_size = (8, 1, 1) 0:247 Constant: 0:247 2 (const int) 0:247 Convert bool to int ( temp highp 3-component vector of int) -0:247 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:247 subgroupPartitionedInclusiveXorNV ( global 3-component vector of bool, operation at highp) 0:247 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:247 vector swizzle ( temp highp 3-component vector of int) 0:247 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -4917,8 +4750,7 @@ local_size = (8, 1, 1) 0:248 Constant: 0:248 1 (const int) 0:248 Convert bool to int ( temp highp 4-component vector of int) -0:248 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:248 subgroupPartitionedInclusiveXorNV ( global 4-component vector of bool, operation at highp) 0:248 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:248 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:248 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4944,8 +4776,7 @@ local_size = (8, 1, 1) 0:250 0 (const int) 0:250 Constant: 0:250 0 (const int) -0:250 ERROR: Bad aggregation op - ( global highp float) +0:250 subgroupPartitionedExclusiveAddNV ( global highp float) 0:250 direct index ( temp highp float) 0:250 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:250 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -4971,8 +4802,7 @@ local_size = (8, 1, 1) 0:251 0 (const int) 0:251 Constant: 0:251 1 (const int) -0:251 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:251 subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of float) 0:251 vector swizzle ( temp highp 2-component vector of float) 0:251 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:251 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5003,8 +4833,7 @@ local_size = (8, 1, 1) 0:252 1 (const int) 0:252 Constant: 0:252 2 (const int) -0:252 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:252 subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of float) 0:252 vector swizzle ( temp highp 3-component vector of float) 0:252 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:252 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5029,8 +4858,7 @@ local_size = (8, 1, 1) 0:253 0 (const int) 0:253 Constant: 0:253 0 (const int) -0:253 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:253 subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of float) 0:253 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:253 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:253 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5050,8 +4878,7 @@ local_size = (8, 1, 1) 0:255 1 (const int) 0:255 Constant: 0:255 0 (const int) -0:255 ERROR: Bad aggregation op - ( global highp int) +0:255 subgroupPartitionedExclusiveAddNV ( global highp int) 0:255 direct index ( temp highp int) 0:255 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:255 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5077,8 +4904,7 @@ local_size = (8, 1, 1) 0:256 0 (const int) 0:256 Constant: 0:256 1 (const int) -0:256 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:256 subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of int) 0:256 vector swizzle ( temp highp 2-component vector of int) 0:256 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:256 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5109,8 +4935,7 @@ local_size = (8, 1, 1) 0:257 1 (const int) 0:257 Constant: 0:257 2 (const int) -0:257 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:257 subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of int) 0:257 vector swizzle ( temp highp 3-component vector of int) 0:257 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:257 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5135,8 +4960,7 @@ local_size = (8, 1, 1) 0:258 0 (const int) 0:258 Constant: 0:258 1 (const int) -0:258 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:258 subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of int) 0:258 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:258 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:258 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5156,8 +4980,7 @@ local_size = (8, 1, 1) 0:260 2 (const int) 0:260 Constant: 0:260 0 (const int) -0:260 ERROR: Bad aggregation op - ( global highp uint) +0:260 subgroupPartitionedExclusiveAddNV ( global highp uint) 0:260 direct index ( temp highp uint) 0:260 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:260 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5183,8 +5006,7 @@ local_size = (8, 1, 1) 0:261 0 (const int) 0:261 Constant: 0:261 1 (const int) -0:261 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:261 subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of uint) 0:261 vector swizzle ( temp highp 2-component vector of uint) 0:261 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:261 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5215,8 +5037,7 @@ local_size = (8, 1, 1) 0:262 1 (const int) 0:262 Constant: 0:262 2 (const int) -0:262 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:262 subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of uint) 0:262 vector swizzle ( temp highp 3-component vector of uint) 0:262 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:262 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5241,8 +5062,7 @@ local_size = (8, 1, 1) 0:263 0 (const int) 0:263 Constant: 0:263 2 (const int) -0:263 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:263 subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of uint) 0:263 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:263 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:263 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5262,8 +5082,7 @@ local_size = (8, 1, 1) 0:265 0 (const int) 0:265 Constant: 0:265 0 (const int) -0:265 ERROR: Bad aggregation op - ( global highp float) +0:265 subgroupPartitionedExclusiveMulNV ( global highp float) 0:265 direct index ( temp highp float) 0:265 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:265 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5289,8 +5108,7 @@ local_size = (8, 1, 1) 0:266 0 (const int) 0:266 Constant: 0:266 1 (const int) -0:266 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:266 subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of float) 0:266 vector swizzle ( temp highp 2-component vector of float) 0:266 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:266 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5321,8 +5139,7 @@ local_size = (8, 1, 1) 0:267 1 (const int) 0:267 Constant: 0:267 2 (const int) -0:267 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:267 subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of float) 0:267 vector swizzle ( temp highp 3-component vector of float) 0:267 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:267 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5347,8 +5164,7 @@ local_size = (8, 1, 1) 0:268 0 (const int) 0:268 Constant: 0:268 0 (const int) -0:268 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:268 subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of float) 0:268 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:268 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:268 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5368,8 +5184,7 @@ local_size = (8, 1, 1) 0:270 1 (const int) 0:270 Constant: 0:270 0 (const int) -0:270 ERROR: Bad aggregation op - ( global highp int) +0:270 subgroupPartitionedExclusiveMulNV ( global highp int) 0:270 direct index ( temp highp int) 0:270 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:270 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5395,8 +5210,7 @@ local_size = (8, 1, 1) 0:271 0 (const int) 0:271 Constant: 0:271 1 (const int) -0:271 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:271 subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of int) 0:271 vector swizzle ( temp highp 2-component vector of int) 0:271 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:271 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5427,8 +5241,7 @@ local_size = (8, 1, 1) 0:272 1 (const int) 0:272 Constant: 0:272 2 (const int) -0:272 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:272 subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of int) 0:272 vector swizzle ( temp highp 3-component vector of int) 0:272 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:272 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5453,8 +5266,7 @@ local_size = (8, 1, 1) 0:273 1 (const int) 0:273 Constant: 0:273 1 (const int) -0:273 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:273 subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of int) 0:273 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:273 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:273 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5474,8 +5286,7 @@ local_size = (8, 1, 1) 0:275 2 (const int) 0:275 Constant: 0:275 0 (const int) -0:275 ERROR: Bad aggregation op - ( global highp uint) +0:275 subgroupPartitionedExclusiveMulNV ( global highp uint) 0:275 direct index ( temp highp uint) 0:275 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:275 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5501,8 +5312,7 @@ local_size = (8, 1, 1) 0:276 0 (const int) 0:276 Constant: 0:276 1 (const int) -0:276 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:276 subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of uint) 0:276 vector swizzle ( temp highp 2-component vector of uint) 0:276 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:276 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5533,8 +5343,7 @@ local_size = (8, 1, 1) 0:277 1 (const int) 0:277 Constant: 0:277 2 (const int) -0:277 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:277 subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of uint) 0:277 vector swizzle ( temp highp 3-component vector of uint) 0:277 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:277 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5559,8 +5368,7 @@ local_size = (8, 1, 1) 0:278 1 (const int) 0:278 Constant: 0:278 2 (const int) -0:278 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:278 subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of uint) 0:278 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:278 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:278 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5580,8 +5388,7 @@ local_size = (8, 1, 1) 0:280 0 (const int) 0:280 Constant: 0:280 0 (const int) -0:280 ERROR: Bad aggregation op - ( global highp float) +0:280 subgroupPartitionedExclusiveMinNV ( global highp float) 0:280 direct index ( temp highp float) 0:280 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:280 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5607,8 +5414,7 @@ local_size = (8, 1, 1) 0:281 0 (const int) 0:281 Constant: 0:281 1 (const int) -0:281 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:281 subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of float) 0:281 vector swizzle ( temp highp 2-component vector of float) 0:281 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:281 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5639,8 +5445,7 @@ local_size = (8, 1, 1) 0:282 1 (const int) 0:282 Constant: 0:282 2 (const int) -0:282 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:282 subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of float) 0:282 vector swizzle ( temp highp 3-component vector of float) 0:282 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:282 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5665,8 +5470,7 @@ local_size = (8, 1, 1) 0:283 1 (const int) 0:283 Constant: 0:283 0 (const int) -0:283 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:283 subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of float) 0:283 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:283 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:283 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5686,8 +5490,7 @@ local_size = (8, 1, 1) 0:285 1 (const int) 0:285 Constant: 0:285 0 (const int) -0:285 ERROR: Bad aggregation op - ( global highp int) +0:285 subgroupPartitionedExclusiveMinNV ( global highp int) 0:285 direct index ( temp highp int) 0:285 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:285 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5713,8 +5516,7 @@ local_size = (8, 1, 1) 0:286 0 (const int) 0:286 Constant: 0:286 1 (const int) -0:286 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:286 subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of int) 0:286 vector swizzle ( temp highp 2-component vector of int) 0:286 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:286 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5745,8 +5547,7 @@ local_size = (8, 1, 1) 0:287 1 (const int) 0:287 Constant: 0:287 2 (const int) -0:287 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:287 subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of int) 0:287 vector swizzle ( temp highp 3-component vector of int) 0:287 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:287 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5771,8 +5572,7 @@ local_size = (8, 1, 1) 0:288 1 (const int) 0:288 Constant: 0:288 1 (const int) -0:288 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:288 subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of int) 0:288 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:288 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:288 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5792,8 +5592,7 @@ local_size = (8, 1, 1) 0:290 2 (const int) 0:290 Constant: 0:290 0 (const int) -0:290 ERROR: Bad aggregation op - ( global highp uint) +0:290 subgroupPartitionedExclusiveMinNV ( global highp uint) 0:290 direct index ( temp highp uint) 0:290 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:290 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5819,8 +5618,7 @@ local_size = (8, 1, 1) 0:291 0 (const int) 0:291 Constant: 0:291 1 (const int) -0:291 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:291 subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of uint) 0:291 vector swizzle ( temp highp 2-component vector of uint) 0:291 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:291 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5851,8 +5649,7 @@ local_size = (8, 1, 1) 0:292 1 (const int) 0:292 Constant: 0:292 2 (const int) -0:292 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:292 subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of uint) 0:292 vector swizzle ( temp highp 3-component vector of uint) 0:292 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:292 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5877,8 +5674,7 @@ local_size = (8, 1, 1) 0:293 2 (const int) 0:293 Constant: 0:293 2 (const int) -0:293 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:293 subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of uint) 0:293 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:293 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:293 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5898,8 +5694,7 @@ local_size = (8, 1, 1) 0:295 0 (const int) 0:295 Constant: 0:295 0 (const int) -0:295 ERROR: Bad aggregation op - ( global highp float) +0:295 subgroupPartitionedExclusiveMaxNV ( global highp float) 0:295 direct index ( temp highp float) 0:295 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:295 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5925,8 +5720,7 @@ local_size = (8, 1, 1) 0:296 0 (const int) 0:296 Constant: 0:296 1 (const int) -0:296 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:296 subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of float) 0:296 vector swizzle ( temp highp 2-component vector of float) 0:296 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:296 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5957,8 +5751,7 @@ local_size = (8, 1, 1) 0:297 1 (const int) 0:297 Constant: 0:297 2 (const int) -0:297 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:297 subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of float) 0:297 vector swizzle ( temp highp 3-component vector of float) 0:297 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:297 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -5983,8 +5776,7 @@ local_size = (8, 1, 1) 0:298 2 (const int) 0:298 Constant: 0:298 0 (const int) -0:298 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:298 subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of float) 0:298 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:298 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:298 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6004,8 +5796,7 @@ local_size = (8, 1, 1) 0:300 1 (const int) 0:300 Constant: 0:300 0 (const int) -0:300 ERROR: Bad aggregation op - ( global highp int) +0:300 subgroupPartitionedExclusiveMaxNV ( global highp int) 0:300 direct index ( temp highp int) 0:300 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:300 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6031,8 +5822,7 @@ local_size = (8, 1, 1) 0:301 0 (const int) 0:301 Constant: 0:301 1 (const int) -0:301 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:301 subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of int) 0:301 vector swizzle ( temp highp 2-component vector of int) 0:301 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:301 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6063,8 +5853,7 @@ local_size = (8, 1, 1) 0:302 1 (const int) 0:302 Constant: 0:302 2 (const int) -0:302 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:302 subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of int) 0:302 vector swizzle ( temp highp 3-component vector of int) 0:302 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:302 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6089,8 +5878,7 @@ local_size = (8, 1, 1) 0:303 2 (const int) 0:303 Constant: 0:303 1 (const int) -0:303 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:303 subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of int) 0:303 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:303 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:303 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6110,8 +5898,7 @@ local_size = (8, 1, 1) 0:305 2 (const int) 0:305 Constant: 0:305 0 (const int) -0:305 ERROR: Bad aggregation op - ( global highp uint) +0:305 subgroupPartitionedExclusiveMaxNV ( global highp uint) 0:305 direct index ( temp highp uint) 0:305 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:305 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6137,8 +5924,7 @@ local_size = (8, 1, 1) 0:306 0 (const int) 0:306 Constant: 0:306 1 (const int) -0:306 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:306 subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of uint) 0:306 vector swizzle ( temp highp 2-component vector of uint) 0:306 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:306 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6169,8 +5955,7 @@ local_size = (8, 1, 1) 0:307 1 (const int) 0:307 Constant: 0:307 2 (const int) -0:307 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:307 subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of uint) 0:307 vector swizzle ( temp highp 3-component vector of uint) 0:307 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:307 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6195,8 +5980,7 @@ local_size = (8, 1, 1) 0:308 2 (const int) 0:308 Constant: 0:308 2 (const int) -0:308 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:308 subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of uint) 0:308 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:308 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:308 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6216,8 +6000,7 @@ local_size = (8, 1, 1) 0:310 1 (const int) 0:310 Constant: 0:310 0 (const int) -0:310 ERROR: Bad aggregation op - ( global highp int) +0:310 subgroupPartitionedExclusiveAndNV ( global highp int) 0:310 direct index ( temp highp int) 0:310 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:310 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6243,8 +6026,7 @@ local_size = (8, 1, 1) 0:311 0 (const int) 0:311 Constant: 0:311 1 (const int) -0:311 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:311 subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of int) 0:311 vector swizzle ( temp highp 2-component vector of int) 0:311 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:311 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6275,8 +6057,7 @@ local_size = (8, 1, 1) 0:312 1 (const int) 0:312 Constant: 0:312 2 (const int) -0:312 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:312 subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of int) 0:312 vector swizzle ( temp highp 3-component vector of int) 0:312 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:312 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6301,8 +6082,7 @@ local_size = (8, 1, 1) 0:313 2 (const int) 0:313 Constant: 0:313 1 (const int) -0:313 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:313 subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of int) 0:313 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:313 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:313 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6322,8 +6102,7 @@ local_size = (8, 1, 1) 0:315 2 (const int) 0:315 Constant: 0:315 0 (const int) -0:315 ERROR: Bad aggregation op - ( global highp uint) +0:315 subgroupPartitionedExclusiveAndNV ( global highp uint) 0:315 direct index ( temp highp uint) 0:315 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:315 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6349,8 +6128,7 @@ local_size = (8, 1, 1) 0:316 0 (const int) 0:316 Constant: 0:316 1 (const int) -0:316 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:316 subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of uint) 0:316 vector swizzle ( temp highp 2-component vector of uint) 0:316 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:316 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6381,8 +6159,7 @@ local_size = (8, 1, 1) 0:317 1 (const int) 0:317 Constant: 0:317 2 (const int) -0:317 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:317 subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of uint) 0:317 vector swizzle ( temp highp 3-component vector of uint) 0:317 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:317 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6407,8 +6184,7 @@ local_size = (8, 1, 1) 0:318 2 (const int) 0:318 Constant: 0:318 2 (const int) -0:318 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:318 subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of uint) 0:318 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:318 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:318 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6429,8 +6205,7 @@ local_size = (8, 1, 1) 0:320 Constant: 0:320 0 (const int) 0:320 Convert bool to int ( temp highp int) -0:320 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:320 subgroupPartitionedExclusiveAndNV ( global bool, operation at highp) 0:320 Compare Less Than ( temp bool) 0:320 direct index ( temp highp int) 0:320 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -6460,8 +6235,7 @@ local_size = (8, 1, 1) 0:321 Constant: 0:321 1 (const int) 0:321 Convert bool to int ( temp highp 2-component vector of int) -0:321 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:321 subgroupPartitionedExclusiveAndNV ( global 2-component vector of bool, operation at highp) 0:321 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:321 vector swizzle ( temp highp 2-component vector of int) 0:321 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -6497,8 +6271,7 @@ local_size = (8, 1, 1) 0:322 Constant: 0:322 2 (const int) 0:322 Convert bool to int ( temp highp 3-component vector of int) -0:322 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:322 subgroupPartitionedExclusiveAndNV ( global 3-component vector of bool, operation at highp) 0:322 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:322 vector swizzle ( temp highp 3-component vector of int) 0:322 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -6529,8 +6302,7 @@ local_size = (8, 1, 1) 0:323 Constant: 0:323 1 (const int) 0:323 Convert bool to int ( temp highp 4-component vector of int) -0:323 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:323 subgroupPartitionedExclusiveAndNV ( global 4-component vector of bool, operation at highp) 0:323 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:323 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:323 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6556,8 +6328,7 @@ local_size = (8, 1, 1) 0:325 1 (const int) 0:325 Constant: 0:325 0 (const int) -0:325 ERROR: Bad aggregation op - ( global highp int) +0:325 subgroupPartitionedExclusiveOrNV ( global highp int) 0:325 direct index ( temp highp int) 0:325 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:325 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6583,8 +6354,7 @@ local_size = (8, 1, 1) 0:326 0 (const int) 0:326 Constant: 0:326 1 (const int) -0:326 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:326 subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of int) 0:326 vector swizzle ( temp highp 2-component vector of int) 0:326 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:326 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6615,8 +6385,7 @@ local_size = (8, 1, 1) 0:327 1 (const int) 0:327 Constant: 0:327 2 (const int) -0:327 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:327 subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of int) 0:327 vector swizzle ( temp highp 3-component vector of int) 0:327 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:327 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6641,8 +6410,7 @@ local_size = (8, 1, 1) 0:328 3 (const int) 0:328 Constant: 0:328 1 (const int) -0:328 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:328 subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of int) 0:328 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:328 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:328 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6662,8 +6430,7 @@ local_size = (8, 1, 1) 0:330 2 (const int) 0:330 Constant: 0:330 0 (const int) -0:330 ERROR: Bad aggregation op - ( global highp uint) +0:330 subgroupPartitionedExclusiveOrNV ( global highp uint) 0:330 direct index ( temp highp uint) 0:330 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:330 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6689,8 +6456,7 @@ local_size = (8, 1, 1) 0:331 0 (const int) 0:331 Constant: 0:331 1 (const int) -0:331 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:331 subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of uint) 0:331 vector swizzle ( temp highp 2-component vector of uint) 0:331 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:331 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6721,8 +6487,7 @@ local_size = (8, 1, 1) 0:332 1 (const int) 0:332 Constant: 0:332 2 (const int) -0:332 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:332 subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of uint) 0:332 vector swizzle ( temp highp 3-component vector of uint) 0:332 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:332 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6747,8 +6512,7 @@ local_size = (8, 1, 1) 0:333 3 (const int) 0:333 Constant: 0:333 2 (const int) -0:333 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:333 subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of uint) 0:333 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:333 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:333 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6769,8 +6533,7 @@ local_size = (8, 1, 1) 0:335 Constant: 0:335 0 (const int) 0:335 Convert bool to int ( temp highp int) -0:335 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:335 subgroupPartitionedExclusiveOrNV ( global bool, operation at highp) 0:335 Compare Less Than ( temp bool) 0:335 direct index ( temp highp int) 0:335 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -6800,8 +6563,7 @@ local_size = (8, 1, 1) 0:336 Constant: 0:336 1 (const int) 0:336 Convert bool to int ( temp highp 2-component vector of int) -0:336 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:336 subgroupPartitionedExclusiveOrNV ( global 2-component vector of bool, operation at highp) 0:336 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:336 vector swizzle ( temp highp 2-component vector of int) 0:336 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -6837,8 +6599,7 @@ local_size = (8, 1, 1) 0:337 Constant: 0:337 2 (const int) 0:337 Convert bool to int ( temp highp 3-component vector of int) -0:337 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:337 subgroupPartitionedExclusiveOrNV ( global 3-component vector of bool, operation at highp) 0:337 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:337 vector swizzle ( temp highp 3-component vector of int) 0:337 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -6869,8 +6630,7 @@ local_size = (8, 1, 1) 0:338 Constant: 0:338 1 (const int) 0:338 Convert bool to int ( temp highp 4-component vector of int) -0:338 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:338 subgroupPartitionedExclusiveOrNV ( global 4-component vector of bool, operation at highp) 0:338 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:338 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:338 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6896,8 +6656,7 @@ local_size = (8, 1, 1) 0:340 1 (const int) 0:340 Constant: 0:340 0 (const int) -0:340 ERROR: Bad aggregation op - ( global highp int) +0:340 subgroupPartitionedExclusiveXorNV ( global highp int) 0:340 direct index ( temp highp int) 0:340 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:340 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6923,8 +6682,7 @@ local_size = (8, 1, 1) 0:341 0 (const int) 0:341 Constant: 0:341 1 (const int) -0:341 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:341 subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of int) 0:341 vector swizzle ( temp highp 2-component vector of int) 0:341 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:341 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6955,8 +6713,7 @@ local_size = (8, 1, 1) 0:342 1 (const int) 0:342 Constant: 0:342 2 (const int) -0:342 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:342 subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of int) 0:342 vector swizzle ( temp highp 3-component vector of int) 0:342 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:342 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -6981,8 +6738,7 @@ local_size = (8, 1, 1) 0:343 3 (const int) 0:343 Constant: 0:343 1 (const int) -0:343 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:343 subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of int) 0:343 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:343 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:343 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7002,8 +6758,7 @@ local_size = (8, 1, 1) 0:345 2 (const int) 0:345 Constant: 0:345 0 (const int) -0:345 ERROR: Bad aggregation op - ( global highp uint) +0:345 subgroupPartitionedExclusiveXorNV ( global highp uint) 0:345 direct index ( temp highp uint) 0:345 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:345 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7029,8 +6784,7 @@ local_size = (8, 1, 1) 0:346 0 (const int) 0:346 Constant: 0:346 1 (const int) -0:346 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:346 subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of uint) 0:346 vector swizzle ( temp highp 2-component vector of uint) 0:346 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:346 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7061,8 +6815,7 @@ local_size = (8, 1, 1) 0:347 1 (const int) 0:347 Constant: 0:347 2 (const int) -0:347 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:347 subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of uint) 0:347 vector swizzle ( temp highp 3-component vector of uint) 0:347 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:347 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7087,8 +6840,7 @@ local_size = (8, 1, 1) 0:348 0 (const int) 0:348 Constant: 0:348 2 (const int) -0:348 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:348 subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of uint) 0:348 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:348 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:348 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7109,8 +6861,7 @@ local_size = (8, 1, 1) 0:350 Constant: 0:350 0 (const int) 0:350 Convert bool to int ( temp highp int) -0:350 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:350 subgroupPartitionedExclusiveXorNV ( global bool, operation at highp) 0:350 Compare Less Than ( temp bool) 0:350 direct index ( temp highp int) 0:350 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -7140,8 +6891,7 @@ local_size = (8, 1, 1) 0:351 Constant: 0:351 1 (const int) 0:351 Convert bool to int ( temp highp 2-component vector of int) -0:351 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:351 subgroupPartitionedExclusiveXorNV ( global 2-component vector of bool, operation at highp) 0:351 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:351 vector swizzle ( temp highp 2-component vector of int) 0:351 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -7177,8 +6927,7 @@ local_size = (8, 1, 1) 0:352 Constant: 0:352 2 (const int) 0:352 Convert bool to int ( temp highp 3-component vector of int) -0:352 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:352 subgroupPartitionedExclusiveXorNV ( global 3-component vector of bool, operation at highp) 0:352 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:352 vector swizzle ( temp highp 3-component vector of int) 0:352 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -7209,8 +6958,7 @@ local_size = (8, 1, 1) 0:353 Constant: 0:353 1 (const int) 0:353 Convert bool to int ( temp highp 4-component vector of int) -0:353 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:353 subgroupPartitionedExclusiveXorNV ( global 4-component vector of bool, operation at highp) 0:353 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:353 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:353 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7249,8 +6997,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 Sequence @@ -7597,8 +7345,7 @@ local_size = (8, 1, 1) 0:40 0 (const int) 0:40 Constant: 0:40 0 (const int) -0:40 ERROR: Bad aggregation op - ( global highp float) +0:40 subgroupPartitionedAddNV ( global highp float) 0:40 direct index ( temp highp float) 0:40 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:40 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7624,8 +7371,7 @@ local_size = (8, 1, 1) 0:41 0 (const int) 0:41 Constant: 0:41 1 (const int) -0:41 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:41 subgroupPartitionedAddNV ( global highp 2-component vector of float) 0:41 vector swizzle ( temp highp 2-component vector of float) 0:41 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:41 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7656,8 +7402,7 @@ local_size = (8, 1, 1) 0:42 1 (const int) 0:42 Constant: 0:42 2 (const int) -0:42 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:42 subgroupPartitionedAddNV ( global highp 3-component vector of float) 0:42 vector swizzle ( temp highp 3-component vector of float) 0:42 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:42 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7682,8 +7427,7 @@ local_size = (8, 1, 1) 0:43 1 (const int) 0:43 Constant: 0:43 0 (const int) -0:43 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:43 subgroupPartitionedAddNV ( global highp 4-component vector of float) 0:43 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:43 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:43 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7703,8 +7447,7 @@ local_size = (8, 1, 1) 0:45 1 (const int) 0:45 Constant: 0:45 0 (const int) -0:45 ERROR: Bad aggregation op - ( global highp int) +0:45 subgroupPartitionedAddNV ( global highp int) 0:45 direct index ( temp highp int) 0:45 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:45 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7730,8 +7473,7 @@ local_size = (8, 1, 1) 0:46 0 (const int) 0:46 Constant: 0:46 1 (const int) -0:46 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:46 subgroupPartitionedAddNV ( global highp 2-component vector of int) 0:46 vector swizzle ( temp highp 2-component vector of int) 0:46 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:46 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7762,8 +7504,7 @@ local_size = (8, 1, 1) 0:47 1 (const int) 0:47 Constant: 0:47 2 (const int) -0:47 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:47 subgroupPartitionedAddNV ( global highp 3-component vector of int) 0:47 vector swizzle ( temp highp 3-component vector of int) 0:47 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:47 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7788,8 +7529,7 @@ local_size = (8, 1, 1) 0:48 1 (const int) 0:48 Constant: 0:48 1 (const int) -0:48 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:48 subgroupPartitionedAddNV ( global highp 4-component vector of int) 0:48 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:48 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:48 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7809,8 +7549,7 @@ local_size = (8, 1, 1) 0:50 2 (const int) 0:50 Constant: 0:50 0 (const int) -0:50 ERROR: Bad aggregation op - ( global highp uint) +0:50 subgroupPartitionedAddNV ( global highp uint) 0:50 direct index ( temp highp uint) 0:50 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:50 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7836,8 +7575,7 @@ local_size = (8, 1, 1) 0:51 0 (const int) 0:51 Constant: 0:51 1 (const int) -0:51 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:51 subgroupPartitionedAddNV ( global highp 2-component vector of uint) 0:51 vector swizzle ( temp highp 2-component vector of uint) 0:51 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:51 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7868,8 +7606,7 @@ local_size = (8, 1, 1) 0:52 1 (const int) 0:52 Constant: 0:52 2 (const int) -0:52 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:52 subgroupPartitionedAddNV ( global highp 3-component vector of uint) 0:52 vector swizzle ( temp highp 3-component vector of uint) 0:52 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:52 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7894,8 +7631,7 @@ local_size = (8, 1, 1) 0:53 1 (const int) 0:53 Constant: 0:53 2 (const int) -0:53 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:53 subgroupPartitionedAddNV ( global highp 4-component vector of uint) 0:53 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:53 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:53 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7915,8 +7651,7 @@ local_size = (8, 1, 1) 0:55 0 (const int) 0:55 Constant: 0:55 0 (const int) -0:55 ERROR: Bad aggregation op - ( global highp float) +0:55 subgroupPartitionedMulNV ( global highp float) 0:55 direct index ( temp highp float) 0:55 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:55 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7942,8 +7677,7 @@ local_size = (8, 1, 1) 0:56 0 (const int) 0:56 Constant: 0:56 1 (const int) -0:56 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:56 subgroupPartitionedMulNV ( global highp 2-component vector of float) 0:56 vector swizzle ( temp highp 2-component vector of float) 0:56 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:56 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -7974,8 +7708,7 @@ local_size = (8, 1, 1) 0:57 1 (const int) 0:57 Constant: 0:57 2 (const int) -0:57 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:57 subgroupPartitionedMulNV ( global highp 3-component vector of float) 0:57 vector swizzle ( temp highp 3-component vector of float) 0:57 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:57 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8000,8 +7733,7 @@ local_size = (8, 1, 1) 0:58 2 (const int) 0:58 Constant: 0:58 0 (const int) -0:58 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:58 subgroupPartitionedMulNV ( global highp 4-component vector of float) 0:58 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:58 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:58 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8021,8 +7753,7 @@ local_size = (8, 1, 1) 0:60 1 (const int) 0:60 Constant: 0:60 0 (const int) -0:60 ERROR: Bad aggregation op - ( global highp int) +0:60 subgroupPartitionedMulNV ( global highp int) 0:60 direct index ( temp highp int) 0:60 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:60 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8048,8 +7779,7 @@ local_size = (8, 1, 1) 0:61 0 (const int) 0:61 Constant: 0:61 1 (const int) -0:61 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:61 subgroupPartitionedMulNV ( global highp 2-component vector of int) 0:61 vector swizzle ( temp highp 2-component vector of int) 0:61 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:61 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8080,8 +7810,7 @@ local_size = (8, 1, 1) 0:62 1 (const int) 0:62 Constant: 0:62 2 (const int) -0:62 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:62 subgroupPartitionedMulNV ( global highp 3-component vector of int) 0:62 vector swizzle ( temp highp 3-component vector of int) 0:62 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:62 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8106,8 +7835,7 @@ local_size = (8, 1, 1) 0:63 2 (const int) 0:63 Constant: 0:63 1 (const int) -0:63 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:63 subgroupPartitionedMulNV ( global highp 4-component vector of int) 0:63 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:63 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:63 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8127,8 +7855,7 @@ local_size = (8, 1, 1) 0:65 2 (const int) 0:65 Constant: 0:65 0 (const int) -0:65 ERROR: Bad aggregation op - ( global highp uint) +0:65 subgroupPartitionedMulNV ( global highp uint) 0:65 direct index ( temp highp uint) 0:65 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:65 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8154,8 +7881,7 @@ local_size = (8, 1, 1) 0:66 0 (const int) 0:66 Constant: 0:66 1 (const int) -0:66 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:66 subgroupPartitionedMulNV ( global highp 2-component vector of uint) 0:66 vector swizzle ( temp highp 2-component vector of uint) 0:66 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:66 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8186,8 +7912,7 @@ local_size = (8, 1, 1) 0:67 1 (const int) 0:67 Constant: 0:67 2 (const int) -0:67 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:67 subgroupPartitionedMulNV ( global highp 3-component vector of uint) 0:67 vector swizzle ( temp highp 3-component vector of uint) 0:67 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:67 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8212,8 +7937,7 @@ local_size = (8, 1, 1) 0:68 2 (const int) 0:68 Constant: 0:68 2 (const int) -0:68 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:68 subgroupPartitionedMulNV ( global highp 4-component vector of uint) 0:68 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:68 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:68 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8233,8 +7957,7 @@ local_size = (8, 1, 1) 0:70 0 (const int) 0:70 Constant: 0:70 0 (const int) -0:70 ERROR: Bad aggregation op - ( global highp float) +0:70 subgroupPartitionedMinNV ( global highp float) 0:70 direct index ( temp highp float) 0:70 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:70 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8260,8 +7983,7 @@ local_size = (8, 1, 1) 0:71 0 (const int) 0:71 Constant: 0:71 1 (const int) -0:71 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:71 subgroupPartitionedMinNV ( global highp 2-component vector of float) 0:71 vector swizzle ( temp highp 2-component vector of float) 0:71 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:71 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8292,8 +8014,7 @@ local_size = (8, 1, 1) 0:72 1 (const int) 0:72 Constant: 0:72 2 (const int) -0:72 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:72 subgroupPartitionedMinNV ( global highp 3-component vector of float) 0:72 vector swizzle ( temp highp 3-component vector of float) 0:72 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:72 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8318,8 +8039,7 @@ local_size = (8, 1, 1) 0:73 2 (const int) 0:73 Constant: 0:73 0 (const int) -0:73 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:73 subgroupPartitionedMinNV ( global highp 4-component vector of float) 0:73 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:73 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:73 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8339,8 +8059,7 @@ local_size = (8, 1, 1) 0:75 1 (const int) 0:75 Constant: 0:75 0 (const int) -0:75 ERROR: Bad aggregation op - ( global highp int) +0:75 subgroupPartitionedMinNV ( global highp int) 0:75 direct index ( temp highp int) 0:75 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:75 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8366,8 +8085,7 @@ local_size = (8, 1, 1) 0:76 0 (const int) 0:76 Constant: 0:76 1 (const int) -0:76 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:76 subgroupPartitionedMinNV ( global highp 2-component vector of int) 0:76 vector swizzle ( temp highp 2-component vector of int) 0:76 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:76 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8398,8 +8116,7 @@ local_size = (8, 1, 1) 0:77 1 (const int) 0:77 Constant: 0:77 2 (const int) -0:77 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:77 subgroupPartitionedMinNV ( global highp 3-component vector of int) 0:77 vector swizzle ( temp highp 3-component vector of int) 0:77 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:77 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8424,8 +8141,7 @@ local_size = (8, 1, 1) 0:78 3 (const int) 0:78 Constant: 0:78 1 (const int) -0:78 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:78 subgroupPartitionedMinNV ( global highp 4-component vector of int) 0:78 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:78 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:78 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8445,8 +8161,7 @@ local_size = (8, 1, 1) 0:80 2 (const int) 0:80 Constant: 0:80 0 (const int) -0:80 ERROR: Bad aggregation op - ( global highp uint) +0:80 subgroupPartitionedMinNV ( global highp uint) 0:80 direct index ( temp highp uint) 0:80 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:80 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8472,8 +8187,7 @@ local_size = (8, 1, 1) 0:81 0 (const int) 0:81 Constant: 0:81 1 (const int) -0:81 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:81 subgroupPartitionedMinNV ( global highp 2-component vector of uint) 0:81 vector swizzle ( temp highp 2-component vector of uint) 0:81 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:81 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8504,8 +8218,7 @@ local_size = (8, 1, 1) 0:82 1 (const int) 0:82 Constant: 0:82 2 (const int) -0:82 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:82 subgroupPartitionedMinNV ( global highp 3-component vector of uint) 0:82 vector swizzle ( temp highp 3-component vector of uint) 0:82 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:82 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8530,8 +8243,7 @@ local_size = (8, 1, 1) 0:83 3 (const int) 0:83 Constant: 0:83 2 (const int) -0:83 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:83 subgroupPartitionedMinNV ( global highp 4-component vector of uint) 0:83 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:83 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:83 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8551,8 +8263,7 @@ local_size = (8, 1, 1) 0:85 0 (const int) 0:85 Constant: 0:85 0 (const int) -0:85 ERROR: Bad aggregation op - ( global highp float) +0:85 subgroupPartitionedMaxNV ( global highp float) 0:85 direct index ( temp highp float) 0:85 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:85 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8578,8 +8289,7 @@ local_size = (8, 1, 1) 0:86 0 (const int) 0:86 Constant: 0:86 1 (const int) -0:86 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:86 subgroupPartitionedMaxNV ( global highp 2-component vector of float) 0:86 vector swizzle ( temp highp 2-component vector of float) 0:86 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:86 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8610,8 +8320,7 @@ local_size = (8, 1, 1) 0:87 1 (const int) 0:87 Constant: 0:87 2 (const int) -0:87 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:87 subgroupPartitionedMaxNV ( global highp 3-component vector of float) 0:87 vector swizzle ( temp highp 3-component vector of float) 0:87 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:87 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8636,8 +8345,7 @@ local_size = (8, 1, 1) 0:88 3 (const int) 0:88 Constant: 0:88 0 (const int) -0:88 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:88 subgroupPartitionedMaxNV ( global highp 4-component vector of float) 0:88 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:88 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:88 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8657,8 +8365,7 @@ local_size = (8, 1, 1) 0:90 1 (const int) 0:90 Constant: 0:90 0 (const int) -0:90 ERROR: Bad aggregation op - ( global highp int) +0:90 subgroupPartitionedMaxNV ( global highp int) 0:90 direct index ( temp highp int) 0:90 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:90 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8684,8 +8391,7 @@ local_size = (8, 1, 1) 0:91 0 (const int) 0:91 Constant: 0:91 1 (const int) -0:91 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:91 subgroupPartitionedMaxNV ( global highp 2-component vector of int) 0:91 vector swizzle ( temp highp 2-component vector of int) 0:91 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:91 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8716,8 +8422,7 @@ local_size = (8, 1, 1) 0:92 1 (const int) 0:92 Constant: 0:92 2 (const int) -0:92 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:92 subgroupPartitionedMaxNV ( global highp 3-component vector of int) 0:92 vector swizzle ( temp highp 3-component vector of int) 0:92 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:92 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8742,8 +8447,7 @@ local_size = (8, 1, 1) 0:93 0 (const int) 0:93 Constant: 0:93 1 (const int) -0:93 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:93 subgroupPartitionedMaxNV ( global highp 4-component vector of int) 0:93 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:93 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:93 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8763,8 +8467,7 @@ local_size = (8, 1, 1) 0:95 2 (const int) 0:95 Constant: 0:95 0 (const int) -0:95 ERROR: Bad aggregation op - ( global highp uint) +0:95 subgroupPartitionedMaxNV ( global highp uint) 0:95 direct index ( temp highp uint) 0:95 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:95 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8790,8 +8493,7 @@ local_size = (8, 1, 1) 0:96 0 (const int) 0:96 Constant: 0:96 1 (const int) -0:96 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:96 subgroupPartitionedMaxNV ( global highp 2-component vector of uint) 0:96 vector swizzle ( temp highp 2-component vector of uint) 0:96 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:96 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8822,8 +8524,7 @@ local_size = (8, 1, 1) 0:97 1 (const int) 0:97 Constant: 0:97 2 (const int) -0:97 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:97 subgroupPartitionedMaxNV ( global highp 3-component vector of uint) 0:97 vector swizzle ( temp highp 3-component vector of uint) 0:97 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:97 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8848,8 +8549,7 @@ local_size = (8, 1, 1) 0:98 0 (const int) 0:98 Constant: 0:98 2 (const int) -0:98 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:98 subgroupPartitionedMaxNV ( global highp 4-component vector of uint) 0:98 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:98 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:98 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8869,8 +8569,7 @@ local_size = (8, 1, 1) 0:100 1 (const int) 0:100 Constant: 0:100 0 (const int) -0:100 ERROR: Bad aggregation op - ( global highp int) +0:100 subgroupPartitionedAndNV ( global highp int) 0:100 direct index ( temp highp int) 0:100 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:100 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8896,8 +8595,7 @@ local_size = (8, 1, 1) 0:101 0 (const int) 0:101 Constant: 0:101 1 (const int) -0:101 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:101 subgroupPartitionedAndNV ( global highp 2-component vector of int) 0:101 vector swizzle ( temp highp 2-component vector of int) 0:101 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:101 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8928,8 +8626,7 @@ local_size = (8, 1, 1) 0:102 1 (const int) 0:102 Constant: 0:102 2 (const int) -0:102 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:102 subgroupPartitionedAndNV ( global highp 3-component vector of int) 0:102 vector swizzle ( temp highp 3-component vector of int) 0:102 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:102 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8954,8 +8651,7 @@ local_size = (8, 1, 1) 0:103 0 (const int) 0:103 Constant: 0:103 1 (const int) -0:103 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:103 subgroupPartitionedAndNV ( global highp 4-component vector of int) 0:103 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:103 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:103 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -8975,8 +8671,7 @@ local_size = (8, 1, 1) 0:105 2 (const int) 0:105 Constant: 0:105 0 (const int) -0:105 ERROR: Bad aggregation op - ( global highp uint) +0:105 subgroupPartitionedAndNV ( global highp uint) 0:105 direct index ( temp highp uint) 0:105 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:105 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9002,8 +8697,7 @@ local_size = (8, 1, 1) 0:106 0 (const int) 0:106 Constant: 0:106 1 (const int) -0:106 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:106 subgroupPartitionedAndNV ( global highp 2-component vector of uint) 0:106 vector swizzle ( temp highp 2-component vector of uint) 0:106 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:106 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9034,8 +8728,7 @@ local_size = (8, 1, 1) 0:107 1 (const int) 0:107 Constant: 0:107 2 (const int) -0:107 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:107 subgroupPartitionedAndNV ( global highp 3-component vector of uint) 0:107 vector swizzle ( temp highp 3-component vector of uint) 0:107 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:107 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9060,8 +8753,7 @@ local_size = (8, 1, 1) 0:108 1 (const int) 0:108 Constant: 0:108 2 (const int) -0:108 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:108 subgroupPartitionedAndNV ( global highp 4-component vector of uint) 0:108 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:108 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:108 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9082,8 +8774,7 @@ local_size = (8, 1, 1) 0:110 Constant: 0:110 0 (const int) 0:110 Convert bool to int ( temp highp int) -0:110 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:110 subgroupPartitionedAndNV ( global bool, operation at highp) 0:110 Compare Less Than ( temp bool) 0:110 direct index ( temp highp int) 0:110 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9113,8 +8804,7 @@ local_size = (8, 1, 1) 0:111 Constant: 0:111 1 (const int) 0:111 Convert bool to int ( temp highp 2-component vector of int) -0:111 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:111 subgroupPartitionedAndNV ( global 2-component vector of bool, operation at highp) 0:111 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:111 vector swizzle ( temp highp 2-component vector of int) 0:111 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9150,8 +8840,7 @@ local_size = (8, 1, 1) 0:112 Constant: 0:112 2 (const int) 0:112 Convert bool to int ( temp highp 3-component vector of int) -0:112 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:112 subgroupPartitionedAndNV ( global 3-component vector of bool, operation at highp) 0:112 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:112 vector swizzle ( temp highp 3-component vector of int) 0:112 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9182,8 +8871,7 @@ local_size = (8, 1, 1) 0:113 Constant: 0:113 1 (const int) 0:113 Convert bool to int ( temp highp 4-component vector of int) -0:113 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:113 subgroupPartitionedAndNV ( global 4-component vector of bool, operation at highp) 0:113 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:113 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:113 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9209,8 +8897,7 @@ local_size = (8, 1, 1) 0:115 1 (const int) 0:115 Constant: 0:115 0 (const int) -0:115 ERROR: Bad aggregation op - ( global highp int) +0:115 subgroupPartitionedOrNV ( global highp int) 0:115 direct index ( temp highp int) 0:115 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:115 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9236,8 +8923,7 @@ local_size = (8, 1, 1) 0:116 0 (const int) 0:116 Constant: 0:116 1 (const int) -0:116 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:116 subgroupPartitionedOrNV ( global highp 2-component vector of int) 0:116 vector swizzle ( temp highp 2-component vector of int) 0:116 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:116 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9268,8 +8954,7 @@ local_size = (8, 1, 1) 0:117 1 (const int) 0:117 Constant: 0:117 2 (const int) -0:117 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:117 subgroupPartitionedOrNV ( global highp 3-component vector of int) 0:117 vector swizzle ( temp highp 3-component vector of int) 0:117 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:117 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9294,8 +8979,7 @@ local_size = (8, 1, 1) 0:118 1 (const int) 0:118 Constant: 0:118 1 (const int) -0:118 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:118 subgroupPartitionedOrNV ( global highp 4-component vector of int) 0:118 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:118 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:118 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9315,8 +8999,7 @@ local_size = (8, 1, 1) 0:120 2 (const int) 0:120 Constant: 0:120 0 (const int) -0:120 ERROR: Bad aggregation op - ( global highp uint) +0:120 subgroupPartitionedOrNV ( global highp uint) 0:120 direct index ( temp highp uint) 0:120 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:120 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9342,8 +9025,7 @@ local_size = (8, 1, 1) 0:121 0 (const int) 0:121 Constant: 0:121 1 (const int) -0:121 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:121 subgroupPartitionedOrNV ( global highp 2-component vector of uint) 0:121 vector swizzle ( temp highp 2-component vector of uint) 0:121 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:121 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9374,8 +9056,7 @@ local_size = (8, 1, 1) 0:122 1 (const int) 0:122 Constant: 0:122 2 (const int) -0:122 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:122 subgroupPartitionedOrNV ( global highp 3-component vector of uint) 0:122 vector swizzle ( temp highp 3-component vector of uint) 0:122 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:122 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9400,8 +9081,7 @@ local_size = (8, 1, 1) 0:123 2 (const int) 0:123 Constant: 0:123 2 (const int) -0:123 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:123 subgroupPartitionedOrNV ( global highp 4-component vector of uint) 0:123 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:123 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:123 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9422,8 +9102,7 @@ local_size = (8, 1, 1) 0:125 Constant: 0:125 0 (const int) 0:125 Convert bool to int ( temp highp int) -0:125 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:125 subgroupPartitionedOrNV ( global bool, operation at highp) 0:125 Compare Less Than ( temp bool) 0:125 direct index ( temp highp int) 0:125 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9453,8 +9132,7 @@ local_size = (8, 1, 1) 0:126 Constant: 0:126 1 (const int) 0:126 Convert bool to int ( temp highp 2-component vector of int) -0:126 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:126 subgroupPartitionedOrNV ( global 2-component vector of bool, operation at highp) 0:126 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:126 vector swizzle ( temp highp 2-component vector of int) 0:126 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9490,8 +9168,7 @@ local_size = (8, 1, 1) 0:127 Constant: 0:127 2 (const int) 0:127 Convert bool to int ( temp highp 3-component vector of int) -0:127 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:127 subgroupPartitionedOrNV ( global 3-component vector of bool, operation at highp) 0:127 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:127 vector swizzle ( temp highp 3-component vector of int) 0:127 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9522,8 +9199,7 @@ local_size = (8, 1, 1) 0:128 Constant: 0:128 1 (const int) 0:128 Convert bool to int ( temp highp 4-component vector of int) -0:128 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:128 subgroupPartitionedOrNV ( global 4-component vector of bool, operation at highp) 0:128 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:128 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:128 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9549,8 +9225,7 @@ local_size = (8, 1, 1) 0:130 1 (const int) 0:130 Constant: 0:130 0 (const int) -0:130 ERROR: Bad aggregation op - ( global highp int) +0:130 subgroupPartitionedXorNV ( global highp int) 0:130 direct index ( temp highp int) 0:130 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:130 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9576,8 +9251,7 @@ local_size = (8, 1, 1) 0:131 0 (const int) 0:131 Constant: 0:131 1 (const int) -0:131 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:131 subgroupPartitionedXorNV ( global highp 2-component vector of int) 0:131 vector swizzle ( temp highp 2-component vector of int) 0:131 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:131 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9608,8 +9282,7 @@ local_size = (8, 1, 1) 0:132 1 (const int) 0:132 Constant: 0:132 2 (const int) -0:132 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:132 subgroupPartitionedXorNV ( global highp 3-component vector of int) 0:132 vector swizzle ( temp highp 3-component vector of int) 0:132 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:132 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9634,8 +9307,7 @@ local_size = (8, 1, 1) 0:133 2 (const int) 0:133 Constant: 0:133 1 (const int) -0:133 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:133 subgroupPartitionedXorNV ( global highp 4-component vector of int) 0:133 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:133 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:133 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9655,8 +9327,7 @@ local_size = (8, 1, 1) 0:135 2 (const int) 0:135 Constant: 0:135 0 (const int) -0:135 ERROR: Bad aggregation op - ( global highp uint) +0:135 subgroupPartitionedXorNV ( global highp uint) 0:135 direct index ( temp highp uint) 0:135 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:135 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9682,8 +9353,7 @@ local_size = (8, 1, 1) 0:136 0 (const int) 0:136 Constant: 0:136 1 (const int) -0:136 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:136 subgroupPartitionedXorNV ( global highp 2-component vector of uint) 0:136 vector swizzle ( temp highp 2-component vector of uint) 0:136 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:136 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9714,8 +9384,7 @@ local_size = (8, 1, 1) 0:137 1 (const int) 0:137 Constant: 0:137 2 (const int) -0:137 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:137 subgroupPartitionedXorNV ( global highp 3-component vector of uint) 0:137 vector swizzle ( temp highp 3-component vector of uint) 0:137 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:137 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9740,8 +9409,7 @@ local_size = (8, 1, 1) 0:138 2 (const int) 0:138 Constant: 0:138 2 (const int) -0:138 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:138 subgroupPartitionedXorNV ( global highp 4-component vector of uint) 0:138 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:138 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:138 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9762,8 +9430,7 @@ local_size = (8, 1, 1) 0:140 Constant: 0:140 0 (const int) 0:140 Convert bool to int ( temp highp int) -0:140 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:140 subgroupPartitionedXorNV ( global bool, operation at highp) 0:140 Compare Less Than ( temp bool) 0:140 direct index ( temp highp int) 0:140 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9793,8 +9460,7 @@ local_size = (8, 1, 1) 0:141 Constant: 0:141 1 (const int) 0:141 Convert bool to int ( temp highp 2-component vector of int) -0:141 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:141 subgroupPartitionedXorNV ( global 2-component vector of bool, operation at highp) 0:141 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:141 vector swizzle ( temp highp 2-component vector of int) 0:141 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9830,8 +9496,7 @@ local_size = (8, 1, 1) 0:142 Constant: 0:142 2 (const int) 0:142 Convert bool to int ( temp highp 3-component vector of int) -0:142 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:142 subgroupPartitionedXorNV ( global 3-component vector of bool, operation at highp) 0:142 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:142 vector swizzle ( temp highp 3-component vector of int) 0:142 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -9862,8 +9527,7 @@ local_size = (8, 1, 1) 0:143 Constant: 0:143 1 (const int) 0:143 Convert bool to int ( temp highp 4-component vector of int) -0:143 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:143 subgroupPartitionedXorNV ( global 4-component vector of bool, operation at highp) 0:143 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:143 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:143 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9889,8 +9553,7 @@ local_size = (8, 1, 1) 0:145 0 (const int) 0:145 Constant: 0:145 0 (const int) -0:145 ERROR: Bad aggregation op - ( global highp float) +0:145 subgroupPartitionedInclusiveAddNV ( global highp float) 0:145 direct index ( temp highp float) 0:145 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:145 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9916,8 +9579,7 @@ local_size = (8, 1, 1) 0:146 0 (const int) 0:146 Constant: 0:146 1 (const int) -0:146 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:146 subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of float) 0:146 vector swizzle ( temp highp 2-component vector of float) 0:146 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:146 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9948,8 +9610,7 @@ local_size = (8, 1, 1) 0:147 1 (const int) 0:147 Constant: 0:147 2 (const int) -0:147 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:147 subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of float) 0:147 vector swizzle ( temp highp 3-component vector of float) 0:147 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:147 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9974,8 +9635,7 @@ local_size = (8, 1, 1) 0:148 3 (const int) 0:148 Constant: 0:148 0 (const int) -0:148 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:148 subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of float) 0:148 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:148 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:148 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -9995,8 +9655,7 @@ local_size = (8, 1, 1) 0:150 1 (const int) 0:150 Constant: 0:150 0 (const int) -0:150 ERROR: Bad aggregation op - ( global highp int) +0:150 subgroupPartitionedInclusiveAddNV ( global highp int) 0:150 direct index ( temp highp int) 0:150 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:150 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10022,8 +9681,7 @@ local_size = (8, 1, 1) 0:151 0 (const int) 0:151 Constant: 0:151 1 (const int) -0:151 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:151 subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of int) 0:151 vector swizzle ( temp highp 2-component vector of int) 0:151 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:151 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10054,8 +9712,7 @@ local_size = (8, 1, 1) 0:152 1 (const int) 0:152 Constant: 0:152 2 (const int) -0:152 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:152 subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of int) 0:152 vector swizzle ( temp highp 3-component vector of int) 0:152 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:152 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10080,8 +9737,7 @@ local_size = (8, 1, 1) 0:153 3 (const int) 0:153 Constant: 0:153 1 (const int) -0:153 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:153 subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of int) 0:153 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:153 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:153 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10101,8 +9757,7 @@ local_size = (8, 1, 1) 0:155 2 (const int) 0:155 Constant: 0:155 0 (const int) -0:155 ERROR: Bad aggregation op - ( global highp uint) +0:155 subgroupPartitionedInclusiveAddNV ( global highp uint) 0:155 direct index ( temp highp uint) 0:155 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:155 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10128,8 +9783,7 @@ local_size = (8, 1, 1) 0:156 0 (const int) 0:156 Constant: 0:156 1 (const int) -0:156 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:156 subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of uint) 0:156 vector swizzle ( temp highp 2-component vector of uint) 0:156 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:156 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10160,8 +9814,7 @@ local_size = (8, 1, 1) 0:157 1 (const int) 0:157 Constant: 0:157 2 (const int) -0:157 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:157 subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of uint) 0:157 vector swizzle ( temp highp 3-component vector of uint) 0:157 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:157 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10186,8 +9839,7 @@ local_size = (8, 1, 1) 0:158 3 (const int) 0:158 Constant: 0:158 2 (const int) -0:158 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:158 subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of uint) 0:158 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:158 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:158 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10207,8 +9859,7 @@ local_size = (8, 1, 1) 0:160 0 (const int) 0:160 Constant: 0:160 0 (const int) -0:160 ERROR: Bad aggregation op - ( global highp float) +0:160 subgroupPartitionedInclusiveMulNV ( global highp float) 0:160 direct index ( temp highp float) 0:160 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:160 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10234,8 +9885,7 @@ local_size = (8, 1, 1) 0:161 0 (const int) 0:161 Constant: 0:161 1 (const int) -0:161 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:161 subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of float) 0:161 vector swizzle ( temp highp 2-component vector of float) 0:161 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:161 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10266,8 +9916,7 @@ local_size = (8, 1, 1) 0:162 1 (const int) 0:162 Constant: 0:162 2 (const int) -0:162 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:162 subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of float) 0:162 vector swizzle ( temp highp 3-component vector of float) 0:162 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:162 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10292,8 +9941,7 @@ local_size = (8, 1, 1) 0:163 3 (const int) 0:163 Constant: 0:163 0 (const int) -0:163 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:163 subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of float) 0:163 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:163 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:163 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10313,8 +9961,7 @@ local_size = (8, 1, 1) 0:165 1 (const int) 0:165 Constant: 0:165 0 (const int) -0:165 ERROR: Bad aggregation op - ( global highp int) +0:165 subgroupPartitionedInclusiveMulNV ( global highp int) 0:165 direct index ( temp highp int) 0:165 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:165 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10340,8 +9987,7 @@ local_size = (8, 1, 1) 0:166 0 (const int) 0:166 Constant: 0:166 1 (const int) -0:166 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:166 subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of int) 0:166 vector swizzle ( temp highp 2-component vector of int) 0:166 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:166 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10372,8 +10018,7 @@ local_size = (8, 1, 1) 0:167 1 (const int) 0:167 Constant: 0:167 2 (const int) -0:167 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:167 subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of int) 0:167 vector swizzle ( temp highp 3-component vector of int) 0:167 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:167 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10398,8 +10043,7 @@ local_size = (8, 1, 1) 0:168 3 (const int) 0:168 Constant: 0:168 1 (const int) -0:168 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:168 subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of int) 0:168 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:168 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:168 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10419,8 +10063,7 @@ local_size = (8, 1, 1) 0:170 2 (const int) 0:170 Constant: 0:170 0 (const int) -0:170 ERROR: Bad aggregation op - ( global highp uint) +0:170 subgroupPartitionedInclusiveMulNV ( global highp uint) 0:170 direct index ( temp highp uint) 0:170 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:170 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10446,8 +10089,7 @@ local_size = (8, 1, 1) 0:171 0 (const int) 0:171 Constant: 0:171 1 (const int) -0:171 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:171 subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of uint) 0:171 vector swizzle ( temp highp 2-component vector of uint) 0:171 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:171 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10478,8 +10120,7 @@ local_size = (8, 1, 1) 0:172 1 (const int) 0:172 Constant: 0:172 2 (const int) -0:172 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:172 subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of uint) 0:172 vector swizzle ( temp highp 3-component vector of uint) 0:172 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:172 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10504,8 +10145,7 @@ local_size = (8, 1, 1) 0:173 0 (const int) 0:173 Constant: 0:173 2 (const int) -0:173 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:173 subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of uint) 0:173 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:173 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:173 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10525,8 +10165,7 @@ local_size = (8, 1, 1) 0:175 0 (const int) 0:175 Constant: 0:175 0 (const int) -0:175 ERROR: Bad aggregation op - ( global highp float) +0:175 subgroupPartitionedInclusiveMinNV ( global highp float) 0:175 direct index ( temp highp float) 0:175 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:175 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10552,8 +10191,7 @@ local_size = (8, 1, 1) 0:176 0 (const int) 0:176 Constant: 0:176 1 (const int) -0:176 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:176 subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of float) 0:176 vector swizzle ( temp highp 2-component vector of float) 0:176 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:176 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10584,8 +10222,7 @@ local_size = (8, 1, 1) 0:177 1 (const int) 0:177 Constant: 0:177 2 (const int) -0:177 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:177 subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of float) 0:177 vector swizzle ( temp highp 3-component vector of float) 0:177 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:177 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10610,8 +10247,7 @@ local_size = (8, 1, 1) 0:178 0 (const int) 0:178 Constant: 0:178 0 (const int) -0:178 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:178 subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of float) 0:178 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:178 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:178 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10631,8 +10267,7 @@ local_size = (8, 1, 1) 0:180 1 (const int) 0:180 Constant: 0:180 0 (const int) -0:180 ERROR: Bad aggregation op - ( global highp int) +0:180 subgroupPartitionedInclusiveMinNV ( global highp int) 0:180 direct index ( temp highp int) 0:180 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:180 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10658,8 +10293,7 @@ local_size = (8, 1, 1) 0:181 0 (const int) 0:181 Constant: 0:181 1 (const int) -0:181 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:181 subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of int) 0:181 vector swizzle ( temp highp 2-component vector of int) 0:181 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:181 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10690,8 +10324,7 @@ local_size = (8, 1, 1) 0:182 1 (const int) 0:182 Constant: 0:182 2 (const int) -0:182 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:182 subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of int) 0:182 vector swizzle ( temp highp 3-component vector of int) 0:182 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:182 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10716,8 +10349,7 @@ local_size = (8, 1, 1) 0:183 0 (const int) 0:183 Constant: 0:183 1 (const int) -0:183 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:183 subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of int) 0:183 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:183 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:183 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10737,8 +10369,7 @@ local_size = (8, 1, 1) 0:185 2 (const int) 0:185 Constant: 0:185 0 (const int) -0:185 ERROR: Bad aggregation op - ( global highp uint) +0:185 subgroupPartitionedInclusiveMinNV ( global highp uint) 0:185 direct index ( temp highp uint) 0:185 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:185 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10764,8 +10395,7 @@ local_size = (8, 1, 1) 0:186 0 (const int) 0:186 Constant: 0:186 1 (const int) -0:186 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:186 subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of uint) 0:186 vector swizzle ( temp highp 2-component vector of uint) 0:186 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:186 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10796,8 +10426,7 @@ local_size = (8, 1, 1) 0:187 1 (const int) 0:187 Constant: 0:187 2 (const int) -0:187 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:187 subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of uint) 0:187 vector swizzle ( temp highp 3-component vector of uint) 0:187 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:187 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10822,8 +10451,7 @@ local_size = (8, 1, 1) 0:188 0 (const int) 0:188 Constant: 0:188 2 (const int) -0:188 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:188 subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of uint) 0:188 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:188 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:188 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10843,8 +10471,7 @@ local_size = (8, 1, 1) 0:190 0 (const int) 0:190 Constant: 0:190 0 (const int) -0:190 ERROR: Bad aggregation op - ( global highp float) +0:190 subgroupPartitionedInclusiveMaxNV ( global highp float) 0:190 direct index ( temp highp float) 0:190 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:190 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10870,8 +10497,7 @@ local_size = (8, 1, 1) 0:191 0 (const int) 0:191 Constant: 0:191 1 (const int) -0:191 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:191 subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of float) 0:191 vector swizzle ( temp highp 2-component vector of float) 0:191 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:191 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10902,8 +10528,7 @@ local_size = (8, 1, 1) 0:192 1 (const int) 0:192 Constant: 0:192 2 (const int) -0:192 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:192 subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of float) 0:192 vector swizzle ( temp highp 3-component vector of float) 0:192 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:192 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10928,8 +10553,7 @@ local_size = (8, 1, 1) 0:193 1 (const int) 0:193 Constant: 0:193 0 (const int) -0:193 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:193 subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of float) 0:193 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:193 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:193 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10949,8 +10573,7 @@ local_size = (8, 1, 1) 0:195 1 (const int) 0:195 Constant: 0:195 0 (const int) -0:195 ERROR: Bad aggregation op - ( global highp int) +0:195 subgroupPartitionedInclusiveMaxNV ( global highp int) 0:195 direct index ( temp highp int) 0:195 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:195 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -10976,8 +10599,7 @@ local_size = (8, 1, 1) 0:196 0 (const int) 0:196 Constant: 0:196 1 (const int) -0:196 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:196 subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of int) 0:196 vector swizzle ( temp highp 2-component vector of int) 0:196 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:196 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11008,8 +10630,7 @@ local_size = (8, 1, 1) 0:197 1 (const int) 0:197 Constant: 0:197 2 (const int) -0:197 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:197 subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of int) 0:197 vector swizzle ( temp highp 3-component vector of int) 0:197 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:197 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11034,8 +10655,7 @@ local_size = (8, 1, 1) 0:198 1 (const int) 0:198 Constant: 0:198 1 (const int) -0:198 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:198 subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of int) 0:198 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:198 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:198 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11055,8 +10675,7 @@ local_size = (8, 1, 1) 0:200 2 (const int) 0:200 Constant: 0:200 0 (const int) -0:200 ERROR: Bad aggregation op - ( global highp uint) +0:200 subgroupPartitionedInclusiveMaxNV ( global highp uint) 0:200 direct index ( temp highp uint) 0:200 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:200 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11082,8 +10701,7 @@ local_size = (8, 1, 1) 0:201 0 (const int) 0:201 Constant: 0:201 1 (const int) -0:201 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:201 subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of uint) 0:201 vector swizzle ( temp highp 2-component vector of uint) 0:201 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:201 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11114,8 +10732,7 @@ local_size = (8, 1, 1) 0:202 1 (const int) 0:202 Constant: 0:202 2 (const int) -0:202 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:202 subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of uint) 0:202 vector swizzle ( temp highp 3-component vector of uint) 0:202 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:202 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11140,8 +10757,7 @@ local_size = (8, 1, 1) 0:203 1 (const int) 0:203 Constant: 0:203 2 (const int) -0:203 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:203 subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of uint) 0:203 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:203 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:203 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11161,8 +10777,7 @@ local_size = (8, 1, 1) 0:205 1 (const int) 0:205 Constant: 0:205 0 (const int) -0:205 ERROR: Bad aggregation op - ( global highp int) +0:205 subgroupPartitionedInclusiveAndNV ( global highp int) 0:205 direct index ( temp highp int) 0:205 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:205 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11188,8 +10803,7 @@ local_size = (8, 1, 1) 0:206 0 (const int) 0:206 Constant: 0:206 1 (const int) -0:206 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:206 subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of int) 0:206 vector swizzle ( temp highp 2-component vector of int) 0:206 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:206 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11220,8 +10834,7 @@ local_size = (8, 1, 1) 0:207 1 (const int) 0:207 Constant: 0:207 2 (const int) -0:207 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:207 subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of int) 0:207 vector swizzle ( temp highp 3-component vector of int) 0:207 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:207 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11246,8 +10859,7 @@ local_size = (8, 1, 1) 0:208 1 (const int) 0:208 Constant: 0:208 1 (const int) -0:208 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:208 subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of int) 0:208 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:208 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:208 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11267,8 +10879,7 @@ local_size = (8, 1, 1) 0:210 2 (const int) 0:210 Constant: 0:210 0 (const int) -0:210 ERROR: Bad aggregation op - ( global highp uint) +0:210 subgroupPartitionedInclusiveAndNV ( global highp uint) 0:210 direct index ( temp highp uint) 0:210 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:210 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11294,8 +10905,7 @@ local_size = (8, 1, 1) 0:211 0 (const int) 0:211 Constant: 0:211 1 (const int) -0:211 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:211 subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of uint) 0:211 vector swizzle ( temp highp 2-component vector of uint) 0:211 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:211 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11326,8 +10936,7 @@ local_size = (8, 1, 1) 0:212 1 (const int) 0:212 Constant: 0:212 2 (const int) -0:212 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:212 subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of uint) 0:212 vector swizzle ( temp highp 3-component vector of uint) 0:212 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:212 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11352,8 +10961,7 @@ local_size = (8, 1, 1) 0:213 2 (const int) 0:213 Constant: 0:213 2 (const int) -0:213 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:213 subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of uint) 0:213 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:213 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:213 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11374,8 +10982,7 @@ local_size = (8, 1, 1) 0:215 Constant: 0:215 0 (const int) 0:215 Convert bool to int ( temp highp int) -0:215 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:215 subgroupPartitionedInclusiveAndNV ( global bool, operation at highp) 0:215 Compare Less Than ( temp bool) 0:215 direct index ( temp highp int) 0:215 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -11405,8 +11012,7 @@ local_size = (8, 1, 1) 0:216 Constant: 0:216 1 (const int) 0:216 Convert bool to int ( temp highp 2-component vector of int) -0:216 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:216 subgroupPartitionedInclusiveAndNV ( global 2-component vector of bool, operation at highp) 0:216 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:216 vector swizzle ( temp highp 2-component vector of int) 0:216 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -11442,8 +11048,7 @@ local_size = (8, 1, 1) 0:217 Constant: 0:217 2 (const int) 0:217 Convert bool to int ( temp highp 3-component vector of int) -0:217 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:217 subgroupPartitionedInclusiveAndNV ( global 3-component vector of bool, operation at highp) 0:217 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:217 vector swizzle ( temp highp 3-component vector of int) 0:217 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -11474,8 +11079,7 @@ local_size = (8, 1, 1) 0:218 Constant: 0:218 1 (const int) 0:218 Convert bool to int ( temp highp 4-component vector of int) -0:218 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:218 subgroupPartitionedInclusiveAndNV ( global 4-component vector of bool, operation at highp) 0:218 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:218 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:218 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11501,8 +11105,7 @@ local_size = (8, 1, 1) 0:220 1 (const int) 0:220 Constant: 0:220 0 (const int) -0:220 ERROR: Bad aggregation op - ( global highp int) +0:220 subgroupPartitionedInclusiveOrNV ( global highp int) 0:220 direct index ( temp highp int) 0:220 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:220 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11528,8 +11131,7 @@ local_size = (8, 1, 1) 0:221 0 (const int) 0:221 Constant: 0:221 1 (const int) -0:221 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:221 subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of int) 0:221 vector swizzle ( temp highp 2-component vector of int) 0:221 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:221 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11560,8 +11162,7 @@ local_size = (8, 1, 1) 0:222 1 (const int) 0:222 Constant: 0:222 2 (const int) -0:222 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:222 subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of int) 0:222 vector swizzle ( temp highp 3-component vector of int) 0:222 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:222 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11586,8 +11187,7 @@ local_size = (8, 1, 1) 0:223 2 (const int) 0:223 Constant: 0:223 1 (const int) -0:223 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:223 subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of int) 0:223 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:223 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:223 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11607,8 +11207,7 @@ local_size = (8, 1, 1) 0:225 2 (const int) 0:225 Constant: 0:225 0 (const int) -0:225 ERROR: Bad aggregation op - ( global highp uint) +0:225 subgroupPartitionedInclusiveOrNV ( global highp uint) 0:225 direct index ( temp highp uint) 0:225 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:225 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11634,8 +11233,7 @@ local_size = (8, 1, 1) 0:226 0 (const int) 0:226 Constant: 0:226 1 (const int) -0:226 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:226 subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of uint) 0:226 vector swizzle ( temp highp 2-component vector of uint) 0:226 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:226 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11666,8 +11264,7 @@ local_size = (8, 1, 1) 0:227 1 (const int) 0:227 Constant: 0:227 2 (const int) -0:227 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:227 subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of uint) 0:227 vector swizzle ( temp highp 3-component vector of uint) 0:227 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:227 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11692,8 +11289,7 @@ local_size = (8, 1, 1) 0:228 2 (const int) 0:228 Constant: 0:228 2 (const int) -0:228 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:228 subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of uint) 0:228 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:228 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:228 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11714,8 +11310,7 @@ local_size = (8, 1, 1) 0:230 Constant: 0:230 0 (const int) 0:230 Convert bool to int ( temp highp int) -0:230 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:230 subgroupPartitionedInclusiveOrNV ( global bool, operation at highp) 0:230 Compare Less Than ( temp bool) 0:230 direct index ( temp highp int) 0:230 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -11745,8 +11340,7 @@ local_size = (8, 1, 1) 0:231 Constant: 0:231 1 (const int) 0:231 Convert bool to int ( temp highp 2-component vector of int) -0:231 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:231 subgroupPartitionedInclusiveOrNV ( global 2-component vector of bool, operation at highp) 0:231 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:231 vector swizzle ( temp highp 2-component vector of int) 0:231 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -11782,8 +11376,7 @@ local_size = (8, 1, 1) 0:232 Constant: 0:232 2 (const int) 0:232 Convert bool to int ( temp highp 3-component vector of int) -0:232 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:232 subgroupPartitionedInclusiveOrNV ( global 3-component vector of bool, operation at highp) 0:232 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:232 vector swizzle ( temp highp 3-component vector of int) 0:232 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -11814,8 +11407,7 @@ local_size = (8, 1, 1) 0:233 Constant: 0:233 1 (const int) 0:233 Convert bool to int ( temp highp 4-component vector of int) -0:233 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:233 subgroupPartitionedInclusiveOrNV ( global 4-component vector of bool, operation at highp) 0:233 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:233 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:233 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11841,8 +11433,7 @@ local_size = (8, 1, 1) 0:235 1 (const int) 0:235 Constant: 0:235 0 (const int) -0:235 ERROR: Bad aggregation op - ( global highp int) +0:235 subgroupPartitionedInclusiveXorNV ( global highp int) 0:235 direct index ( temp highp int) 0:235 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:235 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11868,8 +11459,7 @@ local_size = (8, 1, 1) 0:236 0 (const int) 0:236 Constant: 0:236 1 (const int) -0:236 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:236 subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of int) 0:236 vector swizzle ( temp highp 2-component vector of int) 0:236 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:236 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11900,8 +11490,7 @@ local_size = (8, 1, 1) 0:237 1 (const int) 0:237 Constant: 0:237 2 (const int) -0:237 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:237 subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of int) 0:237 vector swizzle ( temp highp 3-component vector of int) 0:237 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:237 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11926,8 +11515,7 @@ local_size = (8, 1, 1) 0:238 3 (const int) 0:238 Constant: 0:238 1 (const int) -0:238 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:238 subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of int) 0:238 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:238 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:238 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11947,8 +11535,7 @@ local_size = (8, 1, 1) 0:240 2 (const int) 0:240 Constant: 0:240 0 (const int) -0:240 ERROR: Bad aggregation op - ( global highp uint) +0:240 subgroupPartitionedInclusiveXorNV ( global highp uint) 0:240 direct index ( temp highp uint) 0:240 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:240 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -11974,8 +11561,7 @@ local_size = (8, 1, 1) 0:241 0 (const int) 0:241 Constant: 0:241 1 (const int) -0:241 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:241 subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of uint) 0:241 vector swizzle ( temp highp 2-component vector of uint) 0:241 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:241 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12006,8 +11592,7 @@ local_size = (8, 1, 1) 0:242 1 (const int) 0:242 Constant: 0:242 2 (const int) -0:242 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:242 subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of uint) 0:242 vector swizzle ( temp highp 3-component vector of uint) 0:242 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:242 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12032,8 +11617,7 @@ local_size = (8, 1, 1) 0:243 3 (const int) 0:243 Constant: 0:243 2 (const int) -0:243 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:243 subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of uint) 0:243 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:243 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:243 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12054,8 +11638,7 @@ local_size = (8, 1, 1) 0:245 Constant: 0:245 0 (const int) 0:245 Convert bool to int ( temp highp int) -0:245 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:245 subgroupPartitionedInclusiveXorNV ( global bool, operation at highp) 0:245 Compare Less Than ( temp bool) 0:245 direct index ( temp highp int) 0:245 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -12085,8 +11668,7 @@ local_size = (8, 1, 1) 0:246 Constant: 0:246 1 (const int) 0:246 Convert bool to int ( temp highp 2-component vector of int) -0:246 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:246 subgroupPartitionedInclusiveXorNV ( global 2-component vector of bool, operation at highp) 0:246 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:246 vector swizzle ( temp highp 2-component vector of int) 0:246 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -12122,8 +11704,7 @@ local_size = (8, 1, 1) 0:247 Constant: 0:247 2 (const int) 0:247 Convert bool to int ( temp highp 3-component vector of int) -0:247 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:247 subgroupPartitionedInclusiveXorNV ( global 3-component vector of bool, operation at highp) 0:247 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:247 vector swizzle ( temp highp 3-component vector of int) 0:247 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -12154,8 +11735,7 @@ local_size = (8, 1, 1) 0:248 Constant: 0:248 1 (const int) 0:248 Convert bool to int ( temp highp 4-component vector of int) -0:248 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:248 subgroupPartitionedInclusiveXorNV ( global 4-component vector of bool, operation at highp) 0:248 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:248 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:248 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12181,8 +11761,7 @@ local_size = (8, 1, 1) 0:250 0 (const int) 0:250 Constant: 0:250 0 (const int) -0:250 ERROR: Bad aggregation op - ( global highp float) +0:250 subgroupPartitionedExclusiveAddNV ( global highp float) 0:250 direct index ( temp highp float) 0:250 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:250 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12208,8 +11787,7 @@ local_size = (8, 1, 1) 0:251 0 (const int) 0:251 Constant: 0:251 1 (const int) -0:251 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:251 subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of float) 0:251 vector swizzle ( temp highp 2-component vector of float) 0:251 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:251 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12240,8 +11818,7 @@ local_size = (8, 1, 1) 0:252 1 (const int) 0:252 Constant: 0:252 2 (const int) -0:252 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:252 subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of float) 0:252 vector swizzle ( temp highp 3-component vector of float) 0:252 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:252 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12266,8 +11843,7 @@ local_size = (8, 1, 1) 0:253 0 (const int) 0:253 Constant: 0:253 0 (const int) -0:253 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:253 subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of float) 0:253 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:253 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:253 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12287,8 +11863,7 @@ local_size = (8, 1, 1) 0:255 1 (const int) 0:255 Constant: 0:255 0 (const int) -0:255 ERROR: Bad aggregation op - ( global highp int) +0:255 subgroupPartitionedExclusiveAddNV ( global highp int) 0:255 direct index ( temp highp int) 0:255 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:255 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12314,8 +11889,7 @@ local_size = (8, 1, 1) 0:256 0 (const int) 0:256 Constant: 0:256 1 (const int) -0:256 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:256 subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of int) 0:256 vector swizzle ( temp highp 2-component vector of int) 0:256 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:256 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12346,8 +11920,7 @@ local_size = (8, 1, 1) 0:257 1 (const int) 0:257 Constant: 0:257 2 (const int) -0:257 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:257 subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of int) 0:257 vector swizzle ( temp highp 3-component vector of int) 0:257 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:257 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12372,8 +11945,7 @@ local_size = (8, 1, 1) 0:258 0 (const int) 0:258 Constant: 0:258 1 (const int) -0:258 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:258 subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of int) 0:258 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:258 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:258 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12393,8 +11965,7 @@ local_size = (8, 1, 1) 0:260 2 (const int) 0:260 Constant: 0:260 0 (const int) -0:260 ERROR: Bad aggregation op - ( global highp uint) +0:260 subgroupPartitionedExclusiveAddNV ( global highp uint) 0:260 direct index ( temp highp uint) 0:260 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:260 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12420,8 +11991,7 @@ local_size = (8, 1, 1) 0:261 0 (const int) 0:261 Constant: 0:261 1 (const int) -0:261 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:261 subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of uint) 0:261 vector swizzle ( temp highp 2-component vector of uint) 0:261 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:261 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12452,8 +12022,7 @@ local_size = (8, 1, 1) 0:262 1 (const int) 0:262 Constant: 0:262 2 (const int) -0:262 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:262 subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of uint) 0:262 vector swizzle ( temp highp 3-component vector of uint) 0:262 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:262 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12478,8 +12047,7 @@ local_size = (8, 1, 1) 0:263 0 (const int) 0:263 Constant: 0:263 2 (const int) -0:263 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:263 subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of uint) 0:263 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:263 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:263 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12499,8 +12067,7 @@ local_size = (8, 1, 1) 0:265 0 (const int) 0:265 Constant: 0:265 0 (const int) -0:265 ERROR: Bad aggregation op - ( global highp float) +0:265 subgroupPartitionedExclusiveMulNV ( global highp float) 0:265 direct index ( temp highp float) 0:265 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:265 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12526,8 +12093,7 @@ local_size = (8, 1, 1) 0:266 0 (const int) 0:266 Constant: 0:266 1 (const int) -0:266 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:266 subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of float) 0:266 vector swizzle ( temp highp 2-component vector of float) 0:266 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:266 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12558,8 +12124,7 @@ local_size = (8, 1, 1) 0:267 1 (const int) 0:267 Constant: 0:267 2 (const int) -0:267 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:267 subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of float) 0:267 vector swizzle ( temp highp 3-component vector of float) 0:267 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:267 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12584,8 +12149,7 @@ local_size = (8, 1, 1) 0:268 0 (const int) 0:268 Constant: 0:268 0 (const int) -0:268 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:268 subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of float) 0:268 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:268 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:268 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12605,8 +12169,7 @@ local_size = (8, 1, 1) 0:270 1 (const int) 0:270 Constant: 0:270 0 (const int) -0:270 ERROR: Bad aggregation op - ( global highp int) +0:270 subgroupPartitionedExclusiveMulNV ( global highp int) 0:270 direct index ( temp highp int) 0:270 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:270 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12632,8 +12195,7 @@ local_size = (8, 1, 1) 0:271 0 (const int) 0:271 Constant: 0:271 1 (const int) -0:271 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:271 subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of int) 0:271 vector swizzle ( temp highp 2-component vector of int) 0:271 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:271 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12664,8 +12226,7 @@ local_size = (8, 1, 1) 0:272 1 (const int) 0:272 Constant: 0:272 2 (const int) -0:272 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:272 subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of int) 0:272 vector swizzle ( temp highp 3-component vector of int) 0:272 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:272 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12690,8 +12251,7 @@ local_size = (8, 1, 1) 0:273 1 (const int) 0:273 Constant: 0:273 1 (const int) -0:273 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:273 subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of int) 0:273 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:273 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:273 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12711,8 +12271,7 @@ local_size = (8, 1, 1) 0:275 2 (const int) 0:275 Constant: 0:275 0 (const int) -0:275 ERROR: Bad aggregation op - ( global highp uint) +0:275 subgroupPartitionedExclusiveMulNV ( global highp uint) 0:275 direct index ( temp highp uint) 0:275 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:275 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12738,8 +12297,7 @@ local_size = (8, 1, 1) 0:276 0 (const int) 0:276 Constant: 0:276 1 (const int) -0:276 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:276 subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of uint) 0:276 vector swizzle ( temp highp 2-component vector of uint) 0:276 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:276 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12770,8 +12328,7 @@ local_size = (8, 1, 1) 0:277 1 (const int) 0:277 Constant: 0:277 2 (const int) -0:277 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:277 subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of uint) 0:277 vector swizzle ( temp highp 3-component vector of uint) 0:277 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:277 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12796,8 +12353,7 @@ local_size = (8, 1, 1) 0:278 1 (const int) 0:278 Constant: 0:278 2 (const int) -0:278 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:278 subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of uint) 0:278 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:278 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:278 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12817,8 +12373,7 @@ local_size = (8, 1, 1) 0:280 0 (const int) 0:280 Constant: 0:280 0 (const int) -0:280 ERROR: Bad aggregation op - ( global highp float) +0:280 subgroupPartitionedExclusiveMinNV ( global highp float) 0:280 direct index ( temp highp float) 0:280 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:280 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12844,8 +12399,7 @@ local_size = (8, 1, 1) 0:281 0 (const int) 0:281 Constant: 0:281 1 (const int) -0:281 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:281 subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of float) 0:281 vector swizzle ( temp highp 2-component vector of float) 0:281 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:281 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12876,8 +12430,7 @@ local_size = (8, 1, 1) 0:282 1 (const int) 0:282 Constant: 0:282 2 (const int) -0:282 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:282 subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of float) 0:282 vector swizzle ( temp highp 3-component vector of float) 0:282 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:282 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12902,8 +12455,7 @@ local_size = (8, 1, 1) 0:283 1 (const int) 0:283 Constant: 0:283 0 (const int) -0:283 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:283 subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of float) 0:283 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:283 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:283 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12923,8 +12475,7 @@ local_size = (8, 1, 1) 0:285 1 (const int) 0:285 Constant: 0:285 0 (const int) -0:285 ERROR: Bad aggregation op - ( global highp int) +0:285 subgroupPartitionedExclusiveMinNV ( global highp int) 0:285 direct index ( temp highp int) 0:285 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:285 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12950,8 +12501,7 @@ local_size = (8, 1, 1) 0:286 0 (const int) 0:286 Constant: 0:286 1 (const int) -0:286 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:286 subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of int) 0:286 vector swizzle ( temp highp 2-component vector of int) 0:286 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:286 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -12982,8 +12532,7 @@ local_size = (8, 1, 1) 0:287 1 (const int) 0:287 Constant: 0:287 2 (const int) -0:287 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:287 subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of int) 0:287 vector swizzle ( temp highp 3-component vector of int) 0:287 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:287 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13008,8 +12557,7 @@ local_size = (8, 1, 1) 0:288 1 (const int) 0:288 Constant: 0:288 1 (const int) -0:288 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:288 subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of int) 0:288 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:288 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:288 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13029,8 +12577,7 @@ local_size = (8, 1, 1) 0:290 2 (const int) 0:290 Constant: 0:290 0 (const int) -0:290 ERROR: Bad aggregation op - ( global highp uint) +0:290 subgroupPartitionedExclusiveMinNV ( global highp uint) 0:290 direct index ( temp highp uint) 0:290 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:290 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13056,8 +12603,7 @@ local_size = (8, 1, 1) 0:291 0 (const int) 0:291 Constant: 0:291 1 (const int) -0:291 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:291 subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of uint) 0:291 vector swizzle ( temp highp 2-component vector of uint) 0:291 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:291 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13088,8 +12634,7 @@ local_size = (8, 1, 1) 0:292 1 (const int) 0:292 Constant: 0:292 2 (const int) -0:292 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:292 subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of uint) 0:292 vector swizzle ( temp highp 3-component vector of uint) 0:292 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:292 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13114,8 +12659,7 @@ local_size = (8, 1, 1) 0:293 2 (const int) 0:293 Constant: 0:293 2 (const int) -0:293 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:293 subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of uint) 0:293 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:293 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:293 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13135,8 +12679,7 @@ local_size = (8, 1, 1) 0:295 0 (const int) 0:295 Constant: 0:295 0 (const int) -0:295 ERROR: Bad aggregation op - ( global highp float) +0:295 subgroupPartitionedExclusiveMaxNV ( global highp float) 0:295 direct index ( temp highp float) 0:295 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:295 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13162,8 +12705,7 @@ local_size = (8, 1, 1) 0:296 0 (const int) 0:296 Constant: 0:296 1 (const int) -0:296 ERROR: Bad aggregation op - ( global highp 2-component vector of float) +0:296 subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of float) 0:296 vector swizzle ( temp highp 2-component vector of float) 0:296 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:296 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13194,8 +12736,7 @@ local_size = (8, 1, 1) 0:297 1 (const int) 0:297 Constant: 0:297 2 (const int) -0:297 ERROR: Bad aggregation op - ( global highp 3-component vector of float) +0:297 subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of float) 0:297 vector swizzle ( temp highp 3-component vector of float) 0:297 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:297 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13220,8 +12761,7 @@ local_size = (8, 1, 1) 0:298 2 (const int) 0:298 Constant: 0:298 0 (const int) -0:298 ERROR: Bad aggregation op - ( global highp 4-component vector of float) +0:298 subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of float) 0:298 f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float) 0:298 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:298 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13241,8 +12781,7 @@ local_size = (8, 1, 1) 0:300 1 (const int) 0:300 Constant: 0:300 0 (const int) -0:300 ERROR: Bad aggregation op - ( global highp int) +0:300 subgroupPartitionedExclusiveMaxNV ( global highp int) 0:300 direct index ( temp highp int) 0:300 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:300 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13268,8 +12807,7 @@ local_size = (8, 1, 1) 0:301 0 (const int) 0:301 Constant: 0:301 1 (const int) -0:301 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:301 subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of int) 0:301 vector swizzle ( temp highp 2-component vector of int) 0:301 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:301 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13300,8 +12838,7 @@ local_size = (8, 1, 1) 0:302 1 (const int) 0:302 Constant: 0:302 2 (const int) -0:302 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:302 subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of int) 0:302 vector swizzle ( temp highp 3-component vector of int) 0:302 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:302 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13326,8 +12863,7 @@ local_size = (8, 1, 1) 0:303 2 (const int) 0:303 Constant: 0:303 1 (const int) -0:303 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:303 subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of int) 0:303 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:303 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:303 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13347,8 +12883,7 @@ local_size = (8, 1, 1) 0:305 2 (const int) 0:305 Constant: 0:305 0 (const int) -0:305 ERROR: Bad aggregation op - ( global highp uint) +0:305 subgroupPartitionedExclusiveMaxNV ( global highp uint) 0:305 direct index ( temp highp uint) 0:305 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:305 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13374,8 +12909,7 @@ local_size = (8, 1, 1) 0:306 0 (const int) 0:306 Constant: 0:306 1 (const int) -0:306 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:306 subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of uint) 0:306 vector swizzle ( temp highp 2-component vector of uint) 0:306 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:306 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13406,8 +12940,7 @@ local_size = (8, 1, 1) 0:307 1 (const int) 0:307 Constant: 0:307 2 (const int) -0:307 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:307 subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of uint) 0:307 vector swizzle ( temp highp 3-component vector of uint) 0:307 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:307 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13432,8 +12965,7 @@ local_size = (8, 1, 1) 0:308 2 (const int) 0:308 Constant: 0:308 2 (const int) -0:308 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:308 subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of uint) 0:308 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:308 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:308 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13453,8 +12985,7 @@ local_size = (8, 1, 1) 0:310 1 (const int) 0:310 Constant: 0:310 0 (const int) -0:310 ERROR: Bad aggregation op - ( global highp int) +0:310 subgroupPartitionedExclusiveAndNV ( global highp int) 0:310 direct index ( temp highp int) 0:310 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:310 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13480,8 +13011,7 @@ local_size = (8, 1, 1) 0:311 0 (const int) 0:311 Constant: 0:311 1 (const int) -0:311 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:311 subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of int) 0:311 vector swizzle ( temp highp 2-component vector of int) 0:311 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:311 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13512,8 +13042,7 @@ local_size = (8, 1, 1) 0:312 1 (const int) 0:312 Constant: 0:312 2 (const int) -0:312 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:312 subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of int) 0:312 vector swizzle ( temp highp 3-component vector of int) 0:312 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:312 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13538,8 +13067,7 @@ local_size = (8, 1, 1) 0:313 2 (const int) 0:313 Constant: 0:313 1 (const int) -0:313 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:313 subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of int) 0:313 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:313 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:313 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13559,8 +13087,7 @@ local_size = (8, 1, 1) 0:315 2 (const int) 0:315 Constant: 0:315 0 (const int) -0:315 ERROR: Bad aggregation op - ( global highp uint) +0:315 subgroupPartitionedExclusiveAndNV ( global highp uint) 0:315 direct index ( temp highp uint) 0:315 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:315 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13586,8 +13113,7 @@ local_size = (8, 1, 1) 0:316 0 (const int) 0:316 Constant: 0:316 1 (const int) -0:316 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:316 subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of uint) 0:316 vector swizzle ( temp highp 2-component vector of uint) 0:316 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:316 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13618,8 +13144,7 @@ local_size = (8, 1, 1) 0:317 1 (const int) 0:317 Constant: 0:317 2 (const int) -0:317 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:317 subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of uint) 0:317 vector swizzle ( temp highp 3-component vector of uint) 0:317 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:317 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13644,8 +13169,7 @@ local_size = (8, 1, 1) 0:318 2 (const int) 0:318 Constant: 0:318 2 (const int) -0:318 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:318 subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of uint) 0:318 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:318 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:318 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13666,8 +13190,7 @@ local_size = (8, 1, 1) 0:320 Constant: 0:320 0 (const int) 0:320 Convert bool to int ( temp highp int) -0:320 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:320 subgroupPartitionedExclusiveAndNV ( global bool, operation at highp) 0:320 Compare Less Than ( temp bool) 0:320 direct index ( temp highp int) 0:320 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -13697,8 +13220,7 @@ local_size = (8, 1, 1) 0:321 Constant: 0:321 1 (const int) 0:321 Convert bool to int ( temp highp 2-component vector of int) -0:321 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:321 subgroupPartitionedExclusiveAndNV ( global 2-component vector of bool, operation at highp) 0:321 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:321 vector swizzle ( temp highp 2-component vector of int) 0:321 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -13734,8 +13256,7 @@ local_size = (8, 1, 1) 0:322 Constant: 0:322 2 (const int) 0:322 Convert bool to int ( temp highp 3-component vector of int) -0:322 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:322 subgroupPartitionedExclusiveAndNV ( global 3-component vector of bool, operation at highp) 0:322 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:322 vector swizzle ( temp highp 3-component vector of int) 0:322 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -13766,8 +13287,7 @@ local_size = (8, 1, 1) 0:323 Constant: 0:323 1 (const int) 0:323 Convert bool to int ( temp highp 4-component vector of int) -0:323 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:323 subgroupPartitionedExclusiveAndNV ( global 4-component vector of bool, operation at highp) 0:323 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:323 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:323 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13793,8 +13313,7 @@ local_size = (8, 1, 1) 0:325 1 (const int) 0:325 Constant: 0:325 0 (const int) -0:325 ERROR: Bad aggregation op - ( global highp int) +0:325 subgroupPartitionedExclusiveOrNV ( global highp int) 0:325 direct index ( temp highp int) 0:325 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:325 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13820,8 +13339,7 @@ local_size = (8, 1, 1) 0:326 0 (const int) 0:326 Constant: 0:326 1 (const int) -0:326 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:326 subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of int) 0:326 vector swizzle ( temp highp 2-component vector of int) 0:326 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:326 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13852,8 +13370,7 @@ local_size = (8, 1, 1) 0:327 1 (const int) 0:327 Constant: 0:327 2 (const int) -0:327 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:327 subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of int) 0:327 vector swizzle ( temp highp 3-component vector of int) 0:327 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:327 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13878,8 +13395,7 @@ local_size = (8, 1, 1) 0:328 3 (const int) 0:328 Constant: 0:328 1 (const int) -0:328 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:328 subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of int) 0:328 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:328 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:328 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13899,8 +13415,7 @@ local_size = (8, 1, 1) 0:330 2 (const int) 0:330 Constant: 0:330 0 (const int) -0:330 ERROR: Bad aggregation op - ( global highp uint) +0:330 subgroupPartitionedExclusiveOrNV ( global highp uint) 0:330 direct index ( temp highp uint) 0:330 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:330 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13926,8 +13441,7 @@ local_size = (8, 1, 1) 0:331 0 (const int) 0:331 Constant: 0:331 1 (const int) -0:331 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:331 subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of uint) 0:331 vector swizzle ( temp highp 2-component vector of uint) 0:331 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:331 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13958,8 +13472,7 @@ local_size = (8, 1, 1) 0:332 1 (const int) 0:332 Constant: 0:332 2 (const int) -0:332 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:332 subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of uint) 0:332 vector swizzle ( temp highp 3-component vector of uint) 0:332 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:332 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -13984,8 +13497,7 @@ local_size = (8, 1, 1) 0:333 3 (const int) 0:333 Constant: 0:333 2 (const int) -0:333 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:333 subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of uint) 0:333 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:333 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:333 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14006,8 +13518,7 @@ local_size = (8, 1, 1) 0:335 Constant: 0:335 0 (const int) 0:335 Convert bool to int ( temp highp int) -0:335 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:335 subgroupPartitionedExclusiveOrNV ( global bool, operation at highp) 0:335 Compare Less Than ( temp bool) 0:335 direct index ( temp highp int) 0:335 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -14037,8 +13548,7 @@ local_size = (8, 1, 1) 0:336 Constant: 0:336 1 (const int) 0:336 Convert bool to int ( temp highp 2-component vector of int) -0:336 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:336 subgroupPartitionedExclusiveOrNV ( global 2-component vector of bool, operation at highp) 0:336 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:336 vector swizzle ( temp highp 2-component vector of int) 0:336 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -14074,8 +13584,7 @@ local_size = (8, 1, 1) 0:337 Constant: 0:337 2 (const int) 0:337 Convert bool to int ( temp highp 3-component vector of int) -0:337 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:337 subgroupPartitionedExclusiveOrNV ( global 3-component vector of bool, operation at highp) 0:337 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:337 vector swizzle ( temp highp 3-component vector of int) 0:337 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -14106,8 +13615,7 @@ local_size = (8, 1, 1) 0:338 Constant: 0:338 1 (const int) 0:338 Convert bool to int ( temp highp 4-component vector of int) -0:338 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:338 subgroupPartitionedExclusiveOrNV ( global 4-component vector of bool, operation at highp) 0:338 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:338 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:338 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14133,8 +13641,7 @@ local_size = (8, 1, 1) 0:340 1 (const int) 0:340 Constant: 0:340 0 (const int) -0:340 ERROR: Bad aggregation op - ( global highp int) +0:340 subgroupPartitionedExclusiveXorNV ( global highp int) 0:340 direct index ( temp highp int) 0:340 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:340 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14160,8 +13667,7 @@ local_size = (8, 1, 1) 0:341 0 (const int) 0:341 Constant: 0:341 1 (const int) -0:341 ERROR: Bad aggregation op - ( global highp 2-component vector of int) +0:341 subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of int) 0:341 vector swizzle ( temp highp 2-component vector of int) 0:341 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:341 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14192,8 +13698,7 @@ local_size = (8, 1, 1) 0:342 1 (const int) 0:342 Constant: 0:342 2 (const int) -0:342 ERROR: Bad aggregation op - ( global highp 3-component vector of int) +0:342 subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of int) 0:342 vector swizzle ( temp highp 3-component vector of int) 0:342 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:342 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14218,8 +13723,7 @@ local_size = (8, 1, 1) 0:343 3 (const int) 0:343 Constant: 0:343 1 (const int) -0:343 ERROR: Bad aggregation op - ( global highp 4-component vector of int) +0:343 subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of int) 0:343 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:343 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:343 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14239,8 +13743,7 @@ local_size = (8, 1, 1) 0:345 2 (const int) 0:345 Constant: 0:345 0 (const int) -0:345 ERROR: Bad aggregation op - ( global highp uint) +0:345 subgroupPartitionedExclusiveXorNV ( global highp uint) 0:345 direct index ( temp highp uint) 0:345 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:345 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14266,8 +13769,7 @@ local_size = (8, 1, 1) 0:346 0 (const int) 0:346 Constant: 0:346 1 (const int) -0:346 ERROR: Bad aggregation op - ( global highp 2-component vector of uint) +0:346 subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of uint) 0:346 vector swizzle ( temp highp 2-component vector of uint) 0:346 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:346 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14298,8 +13800,7 @@ local_size = (8, 1, 1) 0:347 1 (const int) 0:347 Constant: 0:347 2 (const int) -0:347 ERROR: Bad aggregation op - ( global highp 3-component vector of uint) +0:347 subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of uint) 0:347 vector swizzle ( temp highp 3-component vector of uint) 0:347 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:347 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14324,8 +13825,7 @@ local_size = (8, 1, 1) 0:348 0 (const int) 0:348 Constant: 0:348 2 (const int) -0:348 ERROR: Bad aggregation op - ( global highp 4-component vector of uint) +0:348 subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of uint) 0:348 u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint) 0:348 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) 0:348 'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) @@ -14346,8 +13846,7 @@ local_size = (8, 1, 1) 0:350 Constant: 0:350 0 (const int) 0:350 Convert bool to int ( temp highp int) -0:350 ERROR: Bad aggregation op - ( global bool, operation at highp) +0:350 subgroupPartitionedExclusiveXorNV ( global bool, operation at highp) 0:350 Compare Less Than ( temp bool) 0:350 direct index ( temp highp int) 0:350 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -14377,8 +13876,7 @@ local_size = (8, 1, 1) 0:351 Constant: 0:351 1 (const int) 0:351 Convert bool to int ( temp highp 2-component vector of int) -0:351 ERROR: Bad aggregation op - ( global 2-component vector of bool, operation at highp) +0:351 subgroupPartitionedExclusiveXorNV ( global 2-component vector of bool, operation at highp) 0:351 Compare Less Than ( global 2-component vector of bool, operation at highp) 0:351 vector swizzle ( temp highp 2-component vector of int) 0:351 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -14414,8 +13912,7 @@ local_size = (8, 1, 1) 0:352 Constant: 0:352 2 (const int) 0:352 Convert bool to int ( temp highp 3-component vector of int) -0:352 ERROR: Bad aggregation op - ( global 3-component vector of bool, operation at highp) +0:352 subgroupPartitionedExclusiveXorNV ( global 3-component vector of bool, operation at highp) 0:352 Compare Less Than ( global 3-component vector of bool, operation at highp) 0:352 vector swizzle ( temp highp 3-component vector of int) 0:352 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) @@ -14446,8 +13943,7 @@ local_size = (8, 1, 1) 0:353 Constant: 0:353 1 (const int) 0:353 Convert bool to int ( temp highp 4-component vector of int) -0:353 ERROR: Bad aggregation op - ( global 4-component vector of bool, operation at highp) +0:353 subgroupPartitionedExclusiveXorNV ( global 4-component vector of bool, operation at highp) 0:353 Compare Less Than ( global 4-component vector of bool, operation at highp) 0:353 i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int) 0:353 direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4}) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupQuad.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupQuad.comp.out index 0863db0d4..1df8d7f90 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupQuad.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupQuad.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffle.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffle.comp.out index e40ae4011..31b14307c 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffle.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffle.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out index e0f25912d..421e3bb98 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupShuffleRelative.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupVote.comp.out b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupVote.comp.out index 68c8ea7c2..34c4f3940 100644 --- a/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupVote.comp.out +++ b/3rdparty/glslang/Test/baseResults/glsl.es320.subgroupVote.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/hlsl.wavequery.comp.out b/3rdparty/glslang/Test/baseResults/hlsl.wavequery.comp.out index c25a53722..67da71d6b 100644 --- a/3rdparty/glslang/Test/baseResults/hlsl.wavequery.comp.out +++ b/3rdparty/glslang/Test/baseResults/hlsl.wavequery.comp.out @@ -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) diff --git a/3rdparty/glslang/Test/baseResults/nonuniform.frag.out b/3rdparty/glslang/Test/baseResults/nonuniform.frag.out index 2d4e9b011..0df8cfc39 100644 --- a/3rdparty/glslang/Test/baseResults/nonuniform.frag.out +++ b/3rdparty/glslang/Test/baseResults/nonuniform.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out b/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out index 878aa1a2e..cffc3a4fe 100644 --- a/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out +++ b/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out b/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out index 54b497ff3..7bdda4afd 100644 --- a/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out +++ b/3rdparty/glslang/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.3.coopmat.comp.out b/3rdparty/glslang/Test/baseResults/spv.1.3.coopmat.comp.out index aa1b94917..c18384797 100644 --- a/3rdparty/glslang/Test/baseResults/spv.1.3.coopmat.comp.out +++ b/3rdparty/glslang/Test/baseResults/spv.1.3.coopmat.comp.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.LoopControl.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.LoopControl.frag.out new file mode 100644 index 000000000..c9a605b95 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.LoopControl.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.NonWritable.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.NonWritable.frag.out new file mode 100755 index 000000000..3f54661d3 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.NonWritable.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.comp.out b/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.comp.out new file mode 100644 index 000000000..d80bfee7c --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.comp.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out new file mode 100644 index 000000000..85bfdb268 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out b/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out new file mode 100644 index 000000000..f2f85c10b --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.OpEntryPoint.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.OpEntryPoint.frag.out new file mode 100644 index 000000000..694cff046 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.OpEntryPoint.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.OpSelect.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.OpSelect.frag.out new file mode 100755 index 000000000..31797170d --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.OpSelect.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.image.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.image.frag.out new file mode 100755 index 000000000..4adfd4bdd --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.image.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.sparseTexture.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.sparseTexture.frag.out new file mode 100755 index 000000000..292335ed7 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.sparseTexture.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.1.4.texture.frag.out b/3rdparty/glslang/Test/baseResults/spv.1.4.texture.frag.out new file mode 100755 index 000000000..7c2de0bb1 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.1.4.texture.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-int.frag.out b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-int.frag.out index 12bf2aef7..c0cecfade 100644 --- a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-int.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-int.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ssbo.vert.out b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ssbo.vert.out index 1e2337836..d0379fa53 100644 --- a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ssbo.vert.out +++ b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ssbo.vert.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ubo.vert.out b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ubo.vert.out index a6a05cfb5..c5ec89d4d 100644 --- a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ubo.vert.out +++ b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-ubo.vert.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-uint.frag.out b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-uint.frag.out index 595558d70..e89627bd8 100644 --- a/3rdparty/glslang/Test/baseResults/spv.8bitstorage-uint.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.8bitstorage-uint.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.RayGenShaderArray.rgen.out b/3rdparty/glslang/Test/baseResults/spv.RayGenShaderArray.rgen.out new file mode 100644 index 000000000..743075692 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.RayGenShaderArray.rgen.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle1.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle1.frag.out index 906cb51a9..6e50c7052 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle1.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle1.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle10.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle10.frag.out index 72777f977..a95dc7197 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle10.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle10.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle11.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle11.frag.out index 0764a0032..7e7a7bd66 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle11.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle11.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle12.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle12.frag.out index 38b390ff2..6c20f02c8 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle12.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle12.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle13.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle13.frag.out index 8c12c4fe8..1231cf679 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle13.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle13.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle14.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle14.frag.out index d8c272691..940793d3a 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle14.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle14.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle15.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle15.frag.out index a4a434d00..ec7064d9d 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle15.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle15.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle16.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle16.frag.out index a4cf44d1c..16e69d1d2 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle16.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle16.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle18.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle18.frag.out new file mode 100644 index 000000000..567295d30 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle18.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle19_Errors.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle19_Errors.frag.out new file mode 100644 index 000000000..930e5a4ff --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle19_Errors.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle2.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle2.frag.out index fbcf16cb7..8fee6db6b 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle2.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle2.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle3.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle3.frag.out index a2cb85f1b..c02c34cf8 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle3.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle3.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle4.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle4.frag.out index 08de87113..3f568b0f0 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle4.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle4.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle5.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle5.frag.out index 36564088c..3f1d21412 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle5.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle5.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle6.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle6.frag.out index 54db3cf51..866741f94 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle6.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle6.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle7.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle7.frag.out index 4a52596eb..d09eded3c 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle7.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle7.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle8.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle8.frag.out index 168da8186..c37fa3fe6 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle8.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle8.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.bufferhandle9.frag.out b/3rdparty/glslang/Test/baseResults/spv.bufferhandle9.frag.out index e74be8a5d..5b91eda91 100644 --- a/3rdparty/glslang/Test/baseResults/spv.bufferhandle9.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.bufferhandle9.frag.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.controlFlowAttributes.frag.out b/3rdparty/glslang/Test/baseResults/spv.controlFlowAttributes.frag.out index 489522be3..c7082326a 100644 --- a/3rdparty/glslang/Test/baseResults/spv.controlFlowAttributes.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.controlFlowAttributes.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.coopmat.comp.out b/3rdparty/glslang/Test/baseResults/spv.coopmat.comp.out index 5c003841c..0507129c7 100644 --- a/3rdparty/glslang/Test/baseResults/spv.coopmat.comp.out +++ b/3rdparty/glslang/Test/baseResults/spv.coopmat.comp.out @@ -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" diff --git a/3rdparty/glslang/Test/baseResults/spv.fsi.frag.out b/3rdparty/glslang/Test/baseResults/spv.fsi.frag.out new file mode 100644 index 000000000..51fb06882 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.fsi.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.fsi_Error.frag.out b/3rdparty/glslang/Test/baseResults/spv.fsi_Error.frag.out new file mode 100644 index 000000000..4a03436dc --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.fsi_Error.frag.out @@ -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 diff --git a/3rdparty/glslang/Test/baseResults/spv.int8.frag.out b/3rdparty/glslang/Test/baseResults/spv.int8.frag.out index 71307d805..0a4740d38 100644 --- a/3rdparty/glslang/Test/baseResults/spv.int8.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.int8.frag.out @@ -9,7 +9,7 @@ spv.int8.frag Capability Int64 Capability Int16 Capability Int8 - Capability CapabilityUniformAndStorageBuffer8BitAccess + Capability UniformAndStorageBuffer8BitAccess Extension "SPV_KHR_8bit_storage" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 diff --git a/3rdparty/glslang/Test/baseResults/spv.memoryScopeSemantics.comp.out b/3rdparty/glslang/Test/baseResults/spv.memoryScopeSemantics.comp.out index 0de15efa7..9361e76e2 100644 --- a/3rdparty/glslang/Test/baseResults/spv.memoryScopeSemantics.comp.out +++ b/3rdparty/glslang/Test/baseResults/spv.memoryScopeSemantics.comp.out @@ -6,8 +6,8 @@ spv.memoryScopeSemantics.comp Capability Shader Capability Int64 Capability Int64Atomics - Capability CapabilityVulkanMemoryModelKHR - Capability CapabilityVulkanMemoryModelDeviceScopeKHR + Capability VulkanMemoryModelKHR + Capability VulkanMemoryModelDeviceScopeKHR Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical VulkanKHR diff --git a/3rdparty/glslang/Test/baseResults/spv.nonuniform.frag.out b/3rdparty/glslang/Test/baseResults/spv.nonuniform.frag.out index 972276a6b..3aaa8733c 100644 --- a/3rdparty/glslang/Test/baseResults/spv.nonuniform.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.nonuniform.frag.out @@ -1,28 +1,28 @@ spv.nonuniform.frag // Module Version 10000 // Generated by (magic number): 80007 -// Id's are bound by 210 +// Id's are bound by 212 Capability Shader Capability InputAttachment Capability SampledBuffer Capability ImageBuffer - Capability CapabilityShaderNonUniformEXT - Capability CapabilityRuntimeDescriptorArrayEXT - Capability CapabilityInputAttachmentArrayDynamicIndexingEXT - Capability CapabilityUniformTexelBufferArrayDynamicIndexingEXT - Capability CapabilityStorageTexelBufferArrayDynamicIndexingEXT - Capability CapabilityUniformBufferArrayNonUniformIndexingEXT - Capability CapabilitySampledImageArrayNonUniformIndexingEXT - Capability CapabilityStorageBufferArrayNonUniformIndexingEXT - Capability CapabilityStorageImageArrayNonUniformIndexingEXT - Capability CapabilityInputAttachmentArrayNonUniformIndexingEXT - Capability CapabilityUniformTexelBufferArrayNonUniformIndexingEXT - Capability CapabilityStorageTexelBufferArrayNonUniformIndexingEXT + Capability ShaderNonUniformEXT + Capability RuntimeDescriptorArrayEXT + Capability InputAttachmentArrayDynamicIndexingEXT + Capability UniformTexelBufferArrayDynamicIndexingEXT + Capability StorageTexelBufferArrayDynamicIndexingEXT + Capability UniformBufferArrayNonUniformIndexingEXT + Capability SampledImageArrayNonUniformIndexingEXT + Capability StorageBufferArrayNonUniformIndexingEXT + Capability StorageImageArrayNonUniformIndexingEXT + Capability InputAttachmentArrayNonUniformIndexingEXT + Capability UniformTexelBufferArrayNonUniformIndexingEXT + Capability StorageTexelBufferArrayNonUniformIndexingEXT Extension "SPV_EXT_descriptor_indexing" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 33 90 + EntryPoint Fragment 4 "main" 35 92 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_nonuniform_qualifier" @@ -34,189 +34,189 @@ spv.nonuniform.frag Name 17 "nu_li" Name 18 "param" Name 20 "param" - Name 30 "b" - Name 33 "nu_inv4" - Name 39 "nu_gf" - Name 45 "inputAttachmentDyn" - Name 46 "dyn_i" - Name 62 "uniformTexelBufferDyn" - Name 76 "storageTexelBufferDyn" - Name 85 "uname" - MemberName 85(uname) 0 "a" - Name 88 "uniformBuffer" - Name 90 "nu_ii" - Name 97 "bname" - MemberName 97(bname) 0 "b" - Name 100 "storageBuffer" - Name 110 "sampledImage" - Name 125 "storageImage" - Name 137 "inputAttachment" - Name 147 "uniformTexelBuffer" - Name 158 "storageTexelBuffer" - Name 168 "v" - Name 183 "uv" - Name 193 "m" - Name 201 "S" - MemberName 201(S) 0 "a" - Name 203 "s" + Name 32 "b" + Name 35 "nu_inv4" + Name 41 "nu_gf" + Name 47 "inputAttachmentDyn" + Name 48 "dyn_i" + Name 64 "uniformTexelBufferDyn" + Name 78 "storageTexelBufferDyn" + Name 87 "uname" + MemberName 87(uname) 0 "a" + Name 90 "uniformBuffer" + Name 92 "nu_ii" + Name 99 "bname" + MemberName 99(bname) 0 "b" + Name 102 "storageBuffer" + Name 112 "sampledImage" + Name 127 "storageImage" + Name 139 "inputAttachment" + Name 149 "uniformTexelBuffer" + Name 160 "storageTexelBuffer" + Name 170 "v" + Name 185 "uv" + Name 195 "m" + Name 203 "S" + MemberName 203(S) 0 "a" + Name 205 "s" Decorate 13 DecorationNonUniformEXT Decorate 17(nu_li) DecorationNonUniformEXT Decorate 19 DecorationNonUniformEXT - Decorate 23 DecorationNonUniformEXT - Decorate 26 DecorationNonUniformEXT - Decorate 27 DecorationNonUniformEXT - Decorate 33(nu_inv4) Location 0 - Decorate 33(nu_inv4) DecorationNonUniformEXT - Decorate 38 DecorationNonUniformEXT - Decorate 39(nu_gf) DecorationNonUniformEXT + Decorate 24 DecorationNonUniformEXT + Decorate 28 DecorationNonUniformEXT + Decorate 29 DecorationNonUniformEXT + Decorate 35(nu_inv4) Location 0 + Decorate 35(nu_inv4) DecorationNonUniformEXT Decorate 40 DecorationNonUniformEXT - Decorate 41 DecorationNonUniformEXT - Decorate 45(inputAttachmentDyn) DescriptorSet 0 - Decorate 45(inputAttachmentDyn) Binding 0 - Decorate 45(inputAttachmentDyn) InputAttachmentIndex 0 - Decorate 62(uniformTexelBufferDyn) DescriptorSet 0 - Decorate 62(uniformTexelBufferDyn) Binding 1 - Decorate 76(storageTexelBufferDyn) DescriptorSet 0 - Decorate 76(storageTexelBufferDyn) Binding 2 - MemberDecorate 85(uname) 0 Offset 0 - Decorate 85(uname) Block - Decorate 88(uniformBuffer) DescriptorSet 0 - Decorate 88(uniformBuffer) Binding 3 - Decorate 90(nu_ii) Flat - Decorate 90(nu_ii) Location 1 - Decorate 90(nu_ii) DecorationNonUniformEXT - Decorate 91 DecorationNonUniformEXT - Decorate 94 DecorationNonUniformEXT - MemberDecorate 97(bname) 0 Offset 0 - Decorate 97(bname) BufferBlock - Decorate 100(storageBuffer) DescriptorSet 0 - Decorate 100(storageBuffer) Binding 4 - Decorate 101 DecorationNonUniformEXT + Decorate 41(nu_gf) DecorationNonUniformEXT + Decorate 42 DecorationNonUniformEXT + Decorate 43 DecorationNonUniformEXT + Decorate 47(inputAttachmentDyn) DescriptorSet 0 + Decorate 47(inputAttachmentDyn) Binding 0 + Decorate 47(inputAttachmentDyn) InputAttachmentIndex 0 + Decorate 64(uniformTexelBufferDyn) DescriptorSet 0 + Decorate 64(uniformTexelBufferDyn) Binding 1 + Decorate 78(storageTexelBufferDyn) DescriptorSet 0 + Decorate 78(storageTexelBufferDyn) Binding 2 + MemberDecorate 87(uname) 0 Offset 0 + Decorate 87(uname) Block + Decorate 90(uniformBuffer) DescriptorSet 0 + Decorate 90(uniformBuffer) Binding 3 + Decorate 92(nu_ii) Flat + Decorate 92(nu_ii) Location 1 + Decorate 92(nu_ii) DecorationNonUniformEXT + Decorate 93 DecorationNonUniformEXT + Decorate 96 DecorationNonUniformEXT + MemberDecorate 99(bname) 0 Offset 0 + Decorate 99(bname) BufferBlock + Decorate 102(storageBuffer) DescriptorSet 0 + Decorate 102(storageBuffer) Binding 4 Decorate 103 DecorationNonUniformEXT - Decorate 110(sampledImage) DescriptorSet 0 - Decorate 110(sampledImage) Binding 5 - Decorate 111 DecorationNonUniformEXT - Decorate 114 DecorationNonUniformEXT - Decorate 125(storageImage) DescriptorSet 0 - Decorate 125(storageImage) Binding 6 - Decorate 126 DecorationNonUniformEXT - Decorate 129 DecorationNonUniformEXT - Decorate 137(inputAttachment) DescriptorSet 0 - Decorate 137(inputAttachment) Binding 7 - Decorate 137(inputAttachment) InputAttachmentIndex 1 - Decorate 138 DecorationNonUniformEXT + Decorate 105 DecorationNonUniformEXT + Decorate 112(sampledImage) DescriptorSet 0 + Decorate 112(sampledImage) Binding 5 + Decorate 113 DecorationNonUniformEXT + Decorate 116 DecorationNonUniformEXT + Decorate 127(storageImage) DescriptorSet 0 + Decorate 127(storageImage) Binding 6 + Decorate 128 DecorationNonUniformEXT + Decorate 131 DecorationNonUniformEXT + Decorate 139(inputAttachment) DescriptorSet 0 + Decorate 139(inputAttachment) Binding 7 + Decorate 139(inputAttachment) InputAttachmentIndex 1 Decorate 140 DecorationNonUniformEXT - Decorate 147(uniformTexelBuffer) DescriptorSet 0 - Decorate 147(uniformTexelBuffer) Binding 8 - Decorate 148 DecorationNonUniformEXT + Decorate 142 DecorationNonUniformEXT + Decorate 149(uniformTexelBuffer) DescriptorSet 0 + Decorate 149(uniformTexelBuffer) Binding 8 Decorate 150 DecorationNonUniformEXT - Decorate 158(storageTexelBuffer) DescriptorSet 0 - Decorate 158(storageTexelBuffer) Binding 9 - Decorate 159 DecorationNonUniformEXT + Decorate 152 DecorationNonUniformEXT + Decorate 160(storageTexelBuffer) DescriptorSet 0 + Decorate 160(storageTexelBuffer) Binding 9 Decorate 161 DecorationNonUniformEXT - Decorate 168(v) DecorationNonUniformEXT - Decorate 171 DecorationNonUniformEXT + Decorate 163 DecorationNonUniformEXT + Decorate 170(v) DecorationNonUniformEXT Decorate 173 DecorationNonUniformEXT - Decorate 178 DecorationNonUniformEXT + Decorate 175 DecorationNonUniformEXT Decorate 180 DecorationNonUniformEXT - Decorate 184 DecorationNonUniformEXT + Decorate 182 DecorationNonUniformEXT Decorate 186 DecorationNonUniformEXT Decorate 188 DecorationNonUniformEXT - Decorate 193(m) DecorationNonUniformEXT - Decorate 195 DecorationNonUniformEXT - Decorate 203(s) DecorationNonUniformEXT - Decorate 205 DecorationNonUniformEXT + Decorate 190 DecorationNonUniformEXT + Decorate 195(m) DecorationNonUniformEXT + Decorate 197 DecorationNonUniformEXT + Decorate 205(s) DecorationNonUniformEXT Decorate 207 DecorationNonUniformEXT + Decorate 209 DecorationNonUniformEXT 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7: TypePointer Function 6(int) 8: TypeFunction 6(int) 7(ptr) 7(ptr) - 25: 6(int) Constant 2 - 28: TypeFloat 32 - 29: TypePointer Function 28(float) - 31: TypeVector 28(float) 4 - 32: TypePointer Input 31(fvec4) - 33(nu_inv4): 32(ptr) Variable Input - 34: TypeInt 32 0 - 35: 34(int) Constant 0 - 36: TypePointer Input 28(float) - 42: TypeImage 28(float) SubpassData nonsampled format:Unknown - 43: TypeRuntimeArray 42 - 44: TypePointer UniformConstant 43 -45(inputAttachmentDyn): 44(ptr) Variable UniformConstant - 48: TypePointer UniformConstant 42 - 51: 6(int) Constant 0 - 52: TypeVector 6(int) 2 - 53: 52(ivec2) ConstantComposite 51 51 - 58: TypeImage 28(float) Buffer sampled format:Unknown - 59: TypeSampledImage 58 - 60: TypeRuntimeArray 59 - 61: TypePointer UniformConstant 60 -62(uniformTexelBufferDyn): 61(ptr) Variable UniformConstant - 64: TypePointer UniformConstant 59 - 67: 6(int) Constant 1 - 73: TypeImage 28(float) Buffer nonsampled format:R32f - 74: TypeRuntimeArray 73 - 75: TypePointer UniformConstant 74 -76(storageTexelBufferDyn): 75(ptr) Variable UniformConstant - 78: TypePointer UniformConstant 73 - 85(uname): TypeStruct 28(float) - 86: TypeRuntimeArray 85(uname) - 87: TypePointer Uniform 86 -88(uniformBuffer): 87(ptr) Variable Uniform - 89: TypePointer Input 6(int) - 90(nu_ii): 89(ptr) Variable Input - 92: TypePointer Uniform 28(float) - 97(bname): TypeStruct 28(float) - 98: TypeRuntimeArray 97(bname) - 99: TypePointer Uniform 98 -100(storageBuffer): 99(ptr) Variable Uniform - 106: TypeImage 28(float) 2D sampled format:Unknown - 107: TypeSampledImage 106 - 108: TypeRuntimeArray 107 - 109: TypePointer UniformConstant 108 -110(sampledImage): 109(ptr) Variable UniformConstant - 112: TypePointer UniformConstant 107 - 115: TypeVector 28(float) 2 - 116: 28(float) Constant 1056964608 - 117: 115(fvec2) ConstantComposite 116 116 - 122: TypeImage 28(float) 2D nonsampled format:R32f - 123: TypeRuntimeArray 122 - 124: TypePointer UniformConstant 123 -125(storageImage): 124(ptr) Variable UniformConstant - 127: TypePointer UniformConstant 122 - 130: 52(ivec2) ConstantComposite 67 67 - 135: TypeRuntimeArray 42 - 136: TypePointer UniformConstant 135 -137(inputAttachment): 136(ptr) Variable UniformConstant - 145: TypeRuntimeArray 59 - 146: TypePointer UniformConstant 145 -147(uniformTexelBuffer): 146(ptr) Variable UniformConstant - 156: TypeRuntimeArray 73 - 157: TypePointer UniformConstant 156 -158(storageTexelBuffer): 157(ptr) Variable UniformConstant - 166: TypeVector 6(int) 4 - 167: TypePointer Function 166(ivec4) - 169: 34(int) Constant 1 - 176: 34(int) Constant 2 - 191: TypeMatrix 31(fvec4) 4 - 192: TypePointer Function 191 - 201(S): TypeStruct 6(int) - 202: TypePointer Function 201(S) + 26: 6(int) Constant 2 + 30: TypeFloat 32 + 31: TypePointer Function 30(float) + 33: TypeVector 30(float) 4 + 34: TypePointer Input 33(fvec4) + 35(nu_inv4): 34(ptr) Variable Input + 36: TypeInt 32 0 + 37: 36(int) Constant 0 + 38: TypePointer Input 30(float) + 44: TypeImage 30(float) SubpassData nonsampled format:Unknown + 45: TypeRuntimeArray 44 + 46: TypePointer UniformConstant 45 +47(inputAttachmentDyn): 46(ptr) Variable UniformConstant + 50: TypePointer UniformConstant 44 + 53: 6(int) Constant 0 + 54: TypeVector 6(int) 2 + 55: 54(ivec2) ConstantComposite 53 53 + 60: TypeImage 30(float) Buffer sampled format:Unknown + 61: TypeSampledImage 60 + 62: TypeRuntimeArray 61 + 63: TypePointer UniformConstant 62 +64(uniformTexelBufferDyn): 63(ptr) Variable UniformConstant + 66: TypePointer UniformConstant 61 + 69: 6(int) Constant 1 + 75: TypeImage 30(float) Buffer nonsampled format:R32f + 76: TypeRuntimeArray 75 + 77: TypePointer UniformConstant 76 +78(storageTexelBufferDyn): 77(ptr) Variable UniformConstant + 80: TypePointer UniformConstant 75 + 87(uname): TypeStruct 30(float) + 88: TypeRuntimeArray 87(uname) + 89: TypePointer Uniform 88 +90(uniformBuffer): 89(ptr) Variable Uniform + 91: TypePointer Input 6(int) + 92(nu_ii): 91(ptr) Variable Input + 94: TypePointer Uniform 30(float) + 99(bname): TypeStruct 30(float) + 100: TypeRuntimeArray 99(bname) + 101: TypePointer Uniform 100 +102(storageBuffer): 101(ptr) Variable Uniform + 108: TypeImage 30(float) 2D sampled format:Unknown + 109: TypeSampledImage 108 + 110: TypeRuntimeArray 109 + 111: TypePointer UniformConstant 110 +112(sampledImage): 111(ptr) Variable UniformConstant + 114: TypePointer UniformConstant 109 + 117: TypeVector 30(float) 2 + 118: 30(float) Constant 1056964608 + 119: 117(fvec2) ConstantComposite 118 118 + 124: TypeImage 30(float) 2D nonsampled format:R32f + 125: TypeRuntimeArray 124 + 126: TypePointer UniformConstant 125 +127(storageImage): 126(ptr) Variable UniformConstant + 129: TypePointer UniformConstant 124 + 132: 54(ivec2) ConstantComposite 69 69 + 137: TypeRuntimeArray 44 + 138: TypePointer UniformConstant 137 +139(inputAttachment): 138(ptr) Variable UniformConstant + 147: TypeRuntimeArray 61 + 148: TypePointer UniformConstant 147 +149(uniformTexelBuffer): 148(ptr) Variable UniformConstant + 158: TypeRuntimeArray 75 + 159: TypePointer UniformConstant 158 +160(storageTexelBuffer): 159(ptr) Variable UniformConstant + 168: TypeVector 6(int) 4 + 169: TypePointer Function 168(ivec4) + 171: 36(int) Constant 1 + 178: 36(int) Constant 2 + 193: TypeMatrix 33(fvec4) 4 + 194: TypePointer Function 193 + 203(S): TypeStruct 6(int) + 204: TypePointer Function 203(S) 4(main): 2 Function None 3 5: Label 16(a): 7(ptr) Variable Function 17(nu_li): 7(ptr) Variable Function 18(param): 7(ptr) Variable Function 20(param): 7(ptr) Variable Function - 30(b): 29(ptr) Variable Function - 39(nu_gf): 29(ptr) Variable Function - 46(dyn_i): 7(ptr) Variable Function - 168(v): 167(ptr) Variable Function - 183(uv): 167(ptr) Variable Function - 193(m): 192(ptr) Variable Function - 203(s): 202(ptr) Variable Function + 32(b): 31(ptr) Variable Function + 41(nu_gf): 31(ptr) Variable Function + 48(dyn_i): 7(ptr) Variable Function + 170(v): 169(ptr) Variable Function + 185(uv): 169(ptr) Variable Function + 195(m): 194(ptr) Variable Function + 205(s): 204(ptr) Variable Function 19: 6(int) Load 17(nu_li) Store 18(param) 19 21: 6(int) FunctionCall 11(foo(i1;i1;) 18(param) 20(param) @@ -224,130 +224,132 @@ spv.nonuniform.frag Store 17(nu_li) 22 Store 16(a) 21 23: 6(int) Load 16(a) - 24: 6(int) Load 16(a) - 26: 6(int) IMul 24 25 - 27: 6(int) IAdd 23 26 - Store 17(nu_li) 27 - 37: 36(ptr) AccessChain 33(nu_inv4) 35 - 38: 28(float) Load 37 - 40: 28(float) Load 39(nu_gf) - 41: 28(float) FMul 38 40 - Store 30(b) 41 - 47: 6(int) Load 46(dyn_i) - 49: 48(ptr) AccessChain 45(inputAttachmentDyn) 47 - 50: 42 Load 49 - 54: 31(fvec4) ImageRead 50 53 - 55: 28(float) CompositeExtract 54 0 - 56: 28(float) Load 30(b) - 57: 28(float) FAdd 56 55 - Store 30(b) 57 - 63: 6(int) Load 46(dyn_i) - 65: 64(ptr) AccessChain 62(uniformTexelBufferDyn) 63 - 66: 59 Load 65 - 68: 58 Image 66 - 69: 31(fvec4) ImageFetch 68 67 - 70: 28(float) CompositeExtract 69 0 - 71: 28(float) Load 30(b) - 72: 28(float) FAdd 71 70 - Store 30(b) 72 - 77: 6(int) Load 46(dyn_i) - 79: 78(ptr) AccessChain 76(storageTexelBufferDyn) 77 - 80: 73 Load 79 - 81: 31(fvec4) ImageRead 80 67 - 82: 28(float) CompositeExtract 81 0 - 83: 28(float) Load 30(b) - 84: 28(float) FAdd 83 82 - Store 30(b) 84 - 91: 6(int) Load 90(nu_ii) - 93: 92(ptr) AccessChain 88(uniformBuffer) 91 51 - 94: 28(float) Load 93 - 95: 28(float) Load 30(b) - 96: 28(float) FAdd 95 94 - Store 30(b) 96 - 101: 6(int) Load 90(nu_ii) - 102: 92(ptr) AccessChain 100(storageBuffer) 101 51 - 103: 28(float) Load 102 - 104: 28(float) Load 30(b) - 105: 28(float) FAdd 104 103 - Store 30(b) 105 - 111: 6(int) Load 90(nu_ii) - 113: 112(ptr) AccessChain 110(sampledImage) 111 - 114: 107 Load 113 - 118: 31(fvec4) ImageSampleImplicitLod 114 117 - 119: 28(float) CompositeExtract 118 0 - 120: 28(float) Load 30(b) - 121: 28(float) FAdd 120 119 - Store 30(b) 121 - 126: 6(int) Load 90(nu_ii) - 128: 127(ptr) AccessChain 125(storageImage) 126 - 129: 122 Load 128 - 131: 31(fvec4) ImageRead 129 130 - 132: 28(float) CompositeExtract 131 0 - 133: 28(float) Load 30(b) - 134: 28(float) FAdd 133 132 - Store 30(b) 134 - 138: 6(int) Load 90(nu_ii) - 139: 48(ptr) AccessChain 137(inputAttachment) 138 - 140: 42 Load 139 - 141: 31(fvec4) ImageRead 140 53 - 142: 28(float) CompositeExtract 141 0 - 143: 28(float) Load 30(b) - 144: 28(float) FAdd 143 142 - Store 30(b) 144 - 148: 6(int) Load 90(nu_ii) - 149: 64(ptr) AccessChain 147(uniformTexelBuffer) 148 - 150: 59 Load 149 - 151: 58 Image 150 - 152: 31(fvec4) ImageFetch 151 67 - 153: 28(float) CompositeExtract 152 0 - 154: 28(float) Load 30(b) - 155: 28(float) FAdd 154 153 - Store 30(b) 155 - 159: 6(int) Load 90(nu_ii) - 160: 78(ptr) AccessChain 158(storageTexelBuffer) 159 - 161: 73 Load 160 - 162: 31(fvec4) ImageRead 161 67 - 163: 28(float) CompositeExtract 162 0 - 164: 28(float) Load 30(b) - 165: 28(float) FAdd 164 163 - Store 30(b) 165 - 170: 7(ptr) AccessChain 168(v) 169 - 171: 6(int) Load 170 - 172: 92(ptr) AccessChain 88(uniformBuffer) 171 51 - 173: 28(float) Load 172 - 174: 28(float) Load 30(b) - 175: 28(float) FAdd 174 173 - Store 30(b) 175 - 177: 7(ptr) AccessChain 168(v) 176 - 178: 6(int) Load 177 - 179: 92(ptr) AccessChain 88(uniformBuffer) 178 51 - 180: 28(float) Load 179 - 181: 28(float) Load 30(b) - 182: 28(float) FAdd 181 180 - Store 30(b) 182 - 184: 6(int) Load 90(nu_ii) - 185: 7(ptr) AccessChain 183(uv) 184 - 186: 6(int) Load 185 - 187: 92(ptr) AccessChain 88(uniformBuffer) 186 51 - 188: 28(float) Load 187 - 189: 28(float) Load 30(b) - 190: 28(float) FAdd 189 188 - Store 30(b) 190 - 194: 29(ptr) AccessChain 193(m) 25 176 - 195: 28(float) Load 194 - 196: 6(int) ConvertFToS 195 - 197: 92(ptr) AccessChain 88(uniformBuffer) 196 51 - 198: 28(float) Load 197 - 199: 28(float) Load 30(b) - 200: 28(float) FAdd 199 198 - Store 30(b) 200 - 204: 7(ptr) AccessChain 203(s) 51 - 205: 6(int) Load 204 - 206: 92(ptr) AccessChain 88(uniformBuffer) 205 51 - 207: 28(float) Load 206 - 208: 28(float) Load 30(b) - 209: 28(float) FAdd 208 207 - Store 30(b) 209 + 24: 6(int) CopyObject 23 + 25: 6(int) Load 16(a) + 27: 6(int) IMul 25 26 + 28: 6(int) CopyObject 27 + 29: 6(int) IAdd 24 28 + Store 17(nu_li) 29 + 39: 38(ptr) AccessChain 35(nu_inv4) 37 + 40: 30(float) Load 39 + 42: 30(float) Load 41(nu_gf) + 43: 30(float) FMul 40 42 + Store 32(b) 43 + 49: 6(int) Load 48(dyn_i) + 51: 50(ptr) AccessChain 47(inputAttachmentDyn) 49 + 52: 44 Load 51 + 56: 33(fvec4) ImageRead 52 55 + 57: 30(float) CompositeExtract 56 0 + 58: 30(float) Load 32(b) + 59: 30(float) FAdd 58 57 + Store 32(b) 59 + 65: 6(int) Load 48(dyn_i) + 67: 66(ptr) AccessChain 64(uniformTexelBufferDyn) 65 + 68: 61 Load 67 + 70: 60 Image 68 + 71: 33(fvec4) ImageFetch 70 69 + 72: 30(float) CompositeExtract 71 0 + 73: 30(float) Load 32(b) + 74: 30(float) FAdd 73 72 + Store 32(b) 74 + 79: 6(int) Load 48(dyn_i) + 81: 80(ptr) AccessChain 78(storageTexelBufferDyn) 79 + 82: 75 Load 81 + 83: 33(fvec4) ImageRead 82 69 + 84: 30(float) CompositeExtract 83 0 + 85: 30(float) Load 32(b) + 86: 30(float) FAdd 85 84 + Store 32(b) 86 + 93: 6(int) Load 92(nu_ii) + 95: 94(ptr) AccessChain 90(uniformBuffer) 93 53 + 96: 30(float) Load 95 + 97: 30(float) Load 32(b) + 98: 30(float) FAdd 97 96 + Store 32(b) 98 + 103: 6(int) Load 92(nu_ii) + 104: 94(ptr) AccessChain 102(storageBuffer) 103 53 + 105: 30(float) Load 104 + 106: 30(float) Load 32(b) + 107: 30(float) FAdd 106 105 + Store 32(b) 107 + 113: 6(int) Load 92(nu_ii) + 115: 114(ptr) AccessChain 112(sampledImage) 113 + 116: 109 Load 115 + 120: 33(fvec4) ImageSampleImplicitLod 116 119 + 121: 30(float) CompositeExtract 120 0 + 122: 30(float) Load 32(b) + 123: 30(float) FAdd 122 121 + Store 32(b) 123 + 128: 6(int) Load 92(nu_ii) + 130: 129(ptr) AccessChain 127(storageImage) 128 + 131: 124 Load 130 + 133: 33(fvec4) ImageRead 131 132 + 134: 30(float) CompositeExtract 133 0 + 135: 30(float) Load 32(b) + 136: 30(float) FAdd 135 134 + Store 32(b) 136 + 140: 6(int) Load 92(nu_ii) + 141: 50(ptr) AccessChain 139(inputAttachment) 140 + 142: 44 Load 141 + 143: 33(fvec4) ImageRead 142 55 + 144: 30(float) CompositeExtract 143 0 + 145: 30(float) Load 32(b) + 146: 30(float) FAdd 145 144 + Store 32(b) 146 + 150: 6(int) Load 92(nu_ii) + 151: 66(ptr) AccessChain 149(uniformTexelBuffer) 150 + 152: 61 Load 151 + 153: 60 Image 152 + 154: 33(fvec4) ImageFetch 153 69 + 155: 30(float) CompositeExtract 154 0 + 156: 30(float) Load 32(b) + 157: 30(float) FAdd 156 155 + Store 32(b) 157 + 161: 6(int) Load 92(nu_ii) + 162: 80(ptr) AccessChain 160(storageTexelBuffer) 161 + 163: 75 Load 162 + 164: 33(fvec4) ImageRead 163 69 + 165: 30(float) CompositeExtract 164 0 + 166: 30(float) Load 32(b) + 167: 30(float) FAdd 166 165 + Store 32(b) 167 + 172: 7(ptr) AccessChain 170(v) 171 + 173: 6(int) Load 172 + 174: 94(ptr) AccessChain 90(uniformBuffer) 173 53 + 175: 30(float) Load 174 + 176: 30(float) Load 32(b) + 177: 30(float) FAdd 176 175 + Store 32(b) 177 + 179: 7(ptr) AccessChain 170(v) 178 + 180: 6(int) Load 179 + 181: 94(ptr) AccessChain 90(uniformBuffer) 180 53 + 182: 30(float) Load 181 + 183: 30(float) Load 32(b) + 184: 30(float) FAdd 183 182 + Store 32(b) 184 + 186: 6(int) Load 92(nu_ii) + 187: 7(ptr) AccessChain 185(uv) 186 + 188: 6(int) Load 187 + 189: 94(ptr) AccessChain 90(uniformBuffer) 188 53 + 190: 30(float) Load 189 + 191: 30(float) Load 32(b) + 192: 30(float) FAdd 191 190 + Store 32(b) 192 + 196: 31(ptr) AccessChain 195(m) 26 178 + 197: 30(float) Load 196 + 198: 6(int) ConvertFToS 197 + 199: 94(ptr) AccessChain 90(uniformBuffer) 198 53 + 200: 30(float) Load 199 + 201: 30(float) Load 32(b) + 202: 30(float) FAdd 201 200 + Store 32(b) 202 + 206: 7(ptr) AccessChain 205(s) 53 + 207: 6(int) Load 206 + 208: 94(ptr) AccessChain 90(uniformBuffer) 207 53 + 209: 30(float) Load 208 + 210: 30(float) Load 32(b) + 211: 30(float) FAdd 210 209 + Store 32(b) 211 Return FunctionEnd 11(foo(i1;i1;): 6(int) Function None 8 diff --git a/3rdparty/glslang/Test/baseResults/spv.nonuniform2.frag.out b/3rdparty/glslang/Test/baseResults/spv.nonuniform2.frag.out new file mode 100644 index 000000000..3f101fe12 --- /dev/null +++ b/3rdparty/glslang/Test/baseResults/spv.nonuniform2.frag.out @@ -0,0 +1,53 @@ +spv.nonuniform2.frag +// Module Version 10000 +// Generated by (magic number): 80007 +// Id's are bound by 24 + + Capability Shader + Capability ImageBuffer + Capability ShaderNonUniformEXT + Capability RuntimeDescriptorArrayEXT + Capability StorageTexelBufferArrayNonUniformIndexingEXT + Extension "SPV_EXT_descriptor_indexing" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 9 16 + ExecutionMode 4 OriginUpperLeft + Source GLSL 450 + SourceExtension "GL_EXT_nonuniform_qualifier" + Name 4 "main" + Name 9 "FragColor" + Name 13 "data" + Name 16 "rIndex" + Decorate 9(FragColor) Location 0 + Decorate 13(data) DescriptorSet 0 + Decorate 13(data) Binding 4 + Decorate 16(rIndex) Flat + Decorate 16(rIndex) Location 3 + Decorate 18 DecorationNonUniformEXT + Decorate 21 DecorationNonUniformEXT + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Output 7(fvec4) + 9(FragColor): 8(ptr) Variable Output + 10: TypeImage 6(float) Buffer nonsampled format:Rgba32f + 11: TypeRuntimeArray 10 + 12: TypePointer UniformConstant 11 + 13(data): 12(ptr) Variable UniformConstant + 14: TypeInt 32 1 + 15: TypePointer Input 14(int) + 16(rIndex): 15(ptr) Variable Input + 19: TypePointer UniformConstant 10 + 22: 14(int) Constant 0 + 4(main): 2 Function None 3 + 5: Label + 17: 14(int) Load 16(rIndex) + 18: 14(int) CopyObject 17 + 20: 19(ptr) AccessChain 13(data) 18 + 21: 10 Load 20 + 23: 7(fvec4) ImageRead 21 22 + Store 9(FragColor) 23 + Return + FunctionEnd diff --git a/3rdparty/glslang/Test/baseResults/spv.shaderBallotAMD.comp.out b/3rdparty/glslang/Test/baseResults/spv.shaderBallotAMD.comp.out index f3fbc9ff9..62ce6f27d 100644 --- a/3rdparty/glslang/Test/baseResults/spv.shaderBallotAMD.comp.out +++ b/3rdparty/glslang/Test/baseResults/spv.shaderBallotAMD.comp.out @@ -1,5 +1,4 @@ spv.shaderBallotAMD.comp -Validation failed // Module Version 10000 // Generated by (magic number): 80007 // Id's are bound by 1343 diff --git a/3rdparty/glslang/Test/baseResults/spv.shaderImageFootprint.frag.out b/3rdparty/glslang/Test/baseResults/spv.shaderImageFootprint.frag.out index 671eff706..8218ee42b 100644 --- a/3rdparty/glslang/Test/baseResults/spv.shaderImageFootprint.frag.out +++ b/3rdparty/glslang/Test/baseResults/spv.shaderImageFootprint.frag.out @@ -5,7 +5,7 @@ spv.shaderImageFootprint.frag Capability Shader Capability MinLod - Capability Bad + Capability ImageFootprintNV Extension "SPV_NV_shader_image_footprint" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 diff --git a/3rdparty/glslang/Test/glsl.450.subgroup.frag b/3rdparty/glslang/Test/glsl.450.subgroup.frag index 520052faa..26011ed96 100644 --- a/3rdparty/glslang/Test/glsl.450.subgroup.frag +++ b/3rdparty/glslang/Test/glsl.450.subgroup.frag @@ -1,7 +1,228 @@ #version 450 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + #extension GL_KHR_shader_subgroup_basic: enable layout(location = 0) out uvec4 data; void main (void) { data = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0); + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); } + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.450.subgroup.geom b/3rdparty/glslang/Test/glsl.450.subgroup.geom index 70e9dd489..affe04534 100644 --- a/3rdparty/glslang/Test/glsl.450.subgroup.geom +++ b/3rdparty/glslang/Test/glsl.450.subgroup.geom @@ -1,4 +1,105 @@ #version 450 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + #extension GL_KHR_shader_subgroup_basic: enable layout(points) in; layout(points, max_vertices = 1) out; @@ -10,4 +111,124 @@ layout(set = 0, binding = 0, std430) buffer Output void main (void) { result[gl_PrimitiveIDIn] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0); + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); } + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.450.subgroup.tesc b/3rdparty/glslang/Test/glsl.450.subgroup.tesc index 63bf5e559..a67af25b1 100644 --- a/3rdparty/glslang/Test/glsl.450.subgroup.tesc +++ b/3rdparty/glslang/Test/glsl.450.subgroup.tesc @@ -1,4 +1,105 @@ #version 450 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + #extension GL_KHR_shader_subgroup_basic: enable layout(vertices=1) out; layout(set = 0, binding = 0, std430) buffer Output @@ -9,4 +110,124 @@ layout(set = 0, binding = 0, std430) buffer Output void main (void) { result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0); + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); } + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.450.subgroup.tese b/3rdparty/glslang/Test/glsl.450.subgroup.tese index e504df79a..ebfd12324 100644 --- a/3rdparty/glslang/Test/glsl.450.subgroup.tese +++ b/3rdparty/glslang/Test/glsl.450.subgroup.tese @@ -1,4 +1,105 @@ #version 450 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + #extension GL_KHR_shader_subgroup_basic: enable layout(isolines) in; layout(set = 0, binding = 0, std430) buffer Output @@ -9,4 +110,123 @@ layout(set = 0, binding = 0, std430) buffer Output void main (void) { result[gl_PrimitiveID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0); + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); } diff --git a/3rdparty/glslang/Test/glsl.450.subgroup.vert b/3rdparty/glslang/Test/glsl.450.subgroup.vert index a6f0a9d62..0be08b521 100644 --- a/3rdparty/glslang/Test/glsl.450.subgroup.vert +++ b/3rdparty/glslang/Test/glsl.450.subgroup.vert @@ -1,4 +1,105 @@ #version 450 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + #extension GL_KHR_shader_subgroup_basic: enable layout(set = 0, binding = 0, std430) buffer Output { @@ -8,4 +109,124 @@ layout(set = 0, binding = 0, std430) buffer Output void main (void) { result[gl_VertexID] = uvec4(gl_SubgroupSize, gl_SubgroupInvocationID, 0, 0); + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); } + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.450.subgroupBasic.comp b/3rdparty/glslang/Test/glsl.450.subgroupBasic.comp index 4801c1070..1bcd48695 100644 --- a/3rdparty/glslang/Test/glsl.450.subgroupBasic.comp +++ b/3rdparty/glslang/Test/glsl.450.subgroupBasic.comp @@ -1,5 +1,105 @@ #version 450 +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, extension not enabled (basic) + gl_SubgroupID; // ERROR, extension not enabled (basic) + subgroupMemoryBarrierShared(); // ERROR, extension not enabled (basic) + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + #extension GL_KHR_shader_subgroup_basic: enable layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in; @@ -21,3 +121,118 @@ void main() subgroupMemoryBarrierShared(); subgroupMemoryBarrierImage(); } + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.mesh b/3rdparty/glslang/Test/glsl.460.subgroup.mesh new file mode 100644 index 000000000..19a47578b --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.mesh @@ -0,0 +1,293 @@ +#version 460 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, extension not enabled (basic) + gl_SubgroupID; // ERROR, extension not enabled (basic) + subgroupMemoryBarrierShared(); // ERROR, extension not enabled (basic) + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + +#define MAX_VER 81 +#define MAX_PRIM 32 + +#define BARRIER() \ + memoryBarrierShared(); \ + barrier(); + +#extension GL_NV_mesh_shader : enable + +layout(local_size_x = 32) in; + +layout(max_vertices=MAX_VER) out; +layout(max_primitives=MAX_PRIM) out; +layout(triangles) out; + +// test use of builtins in mesh shaders: + +void main() +{ + uint iid = gl_LocalInvocationID.x; + uint gid = gl_WorkGroupID.x; + + gl_MeshVerticesNV[iid].gl_Position = vec4(1.0); + gl_MeshVerticesNV[iid].gl_PointSize = 2.0; + gl_MeshVerticesNV[iid].gl_ClipDistance[3] = 3.0; + gl_MeshVerticesNV[iid].gl_CullDistance[2] = 4.0; + + BARRIER(); + + gl_MeshVerticesNV[iid+1].gl_Position = gl_MeshVerticesNV[iid].gl_Position; + gl_MeshVerticesNV[iid+1].gl_PointSize = gl_MeshVerticesNV[iid].gl_PointSize; + gl_MeshVerticesNV[iid+1].gl_ClipDistance[3] = gl_MeshVerticesNV[iid].gl_ClipDistance[3]; + gl_MeshVerticesNV[iid+1].gl_CullDistance[2] = gl_MeshVerticesNV[iid].gl_CullDistance[2]; + + BARRIER(); + + gl_MeshPrimitivesNV[iid].gl_PrimitiveID = 6; + gl_MeshPrimitivesNV[iid].gl_Layer = 7; + gl_MeshPrimitivesNV[iid].gl_ViewportIndex = 8; + gl_MeshPrimitivesNV[iid].gl_ViewportMask[0] = 9; + + BARRIER(); + + gl_MeshPrimitivesNV[iid+1].gl_PrimitiveID = gl_MeshPrimitivesNV[iid].gl_PrimitiveID; + gl_MeshPrimitivesNV[iid+1].gl_Layer = gl_MeshPrimitivesNV[iid].gl_Layer; + gl_MeshPrimitivesNV[iid+1].gl_ViewportIndex = gl_MeshPrimitivesNV[iid].gl_ViewportIndex; + gl_MeshPrimitivesNV[iid+1].gl_ViewportMask[0] = gl_MeshPrimitivesNV[iid].gl_ViewportMask[0]; + + BARRIER(); + + // check bound limits + gl_PrimitiveIndicesNV[0] = 257; // should truncate 257 -> 1 + gl_PrimitiveIndicesNV[(MAX_PRIM * 3) - 1] = 2; + gl_PrimitiveIndicesNV[gid] = gl_PrimitiveIndicesNV[gid-1]; + + // writes 4 indices at offset gl_DrawID + writePackedPrimitiveIndices4x8NV(gl_DrawID, 0x01020304); + + gl_PrimitiveCountNV = MAX_PRIM * 3; + + BARRIER(); +} + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); + gl_NumSubgroups; // allowed in mesh + gl_SubgroupID; // allowed in mesh + subgroupMemoryBarrierShared(); // allowed in mesh +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.rahit b/3rdparty/glslang/Test/glsl.460.subgroup.rahit new file mode 100644 index 000000000..3ee737859 --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.rahit @@ -0,0 +1,255 @@ +#version 460 +#extension GL_NV_ray_tracing : enable + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + + +layout(location = 1) rayPayloadInNV vec4 incomingPayload; +void main() +{ + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; + int v2 = gl_PrimitiveID; + int v3 = gl_InstanceID; + int v4 = gl_InstanceCustomIndexNV; + vec3 v5 = gl_WorldRayOriginNV; + vec3 v6 = gl_WorldRayDirectionNV; + vec3 v7 = gl_ObjectRayOriginNV; + vec3 v8 = gl_ObjectRayDirectionNV; + float v9 = gl_RayTminNV; + float v10 = gl_RayTmaxNV; + float v11 = gl_HitTNV; + uint v12 = gl_HitKindNV; + mat4x3 v13 = gl_ObjectToWorldNV; + mat4x3 v14 = gl_WorldToObjectNV; + incomingPayload = vec4(0.5f); + if (v2 == 1) + ignoreIntersectionNV(); + else + terminateRayNV(); +} + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.rcall b/3rdparty/glslang/Test/glsl.460.subgroup.rcall new file mode 100644 index 000000000..dc7ad2e63 --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.rcall @@ -0,0 +1,243 @@ +#version 460 +#extension GL_NV_ray_tracing : enable + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + + +layout(location = 0) callableDataNV vec4 data0; +layout(location = 1) callableDataInNV dataBlock { + uint data1; +}; +void main() +{ + uvec3 id = gl_LaunchIDNV; + uvec3 size = gl_LaunchSizeNV; + data1 = 256U; + executeCallableNV(2,1); +} + + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.rchit b/3rdparty/glslang/Test/glsl.460.subgroup.rchit new file mode 100644 index 000000000..cbe3517ad --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.rchit @@ -0,0 +1,253 @@ +#version 460 +#extension GL_NV_ray_tracing : enable + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + + +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; +layout(location = 0) rayPayloadNV vec4 localPayload; +layout(location = 1) rayPayloadInNV vec4 incomingPayload; +void main() +{ + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; + int v2 = gl_PrimitiveID; + int v3 = gl_InstanceID; + int v4 = gl_InstanceCustomIndexNV; + vec3 v5 = gl_WorldRayOriginNV; + vec3 v6 = gl_WorldRayDirectionNV; + vec3 v7 = gl_ObjectRayOriginNV; + vec3 v8 = gl_ObjectRayDirectionNV; + float v9 = gl_RayTminNV; + float v10 = gl_RayTmaxNV; + float v11 = gl_HitTNV; + uint v12 = gl_HitKindNV; + mat4x3 v13 = gl_ObjectToWorldNV; + mat4x3 v14 = gl_WorldToObjectNV; + traceNV(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); +} + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.rgen b/3rdparty/glslang/Test/glsl.460.subgroup.rgen new file mode 100644 index 000000000..9184e15fd --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.rgen @@ -0,0 +1,247 @@ +#version 460 +#extension GL_NV_ray_tracing : enable + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV0; +layout(binding = 1, set = 0) uniform accelerationStructureNV accNV1; // Unused +layout(location = 0) rayPayloadNV vec4 payload; +layout(shaderRecordNV) buffer block +{ + vec3 dir; + vec3 origin; + +}; +void main() +{ + uint lx = gl_LaunchIDNV.x; + uint ly = gl_LaunchIDNV.y; + uint sx = gl_LaunchSizeNV.x; + uint sy = gl_LaunchSizeNV.y; + traceNV(accNV0, lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); +} + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.rint b/3rdparty/glslang/Test/glsl.460.subgroup.rint new file mode 100644 index 000000000..7a58804a7 --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.rint @@ -0,0 +1,253 @@ +#version 460 +#extension GL_NV_ray_tracing : enable + + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + + + +hitAttributeNV vec4 iAttr; +void main() +{ + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; + int v2 = gl_PrimitiveID; + int v3 = gl_InstanceID; + int v4 = gl_InstanceCustomIndexNV; + vec3 v5 = gl_WorldRayOriginNV; + vec3 v6 = gl_WorldRayDirectionNV; + vec3 v7 = gl_ObjectRayOriginNV; + vec3 v8 = gl_ObjectRayDirectionNV; + float v9 = gl_RayTminNV; + float v10 = gl_RayTmaxNV; + mat4x3 v11 = gl_ObjectToWorldNV; + mat4x3 v12 = gl_WorldToObjectNV; + iAttr = vec4(0.5f,0.5f,0.0f,1.0f); + reportIntersectionNV(0.5, 1U); +} + + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.rmiss b/3rdparty/glslang/Test/glsl.460.subgroup.rmiss new file mode 100644 index 000000000..4d629d67e --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.rmiss @@ -0,0 +1,247 @@ +#version 460 +#extension GL_NV_ray_tracing : enable + + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, only defined in compute + gl_SubgroupID; // ERROR, only defined in compute + subgroupMemoryBarrierShared(); // ERROR, only defined in compute + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + + +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV; +layout(location = 0) rayPayloadNV vec4 localPayload; +layout(location = 1) rayPayloadInNV vec4 incomingPayload; +void main() +{ + uvec3 v0 = gl_LaunchIDNV; + uvec3 v1 = gl_LaunchSizeNV; + vec3 v2 = gl_WorldRayOriginNV; + vec3 v3 = gl_WorldRayDirectionNV; + vec3 v4 = gl_ObjectRayOriginNV; + vec3 v5 = gl_ObjectRayDirectionNV; + float v6 = gl_RayTminNV; + float v7 = gl_RayTmaxNV; + traceNV(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1); +} + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/glsl.460.subgroup.task b/3rdparty/glslang/Test/glsl.460.subgroup.task new file mode 100644 index 000000000..84d31405c --- /dev/null +++ b/3rdparty/glslang/Test/glsl.460.subgroup.task @@ -0,0 +1,284 @@ +#version 460 + +vec4 undeclared_errors(vec4 f4) +{ + vec4 result; + gl_SubgroupSize; // ERROR, extension not enabled (basic) + gl_SubgroupInvocationID; // ERROR, extension not enabled (basic) + subgroupBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrier(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierBuffer(); // ERROR, extension not enabled (basic) + subgroupMemoryBarrierImage(); // ERROR, extension not enabled (basic) + subgroupElect(); // ERROR, extension not enabled (basic) + gl_NumSubgroups; // ERROR, extension not enabled (basic) + gl_SubgroupID; // ERROR, extension not enabled (basic) + subgroupMemoryBarrierShared(); // ERROR, extension not enabled (basic) + + subgroupAll(true); // ERROR extension not enabled (vote) + subgroupAny(false); // ERROR extension not enabled (vote) + subgroupAllEqual(f4); // ERROR extension not enabled (vote) + + gl_SubgroupEqMask; // ERROR extension not enabled (ballot) + gl_SubgroupGeMask; // ERROR extension not enabled (ballot) + gl_SubgroupGtMask; // ERROR extension not enabled (ballot) + gl_SubgroupLeMask; // ERROR extension not enabled (ballot) + gl_SubgroupLtMask; // ERROR extension not enabled (ballot) + subgroupBroadcast(f4, 0); // ERROR extension not enabled (ballot) + subgroupBroadcastFirst(f4); // ERROR extension not enabled (ballot) + uvec4 ballot = subgroupBallot(false); // ERROR extension not enabled (ballot) + subgroupInverseBallot(uvec4(0x1)); // ERROR extension not enabled (ballot) + subgroupBallotBitExtract(ballot, 0); // ERROR extension not enabled (ballot) + subgroupBallotBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotInclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotExclusiveBitCount(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindLSB(ballot); // ERROR extension not enabled (ballot) + subgroupBallotFindMSB(ballot); // ERROR extension not enabled (ballot) + + subgroupShuffle(f4, 0); // ERROR extension not enabled (shuffle) + subgroupShuffleXor(f4, 0x1); // ERROR extension not enabled (shuffle) + subgroupShuffleUp(f4, 1); // ERROR extension not enabled (shuffle_relative) + subgroupShuffleDown(f4, 1); // ERROR extension not enabled (shuffle_relative) + + result = subgroupAdd(f4); // ERROR, extension not enabled (arith) + subgroupMul(f4); // ERROR, extension not enabled (arith) + subgroupMin(f4); // ERROR, extension not enabled (arith) + subgroupMax(f4); // ERROR, extension not enabled (arith) + subgroupAnd(ballot); // ERROR, extension not enabled (arith) + subgroupOr(ballot); // ERROR, extension not enabled (arith) + subgroupXor(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupInclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupInclusiveXor(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveAdd(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMul(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMin(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveMax(f4); // ERROR, extension not enabled (arith) + subgroupExclusiveAnd(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveOr(ballot); // ERROR, extension not enabled (arith) + subgroupExclusiveXor(ballot); // ERROR, extension not enabled (arith) + + subgroupClusteredAdd(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMul(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMin(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredMax(f4, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredAnd(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredOr(ballot, 2); // ERROR, extension not enabled (clustered) + subgroupClusteredXor(ballot, 2); // ERROR, extension not enabled (clustered) + + subgroupQuadBroadcast(f4, 0); // ERROR, extension not enabled (quad) + subgroupQuadSwapHorizontal(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapVertical(f4); // ERROR, extension not enabled (quad) + subgroupQuadSwapDiagonal(f4); // ERROR, extension not enabled (quad) + + uvec4 parti = subgroupPartitionNV(f4); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedInclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAddNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMulNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMinNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveMaxNV(f4, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveAndNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveOrNV(ballot, parti); // ERROR, extension not enabled (partitioned) + subgroupPartitionedExclusiveXorNV(ballot, parti); // ERROR, extension not enabled (partitioned) + + return result; +} + +#define MAX_VIEWS gl_MaxMeshViewCountNV + +#define BARRIER() \ + memoryBarrierShared(); \ + barrier(); + +#extension GL_NV_mesh_shader : enable + +layout(local_size_x = 32) in; + +// test use of shared memory in task shaders: +layout(binding=0) writeonly uniform image2D uni_image; +uniform block0 { + uint uni_value; +}; +shared vec4 mem[10]; + +// test use of task memory in task shaders: +taskNV out Task { + vec2 dummy; + vec2 submesh[3]; + uint viewID; +} mytask; + +void main() +{ + uint iid = gl_LocalInvocationID.x; + uint gid = gl_WorkGroupID.x; + uint viewID = gl_MeshViewIndicesNV[gl_MeshViewCountNV%MAX_VIEWS]; + + // 1. shared memory load and stores + for (uint i = 0; i < 10; ++i) { + mem[i] = vec4(i + uni_value); + } + imageStore(uni_image, ivec2(iid), mem[gid]); + imageStore(uni_image, ivec2(iid), mem[gid+1]); + + BARRIER(); + + // 2. task memory stores + + mytask.dummy = vec2(30.0, 31.0); + mytask.submesh[0] = vec2(32.0, 33.0); + mytask.submesh[1] = vec2(34.0, 35.0); + mytask.submesh[2] = mytask.submesh[gid%2]; + mytask.viewID = viewID; + + BARRIER(); + + // 3. set task count + gl_TaskCountNV = 3; +} + +#extension GL_KHR_shader_subgroup_basic: enable +void basic_works (void) +{ + gl_SubgroupSize; + gl_SubgroupInvocationID; + subgroupBarrier(); + subgroupMemoryBarrier(); + subgroupMemoryBarrierBuffer(); + subgroupMemoryBarrierImage(); + subgroupElect(); + gl_NumSubgroups; // allowed in task + gl_SubgroupID; // allowed in task + subgroupMemoryBarrierShared(); // allowed in task +} + +#extension GL_KHR_shader_subgroup_ballot: enable +void ballot_works(vec4 f4) { + gl_SubgroupEqMask; + gl_SubgroupGeMask; + gl_SubgroupGtMask; + gl_SubgroupLeMask; + gl_SubgroupLtMask; + subgroupBroadcast(f4, 0); + subgroupBroadcastFirst(f4); + uvec4 ballot = subgroupBallot(false); + subgroupInverseBallot(uvec4(0x1)); + subgroupBallotBitExtract(ballot, 0); + subgroupBallotBitCount(ballot); + subgroupBallotInclusiveBitCount(ballot); + subgroupBallotExclusiveBitCount(ballot); + subgroupBallotFindLSB(ballot); + subgroupBallotFindMSB(ballot); +} + +#extension GL_KHR_shader_subgroup_vote: enable +void vote_works(vec4 f4) +{ + subgroupAll(true); + subgroupAny(false); + subgroupAllEqual(f4); +} + +#extension GL_KHR_shader_subgroup_shuffle: enable +#extension GL_KHR_shader_subgroup_shuffle_relative: enable +void shuffle_works(vec4 f4) +{ + subgroupShuffle(f4, 0); + subgroupShuffleXor(f4, 0x1); + subgroupShuffleUp(f4, 1); + subgroupShuffleDown(f4, 1); +} + +#extension GL_KHR_shader_subgroup_arithmetic: enable +void arith_works(vec4 f4) +{ + uvec4 ballot; + subgroupAdd(f4); + subgroupMul(f4); + subgroupMin(f4); + subgroupMax(f4); + subgroupAnd(ballot); + subgroupOr(ballot); + subgroupXor(ballot); + subgroupInclusiveAdd(f4); + subgroupInclusiveMul(f4); + subgroupInclusiveMin(f4); + subgroupInclusiveMax(f4); + subgroupInclusiveAnd(ballot); + subgroupInclusiveOr(ballot); + subgroupInclusiveXor(ballot); + subgroupExclusiveAdd(f4); + subgroupExclusiveMul(f4); + subgroupExclusiveMin(f4); + subgroupExclusiveMax(f4); + subgroupExclusiveAnd(ballot); + subgroupExclusiveOr(ballot); + subgroupExclusiveXor(ballot); +} + +#extension GL_KHR_shader_subgroup_clustered: enable +void clustered_works(vec4 f4) +{ + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupClusteredAdd(f4, 2); + subgroupClusteredMul(f4, 2); + subgroupClusteredMin(f4, 2); + subgroupClusteredMax(f4, 2); + subgroupClusteredAnd(ballot, 2); + subgroupClusteredOr(ballot, 2); + subgroupClusteredXor(ballot, 2); +} + +#extension GL_KHR_shader_subgroup_quad: enable +void quad_works(vec4 f4) +{ + subgroupQuadBroadcast(f4, 0); + subgroupQuadSwapHorizontal(f4); + subgroupQuadSwapVertical(f4); + subgroupQuadSwapDiagonal(f4); +} + +#extension GL_NV_shader_subgroup_partitioned: enable +void partitioned_works(vec4 f4) +{ + uvec4 parti = subgroupPartitionNV(f4); + uvec4 ballot = uvec4(0x55,0,0,0); + subgroupPartitionedAddNV(f4, parti); + subgroupPartitionedMulNV(f4, parti); + subgroupPartitionedMinNV(f4, parti); + subgroupPartitionedMaxNV(f4, parti); + subgroupPartitionedAndNV(ballot, parti); + subgroupPartitionedOrNV(ballot, parti); + subgroupPartitionedXorNV(ballot, parti); + subgroupPartitionedInclusiveAddNV(f4, parti); + subgroupPartitionedInclusiveMulNV(f4, parti); + subgroupPartitionedInclusiveMinNV(f4, parti); + subgroupPartitionedInclusiveMaxNV(f4, parti); + subgroupPartitionedInclusiveAndNV(ballot, parti); + subgroupPartitionedInclusiveOrNV(ballot, parti); + subgroupPartitionedInclusiveXorNV(ballot, parti); + subgroupPartitionedExclusiveAddNV(f4, parti); + subgroupPartitionedExclusiveMulNV(f4, parti); + subgroupPartitionedExclusiveMinNV(f4, parti); + subgroupPartitionedExclusiveMaxNV(f4, parti); + subgroupPartitionedExclusiveAndNV(ballot, parti); + subgroupPartitionedExclusiveOrNV(ballot, parti); + subgroupPartitionedExclusiveXorNV(ballot, parti); +} + diff --git a/3rdparty/glslang/Test/spv.1.4.LoopControl.frag b/3rdparty/glslang/Test/spv.1.4.LoopControl.frag new file mode 100644 index 000000000..00392ae50 --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.LoopControl.frag @@ -0,0 +1,19 @@ +#version 450 + +#extension GL_EXT_control_flow_attributes : enable + +bool cond; + +void main() +{ + [[min_iterations(3), max_iterations(7)]] for (int i = 0; i < 8; ++i) { } + [[iteration_multiple(2)]] while(true) { } + [[peel_count(5)]] do { } while(true); + [[partial_count(4)]] for (int i = 0; i < 8; ++i) { } + + // warnings on all these + [[min_iterations, max_iterations]] for (int i = 0; i < 8; ++i) { } + //[[iteration_multiple(0)]] while(true) { } + //[[peel_count]] do { } while(true); + //[[partial_count]] for (int i = 0; i < 8; ++i) { } +} diff --git a/3rdparty/glslang/Test/spv.1.4.NonWritable.frag b/3rdparty/glslang/Test/spv.1.4.NonWritable.frag new file mode 100755 index 000000000..386b446df --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.NonWritable.frag @@ -0,0 +1,13 @@ +#version 450 + +layout(location = 0) flat in int index; + +layout(location = 0) out float color; + +// lookup table +const float table[16] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; + +void main() +{ + color = table[index]; +} diff --git a/3rdparty/glslang/Test/spv.1.4.OpCopyLogical.comp b/3rdparty/glslang/Test/spv.1.4.OpCopyLogical.comp new file mode 100644 index 000000000..fe95da754 --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.OpCopyLogical.comp @@ -0,0 +1,48 @@ +#version 450 core + +struct MyStruct +{ + vec2 foo[2]; + int sb; +}; + +layout(binding = 0, std430) buffer SSBO0 +{ + MyStruct a; +} inBuf; + +layout(binding = 1, std430) buffer SSBO1 +{ + MyStruct b; +} outBuf; + +layout(binding = 2, std140) uniform UBO +{ + MyStruct c; +} uBuf; + +struct Nested { + float f; + MyStruct S[2]; +}; + +layout(binding = 2, std140) uniform UBON +{ + Nested N1; +} uBufN; + +layout(binding = 1, std430) buffer SSBO1N +{ + Nested N2; +} outBufN; + +void main() +{ + MyStruct t = inBuf.a; + outBuf.b = t; + t = uBuf.c; + outBuf.b = t; + + Nested n = uBufN.N1; + outBufN.N2 = n; +} diff --git a/3rdparty/glslang/Test/spv.1.4.OpCopyLogical.funcall.frag b/3rdparty/glslang/Test/spv.1.4.OpCopyLogical.funcall.frag new file mode 100644 index 000000000..7f9968dcf --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.OpCopyLogical.funcall.frag @@ -0,0 +1,21 @@ +#version 450 + +struct S { mat4 m; }; +buffer blockName { S s1; }; // need an S with decoration +S s2; // no decorations on S + +void fooConst(const in S s) { } +void foo(in S s) { } +void fooOut(inout S s) { } + +void main() +{ + fooConst(s1); + fooConst(s2); + + foo(s1); + foo(s2); + + fooOut(s1); + fooOut(s2); +} \ No newline at end of file diff --git a/3rdparty/glslang/Test/spv.1.4.OpCopyLogicalBool.comp b/3rdparty/glslang/Test/spv.1.4.OpCopyLogicalBool.comp new file mode 100644 index 000000000..303bdb8a3 --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.OpCopyLogicalBool.comp @@ -0,0 +1,48 @@ +#version 450 core + +struct MyStruct +{ + vec2 foo[2]; + bool sb; +}; + +layout(binding = 0, std430) buffer SSBO0 +{ + MyStruct a; +} inBuf; + +layout(binding = 1, std430) buffer SSBO1 +{ + MyStruct b; +} outBuf; + +layout(binding = 2, std140) uniform UBO +{ + MyStruct c; +} uBuf; + +struct Nested { + bool b; + MyStruct S[2]; +}; + +layout(binding = 2, std140) uniform UBON +{ + Nested N1; +} uBufN; + +layout(binding = 1, std430) buffer SSBO1N +{ + Nested N2; +} outBufN; + +void main() +{ + MyStruct t = inBuf.a; + outBuf.b = t; + t = uBuf.c; + outBuf.b = t; + + Nested n = uBufN.N1; + outBufN.N2 = n; +} diff --git a/3rdparty/glslang/Test/spv.1.4.OpEntryPoint.frag b/3rdparty/glslang/Test/spv.1.4.OpEntryPoint.frag new file mode 100644 index 000000000..ef1235a4e --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.OpEntryPoint.frag @@ -0,0 +1,27 @@ +#version 450 + +layout(location = 0) in vec4 inv; +layout(location = 0) out vec4 outv; + +vec4 globalv; + +layout(binding = 0) uniform ubt { + vec4 v; +} uniformv; + +layout(binding = 1) buffer bbt { + float f; +} bufferv; + +layout(binding = 2, push_constant) uniform pushB { + int a; +} pushv; + +void main() +{ + vec4 functionv; + functionv = inv; + globalv = inv; + outv = functionv + inv + globalv + uniformv.v * pushv.a * bufferv.f; + outv += functionv + inv + globalv + uniformv.v * pushv.a * bufferv.f; +} diff --git a/3rdparty/glslang/Test/spv.1.4.OpSelect.frag b/3rdparty/glslang/Test/spv.1.4.OpSelect.frag new file mode 100755 index 000000000..cfbf337a2 --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.OpSelect.frag @@ -0,0 +1,37 @@ +#version 450 + +struct S1 { + float a; + int b; +}; + +layout(location = 0) flat in S1 in1; +layout(location = 2) flat in S1 in2; +layout(location = 4) flat in int cond; + +layout(location = 0) out float outv; + +void fun1(){} +void fun2(){} + +void main() +{ + // glslang will only make OpSelect for very trivial looking expressions + + float f1 = 1.0; + float f2 = 2.0; + outv = cond < 8 ? f1 : f2; // in all versions + + ivec4 iv1 = ivec4(f1); + ivec4 iv2 = ivec4(f2); + outv *= (cond > 0 ? iv1 : iv2).z; // in all versions, but in 1.4 as scalar condition, not smeared ala mix() + + mat3 m1 = mat3(1.0); + mat3 m2 = mat3(2.0); + outv *= (cond < 20 ? m1 : m2)[2][1]; // in 1.4, but not before + + S1 fv = cond > 5 ? in1 : in2; // in 1.4, but not before + outv *= fv.a; + + cond > 0 ? fun1() : fun2(); // not allowed by any version +} diff --git a/3rdparty/glslang/Test/spv.1.4.image.frag b/3rdparty/glslang/Test/spv.1.4.image.frag new file mode 100644 index 000000000..a835e3c9d --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.image.frag @@ -0,0 +1,38 @@ +#version 450 + +layout(rgba32f, binding = 1) uniform image2D i2D; +layout(r32i, binding = 12) uniform iimage2D ii2D; +layout(r32ui, binding = 12) uniform uimage2D ui2D; + +layout(rgba32f, binding = 9) uniform image2DMS i2DMS; +layout(r32i, binding = 13) uniform iimage2DMS ii2DMS; +layout(r32ui, binding = 13) uniform uimage2DMS ui2DMS; + +flat in ivec2 ic2D; +flat in uint value; + +out vec4 fragData; + +void main() +{ + vec4 v = vec4(0.0); + ivec4 iv = ivec4(0.0); + uvec4 uv = uvec4(0.0); + + v += imageLoad(i2D, ic2D); + imageStore(i2D, ic2D, v); + v += imageLoad(ii2D, ic2D); + imageStore(ii2D, ic2D, iv); + v += imageLoad(ui2D, ic2D); + imageStore(ui2D, ic2D, uv); + + v += imageLoad(i2DMS, ic2D, 1); + imageStore(i2DMS, ic2D, 2, v); + v += imageLoad(ii2DMS, ic2D, 1); + imageStore(ii2DMS, ic2D, 2, iv); + v += imageLoad(ui2DMS, ic2D, 1); + imageStore(ui2DMS, ic2D, 2, uv); + + fragData = v; +} + diff --git a/3rdparty/glslang/Test/spv.1.4.sparseTexture.frag b/3rdparty/glslang/Test/spv.1.4.sparseTexture.frag new file mode 100644 index 000000000..fcddbeb0a --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.sparseTexture.frag @@ -0,0 +1,47 @@ +#version 450 +#extension GL_ARB_sparse_texture2: enable + +uniform sampler2D s2D; +uniform isampler2D is2D; +uniform usampler2D us2D; + +layout(rgba32f) uniform image2D i2D; +layout(rgba32i) uniform iimage2DMS ii2DMS; +layout(rgba32ui) uniform uimage3D ui3D; + +in vec2 c2; +in vec3 c3; +in vec4 c4; + +in flat ivec2 ic2; +in flat ivec3 ic3; + +in flat ivec2 offsets[4]; + +out vec4 outColor; + +void main() +{ + int resident = 0; + vec4 texel = vec4(0.0); + ivec4 itexel = ivec4(0); + uvec4 utexel = uvec4(0); + + resident |= sparseTextureARB(s2D, c2, texel); + resident |= sparseTextureARB(is2D, c2, texel); + resident |= sparseTextureARB(us2D, c2, texel); + + resident |= sparseTextureLodARB( s2D, c2, 2.0, texel); + resident |= sparseTextureLodARB(is2D, c2, 2.0, texel); + resident |= sparseTextureLodARB(us2D, c2, 2.0, texel); + + resident |= sparseTexelFetchARB( s2D, ivec2(c2), 2, texel); + resident |= sparseTexelFetchARB(is2D, ivec2(c2), 2, texel); + resident |= sparseTexelFetchARB(us2D, ivec2(c2), 2, texel); + + resident |= sparseImageLoadARB(i2D, ic2, texel); + resident |= sparseImageLoadARB(ii2DMS, ic2, 3, texel); + resident |= sparseImageLoadARB(ui3D, ic3, utexel); + + outColor = sparseTexelsResidentARB(resident) ? texel : vec4(itexel) + vec4(utexel); +} \ No newline at end of file diff --git a/3rdparty/glslang/Test/spv.1.4.texture.frag b/3rdparty/glslang/Test/spv.1.4.texture.frag new file mode 100644 index 000000000..cd98dd5f1 --- /dev/null +++ b/3rdparty/glslang/Test/spv.1.4.texture.frag @@ -0,0 +1,26 @@ +#version 450 + +uniform sampler2D texSampler2D; +uniform isampler2D itexSampler2D; +uniform usampler2D utexSampler2D; + +in vec2 t; +in vec2 coords2D; +flat in ivec2 iCoords2D; + +out vec4 color; + +flat in int iLod; + +void main() +{ + vec4 color = vec4(0.0, 0.0, 0.0, 0.0); + + color += texture( texSampler2D, coords2D); + color += texture(itexSampler2D, coords2D); + color += texture(utexSampler2D, coords2D); + + color += texelFetch( texSampler2D, iCoords2D, iLod); + color += texelFetch(itexSampler2D, iCoords2D, iLod); + color += texelFetch(utexSampler2D, iCoords2D, iLod); +} \ No newline at end of file diff --git a/3rdparty/glslang/Test/spv.RayGenShaderArray.rgen b/3rdparty/glslang/Test/spv.RayGenShaderArray.rgen new file mode 100644 index 000000000..d7434583c --- /dev/null +++ b/3rdparty/glslang/Test/spv.RayGenShaderArray.rgen @@ -0,0 +1,22 @@ +#version 460 +#extension GL_NV_ray_tracing : enable +#extension GL_EXT_nonuniform_qualifier : enable +layout(binding = 0, set = 0) uniform accelerationStructureNV accNV0[]; +layout(binding = 1, set = 0) uniform accelerationStructureNV accNV1[2]; +layout(location = 0) rayPayloadNV vec4 payload; +layout(shaderRecordNV) buffer block +{ + vec3 dir; + vec3 origin; + int i; +}; +void main() +{ + uint lx = gl_LaunchIDNV.x; + uint ly = gl_LaunchIDNV.y; + uint sx = gl_LaunchSizeNV.x; + uint sy = gl_LaunchSizeNV.y; + traceNV(accNV0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); + traceNV(accNV1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); + traceNV(accNV0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1); +} diff --git a/3rdparty/glslang/Test/spv.bufferhandle18.frag b/3rdparty/glslang/Test/spv.bufferhandle18.frag new file mode 100644 index 000000000..64517fe15 --- /dev/null +++ b/3rdparty/glslang/Test/spv.bufferhandle18.frag @@ -0,0 +1,59 @@ +#version 450 + +#extension GL_EXT_shader_explicit_arithmetic_types_int64 : enable +#extension GL_EXT_buffer_reference2 : enable +#extension GL_EXT_scalar_block_layout : enable + +layout(buffer_reference, buffer_reference_align = 8) buffer T1 { + int x; + bool y; +}; +layout(buffer_reference, buffer_reference_align = 64) buffer T2 { + int x; +}; + +const int s = int(uint64_t(T1(T2(uint64_t(3))))); +int x[s]; +const uint64_t t = uint64_t(true ? T2(uint64_t(10)) : T2(uint64_t(11))); + + +#define sizeof(T) (uint64_t(T(uint64_t(0))+1)) + +const uint64_t s2 = sizeof(T1); +uint buf[int(s2)]; + + +void main() +{ + T1 a = T1(uint64_t(4)), b = T1(uint64_t(5)); + T1 c = true ? a : b; + T1 d = (a,b); + T1 e = true ? T1(uint64_t(6)) : T1(uint64_t(7)); + T1 f = a.y ? T1(uint64_t(8)) : T1(uint64_t(9)); + + f[3].x = 1; + (f+5).x = 1; + + T1 arr[2] = {a, f}; + arr[1][7].x = 1; + int i; + arr[i][i].x = 1; + // Since we don't distinguish between "pointer" and "reference" type, + // a reference type can have [] applied to it repeatedly and it has + // the effect of adding up the indices. + arr[i][i][i][i][i][i][i].x = 1; + + T1 j; + j = j+1; + j = j-2; + j += 3; + j -= 4; + j = 5+j; + T1 k = j + 6; + int64_t x = k - j; + uint64_t y = sizeof(T1); + k = k + (-1); + + T2 m; + m = m+1; +} diff --git a/3rdparty/glslang/Test/spv.bufferhandle19_Errors.frag b/3rdparty/glslang/Test/spv.bufferhandle19_Errors.frag new file mode 100644 index 000000000..75f53e6e2 --- /dev/null +++ b/3rdparty/glslang/Test/spv.bufferhandle19_Errors.frag @@ -0,0 +1,32 @@ +#version 450 + +#extension GL_EXT_shader_explicit_arithmetic_types_int64 : enable +#extension GL_EXT_buffer_reference2 : enable +#extension GL_EXT_scalar_block_layout : enable + +layout(buffer_reference) buffer T1 { + int x[]; +}; + +layout(buffer_reference) buffer T2 { + int x[2]; +}; + +void main() +{ + T1 a; + a+1; + a-1; + 1+a; + a-a; + a+=1; + a-=1; + a+=a; + a-=a; + + T2 b; + b+=b; + b-=b; + b+b; + 1-b; +} diff --git a/3rdparty/glslang/Test/spv.fsi.frag b/3rdparty/glslang/Test/spv.fsi.frag new file mode 100644 index 000000000..5e6fb5fef --- /dev/null +++ b/3rdparty/glslang/Test/spv.fsi.frag @@ -0,0 +1,20 @@ +#version 450 +#extension GL_ARB_fragment_shader_interlock : enable + +layout(set = 0, binding = 0) coherent buffer B1 { + layout(offset = 0) int x; +} b1; + +layout(set = 0, binding = 1, rgba32f) coherent uniform image2D im; + +layout(sample_interlock_ordered) in; + +void main() { + + beginInvocationInterlockARB(); + + b1.x = 1; + imageStore(im, ivec2(0,0), vec4(0)); + + endInvocationInterlockARB(); +} diff --git a/3rdparty/glslang/Test/spv.fsi_Error.frag b/3rdparty/glslang/Test/spv.fsi_Error.frag new file mode 100644 index 000000000..adddf3e51 --- /dev/null +++ b/3rdparty/glslang/Test/spv.fsi_Error.frag @@ -0,0 +1,23 @@ +#version 450 +#extension GL_ARB_fragment_shader_interlock : enable + +layout(pixel_interlock_ordered) out; + +layout(pixel_interlock_ordered) in; +layout(pixel_interlock_unordered) in; + +void foo() +{ + beginInvocationInterlockARB(); + endInvocationInterlockARB(); +} + +void main() { + + endInvocationInterlockARB(); + beginInvocationInterlockARB(); + + return; + + endInvocationInterlockARB(); +} diff --git a/3rdparty/glslang/Test/spv.nonuniform2.frag b/3rdparty/glslang/Test/spv.nonuniform2.frag new file mode 100644 index 000000000..9bb7eaa37 --- /dev/null +++ b/3rdparty/glslang/Test/spv.nonuniform2.frag @@ -0,0 +1,9 @@ +#version 450 +#extension GL_EXT_nonuniform_qualifier : require +layout(set=0,binding=4,rgba32f) uniform imageBuffer data[]; +layout(location = 0) out vec4 FragColor; +layout(location = 3) in flat int rIndex; +void main() +{ + FragColor = imageLoad(data[nonuniformEXT(rIndex)], 0); +} diff --git a/3rdparty/glslang/glslang/CMakeLists.txt b/3rdparty/glslang/glslang/CMakeLists.txt index 5f51476ba..60169fb73 100644 --- a/3rdparty/glslang/glslang/CMakeLists.txt +++ b/3rdparty/glslang/glslang/CMakeLists.txt @@ -108,7 +108,8 @@ if(ENABLE_GLSLANG_INSTALL) if(BUILD_SHARED_LIBS) install(TARGETS glslang ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) else() install(TARGETS glslang ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/3rdparty/glslang/glslang/Include/BaseTypes.h b/3rdparty/glslang/glslang/Include/BaseTypes.h index 1827c4965..e4a4572b5 100644 --- a/3rdparty/glslang/glslang/Include/BaseTypes.h +++ b/3rdparty/glslang/glslang/Include/BaseTypes.h @@ -246,7 +246,7 @@ enum TBuiltInVariable { EbvFragFullyCoveredNV, EbvFragmentSizeNV, EbvInvocationsPerPixelNV, - // raytracing + // ray tracing EbvLaunchIdNV, EbvLaunchSizeNV, EbvInstanceCustomIndexNV, @@ -261,8 +261,10 @@ enum TBuiltInVariable { EbvObjectToWorldNV, EbvWorldToObjectNV, EbvIncomingRayFlagsNV, + // barycentrics EbvBaryCoordNV, EbvBaryCoordNoPerspNV, + // mesh shaders EbvTaskCountNV, EbvPrimitiveCountNV, EbvPrimitiveIndicesNV, @@ -271,7 +273,7 @@ enum TBuiltInVariable { EbvLayerPerViewNV, EbvMeshViewCountNV, EbvMeshViewIndicesNV, -#endif +#endif // HLSL built-ins that live only temporarily, until they get remapped // to one of the above. @@ -338,6 +340,8 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v) case EbvLocalInvocationId: return "LocalInvocationID"; case EbvGlobalInvocationId: return "GlobalInvocationID"; case EbvLocalInvocationIndex: return "LocalInvocationIndex"; + case EbvNumSubgroups: return "NumSubgroups"; + case EbvSubgroupID: return "SubgroupID"; case EbvSubGroupSize: return "SubGroupSize"; case EbvSubGroupInvocation: return "SubGroupInvocation"; case EbvSubGroupEqMask: return "SubGroupEqMask"; @@ -345,6 +349,13 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v) case EbvSubGroupGtMask: return "SubGroupGtMask"; case EbvSubGroupLeMask: return "SubGroupLeMask"; case EbvSubGroupLtMask: return "SubGroupLtMask"; + case EbvSubgroupSize2: return "SubgroupSize"; + case EbvSubgroupInvocation2: return "SubgroupInvocationID"; + case EbvSubgroupEqMask2: return "SubgroupEqMask"; + case EbvSubgroupGeMask2: return "SubgroupGeMask"; + case EbvSubgroupGtMask2: return "SubgroupGtMask"; + case EbvSubgroupLeMask2: return "SubgroupLeMask"; + case EbvSubgroupLtMask2: return "SubgroupLtMask"; case EbvVertexId: return "VertexId"; case EbvInstanceId: return "InstanceId"; case EbvVertexIndex: return "VertexIndex"; @@ -438,6 +449,7 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v) case EbvBaryCoordNV: return "BaryCoordNV"; case EbvBaryCoordNoPerspNV: return "BaryCoordNoPerspNV"; + case EbvTaskCountNV: return "TaskCountNV"; case EbvPrimitiveCountNV: return "PrimitiveCountNV"; case EbvPrimitiveIndicesNV: return "PrimitiveIndicesNV"; @@ -446,7 +458,8 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v) case EbvLayerPerViewNV: return "LayerPerViewNV"; case EbvMeshViewCountNV: return "MeshViewCountNV"; case EbvMeshViewIndicesNV: return "MeshViewIndicesNV"; -#endif +#endif + default: return "unknown built-in variable"; } } diff --git a/3rdparty/glslang/glslang/Include/Types.h b/3rdparty/glslang/glslang/Include/Types.h index 90341dcb2..1cbf4db77 100644 --- a/3rdparty/glslang/glslang/Include/Types.h +++ b/3rdparty/glslang/glslang/Include/Types.h @@ -422,6 +422,18 @@ enum TBlendEquationShift { EBlendCount }; +enum TInterlockOrdering { + EioNone, + EioPixelInterlockOrdered, + EioPixelInterlockUnordered, + EioSampleInterlockOrdered, + EioSampleInterlockUnordered, + EioShadingRateInterlockOrdered, + EioShadingRateInterlockUnordered, + + EioCount, +}; + class TQualifier { public: static const int layoutNotSet = -1; @@ -1110,6 +1122,18 @@ public: default: return 0; } } + static const char* getInterlockOrderingString(TInterlockOrdering order) + { + switch (order) { + case EioPixelInterlockOrdered: return "pixel_interlock_ordered"; + case EioPixelInterlockUnordered: return "pixel_interlock_unordered"; + case EioSampleInterlockOrdered: return "sample_interlock_ordered"; + case EioSampleInterlockUnordered: return "sample_interlock_unordered"; + case EioShadingRateInterlockOrdered: return "shading_rate_interlock_ordered"; + case EioShadingRateInterlockUnordered: return "shading_rate_interlock_unordered"; + default: return "none"; + } + } }; // Qualifiers that don't need to be keep per object. They have shader scope, not object scope. @@ -1130,6 +1154,7 @@ struct TShaderQualifiers { TLayoutDepth layoutDepth; bool blendEquation; // true if any blend equation was specified int numViews; // multiview extenstions + TInterlockOrdering interlockOrdering; #ifdef NV_EXTENSIONS bool layoutOverrideCoverage; // true if layout override_coverage set @@ -1165,6 +1190,7 @@ struct TShaderQualifiers { layoutDerivativeGroupLinear = false; primitives = TQualifier::layoutNotSet; #endif + interlockOrdering = EioNone; } // Merge in characteristics from the 'src' qualifier. They can override when @@ -1215,6 +1241,9 @@ struct TShaderQualifiers { if (src.primitives != TQualifier::layoutNotSet) primitives = src.primitives; #endif + + if (src.interlockOrdering != EioNone) + interlockOrdering = src.interlockOrdering; } }; diff --git a/3rdparty/glslang/glslang/Include/intermediate.h b/3rdparty/glslang/glslang/Include/intermediate.h index 32e684cda..f7424e88e 100644 --- a/3rdparty/glslang/glslang/Include/intermediate.h +++ b/3rdparty/glslang/glslang/Include/intermediate.h @@ -85,6 +85,8 @@ enum TOperator { EOpPreIncrement, EOpPreDecrement, + EOpCopyObject, + // (u)int* -> bool EOpConvInt8ToBool, EOpConvUint8ToBool, @@ -619,6 +621,9 @@ enum TOperator { EOpCooperativeMatrixStore, EOpCooperativeMatrixMulAdd, + EOpBeginInvocationInterlock, // Fragment only + EOpEndInvocationInterlock, // Fragment only + // // Branch // @@ -1114,7 +1119,12 @@ public: first(testFirst), unroll(false), dontUnroll(false), - dependency(0) + dependency(0), + minIterations(0), + maxIterations(iterationsInfinite), + iterationMultiple(1), + peelCount(0), + partialCount(0) { } virtual TIntermLoop* getAsLoopNode() { return this; } @@ -1126,14 +1136,36 @@ public: bool testFirst() const { return first; } void setUnroll() { unroll = true; } - void setDontUnroll() { dontUnroll = true; } + void setDontUnroll() { + dontUnroll = true; + peelCount = 0; + partialCount = 0; + } bool getUnroll() const { return unroll; } bool getDontUnroll() const { return dontUnroll; } static const unsigned int dependencyInfinite = 0xFFFFFFFF; + static const unsigned int iterationsInfinite = 0xFFFFFFFF; void setLoopDependency(int d) { dependency = d; } int getLoopDependency() const { return dependency; } + void setMinIterations(unsigned int v) { minIterations = v; } + unsigned int getMinIterations() const { return minIterations; } + void setMaxIterations(unsigned int v) { maxIterations = v; } + unsigned int getMaxIterations() const { return maxIterations; } + void setIterationMultiple(unsigned int v) { iterationMultiple = v; } + unsigned int getIterationMultiple() const { return iterationMultiple; } + void setPeelCount(unsigned int v) { + peelCount = v; + dontUnroll = false; + } + unsigned int getPeelCount() const { return peelCount; } + void setPartialCount(unsigned int v) { + partialCount = v; + dontUnroll = false; + } + unsigned int getPartialCount() const { return partialCount; } + protected: TIntermNode* body; // code to loop over TIntermTyped* test; // exit condition associated with loop, could be 0 for 'for' loops @@ -1142,6 +1174,11 @@ protected: bool unroll; // true if unroll requested bool dontUnroll; // true if request to not unroll unsigned int dependency; // loop dependency hint; 0 means not set or unknown + unsigned int minIterations; // as per the SPIR-V specification + unsigned int maxIterations; // as per the SPIR-V specification + unsigned int iterationMultiple; // as per the SPIR-V specification + unsigned int peelCount; // as per the SPIR-V specification + unsigned int partialCount; // as per the SPIR-V specification }; // diff --git a/3rdparty/glslang/glslang/Include/revision.h b/3rdparty/glslang/glslang/Include/revision.h index 68ce76689..dd6c8da04 100644 --- a/3rdparty/glslang/glslang/Include/revision.h +++ b/3rdparty/glslang/glslang/Include/revision.h @@ -1,3 +1,3 @@ // This header is generated by the make-revision script. -#define GLSLANG_PATCH_LEVEL 3205 +#define GLSLANG_PATCH_LEVEL 3226 diff --git a/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp b/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp index 0498b4871..ecaf7556c 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Initialize.cpp @@ -5030,6 +5030,10 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "\n"); } + stageBuiltins[EShLangFragment].append( + "void beginInvocationInterlockARB(void);" + "void endInvocationInterlockARB(void);"); + #ifdef AMD_EXTENSIONS // GL_AMD_shader_explicit_vertex_parameter if (profile != EEsProfile && version >= 450) { @@ -6129,7 +6133,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV // GL_KHR_shader_subgroup if ((profile == EEsProfile && version >= 310) || (profile != EEsProfile && version >= 140)) { - const char* ballotDecls = + const char* subgroupDecls = "in mediump uint gl_SubgroupSize;" "in mediump uint gl_SubgroupInvocationID;" "in highp uvec4 gl_SubgroupEqMask;" @@ -6138,7 +6142,7 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "in highp uvec4 gl_SubgroupLeMask;" "in highp uvec4 gl_SubgroupLtMask;" "\n"; - const char* fragmentBallotDecls = + const char* fragmentSubgroupDecls = "flat in mediump uint gl_SubgroupSize;" "flat in mediump uint gl_SubgroupInvocationID;" "flat in highp uvec4 gl_SubgroupEqMask;" @@ -6147,30 +6151,29 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "flat in highp uvec4 gl_SubgroupLeMask;" "flat in highp uvec4 gl_SubgroupLtMask;" "\n"; - stageBuiltins[EShLangVertex] .append(ballotDecls); - stageBuiltins[EShLangTessControl] .append(ballotDecls); - stageBuiltins[EShLangTessEvaluation].append(ballotDecls); - stageBuiltins[EShLangGeometry] .append(ballotDecls); - stageBuiltins[EShLangCompute] .append(ballotDecls); - stageBuiltins[EShLangFragment] .append(fragmentBallotDecls); -#ifdef NV_EXTENSIONS - stageBuiltins[EShLangMeshNV] .append(ballotDecls); - stageBuiltins[EShLangTaskNV] .append(ballotDecls); -#endif + const char* computeSubgroupDecls = + "in highp uint gl_NumSubgroups;" + "in highp uint gl_SubgroupID;" + "\n"; - stageBuiltins[EShLangCompute].append( - "highp in uint gl_NumSubgroups;" - "highp in uint gl_SubgroupID;" - "\n"); + stageBuiltins[EShLangVertex] .append(subgroupDecls); + stageBuiltins[EShLangTessControl] .append(subgroupDecls); + stageBuiltins[EShLangTessEvaluation].append(subgroupDecls); + stageBuiltins[EShLangGeometry] .append(subgroupDecls); + stageBuiltins[EShLangCompute] .append(subgroupDecls); + stageBuiltins[EShLangCompute] .append(computeSubgroupDecls); + stageBuiltins[EShLangFragment] .append(fragmentSubgroupDecls); #ifdef NV_EXTENSIONS - stageBuiltins[EShLangMeshNV].append( - "highp in uint gl_NumSubgroups;" - "highp in uint gl_SubgroupID;" - "\n"); - stageBuiltins[EShLangTaskNV].append( - "highp in uint gl_NumSubgroups;" - "highp in uint gl_SubgroupID;" - "\n"); + stageBuiltins[EShLangMeshNV] .append(subgroupDecls); + stageBuiltins[EShLangMeshNV] .append(computeSubgroupDecls); + stageBuiltins[EShLangTaskNV] .append(subgroupDecls); + stageBuiltins[EShLangTaskNV] .append(computeSubgroupDecls); + stageBuiltins[EShLangRayGenNV] .append(subgroupDecls); + stageBuiltins[EShLangIntersectNV] .append(subgroupDecls); + stageBuiltins[EShLangAnyHitNV] .append(subgroupDecls); + stageBuiltins[EShLangClosestHitNV] .append(subgroupDecls); + stageBuiltins[EShLangMissNV] .append(subgroupDecls); + stageBuiltins[EShLangCallableNV] .append(subgroupDecls); #endif } @@ -8754,8 +8757,52 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion BuiltInVariable("gl_WorldToObjectNV", EbvWorldToObjectNV, symbolTable); BuiltInVariable("gl_IncomingRayFlagsNV", EbvIncomingRayFlagsNV, symbolTable); BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable); - } + + // GL_ARB_shader_ballot + symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB", 1, &E_GL_ARB_shader_ballot); + symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB", 1, &E_GL_ARB_shader_ballot); + + BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable); + BuiltInVariable("gl_SubGroupEqMaskARB", EbvSubGroupEqMask, symbolTable); + BuiltInVariable("gl_SubGroupGeMaskARB", EbvSubGroupGeMask, symbolTable); + BuiltInVariable("gl_SubGroupGtMaskARB", EbvSubGroupGtMask, symbolTable); + BuiltInVariable("gl_SubGroupLeMaskARB", EbvSubGroupLeMask, symbolTable); + BuiltInVariable("gl_SubGroupLtMaskARB", EbvSubGroupLtMask, symbolTable); + + if (spvVersion.vulkan > 0) + // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan + SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable); + else + BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable); + + // GL_KHR_shader_subgroup + symbolTable.setVariableExtensions("gl_NumSubgroups", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupSize", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic); + symbolTable.setVariableExtensions("gl_SubgroupEqMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupGtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLeMask", 1, &E_GL_KHR_shader_subgroup_ballot); + symbolTable.setVariableExtensions("gl_SubgroupLtMask", 1, &E_GL_KHR_shader_subgroup_ballot); + + BuiltInVariable("gl_NumSubgroups", EbvNumSubgroups, symbolTable); + BuiltInVariable("gl_SubgroupID", EbvSubgroupID, symbolTable); + BuiltInVariable("gl_SubgroupSize", EbvSubgroupSize2, symbolTable); + BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable); + BuiltInVariable("gl_SubgroupEqMask", EbvSubgroupEqMask2, symbolTable); + BuiltInVariable("gl_SubgroupGeMask", EbvSubgroupGeMask2, symbolTable); + BuiltInVariable("gl_SubgroupGtMask", EbvSubgroupGtMask2, symbolTable); + BuiltInVariable("gl_SubgroupLeMask", EbvSubgroupLeMask2, symbolTable); + BuiltInVariable("gl_SubgroupLtMask", EbvSubgroupLtMask2, symbolTable); + } break; + case EShLangMeshNV: if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { // per-vertex builtins @@ -9496,6 +9543,10 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion if (profile != EEsProfile) symbolTable.relateToOperator("interpolateAtVertexAMD", EOpInterpolateAtVertex); #endif + + symbolTable.relateToOperator("beginInvocationInterlockARB", EOpBeginInvocationInterlock); + symbolTable.relateToOperator("endInvocationInterlockARB", EOpEndInvocationInterlock); + break; case EShLangCompute: @@ -9554,6 +9605,7 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) { symbolTable.relateToOperator("memoryBarrierShared", EOpMemoryBarrierShared); symbolTable.relateToOperator("groupMemoryBarrier", EOpGroupMemoryBarrier); + symbolTable.relateToOperator("subgroupMemoryBarrierShared", EOpSubgroupMemoryBarrierShared); } break; #endif diff --git a/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp b/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp index 348b27209..584d88050 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Intermediate.cpp @@ -119,6 +119,62 @@ TIntermTyped* TIntermediate::addBinaryMath(TOperator op, TIntermTyped* left, TIn if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock) return nullptr; + // Convert "reference +/- int" and "reference - reference" to integer math + if ((op == EOpAdd || op == EOpSub) && extensionRequested(E_GL_EXT_buffer_reference2)) { + + // No addressing math on struct with unsized array. + if ((left->getBasicType() == EbtReference && left->getType().getReferentType()->containsUnsizedArray()) || + (right->getBasicType() == EbtReference && right->getType().getReferentType()->containsUnsizedArray())) { + return nullptr; + } + + if (left->getBasicType() == EbtReference && isTypeInt(right->getBasicType())) { + const TType& referenceType = left->getType(); + TIntermConstantUnion* size = addConstantUnion((unsigned long long)computeBufferReferenceTypeSize(left->getType()), loc, true); + left = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, left, TType(EbtUint64)); + + right = createConversion(EbtInt64, right); + right = addBinaryMath(EOpMul, right, size, loc); + + TIntermTyped *node = addBinaryMath(op, left, right, loc); + node = addBuiltInFunctionCall(loc, EOpConvUint64ToPtr, true, node, referenceType); + return node; + } + + if (op == EOpAdd && right->getBasicType() == EbtReference && isTypeInt(left->getBasicType())) { + const TType& referenceType = right->getType(); + TIntermConstantUnion* size = addConstantUnion((unsigned long long)computeBufferReferenceTypeSize(right->getType()), loc, true); + right = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, right, TType(EbtUint64)); + + left = createConversion(EbtInt64, left); + left = addBinaryMath(EOpMul, left, size, loc); + + TIntermTyped *node = addBinaryMath(op, left, right, loc); + node = addBuiltInFunctionCall(loc, EOpConvUint64ToPtr, true, node, referenceType); + return node; + } + + if (op == EOpSub && left->getBasicType() == EbtReference && right->getBasicType() == EbtReference) { + TIntermConstantUnion* size = addConstantUnion((long long)computeBufferReferenceTypeSize(left->getType()), loc, true); + + left = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, left, TType(EbtUint64)); + right = addBuiltInFunctionCall(loc, EOpConvPtrToUint64, true, right, TType(EbtUint64)); + + left = addBuiltInFunctionCall(loc, EOpConvUint64ToInt64, true, left, TType(EbtInt64)); + right = addBuiltInFunctionCall(loc, EOpConvUint64ToInt64, true, right, TType(EbtInt64)); + + left = addBinaryMath(EOpSub, left, right, loc); + + TIntermTyped *node = addBinaryMath(EOpDiv, left, size, loc); + return node; + } + + // No other math operators supported on references + if (left->getBasicType() == EbtReference || right->getBasicType() == EbtReference) { + return nullptr; + } + } + // Try converting the children's base types to compatible types. auto children = addConversion(op, left, right); left = std::get<0>(children); @@ -231,6 +287,26 @@ TIntermTyped* TIntermediate::addAssign(TOperator op, TIntermTyped* left, TInterm if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock) return nullptr; + // Convert "reference += int" to "reference = reference + int". We need this because the + // "reference + int" calculation involves a cast back to the original type, which makes it + // not an lvalue. + if ((op == EOpAddAssign || op == EOpSubAssign) && left->getBasicType() == EbtReference && + extensionRequested(E_GL_EXT_buffer_reference2)) { + + if (!(right->getType().isScalar() && right->getType().isIntegerDomain())) + return nullptr; + + TIntermTyped* node = addBinaryMath(op == EOpAddAssign ? EOpAdd : EOpSub, left, right, loc); + if (!node) + return nullptr; + + TIntermSymbol* symbol = left->getAsSymbolNode(); + left = addSymbol(*symbol); + + node = addAssign(EOpAssign, left, node, loc); + return node; + } + // // Like adding binary math, except the conversion can only go // from right to left. diff --git a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp index 62aba52a6..7b0f0660d 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.cpp @@ -377,7 +377,8 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn // basic type checks... variableCheck(base); - if (! base->isArray() && ! base->isMatrix() && ! base->isVector() && ! base->getType().isCoopMat()) { + if (! base->isArray() && ! base->isMatrix() && ! base->isVector() && ! base->getType().isCoopMat() && + base->getBasicType() != EbtReference) { if (base->getAsSymbolNode()) error(loc, " left of '[' is not of type array, matrix, or vector ", base->getAsSymbolNode()->getName().c_str(), ""); else @@ -405,6 +406,14 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn // at least one of base and index is not a front-end constant variable... TIntermTyped* result = nullptr; + + if (base->getBasicType() == EbtReference && ! base->isArray()) { + requireExtensions(loc, 1, &E_GL_EXT_buffer_reference2, "buffer reference indexing"); + result = intermediate.addBinaryMath(EOpAdd, base, index, loc); + result->setType(base->getType()); + return result; + } + if (index->getQualifier().isFrontEndConstant()) checkIndex(loc, base->getType(), indexValue); @@ -1401,6 +1410,44 @@ void TParseContext::checkLocation(const TSourceLoc& loc, TOperator op) error(loc, "tessellation control barrier() cannot be placed after a return from main()", "", ""); } break; + case EOpBeginInvocationInterlock: + if (language != EShLangFragment) + error(loc, "beginInvocationInterlockARB() must be in a fragment shader", "", ""); + if (! inMain) + error(loc, "beginInvocationInterlockARB() must be in main()", "", ""); + else if (postEntryPointReturn) + error(loc, "beginInvocationInterlockARB() cannot be placed after a return from main()", "", ""); + if (controlFlowNestingLevel > 0) + error(loc, "beginInvocationInterlockARB() cannot be placed within flow control", "", ""); + + if (beginInvocationInterlockCount > 0) + error(loc, "beginInvocationInterlockARB() must only be called once", "", ""); + if (endInvocationInterlockCount > 0) + error(loc, "beginInvocationInterlockARB() must be called before endInvocationInterlockARB()", "", ""); + + beginInvocationInterlockCount++; + + // default to pixel_interlock_ordered + if (intermediate.getInterlockOrdering() == EioNone) + intermediate.setInterlockOrdering(EioPixelInterlockOrdered); + break; + case EOpEndInvocationInterlock: + if (language != EShLangFragment) + error(loc, "endInvocationInterlockARB() must be in a fragment shader", "", ""); + if (! inMain) + error(loc, "endInvocationInterlockARB() must be in main()", "", ""); + else if (postEntryPointReturn) + error(loc, "endInvocationInterlockARB() cannot be placed after a return from main()", "", ""); + if (controlFlowNestingLevel > 0) + error(loc, "endInvocationInterlockARB() cannot be placed within flow control", "", ""); + + if (endInvocationInterlockCount > 0) + error(loc, "endInvocationInterlockARB() must only be called once", "", ""); + if (beginInvocationInterlockCount == 0) + error(loc, "beginInvocationInterlockARB() must be called before endInvocationInterlockARB()", "", ""); + + endInvocationInterlockCount++; + break; default: break; } @@ -3885,7 +3932,10 @@ void TParseContext::checkRuntimeSizable(const TSourceLoc& loc, const TIntermType // check for additional things allowed by GL_EXT_nonuniform_qualifier if (base.getBasicType() == EbtSampler || - (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer())) +#ifdef NV_EXTENSIONS + base.getBasicType() == EbtAccStructNV || +#endif + (base.getBasicType() == EbtBlock && base.getType().getQualifier().isUniformOrBuffer())) requireExtensions(loc, 1, &E_GL_EXT_nonuniform_qualifier, "variable index"); else error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable"); @@ -4933,6 +4983,19 @@ void TParseContext::setLayoutQualifier(const TSourceLoc& loc, TPublicType& publi return; } } + for (TInterlockOrdering order = (TInterlockOrdering)(EioNone + 1); order < EioCount; order = (TInterlockOrdering)(order+1)) { + if (id == TQualifier::getInterlockOrderingString(order)) { + requireProfile(loc, ECoreProfile | ECompatibilityProfile, "fragment shader interlock layout qualifier"); + profileRequires(loc, ECoreProfile | ECompatibilityProfile, 450, nullptr, "fragment shader interlock layout qualifier"); + requireExtensions(loc, 1, &E_GL_ARB_fragment_shader_interlock, TQualifier::getInterlockOrderingString(order)); +#ifdef NV_EXTENSIONS + if (order == EioShadingRateInterlockOrdered || order == EioShadingRateInterlockUnordered) + requireExtensions(loc, 1, &E_GL_NV_shading_rate_image, TQualifier::getInterlockOrderingString(order)); +#endif + publicType.shaderQualifiers.interlockOrdering = order; + return; + } + } if (id.compare(0, 13, "blend_support") == 0) { bool found = false; for (TBlendEquationShift be = (TBlendEquationShift)0; be < EBlendCount; be = (TBlendEquationShift)(be + 1)) { @@ -5933,6 +5996,8 @@ void TParseContext::checkNoShaderLayouts(const TSourceLoc& loc, const TShaderQua error(loc, message, "blend equation", ""); if (shaderQualifiers.numViews != TQualifier::layoutNotSet) error(loc, message, "num_views", ""); + if (shaderQualifiers.interlockOrdering != EioNone) + error(loc, message, TQualifier::getInterlockOrderingString(shaderQualifiers.interlockOrdering), ""); } // Correct and/or advance an object's offset layout qualifier. @@ -6942,9 +7007,10 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T break; case EOpConstructNonuniform: - node->getWritableType().getQualifier().nonUniform = true; - return node; - break; + // Make a nonuniform copy of node + newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpCopyObject, true, node, node->getType()); + newNode->getWritableType().getQualifier().nonUniform = true; + return newNode; case EOpConstructReference: // construct reference from reference @@ -7861,6 +7927,14 @@ void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, con if (publicType.qualifier.storage != EvqVaryingOut) error(loc, "can only apply to 'out'", "blend equation", ""); } + if (publicType.shaderQualifiers.interlockOrdering) { + if (publicType.qualifier.storage == EvqVaryingIn) { + if (!intermediate.setInterlockOrdering(publicType.shaderQualifiers.interlockOrdering)) + error(loc, "cannot change previously set fragment shader interlock ordering", TQualifier::getInterlockOrderingString(publicType.shaderQualifiers.interlockOrdering), ""); + } + else + error(loc, "can only apply to 'in'", TQualifier::getInterlockOrderingString(publicType.shaderQualifiers.interlockOrdering), ""); + } #ifdef NV_EXTENSIONS if (publicType.shaderQualifiers.layoutDerivativeGroupQuads && diff --git a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h index a1ffe64db..04ede1e36 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h +++ b/3rdparty/glslang/glslang/MachineIndependent/ParseHelper.h @@ -85,6 +85,7 @@ public: statementNestingLevel(0), loopNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), postEntryPointReturn(false), contextPragma(true, false), + beginInvocationInterlockCount(0), endInvocationInterlockCount(0), parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr), limits(resources.limits), globalUniformBlock(nullptr), @@ -182,6 +183,8 @@ public: // the statementNestingLevel the current switch statement is at, which must match the level of its case statements TList switchLevel; struct TPragma contextPragma; + int beginInvocationInterlockCount; + int endInvocationInterlockCount; protected: TParseContextBase(TParseContextBase&); diff --git a/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp b/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp index c0a02e68a..f4d97d22f 100755 --- a/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/SymbolTable.cpp @@ -184,7 +184,7 @@ void TSymbol::dumpExtensions(TInfoSink& infoSink) const for (int i = 0; i < numExtensions; i++) infoSink.debug << getExtensions()[i] << ","; - + infoSink.debug << ">"; } } @@ -229,7 +229,7 @@ void TFunction::dump(TInfoSink& infoSink, bool complete) const infoSink.debug << "\n"; } -void TAnonMember::dump(TInfoSink& TInfoSink, bool complete) const +void TAnonMember::dump(TInfoSink& TInfoSink, bool) const { TInfoSink.debug << "anonymous member " << getMemberNumber() << " of " << getAnonContainer().getName().c_str() << "\n"; diff --git a/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp b/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp index 0d4b99466..6c97da16b 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/Versions.cpp @@ -187,6 +187,7 @@ void TParseVersions::initializeExtensionBehavior() // extensionBehavior[E_GL_ARB_cull_distance] = EBhDisable; // present for 4.5, but need extension control over block members extensionBehavior[E_GL_ARB_post_depth_coverage] = EBhDisable; extensionBehavior[E_GL_ARB_shader_viewport_layer_array] = EBhDisable; + extensionBehavior[E_GL_ARB_fragment_shader_interlock] = EBhDisable; extensionBehavior[E_GL_KHR_shader_subgroup_basic] = EBhDisable; extensionBehavior[E_GL_KHR_shader_subgroup_vote] = EBhDisable; @@ -209,6 +210,7 @@ void TParseVersions::initializeExtensionBehavior() extensionBehavior[E_GL_EXT_scalar_block_layout] = EBhDisable; extensionBehavior[E_GL_EXT_fragment_invocation_density] = EBhDisable; extensionBehavior[E_GL_EXT_buffer_reference] = EBhDisable; + extensionBehavior[E_GL_EXT_buffer_reference2] = EBhDisable; extensionBehavior[E_GL_EXT_shader_16bit_storage] = EBhDisable; extensionBehavior[E_GL_EXT_shader_8bit_storage] = EBhDisable; @@ -378,6 +380,7 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_ARB_shader_stencil_export 1\n" // "#define GL_ARB_cull_distance 1\n" // present for 4.5, but need extension control over block members "#define GL_ARB_post_depth_coverage 1\n" + "#define GL_ARB_fragment_shader_interlock 1\n" "#define GL_EXT_shader_non_constant_global_initializers 1\n" "#define GL_EXT_shader_image_load_formatted 1\n" "#define GL_EXT_post_depth_coverage 1\n" @@ -389,6 +392,7 @@ void TParseVersions::getPreamble(std::string& preamble) "#define GL_EXT_scalar_block_layout 1\n" "#define GL_EXT_fragment_invocation_density 1\n" "#define GL_EXT_buffer_reference 1\n" + "#define GL_EXT_buffer_reference2 1\n" // GL_KHR_shader_subgroup "#define GL_KHR_shader_subgroup_basic 1\n" @@ -808,6 +812,8 @@ void TParseVersions::updateExtensionBehavior(int line, const char* extension, co else if (strcmp(extension, "GL_NV_shader_subgroup_partitioned") == 0) updateExtensionBehavior(line, "GL_KHR_shader_subgroup_basic", behaviorString); #endif + else if (strcmp(extension, "GL_EXT_buffer_reference2") == 0) + updateExtensionBehavior(line, "GL_EXT_buffer_reference", behaviorString); } void TParseVersions::updateExtensionBehavior(const char* extension, TExtensionBehavior behavior) diff --git a/3rdparty/glslang/glslang/MachineIndependent/Versions.h b/3rdparty/glslang/glslang/MachineIndependent/Versions.h old mode 100755 new mode 100644 index e571b51cf..953d33a09 --- a/3rdparty/glslang/glslang/MachineIndependent/Versions.h +++ b/3rdparty/glslang/glslang/MachineIndependent/Versions.h @@ -141,6 +141,7 @@ const char* const E_GL_ARB_shader_stencil_export = "GL_ARB_shader_stencil // const char* const E_GL_ARB_cull_distance = "GL_ARB_cull_distance"; // present for 4.5, but need extension control over block members const char* const E_GL_ARB_post_depth_coverage = "GL_ARB_post_depth_coverage"; const char* const E_GL_ARB_shader_viewport_layer_array = "GL_ARB_shader_viewport_layer_array"; +const char* const E_GL_ARB_fragment_shader_interlock = "GL_ARB_fragment_shader_interlock"; const char* const E_GL_KHR_shader_subgroup_basic = "GL_KHR_shader_subgroup_basic"; const char* const E_GL_KHR_shader_subgroup_vote = "GL_KHR_shader_subgroup_vote"; @@ -171,6 +172,7 @@ const char* const E_GL_EXT_samplerless_texture_functions = "GL_EXT_samplerles const char* const E_GL_EXT_scalar_block_layout = "GL_EXT_scalar_block_layout"; const char* const E_GL_EXT_fragment_invocation_density = "GL_EXT_fragment_invocation_density"; const char* const E_GL_EXT_buffer_reference = "GL_EXT_buffer_reference"; +const char* const E_GL_EXT_buffer_reference2 = "GL_EXT_buffer_reference2"; // Arrays of extensions for the above viewportEXTs duplications diff --git a/3rdparty/glslang/glslang/MachineIndependent/attribute.cpp b/3rdparty/glslang/glslang/MachineIndependent/attribute.cpp index bf960ffe6..d4a23f39d 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/attribute.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/attribute.cpp @@ -52,6 +52,7 @@ bool TAttributeArgs::getInt(int& value, int argNum) const return true; } + // extract strings out of attribute arguments stored in attribute aggregate. // convert to lower case if converToLower is true (for case-insensitive compare convenience) bool TAttributeArgs::getString(TString& value, int argNum, bool convertToLower) const @@ -110,6 +111,16 @@ TAttributeType TParseContext::attributeFromName(const TString& name) const return EatDependencyInfinite; else if (name == "dependency_length") return EatDependencyLength; + else if (name == "min_iterations") + return EatMinIterations; + else if (name == "max_iterations") + return EatMaxIterations; + else if (name == "iteration_multiple") + return EatIterationMultiple; + else if (name == "peel_count") + return EatPeelCount; + else if (name == "partial_count") + return EatPartialCount; else return EatNone; } @@ -225,29 +236,101 @@ void TParseContext::handleLoopAttributes(const TAttributes& attributes, TIntermN } for (auto it = attributes.begin(); it != attributes.end(); ++it) { - if (it->name != EatDependencyLength && it->size() > 0) { - warn(node->getLoc(), "attribute with arguments not recognized, skipping", "", ""); - continue; - } - int value; + const auto noArgument = [&](const char* feature) { + if (it->size() > 0) { + warn(node->getLoc(), "expected no arguments", feature, ""); + return false; + } + return true; + }; + + const auto positiveSignedArgument = [&](const char* feature, int& value) { + if (it->size() == 1 && it->getInt(value)) { + if (value <= 0) { + error(node->getLoc(), "must be positive", feature, ""); + return false; + } + } else { + warn(node->getLoc(), "expected a single integer argument", feature, ""); + return false; + } + return true; + }; + + const auto unsignedArgument = [&](const char* feature, unsigned int& uiValue) { + int value; + if (!(it->size() == 1 && it->getInt(value))) { + warn(node->getLoc(), "expected a single integer argument", feature, ""); + return false; + } + uiValue = (unsigned int)value; + return true; + }; + + const auto positiveUnsignedArgument = [&](const char* feature, unsigned int& uiValue) { + int value; + if (it->size() == 1 && it->getInt(value)) { + if (value == 0) { + error(node->getLoc(), "must be greater than or equal to 1", feature, ""); + return false; + } + } else { + warn(node->getLoc(), "expected a single integer argument", feature, ""); + return false; + } + uiValue = (unsigned int)value; + return true; + }; + + const auto spirv14 = [&](const char* feature) { + if (spvVersion.spv > 0 && spvVersion.spv < EShTargetSpv_1_4) + warn(node->getLoc(), "attribute requires a SPIR-V 1.4 target-env", feature, ""); + }; + + int value = 0; + unsigned uiValue = 0; switch (it->name) { case EatUnroll: - loop->setUnroll(); + if (noArgument("unroll")) + loop->setUnroll(); break; case EatLoop: - loop->setDontUnroll(); + if (noArgument("dont_unroll")) + loop->setDontUnroll(); break; case EatDependencyInfinite: - loop->setLoopDependency(TIntermLoop::dependencyInfinite); + if (noArgument("dependency_infinite")) + loop->setLoopDependency(TIntermLoop::dependencyInfinite); break; case EatDependencyLength: - if (it->size() == 1 && it->getInt(value)) { - if (value <= 0) - error(node->getLoc(), "must be positive", "dependency_length", ""); + if (positiveSignedArgument("dependency_length", value)) loop->setLoopDependency(value); - } else - warn(node->getLoc(), "expected a single integer argument", "dependency_length", ""); + break; + case EatMinIterations: + spirv14("min_iterations"); + if (unsignedArgument("min_iterations", uiValue)) + loop->setMinIterations(uiValue); + break; + case EatMaxIterations: + spirv14("max_iterations"); + if (unsignedArgument("max_iterations", uiValue)) + loop->setMaxIterations(uiValue); + break; + case EatIterationMultiple: + spirv14("iteration_multiple"); + if (positiveUnsignedArgument("iteration_multiple", uiValue)) + loop->setIterationMultiple(uiValue); + break; + case EatPeelCount: + spirv14("peel_count"); + if (unsignedArgument("peel_count", uiValue)) + loop->setPeelCount(uiValue); + break; + case EatPartialCount: + spirv14("partial_count"); + if (unsignedArgument("partial_count", uiValue)) + loop->setPartialCount(uiValue); break; default: warn(node->getLoc(), "attribute does not apply to a loop", "", ""); diff --git a/3rdparty/glslang/glslang/MachineIndependent/attribute.h b/3rdparty/glslang/glslang/MachineIndependent/attribute.h index 8d0c5bcaf..844ce4580 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/attribute.h +++ b/3rdparty/glslang/glslang/MachineIndependent/attribute.h @@ -71,7 +71,12 @@ namespace glslang { EatPushConstant, EatConstantId, EatDependencyInfinite, - EatDependencyLength + EatDependencyLength, + EatMinIterations, + EatMaxIterations, + EatIterationMultiple, + EatPeelCount, + EatPartialCount }; class TIntermAggregate; diff --git a/3rdparty/glslang/glslang/MachineIndependent/intermOut.cpp b/3rdparty/glslang/glslang/MachineIndependent/intermOut.cpp index a2c362716..abf5681b6 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/intermOut.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/intermOut.cpp @@ -237,6 +237,7 @@ bool TOutputTraverser::visitUnary(TVisit /* visit */, TIntermUnary* node) case EOpPostDecrement: out.debug << "Post-Decrement"; break; case EOpPreIncrement: out.debug << "Pre-Increment"; break; case EOpPreDecrement: out.debug << "Pre-Decrement"; break; + case EOpCopyObject: out.debug << "copy object"; break; // * -> bool case EOpConvInt8ToBool: out.debug << "Convert int8_t to bool"; break; @@ -1056,6 +1057,31 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node case EOpSubgroupQuadSwapVertical: out.debug << "subgroupQuadSwapVertical"; break; case EOpSubgroupQuadSwapDiagonal: out.debug << "subgroupQuadSwapDiagonal"; break; +#ifdef NV_EXTENSIONS + case EOpSubgroupPartition: out.debug << "subgroupPartitionNV"; break; + case EOpSubgroupPartitionedAdd: out.debug << "subgroupPartitionedAddNV"; break; + case EOpSubgroupPartitionedMul: out.debug << "subgroupPartitionedMulNV"; break; + case EOpSubgroupPartitionedMin: out.debug << "subgroupPartitionedMinNV"; break; + case EOpSubgroupPartitionedMax: out.debug << "subgroupPartitionedMaxNV"; break; + case EOpSubgroupPartitionedAnd: out.debug << "subgroupPartitionedAndNV"; break; + case EOpSubgroupPartitionedOr: out.debug << "subgroupPartitionedOrNV"; break; + case EOpSubgroupPartitionedXor: out.debug << "subgroupPartitionedXorNV"; break; + case EOpSubgroupPartitionedInclusiveAdd: out.debug << "subgroupPartitionedInclusiveAddNV"; break; + case EOpSubgroupPartitionedInclusiveMul: out.debug << "subgroupPartitionedInclusiveMulNV"; break; + case EOpSubgroupPartitionedInclusiveMin: out.debug << "subgroupPartitionedInclusiveMinNV"; break; + case EOpSubgroupPartitionedInclusiveMax: out.debug << "subgroupPartitionedInclusiveMaxNV"; break; + case EOpSubgroupPartitionedInclusiveAnd: out.debug << "subgroupPartitionedInclusiveAndNV"; break; + case EOpSubgroupPartitionedInclusiveOr: out.debug << "subgroupPartitionedInclusiveOrNV"; break; + case EOpSubgroupPartitionedInclusiveXor: out.debug << "subgroupPartitionedInclusiveXorNV"; break; + case EOpSubgroupPartitionedExclusiveAdd: out.debug << "subgroupPartitionedExclusiveAddNV"; break; + case EOpSubgroupPartitionedExclusiveMul: out.debug << "subgroupPartitionedExclusiveMulNV"; break; + case EOpSubgroupPartitionedExclusiveMin: out.debug << "subgroupPartitionedExclusiveMinNV"; break; + case EOpSubgroupPartitionedExclusiveMax: out.debug << "subgroupPartitionedExclusiveMaxNV"; break; + case EOpSubgroupPartitionedExclusiveAnd: out.debug << "subgroupPartitionedExclusiveAndNV"; break; + case EOpSubgroupPartitionedExclusiveOr: out.debug << "subgroupPartitionedExclusiveOrNV"; break; + case EOpSubgroupPartitionedExclusiveXor: out.debug << "subgroupPartitionedExclusiveXorNV"; break; +#endif + case EOpSubpassLoad: out.debug << "subpassLoad"; break; case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break; @@ -1476,6 +1502,8 @@ void TIntermediate::output(TInfoSink& infoSink, bool tree) } infoSink.debug << "\n"; } + if (interlockOrdering != EioNone) + infoSink.debug << "interlock ordering = " << TQualifier::getInterlockOrderingString(interlockOrdering) << "\n"; break; #ifdef NV_EXTENSIONS diff --git a/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp b/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp old mode 100755 new mode 100644 index 0cf2d3604..f935d4a62 --- a/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/linkValidate.cpp @@ -1683,4 +1683,74 @@ int TIntermediate::getMemberAlignment(const TType& type, int& size, int& stride, } } +// shared calculation by getOffset and getOffsets +void TIntermediate::updateOffset(const TType& parentType, const TType& memberType, int& offset, int& memberSize) +{ + int dummyStride; + + // modify just the children's view of matrix layout, if there is one for this member + TLayoutMatrix subMatrixLayout = memberType.getQualifier().layoutMatrix; + int memberAlignment = getMemberAlignment(memberType, memberSize, dummyStride, + parentType.getQualifier().layoutPacking, + subMatrixLayout != ElmNone + ? subMatrixLayout == ElmRowMajor + : parentType.getQualifier().layoutMatrix == ElmRowMajor); + RoundToPow2(offset, memberAlignment); +} + +// Lookup or calculate the offset of a block member, using the recursively +// defined block offset rules. +int TIntermediate::getOffset(const TType& type, int index) +{ + const TTypeList& memberList = *type.getStruct(); + + // Don't calculate offset if one is present, it could be user supplied + // and different than what would be calculated. That is, this is faster, + // but not just an optimization. + if (memberList[index].type->getQualifier().hasOffset()) + return memberList[index].type->getQualifier().layoutOffset; + + int memberSize = 0; + int offset = 0; + for (int m = 0; m <= index; ++m) { + updateOffset(type, *memberList[m].type, offset, memberSize); + + if (m < index) + offset += memberSize; + } + + return offset; +} + +// Calculate the block data size. +// Block arrayness is not taken into account, each element is backed by a separate buffer. +int TIntermediate::getBlockSize(const TType& blockType) +{ + const TTypeList& memberList = *blockType.getStruct(); + int lastIndex = (int)memberList.size() - 1; + int lastOffset = getOffset(blockType, lastIndex); + + int lastMemberSize; + int dummyStride; + getMemberAlignment(*memberList[lastIndex].type, lastMemberSize, dummyStride, + blockType.getQualifier().layoutPacking, + blockType.getQualifier().layoutMatrix == ElmRowMajor); + + return lastOffset + lastMemberSize; +} + +int TIntermediate::computeBufferReferenceTypeSize(const TType& type) +{ + assert(type.getBasicType() == EbtReference); + int size = getBlockSize(*type.getReferentType()); + + int align = type.getBufferReferenceAlignment(); + + if (align) { + size = (size + align - 1) & ~(align-1); + } + + return size; +} + } // end namespace glslang diff --git a/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h b/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h index ba1772580..30ba98dbf 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h +++ b/3rdparty/glslang/glslang/MachineIndependent/localintermediate.h @@ -240,7 +240,7 @@ public: invocations(TQualifier::layoutNotSet), vertices(TQualifier::layoutNotSet), inputPrimitive(ElgNone), outputPrimitive(ElgNone), pixelCenterInteger(false), originUpperLeft(false), - vertexSpacing(EvsNone), vertexOrder(EvoNone), pointMode(false), earlyFragmentTests(false), + vertexSpacing(EvsNone), vertexOrder(EvoNone), interlockOrdering(EioNone), pointMode(false), earlyFragmentTests(false), postDepthCoverage(false), depthLayout(EldNone), depthReplacing(false), hlslFunctionality1(false), blendEquations(0), xfbMode(false), multiStream(false), @@ -608,6 +608,15 @@ public: void setPointMode() { pointMode = true; } bool getPointMode() const { return pointMode; } + bool setInterlockOrdering(TInterlockOrdering o) + { + if (interlockOrdering != EioNone) + return interlockOrdering == o; + interlockOrdering = o; + return true; + } + TInterlockOrdering getInterlockOrdering() const { return interlockOrdering; } + bool setLocalSize(int dim, int size) { if (localSize[dim] > 1) @@ -696,6 +705,10 @@ public: static int getScalarAlignment(const TType&, int& size, int& stride, bool rowMajor); static int getMemberAlignment(const TType&, int& size, int& stride, TLayoutPacking layoutPacking, bool rowMajor); static bool improperStraddle(const TType& type, int size, int offset); + static void updateOffset(const TType& parentType, const TType& memberType, int& offset, int& memberSize); + static int getOffset(const TType& type, int index); + static int getBlockSize(const TType& blockType); + static int computeBufferReferenceTypeSize(const TType&); bool promote(TIntermOperator*); #ifdef NV_EXTENSIONS @@ -822,6 +835,7 @@ protected: bool originUpperLeft; TVertexSpacing vertexSpacing; TVertexOrder vertexOrder; + TInterlockOrdering interlockOrdering; bool pointMode; int localSize[3]; int localSizeSpecId[3]; diff --git a/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp b/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp index 2b28403f3..a09a04880 100644 --- a/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp +++ b/3rdparty/glslang/glslang/MachineIndependent/reflection.cpp @@ -143,45 +143,6 @@ public: } } - // shared calculation by getOffset and getOffsets - void updateOffset(const TType& parentType, const TType& memberType, int& offset, int& memberSize) - { - int dummyStride; - - // modify just the children's view of matrix layout, if there is one for this member - TLayoutMatrix subMatrixLayout = memberType.getQualifier().layoutMatrix; - int memberAlignment = intermediate.getMemberAlignment(memberType, memberSize, dummyStride, - parentType.getQualifier().layoutPacking, - subMatrixLayout != ElmNone - ? subMatrixLayout == ElmRowMajor - : parentType.getQualifier().layoutMatrix == ElmRowMajor); - RoundToPow2(offset, memberAlignment); - } - - // Lookup or calculate the offset of a block member, using the recursively - // defined block offset rules. - int getOffset(const TType& type, int index) - { - const TTypeList& memberList = *type.getStruct(); - - // Don't calculate offset if one is present, it could be user supplied - // and different than what would be calculated. That is, this is faster, - // but not just an optimization. - if (memberList[index].type->getQualifier().hasOffset()) - return memberList[index].type->getQualifier().layoutOffset; - - int memberSize = 0; - int offset = 0; - for (int m = 0; m <= index; ++m) { - updateOffset(type, *memberList[m].type, offset, memberSize); - - if (m < index) - offset += memberSize; - } - - return offset; - } - // Lookup or calculate the offset of all block members at once, using the recursively // defined block offset rules. void getOffsets(const TType& type, TVector& offsets) @@ -196,7 +157,7 @@ public: offset = memberList[m].type->getQualifier().layoutOffset; // calculate the offset of the next member and align the current offset to this member - updateOffset(type, *memberList[m].type, offset, memberSize); + intermediate.updateOffset(type, *memberList[m].type, offset, memberSize); // save the offset of this member offsets[m] = offset; @@ -226,23 +187,6 @@ public: return stride; } - // Calculate the block data size. - // Block arrayness is not taken into account, each element is backed by a separate buffer. - int getBlockSize(const TType& blockType) - { - const TTypeList& memberList = *blockType.getStruct(); - int lastIndex = (int)memberList.size() - 1; - int lastOffset = getOffset(blockType, lastIndex); - - int lastMemberSize; - int dummyStride; - intermediate.getMemberAlignment(*memberList[lastIndex].type, lastMemberSize, dummyStride, - blockType.getQualifier().layoutPacking, - blockType.getQualifier().layoutMatrix == ElmRowMajor); - - return lastOffset + lastMemberSize; - } - // count the total number of leaf members from iterating out of a block type int countAggregateMembers(const TType& parentType) { @@ -349,7 +293,7 @@ public: case EOpIndexDirectStruct: index = visitNode->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst(); if (offset >= 0) - offset += getOffset(visitNode->getLeft()->getType(), index); + offset += intermediate.getOffset(visitNode->getLeft()->getType(), index); if (name.size() > 0) name.append("."); name.append((*visitNode->getLeft()->getType().getStruct())[index].type->getFieldName()); @@ -592,10 +536,10 @@ public: assert(! anonymous); for (int e = 0; e < base->getType().getCumulativeArraySize(); ++e) blockIndex = addBlockName(blockName + "[" + String(e) + "]", derefType, - getBlockSize(base->getType())); + intermediate.getBlockSize(base->getType())); baseName.append(TString("[0]")); } else - blockIndex = addBlockName(blockName, base->getType(), getBlockSize(base->getType())); + blockIndex = addBlockName(blockName, base->getType(), intermediate.getBlockSize(base->getType())); if (reflection.options & EShReflectionAllBlockVariables) { // Use a degenerate (empty) set of dereferences to immediately put as at the end of diff --git a/3rdparty/glslang/glslang/Public/ShaderLang.h b/3rdparty/glslang/glslang/Public/ShaderLang.h index d6b0bc9d5..33f05e2cd 100755 --- a/3rdparty/glslang/glslang/Public/ShaderLang.h +++ b/3rdparty/glslang/glslang/Public/ShaderLang.h @@ -68,7 +68,7 @@ // This should always increase, as some paths to do not consume // a more major number. // It should increment by one when new functionality is added. -#define GLSLANG_MINOR_VERSION 11 +#define GLSLANG_MINOR_VERSION 12 // // Call before doing any other compiler/linker operations. diff --git a/3rdparty/glslang/gtests/AST.FromFile.cpp b/3rdparty/glslang/gtests/AST.FromFile.cpp index b64b41589..b24a4a16d 100644 --- a/3rdparty/glslang/gtests/AST.FromFile.cpp +++ b/3rdparty/glslang/gtests/AST.FromFile.cpp @@ -48,7 +48,7 @@ using CompileToAstTestNV = GlslangTest<::testing::TestWithParam>; TEST_P(CompileToAstTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::AST); } @@ -57,7 +57,7 @@ TEST_P(CompileToAstTest, FromFile) TEST_P(CompileToAstTestNV, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::AST); } #endif @@ -253,6 +253,14 @@ INSTANTIATE_TEST_CASE_P( "glsl.450.subgroupShuffleRelative.comp", "glsl.450.subgroupQuad.comp", "glsl.450.subgroupVote.comp", + "glsl.460.subgroup.mesh", + "glsl.460.subgroup.task", + "glsl.460.subgroup.rahit", + "glsl.460.subgroup.rcall", + "glsl.460.subgroup.rchit", + "glsl.460.subgroup.rgen", + "glsl.460.subgroup.rint", + "glsl.460.subgroup.rmiss", "glsl.es320.subgroup.frag", "glsl.es320.subgroup.geom", "glsl.es320.subgroup.tesc", diff --git a/3rdparty/glslang/gtests/Hlsl.FromFile.cpp b/3rdparty/glslang/gtests/Hlsl.FromFile.cpp index 78e92cb13..6fb69e4b7 100644 --- a/3rdparty/glslang/gtests/Hlsl.FromFile.cpp +++ b/3rdparty/glslang/gtests/Hlsl.FromFile.cpp @@ -70,14 +70,14 @@ using HlslLegalDebugTest = GlslangTest<::testing::TestWithParam>; using CompileVulkanToDebugSpirvTest = GlslangTest<::testing::TestWithParam>; using CompileVulkan1_1ToSpirvTest = GlslangTest<::testing::TestWithParam>; +using CompileToSpirv14Test = GlslangTest<::testing::TestWithParam>; using CompileOpenGLToSpirvTest = GlslangTest<::testing::TestWithParam>; using VulkanSemantics = GlslangTest<::testing::TestWithParam>; using OpenGLSemantics = GlslangTest<::testing::TestWithParam>; @@ -84,7 +85,7 @@ using CompileUpgradeTextureToSampledTextureAndDropSamplersTest = GlslangTest<::t TEST_P(CompileVulkanToSpirvTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv); } @@ -94,7 +95,7 @@ TEST_P(CompileVulkanToDebugSpirvTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), Source::GLSL, Semantics::Vulkan, - glslang::EShTargetVulkan_1_0, + glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv, true, "", "/baseResults/", false, true); } @@ -102,7 +103,14 @@ TEST_P(CompileVulkanToDebugSpirvTest, FromFile) TEST_P(CompileVulkan1_1ToSpirvTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_1, + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_1, glslang::EShTargetSpv_1_3, + Target::Spv); +} + +TEST_P(CompileToSpirv14Test, FromFile) +{ + loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_1, glslang::EShTargetSpv_1_4, Target::Spv); } @@ -111,7 +119,7 @@ TEST_P(CompileVulkan1_1ToSpirvTest, FromFile) TEST_P(CompileOpenGLToSpirvTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv); } @@ -120,7 +128,7 @@ TEST_P(CompileOpenGLToSpirvTest, FromFile) TEST_P(VulkanSemantics, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv, false); } @@ -129,7 +137,7 @@ TEST_P(VulkanSemantics, FromFile) TEST_P(OpenGLSemantics, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::OpenGL, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv, false); } @@ -137,7 +145,7 @@ TEST_P(OpenGLSemantics, FromFile) TEST_P(VulkanAstSemantics, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::AST); } @@ -177,7 +185,7 @@ TEST_P(GlslIoMap, FromFile) TEST_P(CompileVulkanToSpirvTestAMD, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv); } #endif @@ -188,7 +196,7 @@ TEST_P(CompileVulkanToSpirvTestAMD, FromFile) TEST_P(CompileVulkanToSpirvTestNV, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(), - Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, + Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Target::Spv); } #endif @@ -274,6 +282,8 @@ INSTANTIATE_TEST_CASE_P( "spv.bufferhandle15.frag", "spv.bufferhandle16.frag", "spv.bufferhandle17_Errors.frag", + "spv.bufferhandle18.frag", + "spv.bufferhandle19_Errors.frag", "spv.bufferhandle2.frag", "spv.bufferhandle3.frag", "spv.bufferhandle4.frag", @@ -309,6 +319,8 @@ INSTANTIATE_TEST_CASE_P( "spv.fragmentDensity.vert", "spv.fragmentDensity-es.frag", "spv.fragmentDensity-neg.frag", + "spv.fsi.frag", + "spv.fsi_Error.frag", "spv.fullyCovered.frag", "spv.functionCall.frag", "spv.functionNestedOpaque.vert", @@ -333,6 +345,7 @@ INSTANTIATE_TEST_CASE_P( "spv.noDeadDecorations.vert", "spv.nonSquare.vert", "spv.nonuniform.frag", + "spv.nonuniform2.frag", "spv.noWorkgroup.comp", "spv.offsets.frag", "spv.Operations.frag", @@ -450,6 +463,24 @@ INSTANTIATE_TEST_CASE_P( FileNameAsCustomTestSuffix ); +// clang-format off +INSTANTIATE_TEST_CASE_P( + Glsl, CompileToSpirv14Test, + ::testing::ValuesIn(std::vector({ + "spv.1.4.LoopControl.frag", + "spv.1.4.NonWritable.frag", + "spv.1.4.OpEntryPoint.frag", + "spv.1.4.OpSelect.frag", + "spv.1.4.OpCopyLogical.comp", + "spv.1.4.OpCopyLogicalBool.comp", + "spv.1.4.OpCopyLogical.funcall.frag", + "spv.1.4.image.frag", + "spv.1.4.sparseTexture.frag", + "spv.1.4.texture.frag", + })), + FileNameAsCustomTestSuffix +); + // clang-format off INSTANTIATE_TEST_CASE_P( Hlsl, HlslIoMap, @@ -564,6 +595,7 @@ INSTANTIATE_TEST_CASE_P( "spv.atomicInt64.comp", "spv.shadingRate.frag", "spv.RayGenShader.rgen", + "spv.RayGenShaderArray.rgen", "spv.RayGenShader_Errors.rgen", "spv.RayConstants.rgen", "spv.IntersectShader.rint", diff --git a/3rdparty/glslang/gtests/TestFixture.h b/3rdparty/glslang/gtests/TestFixture.h old mode 100644 new mode 100755 index 6bca38e48..4d28d321d --- a/3rdparty/glslang/gtests/TestFixture.h +++ b/3rdparty/glslang/gtests/TestFixture.h @@ -212,6 +212,7 @@ public: const std::string& shaderName, const std::string& code, const std::string& entryPointName, EShMessages controls, glslang::EShTargetClientVersion clientTargetVersion, + glslang::EShTargetLanguageVersion targetLanguageVersion, bool flattenUniformArrays = false, EShTextureSamplerTransformMode texSampTransMode = EShTexSampTransKeep, bool enableOptimizer = false, @@ -234,9 +235,7 @@ public: : glslang::EShSourceGlsl, stage, glslang::EShClientVulkan, 100); shader.setEnvClient(glslang::EShClientVulkan, clientTargetVersion); - shader.setEnvTarget(glslang::EShTargetSpv, - clientTargetVersion == glslang::EShTargetVulkan_1_1 ? glslang::EShTargetSpv_1_3 - : glslang::EShTargetSpv_1_0); + shader.setEnvTarget(glslang::EShTargetSpv, targetLanguageVersion); } else { shader.setEnvInput((controls & EShMsgReadHlsl) ? glslang::EShSourceHlsl : glslang::EShSourceGlsl, @@ -429,6 +428,7 @@ public: Source source, Semantics semantics, glslang::EShTargetClientVersion clientTargetVersion, + glslang::EShTargetLanguageVersion targetLanguageVersion, Target target, bool automap = true, const std::string& entryPointName="", @@ -449,8 +449,8 @@ public: controls = static_cast(controls & ~EShMsgHlslLegalization); if (enableDebug) controls = static_cast(controls | EShMsgDebugInfo); - GlslangResult result = compileAndLink(testName, input, entryPointName, controls, clientTargetVersion, false, - EShTexSampTransKeep, enableOptimizer, enableDebug, automap); + GlslangResult result = compileAndLink(testName, input, entryPointName, controls, clientTargetVersion, + targetLanguageVersion, false, EShTexSampTransKeep, enableOptimizer, enableDebug, automap); // Generate the hybrid output in the way of glslangValidator. std::ostringstream stream; @@ -460,11 +460,12 @@ public: expectedOutputFname, result.spirvWarningsErrors); } - void loadFileCompileAndCheckWithOptions(const std::string &testDir, - const std::string &testName, - Source source, - Semantics semantics, - glslang::EShTargetClientVersion clientTargetVersion, + void loadFileCompileAndCheckWithOptions(const std::string &testDir, + const std::string &testName, + Source source, + Semantics semantics, + glslang::EShTargetClientVersion clientTargetVersion, + glslang::EShTargetLanguageVersion targetLanguageVersion, Target target, bool automap = true, const std::string &entryPointName = "", const std::string &baseDir = "/baseResults/", const EShMessages additionalOptions = EShMessages::EShMsgDefault) @@ -478,15 +479,15 @@ public: EShMessages controls = DeriveOptions(source, semantics, target); controls = static_cast(controls | additionalOptions); - GlslangResult result = compileAndLink(testName, input, entryPointName, controls, clientTargetVersion, false, - EShTexSampTransKeep, false, automap); + GlslangResult result = compileAndLink(testName, input, entryPointName, controls, clientTargetVersion, + targetLanguageVersion, false, EShTexSampTransKeep, false, automap); // Generate the hybrid output in the way of glslangValidator. std::ostringstream stream; outputResultToStream(&stream, result, controls); checkEqAndUpdateIfRequested(expectedOutput, stream.str(), expectedOutputFname); - } + } void loadFileCompileFlattenUniformsAndCheck(const std::string& testDir, const std::string& testName, @@ -505,7 +506,7 @@ public: const EShMessages controls = DeriveOptions(source, semantics, target); GlslangResult result = compileAndLink(testName, input, entryPointName, controls, - glslang::EShTargetVulkan_1_0, true); + glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, true); // Generate the hybrid output in the way of glslangValidator. std::ostringstream stream; @@ -675,7 +676,7 @@ public: const EShMessages controls = DeriveOptions(source, semantics, target); GlslangResult result = compileAndLink(testName, input, entryPointName, controls, - glslang::EShTargetVulkan_1_0, false, + glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, false, EShTexSampTransUpgradeTextureRemoveSampler); // Generate the hybrid output in the way of glslangValidator. diff --git a/3rdparty/glslang/hlsl/CMakeLists.txt b/3rdparty/glslang/hlsl/CMakeLists.txt index f918d7a13..7436dde69 100644 --- a/3rdparty/glslang/hlsl/CMakeLists.txt +++ b/3rdparty/glslang/hlsl/CMakeLists.txt @@ -35,7 +35,8 @@ if(ENABLE_GLSLANG_INSTALL) if(BUILD_SHARED_LIBS) install(TARGETS HLSL ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) else() install(TARGETS HLSL ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/3rdparty/glslang/known_good.json b/3rdparty/glslang/known_good.json index a943c8fc6..337a573d7 100644 --- a/3rdparty/glslang/known_good.json +++ b/3rdparty/glslang/known_good.json @@ -5,14 +5,14 @@ "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Tools", "subdir" : "External/spirv-tools", - "commit" : "26c1b8878315a7a5c188df45e0bc236bb222b698" + "commit" : "2c0111e6eba779cf30e8c7f5a733ea0762895ba0" }, { "name" : "spirv-tools/external/spirv-headers", "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Headers", "subdir" : "External/spirv-tools/external/spirv-headers", - "commit" : "2434b89345a50c018c84f42a310b0fad4f3fd94f" + "commit" : "8b911bd2ba37677037b38c9bd286c7c05701bcda" } ] }